DTRRFS

   Modified to call DLACN2 in place of DLACON, 5 Feb 03, SJH.

Purpose

DTRRFS provides error bounds and backward error estimates for the
solution to a system of linear equations with a triangular
coefficient matrix.

The solution matrix X must be computed by DTRTRS or some other
means before entering this routine.  DTRRFS does not do iterative
refinement because doing so cannot improve the backward error.

Arguments

UPLO
(input) CHARACTER*1
= 'U':  A is upper triangular;
= 'L':  A is lower triangular.
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 = Transpose)
DIAG
(input) CHARACTER*1
= 'N':  A is non-unit triangular;
= 'U':  A is unit triangular.
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.
A
(input) DOUBLE PRECISION array, dimension (LDA,N)
The triangular matrix A.  If UPLO = 'U', the leading N-by-N
upper triangular part of the array A contains the upper
triangular matrix, and the strictly lower triangular part of
A is not referenced.  If UPLO = 'L', the leading N-by-N lower
triangular part of the array A contains the lower triangular
matrix, and the strictly upper triangular part of A is not
referenced.  If DIAG = 'U', the diagonal elements of A are
also not referenced and are assumed to be 1.
LDA
(input) INTEGER
The leading dimension of the array A.  LDA >= max(1,N).
B
(input) DOUBLE PRECISION 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) DOUBLE PRECISION array, dimension (LDX,NRHS)
The 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
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) DOUBLE PRECISION array, dimension (3*N)
IWORK
(workspace) INTEGER array, dimension (N)
INFO
(output) INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value

Call Graph

Caller Graph