NAG Library Routine Document
F07BSF (ZGBTRS)
1 Purpose
F07BSF (ZGBTRS) solves a complex band system of linear equations with multiple right-hand sides,
where
has been factorized by
F07BRF (ZGBTRF).
2 Specification
SUBROUTINE F07BSF ( |
TRANS, N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO) |
INTEGER |
N, KL, KU, NRHS, LDAB, IPIV(*), LDB, INFO |
COMPLEX (KIND=nag_wp) |
AB(LDAB,*), B(LDB,*) |
CHARACTER(1) |
TRANS |
|
The routine may be called by its
LAPACK
name zgbtrs.
3 Description
F07BSF (ZGBTRS) is used to solve a complex band system of linear equations
,
or
, the routine must be preceded by a call to
F07BRF (ZGBTRF) which computes the
factorization of
as
. The solution is computed by forward and backward substitution.
If , the solution is computed by solving and then .
If , the solution is computed by solving and then .
If , the solution is computed by solving and then .
4 References
Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
5 Parameters
- 1: TRANS – CHARACTER(1)Input
On entry: indicates the form of the equations.
- is solved for .
- is solved for .
- is solved for .
Constraint:
, or .
- 2: N – INTEGERInput
On entry: , the order of the matrix .
Constraint:
.
- 3: KL – INTEGERInput
On entry: , the number of subdiagonals within the band of the matrix .
Constraint:
.
- 4: KU – INTEGERInput
On entry: , the number of superdiagonals within the band of the matrix .
Constraint:
.
- 5: NRHS – INTEGERInput
On entry: , the number of right-hand sides.
Constraint:
.
- 6: AB(LDAB,) – COMPLEX (KIND=nag_wp) arrayInput
Note: the second dimension of the array
AB
must be at least
.
On entry: the
factorization of
, as returned by
F07BRF (ZGBTRF).
- 7: LDAB – INTEGERInput
On entry: the first dimension of the array
AB as declared in the (sub)program from which F07BSF (ZGBTRS) is called.
Constraint:
.
- 8: IPIV() – INTEGER arrayInput
-
Note: the dimension of the array
IPIV
must be at least
.
On entry: the pivot indices, as returned by
F07BRF (ZGBTRF).
- 9: B(LDB,) – COMPLEX (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 F07BSF (ZGBTRS) 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.
7 Accuracy
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. This assumes
.
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 (which is the same as ) can be much larger (or smaller) than .
Forward and backward error bounds can be computed by calling
F07BVF (ZGBRFS), and an estimate for
can be obtained by calling
F07BUF (ZGBCON) with
.
The total number of real floating point operations is approximately , assuming and .
This routine may be followed by a call to
F07BVF (ZGBRFS) to refine the solution and return an error estimate.
The real analogue of this routine is
F07BEF (DGBTRS).
9 Example
This example solves the system of equations
, where
and
Here
is nonsymmetric and is treated as a band matrix, which must first be factorized by
F07BRF (ZGBTRF).
9.1 Program Text
Program Text (f07bsfe.f90)
9.2 Program Data
Program Data (f07bsfe.d)
9.3 Program Results
Program Results (f07bsfe.r)