dpbcon - estimate the reciprocal of the condition number (in the 1-norm) of a real symmetric positive definite band matrix using the Cholesky factorization A = U**T*U or A = L*L**T computed by SPBTRF
SUBROUTINE DPBCON( UPLO, N, NDIAG, A, LDA, ANORM, RCOND, WORK, * WORK2, INFO) CHARACTER * 1 UPLO INTEGER N, NDIAG, LDA, INFO INTEGER WORK2(*) DOUBLE PRECISION ANORM, RCOND DOUBLE PRECISION A(LDA,*), WORK(*)
SUBROUTINE DPBCON_64( UPLO, N, NDIAG, A, LDA, ANORM, RCOND, WORK, * WORK2, INFO) CHARACTER * 1 UPLO INTEGER*8 N, NDIAG, LDA, INFO INTEGER*8 WORK2(*) DOUBLE PRECISION ANORM, RCOND DOUBLE PRECISION A(LDA,*), WORK(*)
SUBROUTINE PBCON( UPLO, [N], NDIAG, A, [LDA], ANORM, RCOND, [WORK], * [WORK2], [INFO]) CHARACTER(LEN=1) :: UPLO INTEGER :: N, NDIAG, LDA, INFO INTEGER, DIMENSION(:) :: WORK2 REAL(8) :: ANORM, RCOND REAL(8), DIMENSION(:) :: WORK REAL(8), DIMENSION(:,:) :: A
SUBROUTINE PBCON_64( UPLO, [N], NDIAG, A, [LDA], ANORM, RCOND, [WORK], * [WORK2], [INFO]) CHARACTER(LEN=1) :: UPLO INTEGER(8) :: N, NDIAG, LDA, INFO INTEGER(8), DIMENSION(:) :: WORK2 REAL(8) :: ANORM, RCOND REAL(8), DIMENSION(:) :: WORK REAL(8), DIMENSION(:,:) :: A
#include <sunperf.h>
void dpbcon(char uplo, int n, int ndiag, double *a, int lda, double anorm, double *rcond, int *info);
void dpbcon_64(char uplo, long n, long ndiag, double *a, long lda, double anorm, double *rcond, long *info);
dpbcon estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric positive definite band matrix using the Cholesky factorization A = U**T*U or A = L*L**T computed by SPBTRF.
An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
= 'U': Upper triangular factor stored in A;
= 'L': Lower triangular factor stored in A.
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).
inv(A)
computed in this routine.
dimension(3*N)
dimension(N)
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value