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

◆ CscDussv()

Sub CscDussv ( Uplo As  String,
Trans As  String,
Diag As  String,
N As  Long,
Val() As  Double,
Colptr() As  Long,
Rowind() As  Long,
X() As  Double,
Optional Info As  Long,
Optional Base As  Long = -1,
Optional IncX As  Long = 1,
Optional Omega As  Double = 1 
)

Ax = b または ATx = b の解 (三角行列) (CSC)

目的
CSC形式の疎行列 A について次の連立方程式を解く.
A*x = b または A^T*x = b
ここで, b および x は n ベクトル, また, A は N×N 上または下三角疎行列である.
引数
[in]Uplo行列が上三角行列あるいは下三角行列のどちらであるかを指定.
= "U": A は上三角行列.
= "L": A は下三角行列.
指定された以外の三角部分(対角成分をを除く)は無視される.
[in]Trans解くべき連立方程式を指定.
= "N": A*x = b.
= "T" または "C": A^T*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]Colptr()配列 Colptr(LColptr - 1) (LColptr >= N + 1)
行列 A の列ポインタ.
[in]Rowind()配列 Rowind(LRowind - 1) (LRowind >= 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(省略可)
Colptr() および Rowind() のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
(省略時: Colptr(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 ソルバーと共に使うためのものである.