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, 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(*)

F95 INTERFACE

  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

C INTERFACE

#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);


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


FURTHER DETAILS

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.