|
|
◆ CsrZussm()
| Sub CsrZussm |
( |
Uplo As |
String, |
|
|
Trans As |
String, |
|
|
Diag As |
String, |
|
|
N As |
Long, |
|
|
Nrhs As |
Long, |
|
|
Val() As |
Complex, |
|
|
Rowptr() As |
Long, |
|
|
Colind() As |
Long, |
|
|
X() As |
Complex, |
|
|
Optional Info As |
Long, |
|
|
Optional Base As |
Long = -1 |
|
) |
| |
AX = B, ATX = B または AHX = B の解 (複素三角行列) (CSR)
- 目的
- CSR形式の疎行列 A について次の連立方程式を解く.
A*X = B, A^T*X = B または A^H*X = B
ここで, A は N×N 上または下三角疎行列, また, B および X は N×Nrhs 密行列である.
- 引数
-
| [in] | Uplo | 行列 A が上三角行列あるいは下三角行列のどちらであるかを指定.
= "U": A は上三角行列.
= "L": A は下三角行列.
指定された以外の三角部分(対角成分を含まない)は無視される. |
| [in] | Trans | 解くべき連立方程式を指定.
= "N": A*X = B.
= "T": A^T*X = B.
= "C": A^H*X = B. |
| [in] | Diag | 行列 A を単三角行列(対角要素が1の三角行列)とみなすかどうかを指定.
= "N": A を単三角行列とみなさない.
= "U": A を単三角行列とみなす. (対角要素を 1 とみなし, 対角要素の位置に Val() の要素があっても無視される.) |
| [in] | N | 行列 A の行および列数. (N >= 0) (N = 0 の場合, 処理を行わずに戻る) |
| [in] | Nrhs | 行列 B および X の列数. (Nrhs >= 0) (Nrhs = 0 の場合, 処理を行わずに戻る) |
| [in] | Val() | 配列 Val(LVal - 1) (LVal >= Nnz) (Nnz は行列 A の非ゼロ要素数)
行列 A の非ゼロ要素の値. |
| [in] | Rowptr() | 配列 Rowptr(LRowptr - 1) (LRowptr >= N + 1)
行列 A の行ポインタ. |
| [in] | Colind() | 配列 Colind(LColind - 1) (LColind >= Nnz)
行列 A の列インデクス. |
| [in,out] | X() | 配列 X(LX1 - 1, LX2 - 1) (LX1 >= N, LX2 >= Nrhs)
[in] 右辺行列 B.
[out] 解行列 X. |
| [out] | Info | (省略可)
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= i > 0: 行列が特異である(i番目の対角要素が0). |
| [in] | Base | (省略可)
Rowptr() および Colind() のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
(省略時: Rowptr(0) = 1 であれば 1, そうでなければ 0 とみなす) |
|