Preconditioners

The convergence rate of the conjugate gradient method is determined by the condition number of the matrix AA. The larger it is, the slower the method converges — many iterations are required to reach acceptable accuracy. The preconditioner PP is meant to improve this number by replacing the original system with an equivalent one with the matrix P1AP^{-1} \cdot A, whose eigenvalues should cluster in a narrow neighbourhood of one.

In practice there is no need to build P1AP^{-1} \cdot A explicitly: at every iteration it suffices to be able to solve the auxiliary problem

Pzk\displaystyle P \cdot z_k =rk,\displaystyle = r_k,
(3.11)

using zkz_k instead of the original residual rkr_k — see formulas (3.7)–(3.8). Let us consider three variants.

1. No preconditioning (PP =I= I). In this case zkz_k =rk= r_k, and the method coincides with the classical conjugate gradient method. This variant is useful for debugging, but for ill-conditioned systems it converges slowly.

2. Jacobi preconditioner. As PP we take the diagonal part of the matrix AA

P\displaystyle P =diag(A)\displaystyle = \operatorname{diag}(A) =diag(a11,a22,,ann).\displaystyle = \operatorname{diag}(a_{11}, a_{22}, \ldots, a_{nn}).
(3.12)

Its application reduces to element-wise division

zk,i\displaystyle z_{k,\,i} =rk,iaii.\displaystyle = \frac{r_{k,\,i}}{a_{ii}}.
(3.13)

This preconditioner is practically free in memory and time, but it takes into account only the diagonal, ignoring the couplings between the variables.

3. Incomplete Cholesky factorization (IC). For a symmetric positive definite matrix an approximate factorization is built

A\displaystyle A LLT,\displaystyle \approx L \cdot L^T,
(3.14)

where LL is a lower triangular matrix. Unlike the full Cholesky factorization, the fill-in elements in the positions of the original zeros are discarded — the nonzero structure of LL coincides with the structure of the lower triangle of AA. Once LL is built, applying the preconditioner consists of two triangular substitutions

Ly\displaystyle L \cdot y =rk,\displaystyle = r_k,
(3.15)
LTzk\displaystyle L^T \cdot z_k =y.\displaystyle = y.
(3.16)
Three variants of the preconditioner for the conjugate gradient method
Fig. 3.3. Preconditioners: identity (PP =I= I), Jacobi (PP =diag(A)= \operatorname{diag}(A)) and incomplete Cholesky (AA LLT\approx L \cdot L^T).

In FEM problems the incomplete Cholesky factorization usually gives the best trade-off: it is more expensive than the diagonal preconditioner (building LL and two triangular sweeps per iteration), but it noticeably reduces the number of iterations. For nonsymmetric or indefinite systems, which fall outside standard heat conduction problems, one should turn to the GMRES or BiCGSTAB methods with appropriate preconditioners.

This concludes the solution of sparse systems — next, let us talk about partitioning the geometry into simplices.