NAG Library Routine Document
F07WSF (ZPFTRS)
1 Purpose
F07WSF (ZPFTRS) solves a complex Hermitian positive definite system of linear equations with multiple right-hand sides,
using the Cholesky factorization computed by
F07WRF (ZPFTRF) stored in Rectangular Full Packed (RFP) format.
The RFP storage format is described in
Section 3.3.3 in the F07 Chapter Introduction.
2 Specification
INTEGER |
N, NRHS, LDB, INFO |
COMPLEX (KIND=nag_wp) |
A(N*(N+1)/2), B(LDB,*) |
CHARACTER(1) |
TRANSR, UPLO |
|
The routine may be called by its
LAPACK
name zpftrs.
3 Description
F07WSF (ZPFTRS) is used to solve a complex Hermitian positive definite system of linear equations
AX=B, the routine must be preceded by a call to
F07WRF (ZPFTRF) which computes the Cholesky factorization of
A, stored in RFP format. The solution
X is computed by forward and backward substitution.
If UPLO='U', A=UHU, where U is upper triangular; the solution X is computed by solving UHY=B and then UX=Y.
If UPLO='L', A=LLH, where L is lower triangular; the solution X is computed by solving LY=B and then LHX=Y.
4 References
Gustavson F G, Waśniewski J, Dongarra J J and Langou J (2010) Rectangular full packed format for Cholesky's algorithm: factorization, solution, and inversion
ACM Trans. Math. Software 37, 2 5 Parameters
- 1: TRANSR – CHARACTER(1)Input
On entry: specifies whether the normal RFP representation of
A or its conjugate transpose is stored.
- TRANSR='N'
- The matrix A is stored in normal RFP format.
- TRANSR='C'
- The conjugate transpose of the RFP representation of the matrix A is stored.
Constraint:
TRANSR='N' or 'C'.
- 2: UPLO – CHARACTER(1)Input
On entry: specifies how
A has been factorized.
- UPLO='U'
- A=UHU, where U is upper triangular.
- UPLO='L'
- A=LLH, where L is lower triangular.
Constraint:
UPLO='U' or 'L'.
- 3: N – INTEGERInput
On entry: n, the order of the matrix A.
Constraint:
N≥0.
- 4: NRHS – INTEGERInput
On entry: r, the number of right-hand sides.
Constraint:
NRHS≥0.
- 5: A(N×N+1/2) – COMPLEX (KIND=nag_wp) arrayInput
On entry: the Cholesky factorization of
A stored in RFP format, as returned by
F07WRF (ZPFTRF).
- 6: B(LDB,*) – COMPLEX (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.
- 7: LDB – INTEGERInput
On entry: the first dimension of the array
B as declared in the (sub)program from which F07WSF (ZPFTRS) is called.
Constraint:
LDB≥max1,N.
- 8: 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≤cnεUHU;
- if UPLO='L', E≤cnεLLH,
cn is a modest linear function of
n, 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 and
κ∞A is the condition number when using the
∞-norm.
Note that condA,x can be much smaller than condA.
8 Further Comments
The total number of real floating point operations is approximately 8n2r.
The real analogue of this routine is
F07WEF (DPFTRS).
9 Example
This example solves the system of equations
AX=B, where
and
Here
A is Hermitian positive definite, stored in RFP format, and must first be factorized by
F07WRF (ZPFTRF).
9.1 Program Text
Program Text (f07wsfe.f90)
9.2 Program Data
Program Data (f07wsfe.d)
9.3 Program Results
Program Results (f07wsfe.r)