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

◆ csr_zusadd()

void csr_zusadd ( int  m,
int  n,
doublecomplex  alpha,
const doublecomplex  val_a[],
const int  rowptr_a[],
const int  colind_a[],
int  base_a,
doublecomplex  beta,
const doublecomplex  val_b[],
const int  rowptr_b[],
const int  colind_b[],
int  base_b,
doublecomplex  val_c[],
int  rowptr_c[],
int  colind_c[],
int  base_c,
int  nnz_c,
int *  info 
)

C <- αA + βB (複素行列) (CSR)

目的
CSR形式の疎行列 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]val_a[]配列 val_a[l_val_a] (l_val_a >= nnz_a) (nnz_a は A の非ゼロ要素数)
入力行列 A の非ゼロ要素の値.
[in]rowptr_a[]配列 rowptr_a[l_rowptr_a] (l_rowptr_a >= n + 1)
入力行列 A の行ポインタ.
[in]colind_a[]配列 colind_a[l_colind_a] (l_colind_a >= nnz_a) (nnz_a は A の非ゼロ要素数)
入力行列 A の列インデクス.
[in]base_arowptr_a[] および colind_a[] のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
[in]betaスカラーβ.
[in]val_b[]配列 val_b[l_val_b] (l_val_b >= nnz_b) (nnz_b は B の非ゼロ要素数)
入力行列 B の非ゼロ要素の値.
[in]rowptr_b[]配列 rowptr_b[l_rowptr_b] (l_rowptr_b >= n + 1)
入力行列 B の行ポインタ.
[in]colind_b[]配列 colind_b[l_colind_b] (l_colind_b >= nnz_b) (nnz_b は B の非ゼロ要素数)
入力行列 B の列インデクス.
[in]base_browptr_b[] および colind_b[] のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
[out]val_c[]配列 val_c[l_val_c]
出力行列 C の非ゼロ要素の値.
[out]rowptr_c[]配列 rowptr_c[l_rowptr_c] (l_rowptr_c >= n + 1)
出力行列 C の行ポインタ.
[out]colind_c[]配列 colind_c[l_colind_c]
出力行列 C の列インデクス.
[in]base_crowptr_c[] および colind_c[] のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
[in]nnz_cmin(l_val_c, l_colind_c) を入力する. nnz_c >= (α*A + β*B の非ゼロ要素数) でなければならない.
[out]info= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= j > 0: nnz_c が小さすぎる. j行目の処理中に上限に達した.