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 ZPBTRF
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);
Oracle Solaris Studio Performance Library zpbcon(3P) NAME 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 ZPBTRF SYNOPSIS 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); PURPOSE 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 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))). ARGUMENTS 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, com- puted as RCOND = 1/(ANORM * AINVNM), where AINVNM is an esti- mate 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 illegal value 7 Nov 2015 zpbcon(3P)