|
|
◆ 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 の使用例を参照せよ.
|