Scroll to navigation

dgbrfs.f(3) LAPACK dgbrfs.f(3)

NAME

dgbrfs.f

SYNOPSIS

Functions/Subroutines


subroutine dgbrfs (TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
DGBRFS

Function/Subroutine Documentation

subroutine dgbrfs (character TRANS, integer N, integer KL, integer KU, integer NRHS, double precision, dimension( ldab, * ) AB, integer LDAB, double precision, dimension( ldafb, * ) AFB, integer LDAFB, integer, dimension( * ) IPIV, double precision, dimension( ldb, * ) B, integer LDB, double precision, dimension( ldx, * ) X, integer LDX, double precision, dimension( * ) FERR, double precision, dimension( * ) BERR, double precision, dimension( * ) WORK, integer, dimension( * ) IWORK, integer INFO)

DGBRFS

Purpose:


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

Parameters:

TRANS


TRANS is 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)

N


N is INTEGER
The order of the matrix A. N >= 0.

KL


KL is INTEGER
The number of subdiagonals within the band of A. KL >= 0.

KU


KU is INTEGER
The number of superdiagonals within the band of A. KU >= 0.

NRHS


NRHS is INTEGER
The number of right hand sides, i.e., the number of columns
of the matrices B and X. NRHS >= 0.

AB


AB is DOUBLE PRECISION array, dimension (LDAB,N)
The original band matrix A, stored in rows 1 to KL+KU+1.
The j-th column of A is stored in the j-th column of the
array AB as follows:
AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).

LDAB


LDAB is INTEGER
The leading dimension of the array AB. LDAB >= KL+KU+1.

AFB


AFB is DOUBLE PRECISION array, dimension (LDAFB,N)
Details of the LU factorization of the band matrix A, as
computed by DGBTRF. U is stored as an upper triangular band
matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and
the multipliers used during the factorization are stored in
rows KL+KU+2 to 2*KL+KU+1.

LDAFB


LDAFB is INTEGER
The leading dimension of the array AFB. LDAFB >= 2*KL*KU+1.

IPIV


IPIV is INTEGER array, dimension (N)
The pivot indices from DGBTRF; for 1<=i<=N, row i of the
matrix was interchanged with row IPIV(i).

B


B is DOUBLE PRECISION array, dimension (LDB,NRHS)
The right hand side matrix B.

LDB


LDB is INTEGER
The leading dimension of the array B. LDB >= max(1,N).

X


X is DOUBLE PRECISION array, dimension (LDX,NRHS)
On entry, the solution matrix X, as computed by DGBTRS.
On exit, the improved solution matrix X.

LDX


LDX is INTEGER
The leading dimension of the array X. LDX >= max(1,N).

FERR


FERR is 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


BERR is 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


WORK is DOUBLE PRECISION array, dimension (3*N)

IWORK


IWORK is INTEGER array, dimension (N)

INFO


INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value

Internal Parameters:


ITMAX is the maximum number of steps of iterative refinement.

Author:

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date:

December 2016

Definition at line 207 of file dgbrfs.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.

Tue Nov 14 2017 Version 3.8.0