Computing Library › Numerical Methods
Numerical Methods

Multigrid as a Preconditioner

Using a single multigrid cycle to precondition a Krylov solver, combining multigrid speed with Krylov robustness.

Two ways to use multigrid

Multigrid can be used as a standalone solver, iterating V-cycles until convergence, or as a preconditioner inside a Krylov method, applying just one cycle per Krylov step. The preconditioner role is often preferred because it combines the near-optimal error reduction of multigrid with the robustness of a Krylov method, which can compensate for imperfections in the multigrid components.

Why the combination is powerful

Kronos motion — cycle loop

A textbook-efficient multigrid method converges in a handful of cycles on its own, but real problems (anisotropy, jumping coefficients, complex geometry) can degrade its convergence or even cause it to stall. Wrapping multigrid in a Krylov method rescues these cases: the Krylov acceleration handles the few error components that multigrid smooths poorly, while multigrid handles the vast majority efficiently. The result converges even when neither method alone would perform well.

Keeping the preconditioner symmetric

For use with conjugate gradient, the preconditioner must be symmetric positive definite. A multigrid V-cycle is symmetric only if its pre- and post-smoothing are arranged symmetrically (for example, forward Gauss-Seidel down, backward Gauss-Seidel up). Getting this detail right lets a single V-cycle serve as a valid CG preconditioner; for nonsymmetric problems, GMRES lifts the requirement.

Where it is used

Multigrid-preconditioned Krylov solvers are the standard for large elliptic problems: pressure Poisson solves, electrostatic and magnetostatic potentials, and the elliptic pieces of implicit MHD. The pairing of algebraic multigrid with a Krylov method is a default combination in large-scale scientific computing precisely because it is both fast and robust across a wide range of problems.