NAG Library Routine Document
F07HEF (DPBTRS)
1 Purpose
F07HEF (DPBTRS) solves a real symmetric positive definite band system of linear equations with multiple right-hand sides,
where
A has been factorized by
F07HDF (DPBTRF).
2 Specification
INTEGER |
N, KD, NRHS, LDAB, LDB, INFO |
REAL (KIND=nag_wp) |
AB(LDAB,*), B(LDB,*) |
CHARACTER(1) |
UPLO |
|
The routine may be called by its
LAPACK
name dpbtrs.
3 Description
F07HEF (DPBTRS) is used to solve a real symmetric positive definite band system of linear equations
AX=B, the routine must be preceded by a call to
F07HDF (DPBTRF) which computes the Cholesky factorization of
A. The solution
X is computed by forward and backward substitution.
If UPLO='U', A=UTU, where U is upper triangular; the solution X is computed by solving UTY=B and then UX=Y.
If UPLO='L', A=LLT, where L is lower triangular; the solution X is computed by solving LY=B and then LTX=Y.
4 References
Golub G H and Van Loan C F (1996)
Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
5 Parameters
- 1: UPLO – CHARACTER(1)Input
On entry: specifies how
A has been factorized.
- UPLO='U'
- A=UTU, where U is upper triangular.
- UPLO='L'
- A=LLT, where L is lower triangular.
Constraint:
UPLO='U' or 'L'.
- 2: N – INTEGERInput
On entry: n, the order of the matrix A.
Constraint:
N≥0.
- 3: KD – INTEGERInput
On entry: kd, the number of superdiagonals or subdiagonals of the matrix A.
Constraint:
KD≥0.
- 4: NRHS – INTEGERInput
On entry: r, the number of right-hand sides.
Constraint:
NRHS≥0.
- 5: AB(LDAB,*) – REAL (KIND=nag_wp) arrayInput
-
Note: the second dimension of the array
AB
must be at least
max1,N.
On entry: the Cholesky factor of
A, as returned by
F07HDF (DPBTRF).
- 6: LDAB – INTEGERInput
On entry: the first dimension of the array
AB as declared in the (sub)program from which F07HEF (DPBTRS) is called.
Constraint:
LDAB≥KD+1.
- 7: B(LDB,*) – REAL (KIND=nag_wp) arrayInput/Output
-
Note: the second dimension of the array
B
must be at least
max1,NRHS.
On entry: the n by r right-hand side matrix B.
On exit: the n by r solution matrix X.
- 8: LDB – INTEGERInput
On entry: the first dimension of the array
B as declared in the (sub)program from which F07HEF (DPBTRS) is called.
Constraint:
LDB≥max1,N.
- 9: INFO – INTEGEROutput
On exit:
INFO=0 unless the routine detects an error (see
Section 6).
6 Error Indicators and Warnings
Errors or warnings detected by the routine:
- INFO<0
If INFO=-i, the ith 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
b, the computed solution
x is the exact solution of a perturbed system of equations
A+Ex=b, where
- if UPLO='U', E≤ck+1εUTU;
- if UPLO='L', E≤ck+1εLLT,
ck+1 is a modest linear function of
k+1, and
ε is the
machine precision.
If
x^ is the true solution, then the computed solution
x satisfies a forward error bound of the form
where
condA,x=A-1Ax∞/x∞≤condA=A-1A∞≤κ∞A. Note that
condA,x can be much smaller than
condA.
Forward and backward error bounds can be computed by calling
F07HHF (DPBRFS), and an estimate for
κ∞A (
=κ1A) can be obtained by calling
F07HGF (DPBCON).
8 Further Comments
The total number of floating point operations is approximately 4nkr, assuming n≫k.
This routine may be followed by a call to
F07HHF (DPBRFS) to refine the solution and return an error estimate.
The complex analogue of this routine is
F07HSF (ZPBTRS).
9 Example
This example solves the system of equations
AX=B, where
Here
A is symmetric and positive definite, and is treated as a band matrix, which must first be factorized by
F07HDF (DPBTRF).
9.1 Program Text
Program Text (f07hefe.f90)
9.2 Program Data
Program Data (f07hefe.d)
9.3 Program Results
Program Results (f07hefe.r)