|
|
◆ ZCscCheck()
| Sub ZCscCheck |
( |
M As |
Long, |
|
|
N As |
Long, |
|
|
Val() As |
Complex, |
|
|
Ptr() As |
Long, |
|
|
Ind() As |
Long, |
|
|
Result() As |
Long, |
|
|
Info As |
Long |
|
) |
| |
疎行列のチェック (複素行列) (CSC)
- 目的
- CSC 形式の疎行列をチェックする.
- 引数
-
| [in] | M | 行列の行数. (M >= 0) (M = 0 の場合, 処理を行わずに戻る) |
| [in] | N | 行列の列数. (N >= 0) (N = 0 の場合, 処理を行わずに戻る) |
| [in] | Val() | 配列 Val(LVal - 1) (LVal >= Nnz) (Nnz は行列の非ゼロ要素数)
行列の非ゼロ要素の値. |
| [in] | Ptr() | 配列 Ptr(LPtr - 1) (LPtr >= N + 1)
行列の列ポインタ. |
| [in] | Ind() | 配列 Ind(LInd - 1) (LInd >= Nnz) (Nnz は行列の非ゼロ要素数)
行列の行インデクス. |
| [out] | Result() | 配列 Result(LResult - 1) (LResult >= 10)
チェック結果(0 <= Info <= 15 の場合に有効).
Result(0): 対称性(0: 非対称行列, 1: 対称行列).
Result(1): 非ゼロ要素数 (= Ptr(M) - Ptr(0)).
Result(2): 下三角部分の非ゼロ要素数.
Result(3): 上三角部分の非ゼロ要素数.
Result(4): 対角部分の非ゼロ要素数.
Result(5): 値が 0 (Val = 0) の要素数.
Result(6): 値が 0 (Val = 0) の対角要素数.
Result(7): 要素数が 0 の列数.
Result(8): 行インデックスが昇順になっていない列数.
Result(9): 不正な行インデックス数. |
| [out] | Info | = 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) の値が正しくない. |
|