It is easy to reinvent the Cholesky factorization algorithm.
To do so,
simply write all the components of a triangular matrix
and then explicitly multiply these elements
times the transpose matrix
.You will find that you have everything you need
to recursively build the elements of
from the elements of
.Likewise for a
matrix, etc.
The case shows that the Cholesky algorithm requires square roots.
Matrix elements are not always numbers.
Sometimes they are polynomials such as Z-transforms.
To avoid square roots there is a variation
of the Cholesky method.
In this variation, we factor
into
where
is a diagonal matrix.
Once a matrix has been factored into upper and lower triangles,
solving simultaneous equations
is simply a matter of two backsubstitutions:
(We looked at a special case of backsubstitution
with equation ().)
For example, we often encounter simultaneous equations of the form
.Suppose the positive-definite matrix
has been factored into triangle form
.To find
we first backsolve
for the vector
.Then we backsolve
.When
happens to be a band matrix,
then the first backsubstitution is filtering down a helix
and the second is filtering back up it.
Polynomial division is a special case of back substitution.
Poisson's equation
requires boundary conditions which we can honor
when we filter starting from both ends.
We cannot simply solve Poisson's equation as
an initial-value problem.
We could insert the laplace operator
into the polynomial division program,
but the solution would diverge.
Being a matrix method, the Cholesky method of factorization has a cost proportional to the cube of the size of the matrix. Because our problems are very large and because the Cholesky method does not produce a useful result if we stop part way to completion, we look further. The Cholesky method is a powerful method but it does more than we require. The Cholesky method does not require band matrices, yet these matrices are what we very often find in applications, so we seek methods that take advantage of the special properties of band matrices.