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.2/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