cptcon


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

* N (input)
The order of the matrix A. N >= 0.

* DIAG (input)
The n diagonal elements of the diagonal matrix DIAG from the factorization of A, as computed by CPTTRF.

* OFFD (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, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is the 1-norm of inv(A) computed in this routine.

* WORK (workspace)
* INFO (output)