XLPack 6.1
Excel VBA Numerical Library Reference Manual
Loading...
Searching...
No Matches

◆ Zsycon()

Sub Zsycon ( Uplo As  String,
N As  Long,
A() As  Complex,
IPiv() As  Long,
ANorm As  Double,
RCond As  Double,
Info As  Long 
)

Condition number of a complex symmetric matrix

Purpose
This routine estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric matrix A using the factorization A = U*D*U^T or A = L*D*L^T computed by Zsytrf.

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 details of the factorization are stored as an upper or lower triangular matrix.
= "U": Upper triangular, form is A = U*D*U^T.
= "L": Lower triangular, form is A = L*D*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 block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by Zsytrf.
[in]IPiv()Array IPiv(LIPiv - 1) (LIPiv >= N)
Details of the interchanges and the block structure of D as determined by Zsytrf.
[in]ANormThe 1-norm of the original 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 IPiv() is invalid.
= -5: The argument ANorm had an illegal value. (ANorm < 0)
Reference
LAPACK
Example Program
See example of Zsysv.