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

◆ CscDusadd()

Sub CscDusadd ( M As  Long,
N As  Long,
Alpha As  Double,
ValA() As  Double,
ColptrA() As  Long,
RowindA() As  Long,
Beta As  Double,
ValB() As  Double,
ColptrB() As  Long,
RowindB() As  Long,
ValC() As  Double,
ColptrC() As  Long,
RowindC() As  Long,
Optional Info As  Long,
Optional BaseA As  Long = -1,
Optional BaseB As  Long = -1,
Optional BaseC As  Long = 0 
)

C <- αA + βB (CSC)

目的
CSC形式の疎行列 A, B および C について次の行列×行列演算を行う.
C <- α*A + β*B
ここで, αおよびβはスカラー, また, A, B および C は m×n 疎行列である.
引数
[in]M行列の行数. (M >= 0) (M = 0 の場合, 処理を行わずに戻る)
[in]N行列の列数. (N >= 0) (N = 0 の場合, 処理を行わずに戻る)
[in]Alphaスカラー α.
[in]ValA()配列 ValA(LValA - 1) (LValA >= NnzA) (NnzA は行列 A の非ゼロ要素数)
行列 A の非ゼロ要素の値.
[in]ColptrA()配列 ColptrA(LColptrA - 1) (LColptrA >= N + 1)
行列 A の列ポインタ.
[in]RowindA()配列 RowindA(LRowindA - 1) (LRowindA >= NnzA) (NnzA は行列 A の非ゼロ要素数)
行列 A の行インデクス.
[in]Betaスカラー β.
[in]ValB()配列 ValB(LValB - 1) (LValB >= NnzB) (NnzB は行列 B の非ゼロ要素数)
行列 B の非ゼロ要素の値.
[in]ColptrB()配列 ColptrB(LColptrB - 1) (LColptrB >= N + 1)
行列 B の列ポインタ.
[in]RowindB()配列 RowindB(LRowindB - 1) (LRowindB >= NnzB) (NnzB は行列 B の非ゼロ要素数)
行列 B の行インデクス.
[out]ValC()配列 ValC(LValC - 1) (LValC >= NnzC) (NnzC は行列 C の非ゼロ要素数. NnzC >= (α*A + β*B の非ゼロ要素数) でなければならない.)
行列 C の非ゼロ要素の値.
[out]ColptrC()配列 ColptrC(LColptrC - 1) (LColptrC >= N + 1)
行列 C の列ポインタ.
[out]RowindC()配列 RowindC(LRowindC - 1) (LRowindC >= NnzC)
行列 C の行インデクス.
[out]Info(省略可)
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= j > 0: NnzC が小さすぎる. j列目の処理中に上限に達した.
[in]BaseA(省略可)
ColptrA() および RowindA() のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
(省略時: ColptrA(0) = 1 であれば 1, そうでなければ 0 とみなす)
[in]BaseB(省略可)
ColptrB() および RowindB() のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
(省略時: ColptrB(0) = 1 であれば 1, そうでなければ 0 とみなす)
[in]BaseC(省略可)
ColptrC() および RowindC() のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
(省略時: 0 とみなす)