XLPack 7.0
XLPack Numerical Library (Excel VBA) Reference Manual
Loading...
Searching...
No Matches

◆ Dpocon()

Sub Dpocon ( Uplo As  String,
N As  Long,
A() As  Double,
ANorm As  Double,
RCond As  Double,
Info As  Long 
)

Condition number of a symmetric positive definite matrix

Purpose
This routine estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric positive definite matrix using the Cholesky factorization A = U^T*U or A = L*L^T computed by Dpotrf.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as
RCond = 1 / (norm(A) * norm(inv(A))).
Parameters
[in]UploSpecifies whether the factor U or L is stored.
= "U": Upper triangular factor U from the Cholesky factorization A = U^T*U.
= "L": Lower triangular factor L from the Cholesky factorization A = L*L^T.
[in]NOrder of the matrix A. (N >= 0) (if N = 0, returns RCond = 1)
[in]A()Array A(LA1 - 1, LA2 - 1) (LA1 >= N, LA2 >= N)
The triangular factor U or L from the Cholesky factorization A = U^T*U or A = L*L^T, as computed by Dpotrf.
[in]ANormThe 1-norm (or infinity-norm) of the symmetric matrix A. (ANorm >= 0)
[out]RCondThe reciprocal of the condition number of the matrix A, computed as RCond = 1/(ANorm * Ainvnm), where Ainvnm is an estimate of the 1-norm of inv(A) computed in this routine.
[out]Info= 0: Successful exit.
= -1: The argument Uplo had an illegal value. (Uplo <> "U" nor "L")
= -2: The argument N had an illegal value. (N < 0)
= -3: The argument A() is invalid.
= -4: The argument ANorm had an illegal value. (ANorm < 0)
Reference
LAPACK
Example Program
See example of Dposv.