ASA006 Cholesky Factor of a Positive Definite Symmetric Matrix

ASA006 is a C library which computes the Cholesky factor of a positive definite symmetric matrix.

ASA006 is Applied Statistics Algorithm 6. Source code for many Applied Statistics Algorithms is available through STATLIB.

If A is a positive definite symmetric matrix, then there is an upper triangular matrix U with the property that

A = U' * U
The matrix U is known as the Cholesky factor of A, and can be used to easily solve linear systems involving A or compute the inverse of A.

The algorithm implemented here uses a compressed storage for both the matrix A and the factor U. This saves some storage, but can make computations a little awkward.

Languages:

ASA006 is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

ASA007, a C library which computes the inverse of a symmetric positive definite matrix, and uses a version of ASA006 for for Cholesky factorization.

ASA047, a C library which implements the Nelder-Mead minimization algorithm, and uses a version of ASA006 for Cholesky factorization.

TOEPLITZ_CHOLESKY, a C library which computes the Cholesky factorization of a nonnegative definite symmetric Toeplitz matrix.

Reference:

1. PR Freeman,
Remark AS R44: A Remark on AS 6 and AS7: Triangular decomposition of a symmetric matrix and Inversion of a positive semi-definite symmetric matrix,
Applied Statistics,
Volume 31, Number 3, 1982, pages 336-339.
2. Michael Healy,
Algorithm AS 6: Triangular decomposition of a symmetric matrix,
Applied Statistics,
Volume 17, Number 2, 1968, pages 195-197.

Source Code:

• asa006.h, the include file.
• cholesky.c, computes the Cholesky factorization of a PDS matrix.
• r8_max.c, returns the maximum of two R8s.
• subchl.c, computes the Cholesky factorization of a (subset of a) PDS matrix.
• timestamp.c, prints out the current YMDHMS date as a timestamp.

Last revised on 27 October 2018.