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

◆ CsrZussv()

Sub CsrZussv ( Uplo As  String,
Trans As  String,
Diag As  String,
N As  Long,
Val() As  Complex,
Rowptr() As  Long,
Colind() As  Long,
X() As  Complex,
Optional Info As  Long,
Optional Base As  Long = -1,
Optional IncX As  Long = 1,
Optional Omega As  Double = 1 
)

Ax = b, ATx = b または AHx = b の解 (複素三角行列) (CSR)

目的
CSR形式の疎行列 A について次の連立方程式を解く.
A*x = b, A^T*x = b または A^H*x = b
ここで, b および x は n ベクトル, また, A は N×N 上または下三角疎行列である.
引数
[in]Uplo行列が上三角行列あるいは下三角行列のどちらであるかを指定.
= "U": A は上三角行列.
= "L": A は下三角行列.
指定された以外の三角部分(対角成分をを除く)は無視される.
[in]Trans解くべき連立方程式を指定.
= "N": A*x = b.
= "T": A^T*x = b.
= "C": A^H*x = b.
[in]DiagA を単位三角行列(対角要素が 1 の三角行列)とみなすかどうかを指定.
= "N": A を単位三角行列とみなさない.
= "U": A を単位三角行列とみなす. 対角要素の位置の Val() を無視し 1 とみなす.
[in]N行列 A の行および列数. (N >= 0) (N = 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(LX - 1) (LX >= 1 + (N - 1)*|IncX|)
[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 とみなす)
[in]IncX(省略可)
X() の要素間隔. (IncX <> 0) (省略時 = 1)
[in]Omega(省略可)
ω パラメーター. (0 < Omega < 2) (省略時 = 1)
ω <> 1 であれば, Uplo, Trans および Diag を無視し, (D/ω + L)*x = b を解く. 本オプションは SOR ソルバーと共に使うためのものである.