XLPack 7.0
XLPack 数値計算ライブラリ (Excel VBA) リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ SsrIcSolve()

Sub SsrIcSolve ( N As  Long,
Val() As  Double,
Rowptr() As  Long,
Colind() As  Long,
Idiag() As  Long,
B() As  Double,
X() As  Double,
Optional Info As  Long,
Optional ByVal Uplo As  String = "L",
Optional Base As  Long = -1 
)

不完全コレスキー分解による前処理 (IC) (正定値対称行列) (CSR)

目的
正定値対称な係数行列に対して不完全コレスキー分解による前処理(IC)を行う. すなわち, 連立一次方程式 Mx = b を解く. ここで, M は前処理行列(L*D*L^T または U^T*D*U)である.
引数
[in]N前処理行列の次数. (N >= 0) (N = 0 の場合, 処理を行わずに戻る)
[in]Val()配列 Val(LVal - 1) (LVal >= Nnz) (Nnz は非ゼロ要素数)
前処理行列の非ゼロ要素の値.
[in]Rowptr()配列 Rowptr(LRowptr - 1) (LRowptr >= N + 1)
前処理行列の行ポインタ.
[in]Colind()配列 Colind(LColind - 1) (LColind >= Nnz)
前処理行列の列インデクス.
[in]Idiag()配列 Idiag(LIdiag) (LIdiag >= N)
対角要素のインデックス.
[in]B()配列 B(LB - 1) (LB >= N)
右辺ベクトル b.
[out]X()配列 X(LX - 1) (LX >= N)
解ベクトル x.
[out]Info(省略可)
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= j > 0: 行列が特異である(j番目の対角要素が0).
[in]Uplo(省略可)
= "U": 上三角行列 U および対角行列 D が前処理行列として格納されている.
= "L": 下三角行列 L および対角行列 D が前処理行列として格納されている.
(省略時 = "L")
[in]Base(省略可)
Rowptr() および Colind() のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
(省略時: Rowptr(0) = 1 であれば 1, そうでなければ 0 とみなす)
使用例
SsrIc0 の使用例を参照せよ.