|
|
◆ Zspcon()
| Sub Zspcon |
( |
Uplo As |
String, |
|
|
N As |
Long, |
|
|
Ap() As |
Complex, |
|
|
IPiv() As |
Long, |
|
|
ANorm As |
Double, |
|
|
RCond As |
Double, |
|
|
Info As |
Long |
|
) |
| |
行列の条件数 (複素対称行列) (圧縮形式)
- 目的
- 本ルーチンはZsptrfにより求められた分解 A = U*D*U^T あるいは A = L*D*L^T を用いて, 圧縮形式の複素対称行列Aの(1ノルムによる)条件数の逆数を推定する.
norm(inv(A))の推定値を求め, 次のように条件数の逆数を計算する. RCond = 1 / (norm(A) * norm(inv(A)))
- 引数
-
| [in] | Uplo | 分解形が上三角行列あるいは下三角行列のどちらで格納されているかを指定.
= "U": 上三角, 分解形は A = U*D*U^T.
= "L": 下三角, 分解形は A = L*D*L^T. |
| [in] | N | 行列Aの行および列数. (N >= 0) (N = 0 の場合, RCond = 1 を返す) |
| [in] | Ap() | 配列 Ap(LAp - 1) (LAp >= N(N + 1)/2)
Zsptrfにより求められたUまたはLを得るために使われるブロック対角行列Dおよび乗数. 圧縮形式で三角行列として格納する. |
| [in] | IPiv() | 配列 IPiv(LIPiv - 1) (LIPiv >= N)
Zsptrfにより求められた行および列の交換とDのブロック構造の情報. |
| [in] | ANorm | 分解前の行列Aの1ノルム. (ANorm >= 0) |
| [out] | RCond | 行列Aの条件数の逆数. 次のように計算する.
RCond = 1/(ANorm * Ainvnm)
ここで, Ainvnmは本ルーチンで求められたinv(A)の1-ノルムの推定値である. |
| [out] | Info | = 0: 正常終了.
= -1: パラメータ Uplo の誤り. (Uplo != "U"および"L")
= -2: パラメータ N の誤り. (N < 0)
= -3: パラメータ Ap() の誤り.
= -4: パラメータ IPiv() の誤り.
= -5: パラメータ ANorm の誤り. (ANorm < 0) |
- 出典
- LAPACK
- 使用例
- Zspsvの使用例を参照せよ.
|