|
|
◆ csr_zussv_sor()
| void csr_zussv_sor |
( |
char |
uplo, |
|
|
int |
n, |
|
|
const doublecomplex |
val[], |
|
|
const int |
rowptr[], |
|
|
const int |
colind[], |
|
|
int |
base, |
|
|
double |
omega, |
|
|
doublecomplex |
x[], |
|
|
int |
incx, |
|
|
int * |
info |
|
) |
| |
(D/ω + L)x = b または (D/ω + U)x = b の解 (SORソルバー用) (複素行列) (CSR)
- 目的
- CSR形式の疎行列 A について次の連立方程式を解く.
(D/ω + L)x = b または (D/ω + U)x = b (ただし, A = L + D + U)
ここで, b および x は n ベクトル, また, A は n×n 疎行列である. L は A の下三角部分, D は A の対角部分, U は A の上三角部分である.
- 引数
-
| [in] | uplo | どちらの方程式を解くか指定.
= 'U': (D/ω + U)x = b.
= 'L': (D/ω + L)x = b.
指定された以外の三角部分(対角成分を除く)は無視される. |
| [in] | n | 行列 A の行および列数. (n >= 0) (n = 0 の場合, 処理を行わずに戻る) |
| [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] | base | rowptr[] および colind[] のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1. |
| [in] | omega | SORソルバーのωパラメータ. (0 < omega < 2) |
| [in,out] | x[] | 配列 x[lx] (lx >= 1 + (n - 1)*incx)
[in] 右辺ベクトル b.
[out] 解ベクトル x. |
| [in] | incx | x[] の要素間隔 (incx != 0). |
| [out] | info | = 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= i > 0: 行列が特異である(i番目の対角要素が0). |
|