### HSL_MI28 Symmetric system: incomplete Cholesky factorization

HSL_MI28 computes an incomplete Cholesky factorization of a sparse symmetric matrix
$A$
that may be used as a preconditioner. The matrix
$A$ is
optionally reordered, scaled and, if necessary, shifted to avoid breakdown of the
factorization so that the incomplete factorization of

$$\overline{A}=S{Q}^{T}AQS+\alpha I$$

is computed, where $Q$ is a
permutation matrix, $S$ is a
diagonal scaling matrix and $\alpha $
is a non-negative shift.

The incomplete factorization may be used for preconditioning when solving the sparse symmetric
linear system $Ax=b$.
A separate entry performs the preconditioning operation

$$y=Pz$$

where $P={\left(\overline{L}{\overline{L}}^{T}\right)}^{-1}$,
$\overline{L}=Q{S}^{-1}L$, is
the incomplete factorization preconditioner.

The incomplete factorization is based on a matrix decomposition of the
form

$$\overline{A}=L{L}^{T}+L{R}^{T}+R{L}^{T}-E,$$
where $L$
is lower triangular with positive diagonal entries,
$R$ is a
strictly lower triangular matrix with small entries that is used to stabilize the factorization
process, and $E$
has the structure

$$E=R{R}^{T}+F+{F}^{T},$$
where $F$ is strictly lower
triangle. $F$ is discarded
while $R$ is used in the
computation of $L$
but is then discarded. The user controls the dropping of small entries from
$L$ and
$R$
and the maximum number of entries within each column of
$L$ and
$R$ (and thus the amount
of memory for $L$
and the intermediate work and memory used in computing the incomplete
factorization).