|
◆ csc_zussm()
void csc_zussm |
( |
char |
uplo, |
|
|
char |
trans, |
|
|
char |
diag, |
|
|
char |
order, |
|
|
int |
n, |
|
|
int |
nrhs, |
|
|
const doublecomplex |
val[], |
|
|
const int |
colptr[], |
|
|
const int |
rowind[], |
|
|
int |
base, |
|
|
int |
ldx, |
|
|
doublecomplex |
x[], |
|
|
int * |
info |
|
) |
| |
AX = B, ATX = B または AHX = B の解 (複素三角行列) (CSC)
- 目的
- CSC形式の疎行列 A について次の連立方程式を解く.
A*X = B, A^T*X = B または A^H*X = B
ここで, A は n×n 上または下三角疎行列, また, B および X は n×nrhs 密行列である.
- 引数
-
[in] | uplo | 行列が上三角行列あるいは下三角行列のどちらであるかを指定.
= 'U': Aは上三角行列.
= 'L': Aは下三角行列.
指定された以外の三角部分(対角成分を含まない)は無視される. |
[in] | trans | 解くべき連立方程式を指定.
= 'N': A*X = B.
= 'T': A^T*X = B.
= 'C': A^H*X = B. |
[in] | diag | A を単三角行列(対角要素が1の三角行列)とみなすかどうかを指定.
= 'N': A を単三角行列とみなさない.
= 'U': A を単三角行列とみなす. (対角要素を1とみなし, 対角要素の位置にval[]があっても無視する.) |
[in] | order | x[] の格納順序.
= 'C': 列優先.
= 'R': 行優先. |
[in] | n | 行列Aの行および列数. (n >= 0) (n = 0 の場合, 処理を行わずに戻る) |
[in] | nrhs | 行列 B および X の列数. (nrhs >= 0) (nrhs = 0 の場合, 処理を行わずに戻る) |
[in] | val[] | 配列 val[lval] (lval >= nnz)
行列 A の非ゼロ要素の値. (nnz は非ゼロ要素数) |
[in] | colptr[] | 配列 colptr[lcolptr] (lcolptr >= n + 1)
行列 A の列ポインタ. |
[in] | rowind[] | 配列 rowind[lrowind] (lrowind >= nnz)
行列 A の行インデクス. (nnz は非ゼロ要素数) |
[in] | base | colptr[] および rowind[] のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1. |
[in] | ldx | 二次元配列 x[] の整合寸法. (ldx >= n) |
[in,out] | x[] | 配列 x[lx] (lx >= n*nrhs)
[in] 右辺行列 B.
[out] 解行列 X. |
[out] | info | = 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= i > 0: 行列が特異である(i番目の対角要素が0). |
|