|
|
◆ dptcon()
| void dptcon |
( |
int |
n, |
|
|
double |
d[], |
|
|
double |
e[], |
|
|
double |
anorm, |
|
|
double * |
rcond, |
|
|
double |
work[], |
|
|
int * |
info |
|
) |
| |
Condition number of a symmetric positive definite tridiagonal matrix
- Purpose
- This routine computes the reciprocal of the condition number (in the 1-norm) of a real symmetric positive definite tridiagonal matrix using the factorization A = L*D*L^T or A = U^T*D*U computed by dpttrf.
Norm(inv(A)) is computed by a direct method, and the reciprocal of the condition number is computed as rcond = 1 / (anorm * norm(inv(A))).
- Parameters
-
| [in] | n | Order of the matrix A. (n >= 0) (If n = 0, returns rcond = 1) |
| [in] | d[] | Array d[ld] (ld >= n)
n diagonal elements of the diagonal matrix D from the factorization of A, as computed by dpttrf. |
| [in] | e[] | Array e[le] (le >= n - 1)
n-1 sub-diagonal elements of the unit bidiagonal factor U or L from the factorization of A, as computed by dpttrf. |
| [in] | anorm | The 1-norm of the original matrix A. (anorm >= 0) |
| [out] | rcond | The reciprocal of the condition number of the matrix A, computed as rcond = 1/(anorm * ainvnm), where ainvnm is the 1-norm of inv(A) computed in this routine. |
| [out] | work[] | Array work[lwork] (lwork >= n)
Work array. |
| [out] | info | = 0: Successful exit
= -1: The argument n had an illegal value (n < 0)
= -4: The argument anorm had an illegal value (anorm < 0) |
- Reference
- LAPACK
|