ZGTRFS(3)                  MathKeisan LAPACK routine                 ZGTRFS(3)



NAME
       ZGTRFS - the computed solution to a system of linear equations when the
       coefficient matrix is tridiagonal, and provides error bounds and  back-
       ward error estimates for the solution

SYNOPSIS
       SUBROUTINE ZGTRFS( TRANS,  N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV,
                          B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO )

           CHARACTER      TRANS

           INTEGER        INFO, LDB, LDX, N, NRHS

           INTEGER        IPIV( * )

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

           COMPLEX*16     B( LDB, * ), D( * ), DF( * ), DL( * ), DLF( * ), DU(
                          * ), DU2( * ), DUF( * ), WORK( * ), X( LDX, * )

PURPOSE
       ZGTRFS  improves  the computed solution to a system of linear equations
       when the coefficient matrix is tridiagonal, and provides  error  bounds
       and backward error estimates for the solution.


ARGUMENTS
       TRANS   (input) CHARACTER*1
               Specifies the form of the system of equations:
               = 'N':  A * X = B     (No transpose)
               = 'T':  A**T * X = B  (Transpose)
               = 'C':  A**H * X = B  (Conjugate transpose)

       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.

       DL      (input) COMPLEX*16 array, dimension (N-1)
               The (n-1) subdiagonal elements of A.

       D       (input) COMPLEX*16 array, dimension (N)
               The diagonal elements of A.

       DU      (input) COMPLEX*16 array, dimension (N-1)
               The (n-1) superdiagonal elements of A.

       DLF     (input) COMPLEX*16 array, dimension (N-1)
               The (n-1) multipliers that define the matrix L from the LU fac-
               torization of A as computed by ZGTTRF.

       DF      (input) COMPLEX*16 array, dimension (N)
               The  n  diagonal elements of the upper triangular matrix U from
               the LU factorization of A.

       DUF     (input) COMPLEX*16 array, dimension (N-1)
               The (n-1) elements of the first superdiagonal of U.

       DU2     (input) COMPLEX*16 array, dimension (N-2)
               The (n-2) elements of the second superdiagonal of U.

       IPIV    (input) INTEGER array, dimension (N)
               The pivot indices; for 1 <= i <= n, row i  of  the  matrix  was
               interchanged with row IPIV(i).  IPIV(i) will always be either i
               or i+1; IPIV(i)  =  i  indicates  a  row  interchange  was  not
               required.

       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 ZGTTRS.  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                       ZGTRFS(3)