naginterfaces.library.correg.corrmat_fixed(g, alpha, h, m, errtol=0.0, maxit=0)[source]

corrmat_fixed computes the nearest correlation matrix, in the Frobenius norm, while fixing elements and optionally with bounds on the eigenvalues, to a given square input matrix.

For full information please refer to the NAG Library document for g02as

gfloat, array-like, shape

, the initial matrix.


The value of .

If , a value of is used.

hint, array-like, shape

The symmetric matrix . If an element of is then the corresponding element in is fixed in the output . Only the strictly lower triangular part of need be set.


The number of previous iterates to use in the Anderson acceleration. If , Anderson acceleration is not used. See Accuracy for further details.

If , a value of is used.

errtolfloat, optional

The termination tolerance for the iteration.

If , is used.

See Accuracy for further details.

maxitint, optional

Specifies the maximum number of iterations.

If , a value of is used.

xfloat, ndarray, shape

Contains the matrix .


The number of iterations taken.


The value of after the final iteration.

(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

On entry, and .

Constraint: .

(errno )

Function failed to converge in iterations.

A solution may not exist, however, try increasing .

(errno )

Failure during Anderson acceleration.

Consider setting and recomputing.

(errno )

The fixed element , lies outside the interval , for and .


corrmat_fixed finds the nearest correlation matrix, , to a matrix, , in the Frobenius norm. It uses an alternating projections algorithm with Anderson acceleration. Elements in the input matrix can be fixed by supplying the value in the corresponding element of the matrix . However, note that the algorithm may fail to converge if the fixed elements do not form part of a valid correlation matrix. You can optionally specify a lower bound, , on the eigenvalues of the computed correlation matrix, forcing the matrix to be positive definite with .


Anderson, D G, 1965, Iterative Procedures for Nonlinear Integral Equations, J. Assoc. Comput. Mach. (12), 547–560

Higham, N J and Strabić, N, 2016, Anderson acceleration of the alternating projections method for computing the nearest correlation matrix, Numer. Algor. (72), 1021–1042