TOEPLITZ_CHOLESKY is a C library which computes the Cholesky factorization of a nonnegative definite symmetric Toeplitz matrix.
A Toeplitz matrix is a matrix which is constant along all diagonals. A schematic of a 3x4 Toeplitz matrix would be
a b c d e a b c f e a b
A symmetric matrix is a matrix with N rows and N columns, such that A(I,J) = A(J,I) for all indices I and J. All the eigenvalues of a symmetric matrix are real.
A symmetric Toeplitz matrix is a matrix which is symmetric and Toeplitz. A schematic of a 4x4 symmetric Toeplitz matrix would be
a b c d b a b c c b a b d c b a
A nonnegative definite symmetric matrix A is a symmetric matrix whose eigenvalues are all nonnegative.
Given a nonnegative definite symmetric matrix A, the upper Cholesky factor R is an upper triangular matrix such that A = R' * R; the lower Cholesky factor L is a lower triangular matrix such that A = L L'. Obviously, L = R'.
A Toeplitz matrix can be represented in a compressed format that stores the first row and the first column (omitting the first entry). One convenient format would be to create the 2xN array G as follows:
G(1,1:N) = A(1,1:N) G(2,1) = 0.0 G(2,2:N) = A(2:N,1)
A symmetric Toeplitz matrix can be represented in a compressed format that stores just the first row.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
TOEPLITZ_CHOLESKY is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.
ASA006, a C library which computes the Cholesky factorization of a symmetric positive definite matrix, by Michael Healy. This is a MATLAB version of Applied Statistics Algorithm 6;
LINPACK_D, a C library which factors and solves linear systems using double precision real arithmetic, by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
LINPLUS, a C library which carries out simple manipulations of matrices in a variety of formats, including matrices stored in banded, border-banded, circulant, lower triangular, pentadiagonal, sparse, symmetric, toeplitz, tridiagonal, upper triangular and vandermonde formats.
You can go up one level to the C source codes.