|
|
◆ 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] | base | ptr[] および 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] | incd | d[] の要素間隔. |
|