Computing Library › Numerical Methods
Numerical Methods

Preconditioning

Preconditioning transforms a linear system into an equivalent one with a friendlier spectrum so that iterative solvers converge far faster.

Reshaping the problem for the solver

The convergence of Krylov iterative solvers depends on the eigenvalue distribution of the system matrix: tightly clustered eigenvalues converge quickly, while ill-conditioned or spread-out spectra converge slowly or stall. Preconditioning applies an approximate inverse M of the matrix A so that the solver works with M*A (or A*M), whose spectrum is much better clustered. The solution is unchanged; only the iteration path improves.

In practice the preconditioner is the single most important choice for iterative-solver performance, often mattering more than the Krylov method itself. A good preconditioner can reduce iteration counts by orders of magnitude.

The central tradeoff

A preconditioner must approximate the inverse of A well enough to cluster the spectrum, yet be cheap to apply since it acts every iteration. The perfect preconditioner is the exact inverse, giving convergence in one step but costing as much as a direct solve. The art is choosing an M that captures the dominant behavior of A cheaply.

Common families

Jacobi and block-Jacobi use the diagonal or diagonal blocks and are trivially parallel but weak. Incomplete LU and Cholesky factorizations drop small fill-in for a sparse approximate factorization. Multigrid and algebraic multigrid are near-optimal for elliptic operators. Domain-decomposition and physics-based preconditioners exploit problem structure, splitting coupled multi-physics systems into more tractable blocks.

In fusion simulation, physics-based and multigrid preconditioners are essential for making implicit extended-MHD and transport solves converge at practical iteration counts.