|
|
◆ ssr_csr()
| void ssr_csr |
( |
char |
uplo, |
|
|
int |
n, |
|
|
const double |
val[], |
|
|
const int |
rowptr[], |
|
|
const int |
colind[], |
|
|
int |
base, |
|
|
int |
maxnnz2, |
|
|
double |
val2[], |
|
|
int |
rowptr2[], |
|
|
int |
colind2[], |
|
|
int |
base2, |
|
|
int * |
info |
|
) |
| |
SSR (CSR 対称行列形式) -> CSR (対称なフル行列)
- 目的
- 上または下三角要素のみを格納するCSR形式対称疎行列を全要素を格納する一般のCSR形式疎行列に変換する.
出力行列の行内の要素の並び順は入力行列のままになる(並べ替えは行わない). 入力行列において uplo で指定された以外の三角部分(対角成分を含まない)があれば無視される.
- 引数
-
| [in] | uplo | 入力行列が上三角部分あるいは下三角部分のどちらを格納しているか指定する.
= 'U': 上三角部分.
= 'L': 下三角部分. |
| [in] | n | 行列の行および列数. (n >= 0) (n = 0 の場合, 処理を行わずに戻る) |
| [in] | val[] | 配列 val[lval] (lval >= nnz) (nnz は入力行列の非ゼロ要素数)
入力行列の非ゼロ要素の値. |
| [in] | rowptr[] | 配列 rowptr[lrowptr] (lrowptr >= n + 1)
入力行列の行ポインタ. |
| [in] | colind[] | 配列 colind[lcolind] (lcolind >= nnz)
入力行列の列インデクス. |
| [in] | base | rowptr[] および colind[] のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1. |
| [in] | maxnnz2 | 配列 val2[] および colind2[] の大きさ (出力行列の非ゼロ要素数より大きくなければならない). (maxnnz2 > 0) |
| [out] | val2[] | 配列 val2[lval2] (lval2 >= maxnnz2)
出力行列の非ゼロ要素の値. |
| [out] | rowptr2[] | 配列 rowptr2[lrowptr2] (lrowptr2 >= n + 1)
出力行列の行ポインタ. |
| [out] | colind2[] | 配列 colind2[lcolind2] (lcolind2 >= maxnnz2)
出力行列の列インデクス. |
| [in] | base2 | rowptr2[] および colind2[] のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1. |
| [out] | info | = 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= j > 0: 入力行列において j 個の要素が無視された. |
|