NAG Library Routine Document
F07VEF (DTBTRS)
1 Purpose
F07VEF (DTBTRS) solves a real triangular band system of linear equations with multiple right-hand sides, or .
2 Specification
SUBROUTINE F07VEF ( |
UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, LDB, INFO) |
INTEGER |
N, KD, NRHS, LDAB, LDB, INFO |
REAL (KIND=nag_wp) |
AB(LDAB,*), B(LDB,*) |
CHARACTER(1) |
UPLO, TRANS, DIAG |
|
The routine may be called by its
LAPACK
name dtbtrs.
3 Description
F07VEF (DTBTRS) solves a real triangular band system of linear equations or .
4 References
Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
Higham N J (1989) The accuracy of solutions to triangular systems SIAM J. Numer. Anal. 26 1252–1265
5 Parameters
- 1: UPLO – CHARACTER(1)Input
On entry: specifies whether
is upper or lower triangular.
- is upper triangular.
- is lower triangular.
Constraint:
or .
- 2: TRANS – CHARACTER(1)Input
On entry: indicates the form of the equations.
- The equations are of the form .
- or
- The equations are of the form .
Constraint:
, or .
- 3: DIAG – CHARACTER(1)Input
On entry: indicates whether
is a nonunit or unit triangular matrix.
- is a nonunit triangular matrix.
- is a unit triangular matrix; the diagonal elements are not referenced and are assumed to be .
Constraint:
or .
- 4: N – INTEGERInput
On entry: , the order of the matrix .
Constraint:
.
- 5: KD – INTEGERInput
On entry: , the number of superdiagonals of the matrix if , or the number of subdiagonals if .
Constraint:
.
- 6: NRHS – INTEGERInput
On entry: , the number of right-hand sides.
Constraint:
.
- 7: AB(LDAB,) – REAL (KIND=nag_wp) arrayInput
-
Note: the second dimension of the array
AB
must be at least
.
On entry: the
by
triangular band matrix
.
The matrix is stored in rows
to
, more precisely,
- if , the elements of the upper triangle of within the band must be stored with element in ;
- if , the elements of the lower triangle of within the band must be stored with element in
If , the diagonal elements of are assumed to be , and are not referenced.
- 8: LDAB – INTEGERInput
On entry: the first dimension of the array
AB as declared in the (sub)program from which F07VEF (DTBTRS) is called.
Constraint:
.
- 9: B(LDB,) – REAL (KIND=nag_wp) arrayInput/Output
-
Note: the second dimension of the array
B
must be at least
.
On entry: the by right-hand side matrix .
On exit: the by solution matrix .
- 10: LDB – INTEGERInput
On entry: the first dimension of the array
B as declared in the (sub)program from which F07VEF (DTBTRS) is called.
Constraint:
.
- 11: INFO – INTEGEROutput
On exit:
unless the routine detects an error (see
Section 6).
6 Error Indicators and Warnings
Errors or warnings detected by the routine:
If , the th parameter had an illegal value. An explanatory message is output, and execution of the program is terminated.
If , is exactly zero; is singular and the solution has not been computed.
7 Accuracy
The solutions of triangular systems of equations are usually computed to high accuracy. See
Higham (1989).
For each right-hand side vector
, the computed solution
is the exact solution of a perturbed system of equations
, where
is a modest linear function of
, and
is the
machine precision.
If
is the true solution, then the computed solution
satisfies a forward error bound of the form
where
.
Note that ; can be much smaller than and it is also possible for to be much larger (or smaller) than .
Forward and backward error bounds can be computed by calling
F07VHF (DTBRFS), and an estimate for
can be obtained by calling
F07VGF (DTBCON) with
.
The total number of floating point operations is approximately if .
The complex analogue of this routine is
F07VSF (ZTBTRS).
9 Example
This example solves the system of equations
, where
Here
is treated as a lower triangular band matrix with one subdiagonal.
9.1 Program Text
Program Text (f07vefe.f90)
9.2 Program Data
Program Data (f07vefe.d)
9.3 Program Results
Program Results (f07vefe.r)