DTRRFS(3)
provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular coefficient matrix
SYNOPSIS
 SUBROUTINE DTRRFS(

UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, X,
LDX, FERR, BERR, WORK, IWORK, INFO )

CHARACTER
DIAG, TRANS, UPLO

INTEGER
INFO, LDA, LDB, LDX, N, NRHS

INTEGER
IWORK( * )

DOUBLE
PRECISION A( LDA, * ), B( LDB, * ), BERR( * ), FERR( * ),
WORK( * ), X( LDX, * )
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 nonunit 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 NbyN
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 NbyN 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 jth 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 ith argument had an illegal value