Contents
zpbcon - estimate the reciprocal of the condition number (in
the 1-norm) of a complex Hermitian positive definite band
matrix using the Cholesky factorization A = U**H*U or A =
L*L**H computed by CPBTRF
SUBROUTINE ZPBCON(UPLO, N, KD, A, LDA, ANORM, RCOND, WORK, WORK2,
INFO)
CHARACTER * 1 UPLO
DOUBLE COMPLEX A(LDA,*), WORK(*)
INTEGER N, KD, LDA, INFO
DOUBLE PRECISION ANORM, RCOND
DOUBLE PRECISION WORK2(*)
SUBROUTINE ZPBCON_64(UPLO, N, KD, A, LDA, ANORM, RCOND, WORK,
WORK2, INFO)
CHARACTER * 1 UPLO
DOUBLE COMPLEX A(LDA,*), WORK(*)
INTEGER*8 N, KD, LDA, INFO
DOUBLE PRECISION ANORM, RCOND
DOUBLE PRECISION WORK2(*)
F95 INTERFACE
SUBROUTINE PBCON(UPLO, [N], KD, A, [LDA], ANORM, RCOND, [WORK],
[WORK2], [INFO])
CHARACTER(LEN=1) :: UPLO
COMPLEX(8), DIMENSION(:) :: WORK
COMPLEX(8), DIMENSION(:,:) :: A
INTEGER :: N, KD, LDA, INFO
REAL(8) :: ANORM, RCOND
REAL(8), DIMENSION(:) :: WORK2
SUBROUTINE PBCON_64(UPLO, [N], KD, A, [LDA], ANORM, RCOND, [WORK],
[WORK2], [INFO])
CHARACTER(LEN=1) :: UPLO
COMPLEX(8), DIMENSION(:) :: WORK
COMPLEX(8), DIMENSION(:,:) :: A
INTEGER(8) :: N, KD, LDA, INFO
REAL(8) :: ANORM, RCOND
REAL(8), DIMENSION(:) :: WORK2
C INTERFACE
#include <sunperf.h>
void zpbcon(char uplo, int n, int kd, doublecomplex *a, int
lda, double anorm, double *rcond, int *info);
void zpbcon_64(char uplo, long n, long kd, doublecomplex *a,
long lda, double anorm, double *rcond, long
*info);
zpbcon estimates the reciprocal of the condition number (in
the 1-norm) of a complex Hermitian positive definite band
matrix using the Cholesky factorization A = U**H*U or A =
L*L**H computed by CPBTRF.
An estimate is obtained for norm(inv(A)), and the reciprocal
of the condition number is computed as RCOND = 1 / (ANORM *
norm(inv(A))).
UPLO (input)
= 'U': Upper triangular factor stored in A;
= 'L': Lower triangular factor stored in A.
N (input) The order of the matrix A. N >= 0.
KD (input)
The number of superdiagonals of the matrix A if
UPLO = 'U', or the number of sub-diagonals if UPLO
= 'L'. KD >= 0.
A (input) The triangular factor U or L from the Cholesky
factorization A = U**H*U or A = L*L**H of the band
matrix A, stored in the first KD+1 rows of the
array. The j-th column of U or L is stored in the
j-th column of the array A as follows: if UPLO
='U', A(kd+1+i-j,j) = U(i,j) for max(1,j-
kd)<=i<=j; if UPLO ='L', A(1+i-j,j) = L(i,j)
for j<=i<=min(n,j+kd).
LDA (input)
The leading dimension of the array A. LDA >=
KD+1.
ANORM (input)
The 1-norm (or infinity-norm) of the Hermitian
band matrix A.
RCOND (output)
The 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.
WORK (workspace)
dimension(2*N)
WORK2 (workspace)
dimension(N)
INFO (output)
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an ille-
gal value