|
◆ dppcon()
void dppcon |
( |
char |
uplo, |
|
|
int |
n, |
|
|
double |
ap[], |
|
|
double |
anorm, |
|
|
double * |
rcond, |
|
|
double |
work[], |
|
|
int |
iwork[], |
|
|
int * |
info |
|
) |
| |
行列の条件数 (正定値対称行列) (圧縮形式)
- 目的
- 本ルーチンはdpptrfにより計算されたコレスキー分解 A = U^T*U または A = L*L^T を用いて圧縮形式の正定値対称行列の(1-ノルムによる)条件数の推定を行う.
norm(inv(A))の推定値を求め, 条件数の逆数を次のように計算する. rcond = 1 / (anorm * norm(inv(A)))
- 引数
-
[in] | uplo | 分解形のUあるいはLのどちらが格納されているかを指定.
= 'U': コレスキー分解 A = U^T*U の上三角行列 U.
= 'L': コレスキー分解 A = L*L^T の下三角行列 L. |
[in] | n | 行列Aの行および列数. (n >= 0) (n = 0 の場合, rcond = 1 を返す) |
[in] | ap[] | 配列 ap[lap] (lap >= n(n + 1)/2)
dpptrfにより計算されたコレスキー分解 A = U^T*U または A = L*L^T の三角行列UまたはL(圧縮形式). |
[in] | anorm | 対称行列Aの1ノルム(または無限大ノルム). (anorm >= 0) |
[out] | rcond | 行列Aの条件数の逆数. 次のように計算する.
rcond = 1/(anorm * ainvnm)
ここで, ainvnmは本ルーチン内で求められたinv(A)の1-ノルムの推定値である. |
[out] | work[] | 配列 work[lwork] (lwork >= 3*n)
作業領域. |
[out] | iwork[] | 配列 iwork[liwork] (liwork >= n)
作業領域. |
[out] | info | = 0: 正常終了
= -1: 入力パラメータ uplo の誤り (uplo != 'U'および'L')
= -2: 入力パラメータ n の誤り (n < 0)
= -4: 入力パラメータ anorm の誤り (anorm < 0) |
- 出典
- LAPACK
|