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/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 factorization

when . 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