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

◆ CsrZusmm()

Sub CsrZusmm ( Trans As  String,
M As  Long,
N As  Long,
Nrhs As  Long,
Alpha As  Complex,
Val() As  Complex,
Rowptr() As  Long,
Colind() As  Long,
B() As  Complex,
Beta As  Complex,
C() As  Complex,
Optional Info As  Long,
Optional Base As  Long = -1 
)

C <- αAB + βC, C <- αATB + βC または C <- αAHB + βC (複素行列) (CSR)

目的
CSC形式の疎行列 A について次の行列×ベクトル演算を行う.
C <- αAB + βC, C <- αA^TB + βC または C <- αA^HB + βC
ここで, αおよびβはスカラー, A, A^T または A^H は M×N 疎行列, B は N×Nrhs 密行列, また, C は M×Nrhs 密行列である.
引数
[in]Trans操作を指定.
= "N": C <- αAB + βC.
= "T": C <- αA^TB + βC.
= "C": C <- αA^HB + βC.
[in]M行列 A, A^T または A^H の行数. (M >= 0) (M = 0 の場合, 処理を行わずに戻る)
[in]N行列 A, A^T または A^H の列数. (N >= 0) (N = 0 の場合, 処理を行わずに戻る)
[in]Nrhs行列 B および C の列数. (Nrhs >= 0) (Nrhs = 0 の場合, 処理を行わずに戻る)
[in]Alphaスカラー α.
[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]B()配列 B(LB1 - 1, LB2 - 1) (LB1 >= N, LB2 >= Nrhs)
行列 B.
[in]Betaスカラー β.
[in,out]C()配列 C(LC1 - 1, LC2 - 1) (LC1 >= M, LC2 >= Nrhs)
[in] 入力行列 C (Beta の値が0の場合, C()の入力値は設定不要である).
[out] 出力行列 (= αAB + βC).
[out]Info(省略可)
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
[in]Base(省略可)
Rowptr() および Colind() のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
(省略時: Rowptr(0) = 1 であれば 1, そうでなければ 0 とみなす)