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

◆ zpbcon()

void zpbcon ( char  uplo,
int  n,
int  kd,
int  ldab,
doublecomplex  ab[],
double  anorm,
double *  rcond,
doublecomplex  work[],
double  rwork[],
int *  info 
)

Condition number of a Hermitian positive definite band matrix

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

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]uplo= 'U': Upper triangular factor U is stored in ab[][].
= 'L': Lower triangular factor L is stored in ab[][].
[in]nOrder of the matrix A. (n >= 0) (If n = 0, returns rcond = 1)
[in]kdNumber of super-diagonals of the matrix A if uplo = 'U', or number of sub-diagonals if uplo = 'L'. (kd >= 0)
[in]ldabLeading dimension of the two dimensional array ab[][]. (ldab >= kd + 1)
[in]ab[][]Array ab[lab][ldab] (lab >= n)
The triangular factor U or L from the Cholesky factorization A = U^H*U or A = L*L^H of the Hermitian positive definite band matrix A, stored in kd+1 x n symmetric band matrix form.
[in]anormThe 1-norm (or infinity-norm) of the Hermitian positive definite band matrix A.
[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]rwork[]Array rwork[lrwork] (lrwork >= 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)
= -3: The argument kd had an illegal value (kd < 0)
= -4: The argument ldab had an illegal value (ldab < kd+1)
= -6: The argument anorm had an illegal value (anorm < 0)
Reference
LAPACK