Version 2.2.2

2nd September 2016

Recent Changes

Code Download

  • Single
  • Double

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

A¯ = SQTAQS + αI

is computed, where Q is a permutation matrix, S 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 Ax = b. A separate entry performs the preconditioning operation

y = Pz

where P = (L¯L¯T)1, L¯ = QS1L, is the incomplete factorization preconditioner.

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

A¯ = LLT + LRT + RLT 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 = RRT + F + FT,

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).