HSL_MI28 computes an incomplete Cholesky factorization of a sparse symmetric matrix that may be used as a preconditioner. The matrix is optionally reordered, scaled and, if necessary, shifted to avoid breakdown of the factorization so that the incomplete factorization of
is computed, where is a permutation matrix, is a diagonal scaling matrix and is a non-negative shift.
The incomplete factorization may be used for preconditioning when solving the sparse symmetric linear system . A separate entry performs the preconditioning operation
where , , is the incomplete factorization preconditioner.
The incomplete factorization is based on a matrix decomposition of the form
where is lower triangular with positive diagonal entries, is a strictly lower triangular matrix with small entries that is used to stabilize the factorization process, and has the structure
where is strictly lower triangle. is discarded while is used in the computation of but is then discarded. The user controls the dropping of small entries from and and the maximum number of entries within each column of and (and thus the amount of memory for and the intermediate work and memory used in computing the incomplete factorization).