Contents


NAME

     ztpcon - estimate the reciprocal of the condition number  of
     a  packed  triangular  matrix A, in either the 1-norm or the
     infinity-norm

SYNOPSIS

     SUBROUTINE ZTPCON(NORM, UPLO, DIAG, N, A, RCOND, WORK, WORK2, INFO)

     CHARACTER * 1 NORM, UPLO, DIAG
     DOUBLE COMPLEX A(*), WORK(*)
     INTEGER N, INFO
     DOUBLE PRECISION RCOND
     DOUBLE PRECISION WORK2(*)

     SUBROUTINE ZTPCON_64(NORM, UPLO, DIAG, N, A, RCOND, WORK, WORK2,
           INFO)

     CHARACTER * 1 NORM, UPLO, DIAG
     DOUBLE COMPLEX A(*), WORK(*)
     INTEGER*8 N, INFO
     DOUBLE PRECISION RCOND
     DOUBLE PRECISION WORK2(*)

  F95 INTERFACE
     SUBROUTINE TPCON(NORM, UPLO, DIAG, N, A, RCOND, [WORK], [WORK2],
            [INFO])

     CHARACTER(LEN=1) :: NORM, UPLO, DIAG
     COMPLEX(8), DIMENSION(:) :: A, WORK
     INTEGER :: N, INFO
     REAL(8) :: RCOND
     REAL(8), DIMENSION(:) :: WORK2

     SUBROUTINE TPCON_64(NORM, UPLO, DIAG, N, A, RCOND, [WORK], [WORK2],
            [INFO])

     CHARACTER(LEN=1) :: NORM, UPLO, DIAG
     COMPLEX(8), DIMENSION(:) :: A, WORK
     INTEGER(8) :: N, INFO
     REAL(8) :: RCOND
     REAL(8), DIMENSION(:) :: WORK2

  C INTERFACE
     #include <sunperf.h>

     void ztpcon(char norm, char uplo, char diag,  int  n,  doub-
               lecomplex *a, double *rcond, int *info);
     void ztpcon_64(char norm, char  uplo,  char  diag,  long  n,
               doublecomplex *a, double *rcond, long *info);

PURPOSE

     ztpcon estimates the reciprocal of the condition number of a
     packed  triangular  matrix  A,  in  either the 1-norm or the
     infinity-norm.

     The norm of A is computed and an estimate  is  obtained  for
     norm(inv(A)), then the reciprocal of the condition number is
     computed as
        RCOND = 1 / ( norm(A) * norm(inv(A)) ).

ARGUMENTS

     NORM (input)
               Specifies whether the 1-norm condition  number  or
               the infinity-norm condition number is required:
               = '1' or 'O':  1-norm;
               = 'I':         Infinity-norm.

     UPLO (input)
               = 'U':  A is upper triangular;
               = 'L':  A is lower triangular.

     DIAG (input)
               = 'N':  A is non-unit triangular;
               = 'U':  A is unit triangular.

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

     A (input) The upper or lower  triangular  matrix  A,  packed
               columnwise  in a linear array.  The j-th column of
               A is stored in the array A as follows:  if UPLO  =
               'U',  A(i  +  (j-1)*j/2)  = A(i,j) for 1<=i<=j; if
               UPLO = 'L', A(i +  (j-1)*(2n-j)/2)  =  A(i,j)  for
               j<=i<=n.   If DIAG = 'U', the diagonal elements of
               A are not referenced and are assumed to be 1.

     RCOND (output)
               The reciprocal of  the  condition  number  of  the
               matrix   A,  computed  as  RCOND  =  1/(norm(A)  *
               norm(inv(A))).
     WORK (workspace)
               dimension(2*N)

     WORK2 (workspace)
               dimension(N)

     INFO (output)
               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an ille-
               gal value