naginterfaces.library.matop.real_​vband_​posdef_​fac

naginterfaces.library.matop.real_vband_posdef_fac(a, nrow)[source]

real_vband_posdef_fac computes the Cholesky factorization of a real symmetric positive definite variable-bandwidth matrix.

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

https://support.nag.com/numeric/nl/nagdoc_30/flhtml/f01/f01mcf.html

Parameters
afloat, array-like, shape

The elements within the envelope of the lower triangle of the positive definite symmetric matrix , taken in row by row order. The matrix elements within the band can be assigned to the correct elements of the array using the following logic:

set

loop for to

loop for to

set

set

where is the element in the th row and th column of the matrix .

See also Further Comments.

nrowint, array-like, shape

must contain the width of row of the matrix , i.e., the number of elements between the first (leftmost) nonzero element and the element on the diagonal, inclusive.

Returns
alfloat, ndarray, shape

The elements within the envelope of the lower triangular matrix , taken in row by row order. The envelope of is identical to that of the lower triangle of . The unit diagonal elements of are stored explicitly. See also Further Comments.

dfloat, ndarray, shape

The diagonal elements of the diagonal matrix . Note that the determinant of is equal to the product of these diagonal elements. If the value of the determinant is required it should not be determined by forming the product explicitly, because of the possibility of overflow or underflow. The logarithm of the determinant may safely be formed from the sum of the logarithms of the diagonal elements.

Raises
NagValueError
(errno )

On entry, and .

Constraint: .

(errno )

On entry, and .

Constraint: and .

(errno )

On entry, .

Constraint: .

(errno )

is not positive definite. Factorization abandoned.

Warns
NagAlgorithmicWarning
(errno )

is not positive definite. Factorization completed.

Notes

In the NAG Library the traditional C interface for this routine uses a different algorithmic base. Please contact NAG if you have any questions about compatibility.

real_vband_posdef_fac determines the unit lower triangular matrix and the diagonal matrix in the Cholesky factorization of a symmetric positive definite variable-bandwidth matrix of order . (Such a matrix is sometimes called a ‘sky-line’ matrix.)

The matrix is represented by the elements lying within the envelope of its lower triangular part, that is, between the first nonzero of each row and the diagonal. The width of the th row is the number of elements between the first nonzero element and the element on the diagonal, inclusive. Although, of course, any matrix possesses an envelope as defined, this function is primarily intended for the factorization of symmetric positive definite matrices with an average bandwidth which is small compared with (also see Further Comments).

The method is based on the property that during Cholesky factorization there is no fill-in outside the envelope.

The determination of and is normally the first of two steps in the solution of the system of equations . The remaining step, viz. the solution of , may be carried out using linsys.real_posdef_vband_solve.

References

Jennings, A, 1966, A compact storage scheme for the solution of symmetric linear simultaneous equations, Comput. J. (9), 281–285

Wilkinson, J H and Reinsch, C, 1971, Handbook for Automatic Computation II, Linear Algebra, Springer–Verlag