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

◆ csc_dzusadd()

void csc_dzusadd ( int  m,
int  n,
doublecomplex  alpha,
const double  val_a[],
const int  colptr_a[],
const int  rowind_a[],
int  base_a,
double  beta,
const double  val_b[],
const int  colptr_b[],
const int  rowind_b[],
int  base_b,
doublecomplex  val_c[],
int  colptr_c[],
int  rowind_c[],
int  base_c,
int  nnz_c,
int *  info 
)

C <- αA + βB (α および C が複素数) (CSC)

目的
CSC形式の疎行列 A, B および C について次の行列×行列演算を行う.
C <- α*A + β*B
ここで, αおよびβはスカラー, また, A, B および C は m×n 疎行列である. ただし, α および C は複素数である.
引数
[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]colptr_a[]配列 colptr_a[l_colptr_a] (l_colptr_a >= n + 1)
入力行列 A の列ポインタ.
[in]rowind_a[]配列 rowind_a[l_rowind_a] (l_rowind_a >= nnz_a) (nnz_a は A の非ゼロ要素数)
入力行列 A の行インデクス.
[in]base_acolptr_a[] および rowind_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]colptr_b[]配列 colptr_b[l_colptr_b] (l_colptr_b >= n + 1)
入力行列 B の列ポインタ.
[in]rowind_b[]配列 rowind_b[l_rowind_b] (l_rowind_b >= nnz_b) (nnz_b は B の非ゼロ要素数)
入力行列 B の行インデクス.
[in]base_bcolptr_b[] および rowind_b[] のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
[out]val_c[]配列 val_c[l_val_c]
出力行列 C の非ゼロ要素の値.
[out]colptr_c[]配列 colptr_c[l_colptr_c] (l_colptr_c >= n + 1)
出力行列 C の列ポインタ.
[out]rowind_c[]配列 rowind_c[l_rowind_c]
出力行列 C の行インデクス.
[in]base_ccolptr_c[] および rowind_c[] のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
[in]nnz_cmin(l_val_c, l_rowind_c) を入力する. nnz_c >= (α*A + β*B の非ゼロ要素数) でなければならない.
[out]info= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= j > 0: nnz_c が小さすぎる. j列目の処理中に上限に達した.