dgtcon - estimate the reciprocal of the condition number of a real tridiagonal matrix A using the LU factorization as computed by SGTTRF
SUBROUTINE DGTCON( NORM, N, LOW, DIAG, UP1, UP2, IPIVOT, ANORM, * RCOND, WORK, IWORK2, INFO) CHARACTER * 1 NORM INTEGER N, INFO INTEGER IPIVOT(*), IWORK2(*) DOUBLE PRECISION ANORM, RCOND DOUBLE PRECISION LOW(*), DIAG(*), UP1(*), UP2(*), WORK(*)
SUBROUTINE DGTCON_64( NORM, N, LOW, DIAG, UP1, UP2, IPIVOT, ANORM, * RCOND, WORK, IWORK2, INFO) CHARACTER * 1 NORM INTEGER*8 N, INFO INTEGER*8 IPIVOT(*), IWORK2(*) DOUBLE PRECISION ANORM, RCOND DOUBLE PRECISION LOW(*), DIAG(*), UP1(*), UP2(*), WORK(*)
SUBROUTINE GTCON( NORM, [N], LOW, DIAG, UP1, UP2, IPIVOT, ANORM, * RCOND, [WORK], [IWORK2], [INFO]) CHARACTER(LEN=1) :: NORM INTEGER :: N, INFO INTEGER, DIMENSION(:) :: IPIVOT, IWORK2 REAL(8) :: ANORM, RCOND REAL(8), DIMENSION(:) :: LOW, DIAG, UP1, UP2, WORK
SUBROUTINE GTCON_64( NORM, [N], LOW, DIAG, UP1, UP2, IPIVOT, ANORM, * RCOND, [WORK], [IWORK2], [INFO]) CHARACTER(LEN=1) :: NORM INTEGER(8) :: N, INFO INTEGER(8), DIMENSION(:) :: IPIVOT, IWORK2 REAL(8) :: ANORM, RCOND REAL(8), DIMENSION(:) :: LOW, DIAG, UP1, UP2, WORK
#include <sunperf.h>
void dgtcon(char norm, int n, double *low, double *diag, double *up1, double *up2, int *ipivot, double anorm, double *rcond, int *info);
void dgtcon_64(char norm, long n, double *low, double *diag, double *up1, double *up2, long *ipivot, double anorm, double *rcond, long *info);
dgtcon estimates the reciprocal of the condition number of a real tridiagonal matrix A using the LU factorization as computed by SGTTRF.
An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
= '1' or 'O': 1-norm;
= 'I': Infinity-norm.
IPIVOT(i)
will always be either
i or i+1; IPIVOT(i)
= i indicates a row interchange was not
required.
inv(A)
computed in this routine.
dimension(2*N)
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value