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

◆ csx_diag()

void csx_diag ( int  m,
int  n,
const double  val[],
const int  ptr[],
const int  ind[],
int  base,
double  alpha,
int  inv,
double  d[],
int  incd,
int *  info 
)

疎行列の対角要素 (CSC/CSR)

目的
CSC/CSR形式疎行列の対角要素を配列 d[] に出力する.
d[i] = α*di または α/di (i = 0 〜 min(m, n) - 1)
ただし, diはi番目の対角要素, αはスカラー値である.
引数
[in]m行列の行数. (m >= 0) (m = 0 の場合, 処理を行わずに戻る)
[in]n行列の列数. (n >= 0) (n = 0 の場合, 処理を行わずに戻る)
[in]val[]配列 val[lval] (lval >= nnz)
入力行列の非ゼロ要素の値. (nnz は非ゼロ要素数)
[in]ptr[]配列 ptr[lptr] (lptr >= n + 1)
入力行列の列ポインタ(CSC形式の場合)または行ポインタ(CSR形式の場合).
[in]ind[]配列 ind[lind] (lind >= nnz)
入力行列の行インデクス(CSC形式の場合)または列インデクス(CSR形式の場合). (nnz は非ゼロ要素数)
[in]baseptr[] および ind[] のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
[in]alphaスカラー値 α.
[in]inv= 0: d[i] に α*di を入れる.
!= 0: d[i] に α/di を入れる.
[out]d[]配列 d[ld] (ld >= min(m, n))
α*di または α/di (i = 0 〜 min(m, n) - 1).
[out]info= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= j > 0: j 個の対角要素がない (該当要素については d[] に 0 を返す).
[in]incdd[] の要素間隔.