|
|
◆ CsrDzusadd()
| Sub CsrDzusadd |
( |
M As |
Long, |
|
|
N As |
Long, |
|
|
Alpha As |
Complex, |
|
|
ValA() As |
Double, |
|
|
RowPtrA() As |
Long, |
|
|
ColindA() As |
Long, |
|
|
Beta As |
Double, |
|
|
ValB() As |
Double, |
|
|
RowPtrB() As |
Long, |
|
|
ColindB() As |
Long, |
|
|
ValC() As |
Complex, |
|
|
RowPtrC() As |
Long, |
|
|
ColindC() As |
Long, |
|
|
Optional Info As |
Long, |
|
|
Optional BaseA As |
Long = -1, |
|
|
Optional BaseB As |
Long = -1, |
|
|
Optional BaseC As |
Long = 0 |
|
) |
| |
C <- αA + βB (α および C が複素数) (CSR)
- 目的
- CSR形式の疎行列 A, B および C について次の行列×行列演算を行う. ここで, αおよびβはスカラー, また, A, B および C は m×n 疎行列である. ただし, α および C は複素数である.
- 引数
-
| [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] | RowPtrA() | 配列 RowPtrA(LRowPtrA - 1) (LRowPtrA >= N + 1)
行列 A の行ポインタ. |
| [in] | ColindA() | 配列 ColindA(LColindA - 1) (LColindA >= NnzA) (NnzA は行列 A の非ゼロ要素数)
行列 A の列インデクス. |
| [in] | Beta | スカラー β. |
| [in] | ValB() | 配列 ValB(LValB - 1) (LValB >= NnzB) (NnzB は行列 B の非ゼロ要素数)
行列 B の非ゼロ要素の値. |
| [in] | RowPtrB() | 配列 RowPtrB(LRowPtrB - 1) (LRowPtrB >= N + 1)
行列 B の行ポインタ. |
| [in] | ColindB() | 配列 ColindB(LColindB - 1) (LColindB >= NnzB) (NnzB は行列 B の非ゼロ要素数)
行列 B の列インデクス. |
| [out] | ValC() | 配列 ValC(LValC - 1) (LValC >= NnzC) (NnzC は行列 C の非ゼロ要素数. NnzC >= (α*A + β*B の非ゼロ要素数) でなければならない.)
行列 C の非ゼロ要素の値. |
| [out] | RowPtrC() | 配列 RowPtrC(LRowPtrC - 1) (LRowPtrC >= N + 1)
行列 C の行ポインタ. |
| [out] | ColindC() | 配列 ColindC(LColindC - 1) (LColindC >= NnzC)
行列 C の列インデクス. |
| [out] | Info | (省略可)
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= j > 0: NnzC が小さすぎる. j行目の処理中に上限に達した. |
| [in] | BaseA | (省略可)
RowPtrA() および ColindA() のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
(省略時: RowPtrA(0) = 1 であれば 1, そうでなければ 0 とみなす) |
| [in] | BaseB | (省略可)
RowPtrB() および ColindB() のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
(省略時: RowPtrB(0) = 1 であれば 1, そうでなければ 0 とみなす) |
| [in] | BaseC | (省略可)
RowPtrC() および ColindC() のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
(省略時: 0 とみなす) |
|