XLPack 7.0
XLPack Numerical Library (C API) Reference Manual
Loading...
Searching...
No Matches

◆ zspcon()

void zspcon ( char  uplo,
int  n,
doublecomplex  ap[],
int  ipiv[],
double  anorm,
double *  rcond,
doublecomplex  work[],
int *  info 
)

Condition number of a complex symmetric matrix in packed form

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

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as
rcond = 1 / (anorm * 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]ap[]Array ap[lap] (lap >= n(n + 1)/2)
The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by zsptrf, stored as a packed triangular matrix.
[in]ipiv[]Array ipiv[lipiv] (lipiv >= n)
Details of the interchanges and the block structure of D as determined by zsptrf.
[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]work[]Array work[lwork] (lwork >= 2*n)
Work array.
[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)
= -5: The argument anorm had an illegal value (anorm < 0)
Reference
LAPACK