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

◆ hsr_zusmv()

void hsr_zusmv ( char  uplo,
int  n,
doublecomplex  alpha,
const doublecomplex  val[],
const int  rowptr[],
const int  colind[],
int  base,
const doublecomplex  x[],
int  incx,
doublecomplex  beta,
doublecomplex  y[],
int  incy,
int *  info 
)

y <- αAx + βy (エルミート行列) (CSR)

目的
CSR形式のエルミート疎行列 A について次の行列×ベクトル演算を行う.
y = αAx + βy
ここで, αおよびβはスカラー, xおよびyはベクトルである. A は n×n エルミート疎行列で, 上三角部分あるいは下三角部分のみを使って計算を行う.
引数
[in]uplo行列が上三角部分あるいは下三角部分のどちらに格納されているかを指定.
= 'U': 上三角部分.
= 'L': 下三角部分.
指定された以外の三角部分(対角成分を含まない)は無視される.
[in]n行列Aの行および列数. (n >= 0) (n = 0 の場合, 処理を行わずに戻る)
[in]alphaスカラー α.
[in]val[]配列 val[lval] (lval >= nnz)
行列 A の非ゼロ要素の値. (nnz は非ゼロ要素数)
[in]rowptr[]配列 rowptr[lrowptr] (lrowptr >= n + 1)
行列 A の行ポインタ.
[in]colind[]配列 colind[lcolind] (lcolind >= nnz)
行列 A の列インデクス. (nnz は非ゼロ要素数)
[in]baserowptr[] および colind[] のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
[in]x[]配列 x[lx] (lx >= 1 + (n - 1)*|incx|)
ベクトル x.
[in]incxx[] の要素間隔.
[in]betaスカラー β.
[in,out]y[]配列 y[ly] (ly >= 1 + (m - 1)*|incy|)
[in] 入力ベクトル y (beta の値が0の場合, y[]の入力値は設定不要である).
[out] 出力ベクトル. (= αAx + βy)
[in]incyy[] の要素間隔.
[out]info= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.