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)