Contents


NAME

     sptcon - 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 SPTTRF

SYNOPSIS

     SUBROUTINE SPTCON(N, DIAG, OFFD, ANORM, RCOND, WORK, INFO)

     INTEGER N, INFO
     REAL ANORM, RCOND
     REAL DIAG(*), OFFD(*), WORK(*)

     SUBROUTINE SPTCON_64(N, DIAG, OFFD, ANORM, RCOND, WORK, INFO)

     INTEGER*8 N, INFO
     REAL ANORM, RCOND
     REAL DIAG(*), OFFD(*), WORK(*)

  F95 INTERFACE
     SUBROUTINE PTCON([N], DIAG, OFFD, ANORM, RCOND, [WORK], [INFO])

     INTEGER :: N, INFO
     REAL :: ANORM, RCOND
     REAL, DIMENSION(:) :: DIAG, OFFD, WORK

     SUBROUTINE PTCON_64([N], DIAG, OFFD, ANORM, RCOND, [WORK], [INFO])

     INTEGER(8) :: N, INFO
     REAL :: ANORM, RCOND
     REAL, DIMENSION(:) :: DIAG, OFFD, WORK

  C INTERFACE
     #include <sunperf.h>

     void sptcon(int n, float *diag, float  *offd,  float  anorm,
               float *rcond, int *info);

     void sptcon_64(long  n,  float  *diag,  float  *offd,  float
               anorm, float *rcond, long *info);

PURPOSE

     sptcon 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 SPTTRF.
     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
               SPTTRF.

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

     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.