Contents


NAME

     dptcon - compute the reciprocal of the condition number  (in
     the  1-norm) of a real symmetric positive definite tridiago-
     nal matrix using the factorization  A  =  L*D*L**T  or  A  =
     U**T*D*U computed by DPTTRF

SYNOPSIS

     SUBROUTINE DPTCON(N, D, E, ANORM, RCOND, WORK, INFO)

     INTEGER N, INFO
     DOUBLE PRECISION ANORM, RCOND
     DOUBLE PRECISION D(*), E(*), WORK(*)

     SUBROUTINE DPTCON_64(N, D, E, ANORM, RCOND, WORK, INFO)

     INTEGER*8 N, INFO
     DOUBLE PRECISION ANORM, RCOND
     DOUBLE PRECISION D(*), E(*), WORK(*)

  F95 INTERFACE
     SUBROUTINE PTCON([N], D, E, ANORM, RCOND, [WORK], [INFO])

     INTEGER :: N, INFO
     REAL(8) :: ANORM, RCOND
     REAL(8), DIMENSION(:) :: D, E, WORK

     SUBROUTINE PTCON_64([N], D, E, ANORM, RCOND, [WORK], [INFO])

     INTEGER(8) :: N, INFO
     REAL(8) :: ANORM, RCOND
     REAL(8), DIMENSION(:) :: D, E, WORK

  C INTERFACE
     #include <sunperf.h>

     void dptcon(int n, double *d, double *e, double anorm,  dou-
               ble *rcond, int *info);

     void dptcon_64(long n, double *d, double *e,  double  anorm,
               double *rcond, long *info);

PURPOSE

     dptcon computes the reciprocal of the condition  number  (in
     the  1-norm) of a real symmetric positive definite tridiago-
     nal matrix using the factorization  A  =  L*D*L**T  or  A  =
     U**T*D*U computed by DPTTRF.
     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.

     D (input) The n diagonal elements of the diagonal  matrix  D
               from  the  factorization  of  A,  as  computed  by
               DPTTRF.

     E (input) The (n-1) off-diagonal elements of the unit  bidi-
               agonal  factor U or L from the factorization of A,
               as computed by DPTTRF.

     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)
               dimension(N)

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

FURTHER DETAILS

     The method used is described in Nicholas J.  Higham,  "Effi-
     cient  Algorithms  for  Computing  the Condition Number of a
     Tridiagonal Matrix", SIAM J. Sci. Stat. Comput., Vol. 7, No.
     1, January 1986.