|
|
◆ csr_check()
| def csr_check |
( |
m |
, |
|
|
n |
, |
|
|
val |
, |
|
|
rowptr |
, |
|
|
colind |
, |
|
|
result |
|
|
) |
| |
疎行列のチェック (CSR)
- 目的
- CSR形式疎行列をチェックする.
- 戻り値
- info (int)
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= 1: 要素数が 0 の行がある.(*)
= 2: 列インデックスが昇順になっていない行がある.(*)
= 4: 値が 0 (val = 0) の対角要素がある.(*)
= 8: 不正な列インデックスがある.(*)
(*)これらの合算値を返す(例. 15 = 1 + 2 + 4 + 8 の場合, 4つとも検出されたことを示す).
= 16: ptr[0] の値が正しくない.
= 17: ptr[m] - ptr[0] の値が正しくない.
= 18: ptr[i](i > 0) の値が正しくない.
- 引数
-
| [in] | m | 行列の行数. (m >= 0) (m = 0 の場合, 処理を行わずに戻る) |
| [in] | n | 行列の列数. (n >= 0) (n = 0 の場合, 処理を行わずに戻る) |
| [in] | val | Numpy ndarray (1次元配列, float, nnz)
入力行列の非ゼロ要素の値. (nnz は非ゼロ要素数) |
| [in] | rowptr | Numpy ndarray (1次元配列, int32, m + 1)
入力行列の行ポインタ. |
| [in] | colind | Numpy ndarray (1次元配列, int32, nnz)
入力行列の列インデクス. (nnz は非ゼロ要素数) |
| [out] | result | Numpy ndarray (1次元配列, int32, 11)
チェック結果(0 <= info <= 15 の場合に有効).
result[0]: rowptr および colind のインデクス形式(0 または 1).
result[1]: 非ゼロ要素数.
result[2]: 下三角部分の非ゼロ要素数.
result[3]: 上三角部分の非ゼロ要素数.
result[4]: 対角部分の非ゼロ要素数.
result[5]: 値が 0 (val[i] = 0) の要素数.
result[6]: 値が 0 (val[i] = 0) の対角要素数.
result[7]: 要素数が 0 の行数.
result[8]: 列インデックスが昇順になっていない行数.
result[9]: 不正な列インデックス数.
result[10]: 対称性(対称行列であれば 1, そうでなければ 0). |
|