- SUBROUTINE CPTCON(
- N, D, E, ANORM, RCOND, RWORK, INFO )
- INTEGER INFO, N
- REAL ANORM, RCOND
- REAL D( * ), RWORK( * )
- COMPLEX E( * )
PURPOSECPTCON 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))).
- N (input) INTEGER
- The order of the matrix A. N >= 0.
- D (input) REAL array, dimension (N)
- The n diagonal elements of the diagonal matrix D from the factorization of A, as computed by CPTTRF.
- E (input) COMPLEX array, dimension (N-1)
- 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) REAL
- The 1-norm of the original matrix A.
- RCOND (output) REAL
- The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is the 1-norm of inv(A) computed in this routine.
- RWORK (workspace) REAL array, dimension (N)
- INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
FURTHER DETAILSThe 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.