spbcon - 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 SPBCON(UPLO, N, KD, A, LDA, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER*1 UPLO INTEGER N, KD, LDA, INFO INTEGER WORK2(*) REAL ANORM, RCOND REAL A(LDA,*), WORK(*) SUBROUTINE SPBCON_64(UPLO, N, KD, A, LDA, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER*1 UPLO INTEGER*8 N, KD, LDA, INFO INTEGER*8 WORK2(*) REAL ANORM, RCOND REAL A(LDA,*), WORK(*) F95 INTERFACE SUBROUTINE PBCON(UPLO, N, KD, A, LDA, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER(LEN=1) :: UPLO INTEGER :: N, KD, LDA, INFO INTEGER, DIMENSION(:) :: WORK2 REAL :: ANORM, RCOND REAL, DIMENSION(:) :: WORK REAL, DIMENSION(:,:) :: A SUBROUTINE PBCON_64(UPLO, N, KD, A, LDA, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER(LEN=1) :: UPLO INTEGER(8) :: N, KD, LDA, INFO INTEGER(8), DIMENSION(:) :: WORK2 REAL :: ANORM, RCOND REAL, DIMENSION(:) :: WORK REAL, DIMENSION(:,:) :: A C INTERFACE #include <sunperf.h> void spbcon(char uplo, int n, int kd, float *a, int lda, float anorm, float *rcond, int *info); void spbcon_64(char uplo, long n, long kd, float *a, long lda, float anorm, float *rcond, long *info);
Oracle Solaris Studio Performance Library spbcon(3P) NAME spbcon - 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 SYNOPSIS SUBROUTINE SPBCON(UPLO, N, KD, A, LDA, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER*1 UPLO INTEGER N, KD, LDA, INFO INTEGER WORK2(*) REAL ANORM, RCOND REAL A(LDA,*), WORK(*) SUBROUTINE SPBCON_64(UPLO, N, KD, A, LDA, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER*1 UPLO INTEGER*8 N, KD, LDA, INFO INTEGER*8 WORK2(*) REAL ANORM, RCOND REAL A(LDA,*), WORK(*) F95 INTERFACE SUBROUTINE PBCON(UPLO, N, KD, A, LDA, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER(LEN=1) :: UPLO INTEGER :: N, KD, LDA, INFO INTEGER, DIMENSION(:) :: WORK2 REAL :: ANORM, RCOND REAL, DIMENSION(:) :: WORK REAL, DIMENSION(:,:) :: A SUBROUTINE PBCON_64(UPLO, N, KD, A, LDA, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER(LEN=1) :: UPLO INTEGER(8) :: N, KD, LDA, INFO INTEGER(8), DIMENSION(:) :: WORK2 REAL :: ANORM, RCOND REAL, DIMENSION(:) :: WORK REAL, DIMENSION(:,:) :: A C INTERFACE #include <sunperf.h> void spbcon(char uplo, int n, int kd, float *a, int lda, float anorm, float *rcond, int *info); void spbcon_64(char uplo, long n, long kd, float *a, long lda, float anorm, float *rcond, long *info); PURPOSE spbcon 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))). 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 subdiagonals if UPLO = 'L'. KD >= 0. A (input) The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T 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 symmetric 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(3*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 spbcon(3P)