naginterfaces.library.matop.real_modified_cholesky¶
- naginterfaces.library.matop.real_modified_cholesky(uplo, a, delta)[source]¶
real_modified_cholesky
computes the Cheng–Higham modified Cholesky factorization of a real symmetric matrix.For full information please refer to the NAG Library document for f01md
https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/f01/f01mdf.html
- Parameters
- uplostr, length 1
Specifies whether the upper or lower triangular part of is stored and how is to be factorized.
The upper triangular part of is stored and we compute .
The lower triangular part of is stored and we compute .
- afloat, array-like, shape
The symmetric matrix .
- deltafloat
The value of .
- Returns
- afloat, ndarray, shape
is overwritten.
See Further Comments for further details.
- offdiagfloat, ndarray, shape
The offdiagonals of the symmetric matrix are returned in , for and in , for . See Further Comments for further details.
- ipivint, ndarray, shape
Gives the permutation information of the factorization. The entries of are either positive, indicating a pivot block, or pairs of negative entries, indicating a pivot block.
The th and th rows and columns of were interchanged and is a block.
and
The th and th rows and columns, and the st and th rows and columns, were interchanged and has the block:
If , is stored in . The interchanges were made in the order .
If , is stored in . The interchanges were made in the order .
- Raises
- NagValueError
- (errno )
On entry, .
Constraint: or .
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, .
Constraint: .
- (errno )
An intermediate eigenproblem could not be solved. This should not occur. Please contact NAG with details of your call.
- Notes
Given a symmetric, possibly indefinite matrix ,
real_modified_cholesky
finds the Cheng–Higham modified Cholesky factorizationwhen . Here is a unit lower triangular matrix, is a permutation matrix, is a symmetric block diagonal matrix (with blocks of order or ) with minimum eigenvalue , and is a perturbation matrix of small norm chosen so that such a factorization can be found. Note that is not computed explicitly.
If , we compute the factorization , where is a unit upper triangular matrix.
If the matrix is symmetric positive definite, the algorithm ensures that . The function
real_mod_chol_perturbed_a()
can be used to compute the matrix .
- References
Ashcraft, C, Grimes, R G, and Lewis, J G, 1998, Accurate symmetric indefinite linear equation solvers, SIAM J. Matrix Anal. Appl. (20), 513–561
Cheng, S H and Higham, N J, 1998, A modified Cholesky algorithm based on a symmetric indefinite factorization, SIAM J. Matrix Anal. Appl. (19(4)), 1097–1110