|
|
◆ CscDussv()
| Sub CscDussv |
( |
Uplo As |
String, |
|
|
Trans As |
String, |
|
|
Diag As |
String, |
|
|
N As |
Long, |
|
|
Val() As |
Double, |
|
|
Colptr() As |
Long, |
|
|
Rowind() As |
Long, |
|
|
X() As |
Double, |
|
|
Optional Info As |
Long, |
|
|
Optional Base As |
Long = -1, |
|
|
Optional IncX As |
Long = 1, |
|
|
Optional Omega As |
Double = 1 |
|
) |
| |
Ax = b または ATx = b の解 (三角行列) (CSC)
- 目的
- CSC形式の疎行列 A について次の連立方程式を解く. ここで, b および x は n ベクトル, また, A は N×N 上または下三角疎行列である.
- 引数
-
| [in] | Uplo | 行列が上三角行列あるいは下三角行列のどちらであるかを指定.
= "U": A は上三角行列.
= "L": A は下三角行列.
指定された以外の三角部分(対角成分をを除く)は無視される. |
| [in] | Trans | 解くべき連立方程式を指定.
= "N": A*x = b.
= "T" または "C": A^T*x = b. |
| [in] | Diag | A を単位三角行列(対角要素が 1 の三角行列)とみなすかどうかを指定.
= "N": A を単位三角行列とみなさない.
= "U": A を単位三角行列とみなす. 対角要素の位置の Val() を無視し 1 とみなす. |
| [in] | N | 行列 A の行および列数. (N >= 0) (N = 0 の場合, 処理を行わずに戻る) |
| [in] | Val() | 配列 Val(LVal - 1) (LVal >= Nnz) (Nnz は行列 A の非ゼロ要素数)
行列 A の非ゼロ要素の値. |
| [in] | Colptr() | 配列 Colptr(LColptr - 1) (LColptr >= N + 1)
行列 A の列ポインタ. |
| [in] | Rowind() | 配列 Rowind(LRowind - 1) (LRowind >= Nnz)
行列 A の行インデクス. |
| [in,out] | X() | 配列 X(LX - 1) (LX >= 1 + (N - 1)*|IncX|)
[in] 右辺ベクトル b.
[out] 解ベクトル x. |
| [out] | Info | (省略可)
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り. = i > 0: 行列が特異である(i番目の対角要素が0). |
| [in] | Base | (省略可)
Colptr() および Rowind() のインデクス形式.
= 0: 0-ベース(C形式): 開始インデクス値が 0.
= 1: 1-ベース(Fortran形式): 開始インデクス値が 1.
(省略時: Colptr(0) = 1 であれば 1, そうでなければ 0 とみなす) |
| [in] | IncX | (省略可)
X() の要素間隔. (IncX <> 0) (省略時 = 1) |
| [in] | Omega | (省略可)
ω パラメーター. (0 < Omega < 2) (省略時 = 1)
ω <> 1 であれば, Uplo, Trans および Diag を無視し, (D/ω + L)*x = b を解く. 本オプションは SOR ソルバーと共に使うためのものである. |
|