cptcon - norm) of a complex Hermitian positive definite tridiagonal matrix using the factorization A = L*D*L**H or A = U**H*D*U computed by CPTTRF
SUBROUTINE CPTCON(N, D, E, ANORM, RCOND, WORK, INFO) COMPLEX E(*) INTEGER N, INFO REAL ANORM, RCOND REAL D(*), WORK(*) SUBROUTINE CPTCON_64(N, D, E, ANORM, RCOND, WORK, INFO) COMPLEX E(*) INTEGER*8 N, INFO REAL ANORM, RCOND REAL D(*), WORK(*) F95 INTERFACE SUBROUTINE PTCON(N, D, E, ANORM, RCOND, WORK, INFO) COMPLEX, DIMENSION(:) :: E INTEGER :: N, INFO REAL :: ANORM, RCOND REAL, DIMENSION(:) :: D, WORK SUBROUTINE PTCON_64(N, D, E, ANORM, RCOND, WORK, INFO) COMPLEX, DIMENSION(:) :: E INTEGER(8) :: N, INFO REAL :: ANORM, RCOND REAL, DIMENSION(:) :: D, WORK C INTERFACE #include <sunperf.h> void cptcon(int n, float *d, complex *e, float anorm, float *rcond, int *info); void cptcon_64(long n, float *d, complex *e, float anorm, float *rcond, long *info);
Oracle Solaris Studio Performance Library cptcon(3P) NAME cptcon - compute the reciprocal of the condition number (in the 1-norm) of a complex Hermitian positive definite tridiagonal matrix using the factorization A = L*D*L**H or A = U**H*D*U computed by CPTTRF SYNOPSIS SUBROUTINE CPTCON(N, D, E, ANORM, RCOND, WORK, INFO) COMPLEX E(*) INTEGER N, INFO REAL ANORM, RCOND REAL D(*), WORK(*) SUBROUTINE CPTCON_64(N, D, E, ANORM, RCOND, WORK, INFO) COMPLEX E(*) INTEGER*8 N, INFO REAL ANORM, RCOND REAL D(*), WORK(*) F95 INTERFACE SUBROUTINE PTCON(N, D, E, ANORM, RCOND, WORK, INFO) COMPLEX, DIMENSION(:) :: E INTEGER :: N, INFO REAL :: ANORM, RCOND REAL, DIMENSION(:) :: D, WORK SUBROUTINE PTCON_64(N, D, E, ANORM, RCOND, WORK, INFO) COMPLEX, DIMENSION(:) :: E INTEGER(8) :: N, INFO REAL :: ANORM, RCOND REAL, DIMENSION(:) :: D, WORK C INTERFACE #include <sunperf.h> void cptcon(int n, float *d, complex *e, float anorm, float *rcond, int *info); void cptcon_64(long n, float *d, complex *e, float anorm, float *rcond, long *info); PURPOSE cptcon computes the reciprocal of the condition number (in the 1-norm) of a complex Hermitian positive definite tridiagonal matrix using the factorization A = L*D*L**H or A = U**H*D*U computed by CPTTRF. Norm(inv(A)) is computed by a direct method, and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))). ARGUMENTS N (input) The order of the matrix A. N >= 0. D (input) The n diagonal elements of the diagonal matrix D from the factorization of A, as computed by CPTTRF. E (input) The (n-1) off-diagonal elements of the unit bidiagonal factor U or L from the factorization of A, as computed by CPTTRF. ANORM (input) The 1-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 the 1-norm of inv(A) computed in this routine. WORK (workspace) INFO (output) = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value FURTHER DETAILS The method used is described in Nicholas J. Higham, "Efficient Algo- rithms for Computing the Condition Number of a Tridiagonal Matrix", SIAM J. Sci. Stat. Comput., Vol. 7, No. 1, January 1986. 7 Nov 2015 cptcon(3P)