|
|
◆ 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 について次の行列×行列演算を行う. ここで, αおよびβはスカラー, また, 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 とみなす) |
|