ZPPRFS(3)                  MathKeisan LAPACK routine                 ZPPRFS(3)



NAME
       ZPPRFS - the computed solution to a system of linear equations when the
       coefficient matrix is Hermitian positive definite and packed, and  pro-
       vides error bounds and backward error estimates for the solution

SYNOPSIS
       SUBROUTINE ZPPRFS( UPLO,  N, NRHS, AP, AFP, B, LDB, X, LDX, FERR, BERR,
                          WORK, RWORK, INFO )

           CHARACTER      UPLO

           INTEGER        INFO, LDB, LDX, N, NRHS

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

           COMPLEX*16     AFP( * ), AP( * ), B( LDB, * ), WORK( * ), X( LDX, *
                          )

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


ARGUMENTS
       UPLO    (input) CHARACTER*1
               = 'U':  Upper triangle of A is stored;
               = 'L':  Lower triangle of A is stored.

       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 matrices B and X.  NRHS >= 0.

       AP      (input) COMPLEX*16 array, dimension (N*(N+1)/2)
               The  upper  or lower triangle of the Hermitian matrix A, packed
               columnwise in a linear array.  The j-th column of A  is  stored
               in  the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) =
               A(i,j) for 1<=i<=j; if UPLO = 'L',  AP(i  +  (j-1)*(2n-j)/2)  =
               A(i,j) for j<=i<=n.

       AFP     (input) COMPLEX*16 array, dimension (N*(N+1)/2)
               The  triangular factor U or L from the Cholesky factorization A
               = U**H*U or A = L*L**H, as computed  by  DPPTRF/ZPPTRF,  packed
               columnwise  in a linear array in the same format as A (see AP).

       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  ZPPTRS.   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 estimated 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).
               The estimate is as reliable as the estimate for RCOND,  and  is
               almost always a slight overestimate of the true error.

       BERR    (output) DOUBLE PRECISION 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*16 array, dimension (2*N)

       RWORK   (workspace) DOUBLE PRECISION 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                       ZPPRFS(3)