# TOEPLITZ_CHOLESKY Cholesky Factor of Nonnegative Definite Toeplitz Matrix

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.

### Languages:

TOEPLITZ_CHOLESKY is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

### Related Data and Programs:

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.

### Reference:

1. Michael Stewart,
Cholesky factorization of semi-definite Toeplitz matrices.

### List of Routines:

• I4_MAX returns the maximum of two I4's.
• I4_MIN returns the smaller of two I4's.
• R8MAT_COPY_NEW copies one R8MAT to a "new" R8MAT.
• R8MAT_MMT_NEW computes C = A * B'.
• R8MAT_MTM_NEW computes C = A' * B.
• R8MAT_PRINT prints an R8MAT.
• R8MAT_PRINT_SOME prints some of an R8MAT.
• TIMESTAMP prints the current YMDHMS date as a time stamp.
• TOEP_CHOLESKY_LOWER: lower Cholesky factor of a Toeplitz matrix.
• TOEP_CHOLESKY_UPPER: upper Cholesky factor of a Toeplitz matrix.
• TOEPLITZ_CHOLESKY_LOWER: lower Cholesky factor of a Toeplitz matrix.
• TOEPLITZ_CHOLESKY_UPPER: upper Cholesky factor of a Toeplitz matrix.

You can go up one level to the C source codes.