dpbcon
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))).
-
* UPLO (input)
-
-
* N (input)
-
The order of the matrix A. N >= 0.
-
* NDIAG (input)
-
The number of superdiagonals of the matrix A if UPLO = 'U',
or the number of subdiagonals if UPLO = 'L'. NDIAG >= 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 NDIAG+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 >= NDIAG+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,
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(3*N)
-
* WORK2 (workspace)
-
-
* INFO (output)
-