ZPTRFS - improve the computed solution to a system of lin­
       ear equations when the  coefficient  matrix  is  Hermitian
       positive  definite  and  tridiagonal,  and  provides error
       bounds and backward error estimates for the solution


SYNOPSIS

       SUBROUTINE ZPTRFS( UPLO, N, NRHS, D, E, DF, EF, B, LDB, X,
                          LDX, FERR, BERR, WORK, RWORK, INFO )

           CHARACTER      UPLO

           INTEGER        INFO, LDB, LDX, N, NRHS

           DOUBLE         PRECISION  BERR(  * ), D( * ), DF( * ),
                          FERR( * ), RWORK( * )

           COMPLEX*16     B( LDB, * ), E( * ), EF( * ),  WORK(  *
                          ), X( LDX, * )


PURPOSE

       ZPTRFS  improves the computed solution to a system of lin­
       ear equations when the  coefficient  matrix  is  Hermitian
       positive  definite  and  tridiagonal,  and  provides error
       bounds and backward error estimates for the solution.


ARGUMENTS

       UPLO    (input) CHARACTER*1
               Specifies whether the superdiagonal or the  subdi­
               agonal  of  the tridiagonal matrix A is stored and
               the form of the factorization:
               = 'U':  E is the  superdiagonal  of  A,  and  A  =
               U**H*D*U;
               =  'L':   E  is  the  subdiagonal  of  A,  and A =
               L*D*L**H.  (The two forms are equivalent if  A  is
               real.)

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

       NRHS    (input) INTEGER
               The  number  of right hand sides, i.e., the number
               of columns of the matrix B.  NRHS >= 0.

       D       (input) DOUBLE PRECISION array, dimension (N)
               The n real diagonal elements  of  the  tridiagonal
               matrix A.

       E       (input) COMPLEX*16 array, dimension (N-1)
               The (n-1) off-diagonal elements of the tridiagonal
               matrix A (see UPLO).

       DF      (input) DOUBLE PRECISION array, dimension (N)
               The n diagonal elements of the diagonal  matrix  D


       EF      (input) COMPLEX*16 array, dimension (N-1)
               The  (n-1) off-diagonal elements of the unit bidi­
               agonal factor U or L from the  factorization  com­
               puted by ZPTTRF (see UPLO).

       B       (input) COMPLEX*16 array, dimension (LDB,NRHS)
               The right hand side matrix B.

       LDB     (input) INTEGER
               The  leading  dimension  of  the  array B.  LDB >=
               max(1,N).

       X       (input/output) COMPLEX*16 array, dimension
               (LDX,NRHS)
               On  entry,  the  solution matrix X, as computed by
               ZPTTRS.  On exit, the improved solution matrix  X.

       LDX     (input) INTEGER
               The  leading  dimension  of  the  array X.  LDX >=
               max(1,N).

       FERR    (output) DOUBLE PRECISION array, dimension (NRHS)
               The forward error bound for each  solution  vector
               X(j)  (the  j-th column of the solution matrix X).
               If XTRUE is the  true  solution  corresponding  to
               X(j),  FERR(j) is an estimated upper bound for the
               magnitude of the largest element in (X(j) - XTRUE)
               divided by the magnitude of the largest element in
               X(j).

       BERR    (output) DOUBLE PRECISION array, dimension (NRHS)
               The componentwise relative backward error of  each
               solution  vector X(j) (i.e., the smallest relative
               change in any element of A or B that makes X(j) an
               exact solution).

       WORK    (workspace) COMPLEX*16 array, dimension (N)

       RWORK   (workspace) DOUBLE PRECISION array, dimension (N)

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


PARAMETERS

       ITMAX is the maximum number of steps of iterative  refine­
       ment.


Man(1) output converted with man2html