asa006, a FORTRAN90 code which computes the Cholesky factor of a symmetric positive definite (SPD) matrix.
The code is Applied Statistics Algorithm 6.
If A is a symmetric positive definite matrix, then there is an upper triangular matrix U with the property that
A = U' * UThe 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.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
asa006 is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.
asa007, a FORTRAN90 code which computes the inverse of a symmetric positive definite matrix, and uses a version of ASA006 for for Cholesky factorization.
asa047, a FORTRAN90 code which implements the Nelder-Mead minimization algorithm, and uses a version of ASA006 for Cholesky factorization.
LAPACK_EXAMPLES, a FORTRAN90 code which demonstrates the use of the LAPACK linear algebra library.
LINPACK, a FORTRAN90 code which includes routines for Cholesky factorization.
PPPACK, a FORTRAN90 code which computes piecewise polynomial functions, including cubic splines.
TOEPLITZ_CHOLESKY, a FORTRAN90 code which computes the Cholesky factorization of a nonnegative definite symmetric Toeplitz matrix.