The idea of multigrid methods is motivated by the "nature" of the error of the approximation an iterative solver produces.
While an iterative solver tends to "smooth out" the high frequency components of the error early on in the iteration process, the low frequencies still dominate.
However, a low frequency error can be represented in a coarser grid where it is computationally less expensive to solve for and then "transfered" back to the finer grid to correct the approximation.
The aforementioned idea is not just limited to two grids but can be further extended to a number of intermediate grids, up to the point where we have to solve for a single grid point.
In the following I'll outline the inner workings of a geometric multigrid solver applied to the Poisson's equation in 1D and 2D.
Given is the one dimensional Poisson's equation with zero Dirichlet boundary conditions
We can compute numerically the steady-state solution, using the central difference to discretize the equation
where
In case
In two dimension the Poisson's equation is given as
and analogously to the one dimensional case, the central differences yields the following system of linear equations
Written in matrix form (for
where
Iterative solvers (such as Jacobi, Gauß-Seidel, SOR), are capable of eliminating the high frequency errors in the solution rather quickly, i.e. after a few iterations.
However, they perform poorly in reducing low frequency errors - especially on high resolution grids, and as such their convergence rate stalls once the error becomes "smooth".
The fundamental concept behind multigrid methods is to maintain the fast convergence rate, by employing a hierarchy of physical grids at decreasing resolutions at which the low frequency error appears to be of high frequency.
Consider a system of linear equations written in matrix form
Let
and by plugging them into the equation above we get the following relation between the error
Considering this relation, the core idea is to first approximate the solution
After solving
Often, the corrected solution is again smoothed with a couple of iterations (post-smoothing).
Applying these steps recursively on a whole hierarchy of grids forms the basis of a multigrid-cycle.
Depending on the order the solver visits the different grids i.e. the call-graph, we refer to the cycles as either a V-cyle (
At its core the multigrid method relies on the two operations prolongation and restriction, to transfer the residual from fine to coarse, and the error from coarse to fine grids, respectively.
In the following I refer to a fine grid with grid spacing
In addition to the the projection of the residual and the error between grid levels, we need the discretization matrices
A simple choice for the prolongation step is to use linear interpolation. Fine grid points that are directly aligned with points from the coarse grid, adopt the corresponding values, while the remaining points take the average of their neighbours:
Note, that the values on the borders
The restriction operator can be implemented by taking weighted averages of neighbouring fine grid points (in this context referred to as full weighting):
Incidentally, the restriction matrix
The prolongation in two dimension is realized by a bilinear interpolation:
The resulting interpolation matrix
Therefore, each value in