dgtcon - estimate the reciprocal of the condition number of a real tridiagonal matrix A using the LU factorization as computed by DGTTRF
SUBROUTINE DGTCON(NORM, N, LOW, D, UP1, UP2, IPIVOT, ANORM, RCOND, WORK, IWORK2, INFO) CHARACTER*1 NORM INTEGER N, INFO INTEGER IPIVOT(*), IWORK2(*) DOUBLE PRECISION ANORM, RCOND DOUBLE PRECISION LOW(*), D(*), UP1(*), UP2(*), WORK(*) SUBROUTINE DGTCON_64(NORM, N, LOW, D, 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(*), D(*), UP1(*), UP2(*), WORK(*) F95 INTERFACE SUBROUTINE GTCON(NORM, N, LOW, D, 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, D, UP1, UP2, WORK SUBROUTINE GTCON_64(NORM, N, LOW, D, 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, D, UP1, UP2, WORK C INTERFACE #include <sunperf.h> void dgtcon(char norm, int n, double *low, double *d, double *up1, dou- ble *up2, int *ipivot, double anorm, double *rcond, int *info); void dgtcon_64(char norm, long n, double *low, double *d, double *up1, double *up2, long *ipivot, double anorm, double *rcond, long *info);
Oracle Solaris Studio Performance Library dgtcon(3P) NAME dgtcon - estimate the reciprocal of the condition number of a real tridiagonal matrix A using the LU factorization as computed by DGTTRF SYNOPSIS SUBROUTINE DGTCON(NORM, N, LOW, D, UP1, UP2, IPIVOT, ANORM, RCOND, WORK, IWORK2, INFO) CHARACTER*1 NORM INTEGER N, INFO INTEGER IPIVOT(*), IWORK2(*) DOUBLE PRECISION ANORM, RCOND DOUBLE PRECISION LOW(*), D(*), UP1(*), UP2(*), WORK(*) SUBROUTINE DGTCON_64(NORM, N, LOW, D, 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(*), D(*), UP1(*), UP2(*), WORK(*) F95 INTERFACE SUBROUTINE GTCON(NORM, N, LOW, D, 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, D, UP1, UP2, WORK SUBROUTINE GTCON_64(NORM, N, LOW, D, 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, D, UP1, UP2, WORK C INTERFACE #include <sunperf.h> void dgtcon(char norm, int n, double *low, double *d, double *up1, dou- ble *up2, int *ipivot, double anorm, double *rcond, int *info); void dgtcon_64(char norm, long n, double *low, double *d, double *up1, double *up2, long *ipivot, double anorm, double *rcond, long *info); PURPOSE dgtcon estimates the reciprocal of the condition number of a real tridiagonal matrix A using the LU factorization as computed by DGTTRF. 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 NORM (input) Specifies whether the 1-norm condition number or the infin- ity-norm condition number is required: = '1' or 'O': 1-norm; = 'I': Infinity-norm. N (input) The order of the matrix A. N >= 0. LOW (input) The (n-1) multipliers that define the matrix L from the LU factorization of A as computed by DGTTRF. D (input) The n diagonal elements of the upper triangular matrix U from the LU factorization of A. UP1 (input) The (n-1) elements of the first superdiagonal of U. UP2 (input) The (n-2) elements of the second superdiagonal of U. IPIVOT (input) The pivot indices; for 1 <= i <= n, row i of the matrix was interchanged with row IPIVOT(i). IPIVOT(i) will always be either i or i+1; IPIVOT(i) = i indicates a row interchange was not required. ANORM (input) If NORM = '1' or 'O', the 1-norm of the original matrix A. If NORM = 'I', the infinity-norm of the original 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) DOUBLE PRECISION array, dimension (2*N) IWORK2 (workspace) INTEGER array, dimension (N) INFO (output) = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value 7 Nov 2015 dgtcon(3P)