NAG Library Function Document
nag_zpftri (f07wwc)
1
Purpose
nag_zpftri (f07wwc) computes the inverse of a complex Hermitian positive definite matrix using the Cholesky factorization computed by
nag_zpftrf (f07wrc) stored in Rectangular Full Packed (RFP) format.
2
Specification
#include <nag.h> |
#include <nagf07.h> |
void |
nag_zpftri (Nag_OrderType order,
Nag_RFP_Store transr,
Nag_UploType uplo,
Integer n,
Complex ar[],
NagError *fail) |
|
3
Description
nag_zpftri (f07wwc) is used to compute the inverse of a complex Hermitian positive definite matrix
, stored in RFP format.
The RFP storage format is described in
Section 3.3.3 in the f07 Chapter Introduction.
The function must be preceded by a call to
nag_zpftrf (f07wrc), which computes the Cholesky factorization of
.
If , and is computed by first inverting and then forming .
If , and is computed by first inverting and then forming .
4
References
Du Croz J J and Higham N J (1992) Stability of methods for matrix inversion IMA J. Numer. Anal. 12 1–19
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
Arguments
- 1:
– Nag_OrderTypeInput
-
On entry: the
order argument specifies the two-dimensional storage scheme being used, i.e., row-major ordering or column-major ordering. C language defined storage is specified by
. See
Section 3.3.1.3 in How to Use the NAG Library and its Documentation for a more detailed explanation of the use of this argument.
Constraint:
or .
- 2:
– Nag_RFP_StoreInput
-
On entry: specifies whether the normal RFP representation of
or its conjugate transpose is stored.
- The matrix is stored in normal RFP format.
- The conjugate transpose of the RFP representation of the matrix is stored.
Constraint:
or .
- 3:
– Nag_UploTypeInput
-
On entry: specifies how
has been factorized.
- , where is upper triangular.
- , where is lower triangular.
Constraint:
or .
- 4:
– IntegerInput
-
On entry: , the order of the matrix .
Constraint:
.
- 5:
– ComplexInput/Output
-
On entry: the Cholesky factorization of
stored in RFP format, as returned by
nag_zpftrf (f07wrc).
On exit: the factorization is overwritten by the by matrix stored in RFP format.
- 6:
– NagError *Input/Output
-
The NAG error argument (see
Section 3.7 in How to Use the NAG Library and its Documentation).
6
Error Indicators and Warnings
- NE_ALLOC_FAIL
-
Dynamic memory allocation failed.
See
Section 2.3.1.2 in How to Use the NAG Library and its Documentation for further information.
- NE_BAD_PARAM
-
On entry, argument had an illegal value.
- NE_INT
-
On entry, .
Constraint: .
- NE_INTERNAL_ERROR
-
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact
NAG for assistance.
See
Section 2.7.6 in How to Use the NAG Library and its Documentation for further information.
- NE_MAT_NOT_POS_DEF
-
The leading minor of order
is not positive definite and
the factorization could not be completed. Hence
itself is not positive
definite. This may indicate an error in forming the matrix
. There is no
function specifically designed to invert a Hermitian matrix stored in
RFP format which is not positive definite; the matrix must be treated as a
full Hermitian matrix, by calling
nag_zhetri (f07mwc).
- NE_NO_LICENCE
-
Your licence key may have expired or may not have been installed correctly.
See
Section 2.7.5 in How to Use the NAG Library and its Documentation for further information.
7
Accuracy
The computed inverse
satisfies
where
is a modest function of
,
is the
machine precision and
is the condition number of
defined by
8
Parallelism and Performance
nag_zpftri (f07wwc) makes calls to BLAS and/or LAPACK routines, which may be threaded within the vendor library used by this implementation. Consult the documentation for the vendor library for further information.
Please consult the
x06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this function. Please also consult the
Users' Note for your implementation for any additional implementation-specific information.
The total number of real floating-point operations is approximately .
The real analogue of this function is
nag_dpftri (f07wjc).
10
Example
This example computes the inverse of the matrix
, where
Here
is Hermitian positive definite, stored in RFP format, and must first be factorized by
nag_zpftrf (f07wrc).
10.1
Program Text
Program Text (f07wwce.c)
10.2
Program Data
Program Data (f07wwce.d)
10.3
Program Results
Program Results (f07wwce.r)