## Version 2.3.0

5th October 2022

Recent Changes

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} = SQ^T A QS + \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} = (\overline{L} {\overline{L}}^T)^{-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} = LL^T + LR^T + RL^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 = RR^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).