CPTRFS(3)                  MathKeisan LAPACK routine                 CPTRFS(3)



NAME
       CPTRFS - the computed solution to a system of linear equations when the
       coefficient matrix is Hermitian positive definite and tridiagonal,  and
       provides error bounds and backward error estimates for the solution

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

           CHARACTER      UPLO

           INTEGER        INFO, LDB, LDX, N, NRHS

           REAL           BERR( * ), D( * ), DF( * ), FERR( * ), RWORK( * )

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

PURPOSE
       CPTRFS  improves  the computed solution to a system of linear equations
       when the coefficient matrix is Hermitian positive definite and tridiag-
       onal,  and  provides  error bounds and backward error estimates for the
       solution.


ARGUMENTS
       UPLO    (input) CHARACTER*1
               Specifies whether the superdiagonal or the subdiagonal  of  the
               tridiagonal  matrix  A is stored and the form of the factoriza-
               tion:
               = '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) REAL array, dimension (N)
               The n real diagonal elements of the tridiagonal matrix A.

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

       DF      (input) REAL array, dimension (N)
               The  n diagonal elements of the diagonal matrix D from the fac-
               torization computed by CPTTRF.

       EF      (input) COMPLEX array, dimension (N-1)
               The (n-1) off-diagonal elements of the unit bidiagonal factor U
               or L from the factorization computed by CPTTRF (see UPLO).

       B       (input) COMPLEX 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 array, dimension (LDX,NRHS)
               On  entry,  the  solution  matrix X, as computed by CPTTRS.  On
               exit, the improved solution matrix X.

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

       FERR    (output) REAL 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 solu-
               tion 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) REAL array, dimension (NRHS)
               The componentwise relative backward error of each solution vec-
               tor  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 array, dimension (N)

       RWORK   (workspace) REAL array, dimension (N)

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

PARAMETERS
       ITMAX is the maximum number of steps of iterative refinement.



 LAPACK routine (version 3.1)    November 2006                       CPTRFS(3)