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
SUBROUTINE CPTCON( N, DIAG, OFFD, ANORM, RCOND, WORK, INFO) COMPLEX OFFD(*) INTEGER N, INFO REAL ANORM, RCOND REAL DIAG(*), WORK(*)
SUBROUTINE CPTCON_64( N, DIAG, OFFD, ANORM, RCOND, WORK, INFO) COMPLEX OFFD(*) INTEGER*8 N, INFO REAL ANORM, RCOND REAL DIAG(*), WORK(*)
SUBROUTINE PTCON( [N], DIAG, OFFD, ANORM, RCOND, [WORK], [INFO]) COMPLEX, DIMENSION(:) :: OFFD INTEGER :: N, INFO REAL :: ANORM, RCOND REAL, DIMENSION(:) :: DIAG, WORK
SUBROUTINE PTCON_64( [N], DIAG, OFFD, ANORM, RCOND, [WORK], [INFO]) COMPLEX, DIMENSION(:) :: OFFD INTEGER(8) :: N, INFO REAL :: ANORM, RCOND REAL, DIMENSION(:) :: DIAG, WORK
#include <sunperf.h>
void cptcon(int n, float *diag, complex *offd, float anorm, float *rcond, int *info);
void cptcon_64(long n, float *diag, complex *offd, float anorm, float *rcond, long *info);
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))).
inv(A)
computed in this routine.
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
The method used is described in Nicholas J. Higham, ``Efficient Algorithms for Computing the Condition Number of a Tridiagonal Matrix'', SIAM J. Sci. Stat. Comput., Vol. 7, No. 1, January 1986.