Recent from talks
Nothing was collected or created yet.
Multigrid method
View on Wikipedia| Class | Differential equation |
|---|
In numerical analysis, a multigrid method (MG method) is an algorithm for solving differential equations using a hierarchy of discretizations. They are an example of a class of techniques called multiresolution methods, very useful in problems exhibiting multiple scales of behavior. For example, many basic relaxation methods exhibit different rates of convergence for short- and long-wavelength components, suggesting these different scales be treated differently, as in a Fourier analysis approach to multigrid.[1] MG methods can be used as solvers as well as preconditioners.
The main idea of multigrid is to accelerate the convergence of a basic iterative method (known as relaxation, which generally reduces short-wavelength error) by a global correction of the fine grid solution approximation from time to time, accomplished by solving a coarse problem. The coarse problem, while cheaper to solve, is similar to the fine grid problem in that it also has short- and long-wavelength errors. It can also be solved by a combination of relaxation and appeal to still coarser grids. This recursive process is repeated until a grid is reached where the cost of direct solution there is negligible compared to the cost of one relaxation sweep on the fine grid. This multigrid cycle typically reduces all error components by a fixed amount bounded well below one, independent of the fine grid mesh size. The typical application for multigrid is in the numerical solution of elliptic partial differential equations in two or more dimensions.[2]
Multigrid methods can be applied in combination with any of the common discretization techniques. For example, the finite element method may be recast as a multigrid method.[3] In these cases, multigrid methods are among the fastest solution techniques known today. In contrast to other methods, multigrid methods are general in that they can treat arbitrary regions and boundary conditions. They do not depend on the separability of the equations or other special properties of the equation. They have also been widely used for more-complicated non-symmetric and nonlinear systems of equations, like the Lamé equations of elasticity or the Navier-Stokes equations.[4]
Algorithm
[edit]
There are many variations of multigrid algorithms, but the common features are that a hierarchy of discretizations (grids) is considered. The important steps are:[5][6]
- Smoothing – reducing high frequency errors, for example using a few iterations of the Gauss–Seidel method.
- Residual Computation – computing residual error after the smoothing operation(s).
- Restriction – downsampling the residual error to a coarser grid.
- Interpolation or prolongation – interpolating a correction computed on a coarser grid into a finer grid.
- Correction – Adding prolongated coarser grid solution onto the finer grid.
There are many choices of multigrid methods with varying trade-offs between speed of solving a single iteration and the rate of convergence with said iteration. The 3 main types are V-Cycle, F-Cycle, and W-Cycle. These differ in which and how many coarse-grain cycles are performed per fine iteration. The V-Cycle algorithm executes one coarse-grain V-Cycle. F-Cycle does a coarse-grain V-Cycle followed by a coarse-grain F-Cycle, while each W-Cycle performs two coarse-grain W-Cycles per iteration. For a discrete 2D problem, F-Cycle takes 83% more time to compute than a V-Cycle iteration while a W-Cycle iteration takes 125% more. If the problem is set up in a 3D domain, then a F-Cycle iteration and a W-Cycle iteration take about 64% and 75% more time respectively than a V-Cycle iteration ignoring overheads. Typically, W-Cycle produces similar convergence to F-Cycle. However, in cases of convection-diffusion problems with high Péclet numbers, W-Cycle can show superiority in its rate of convergence per iteration over F-Cycle. The choice of smoothing operators are extremely diverse as they include Krylov subspace methods and can be preconditioned.
Any geometric multigrid cycle iteration is performed on a hierarchy of grids and hence it can be coded using recursion. Since the function calls itself with smaller sized (coarser) parameters, the coarsest grid is where the recursion stops. In cases where the system has a high condition number, the correction procedure is modified such that only a fraction of the prolongated coarser grid solution is added onto the finer grid.
|
These steps can be used as shown in the MATLAB style pseudo code for 1 iteration of V-Cycle Multigrid: function phi = V_Cycle(phi,f,h)
% Recursive V-Cycle Multigrid for solving the Poisson equation (\nabla^2 phi = f) on a uniform grid of spacing h
% Pre-Smoothing
phi = smoothing(phi,f,h);
% Compute Residual Errors
r = residual(phi,f,h);
% Restriction
rhs = restriction(r);
eps = zeros(size(rhs));
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps = coarse_level_solve(eps,rhs,2*h);
else
eps = V_Cycle(eps,rhs,2*h);
end
% Prolongation and Correction
phi = phi + prolongation(eps);
% Post-Smoothing
phi = smoothing(phi,f,h);
end
|
The following represents F-cycle multigrid. This multigrid cycle is slower than V-Cycle per iteration but does result in faster convergence. function phi = F_Cycle(phi,f,h)
% Recursive F-cycle multigrid for solving the Poisson equation (\nabla^2 phi = f) on a uniform grid of spacing h
% Pre-smoothing
phi = smoothing(phi,f,h);
% Compute Residual Errors
r = residual(phi,f,h);
% Restriction
rhs = restriction(r);
eps = zeros(size(rhs));
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps = coarse_level_solve(eps,rhs,2*h);
else
eps = F_Cycle(eps,rhs,2*h);
end
% Prolongation and Correction
phi = phi + prolongation(eps);
% Re-smoothing
phi = smoothing(phi,f,h);
% Compute residual errors
r = residual(phi,f,h);
% Restriction
rhs = restriction(r);
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps = coarse_level_solve(eps,rhs,2*h);
else
eps = V_Cycle(eps,rhs,2*h);
end
% Prolongation and Correction
phi = phi + prolongation(eps);
% Post-smoothing
phi = smoothing(phi,f,h);
end
|
Similarly the procedures can modified as shown in the MATLAB style pseudo code for 1 iteration of W-cycle multigrid for an even superior rate of convergence in certain cases: function phi = W_cycle(phi,f,h)
% Recursive W-cycle multigrid for solving the Poisson equation (\nabla^2 phi = f) on a uniform grid of spacing h
% Pre-smoothing
phi = smoothing(phi,f,h);
% Compute Residual Errors
r = residual(phi,f,h);
% Restriction
rhs = restriction(r);
eps = zeros(size(rhs));
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps = coarse_level_solve(eps,rhs,2*h);
else
eps = W_cycle(eps,rhs,2*h);
end
% Prolongation and correction
phi = phi + prolongation(eps);
% Re-smoothing
phi = smoothing(phi,f,h);
% Compute residual errors
r = residual(phi,f,h);
% Restriction
rhs = restriction(r);
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps = coarse_level_solve(eps,rhs,2*h);
else
eps = W_cycle(eps,rhs,2*h);
end
% Prolongation and correction
phi = phi + prolongation(eps);
% Post-smoothing
phi = smoothing(phi,f,h);
end
|
Computational cost [citation needed]
[edit]
This approach has the advantage over other methods that it often scales linearly with the number of discrete nodes used. In other words, it can solve these problems to a given accuracy in a number of operations that is proportional to the number of unknowns.
Assume that one has a differential equation which can be solved approximately (with a given accuracy) on a grid with a given grid point density . Assume furthermore that a solution on any grid may be obtained with a given effort from a solution on a coarser grid . Here, is the ratio of grid points on "neighboring" grids and is assumed to be constant throughout the grid hierarchy, and is some constant modeling the effort of computing the result for one grid point.
The following recurrence relation is then obtained for the effort of obtaining the solution on grid :

And in particular, we find for the finest grid that Combining these two expressions (and using ) gives
Using the geometric series, we then find (for finite )
that is, a solution may be obtained in time. It should be mentioned that there is one exception to the i.e. W-cycle multigrid used on a 1D problem; it would result in complexity.[citation needed]
Multigrid preconditioning
[edit]A multigrid method with an intentionally reduced tolerance can be used as an efficient preconditioner for an external iterative solver, e.g.,[7] The solution may still be obtained in time as well as in the case where the multigrid method is used as a solver. Multigrid preconditioning is used in practice even for linear systems, typically with one cycle per iteration, e.g., in Hypre. Its main advantage versus a purely multigrid solver is particularly clear for nonlinear problems, e.g., eigenvalue problems.
If the matrix of the original equation or an eigenvalue problem is symmetric positive definite (SPD), the preconditioner is commonly constructed to be SPD as well, so that the standard conjugate gradient (CG) iterative methods can still be used. Such imposed SPD constraints may complicate the construction of the preconditioner, e.g., requiring coordinated pre- and post-smoothing. However, preconditioned steepest descent and flexible CG methods for SPD linear systems and LOBPCG for symmetric eigenvalue problems are all shown[8] to be robust if the preconditioner is not SPD.
Bramble–Pasciak–Xu preconditioner
[edit]Originally described in Xu’s Ph.D. thesis[9] and later published in Bramble-Pasciak-Xu,[10] the BPX-preconditioner is one of the two major multigrid approaches (the other is the classic multigrid algorithm such as V-cycle) for solving large-scale algebraic systems that arise from the discretization of models in science and engineering described by partial differential equations. In view of the subspace correction framework,[11] BPX preconditioner is a parallel subspace correction method whereas the classic V-cycle is a successive subspace correction method. The BPX-preconditioner is known to be naturally more parallel and in some applications more robust than the classic V-cycle multigrid method. The method has been widely used by researchers and practitioners since 1990.
Generalized multigrid methods
[edit]Multigrid methods can be generalized in many different ways. They can be applied naturally in a time-stepping solution of parabolic partial differential equations, or they can be applied directly to time-dependent partial differential equations.[12] Research on multilevel techniques for hyperbolic partial differential equations is underway.[13] Multigrid methods can also be applied to integral equations, or for problems in statistical physics.[14]
Another set of multiresolution methods is based upon wavelets. These wavelet methods can be combined with multigrid methods.[15][16] For example, one use of wavelets is to reformulate the finite element approach in terms of a multilevel method.[17]
Adaptive multigrid exhibits adaptive mesh refinement, that is, it adjusts the grid as the computation proceeds, in a manner dependent upon the computation itself.[18] The idea is to increase resolution of the grid only in regions of the solution where it is needed.
Algebraic multigrid (AMG)
[edit]Practically important extensions of multigrid methods include techniques where no partial differential equation nor geometrical problem background is used to construct the multilevel hierarchy.[19] Such algebraic multigrid methods (AMG) construct their hierarchy of operators directly from the system matrix. In classical AMG, the levels of the hierarchy are simply subsets of unknowns without any geometric interpretation. (More generally, coarse grid unknowns can be particular linear combinations of fine grid unknowns.) Thus, AMG methods become black-box solvers for certain classes of sparse matrices. AMG is regarded as advantageous mainly where geometric multigrid is too difficult to apply,[20] but is often used simply because it avoids the coding necessary for a true multigrid implementation. While classical AMG was developed first, a related algebraic method is known as smoothed aggregation (SA).
In an overview paper[21] by Jinchao Xu and Ludmil Zikatanov, the "algebraic multigrid" methods are understood from an abstract point of view. They developed a unified framework and existing algebraic multigrid methods can be derived coherently. Abstract theory about how to construct optimal coarse space as well as quasi-optimal spaces was derived. We note that this result appeared first in a note on Algebraic Multigrid by Brannick and Zikatanov and was just rewritten in the overview paper. Also, they proved that, under appropriate assumptions, the abstract two-level AMG method converges uniformly with respect to the size of the linear system, the coefficient variation, and the anisotropy. Their abstract framework covers most existing AMG methods, such as classical AMG, energy-minimization AMG, unsmoothed and smoothed aggregation AMG, and spectral AMGe.
Multigrid in time methods
[edit]Multigrid methods have also been adopted for the solution of initial value problems.[22] Of particular interest here are parallel-in-time multigrid methods:[23] in contrast to classical Runge–Kutta or linear multistep methods, they can offer concurrency in temporal direction. The well known Parareal parallel-in-time integration method can also be reformulated as a two-level multigrid in time.
Multigrid for nearly singular problems
[edit]Nearly singular problems arise in a number of important physical and engineering applications. Simple, but important example of nearly singular problems can be found at the displacement formulation of linear elasticity for nearly incompressible materials. Typically, the major problem to solve such nearly singular systems boils down to treat the nearly singular operator given by robustly with respect to the positive, but small parameter . Here is symmetric semidefinite operator with large null space, while is a symmetric positive definite operator. There were many works to attempt to design a robust and fast multigrid method for such nearly singular problems. A general guide has been provided as a design principle to achieve parameters (e.g., mesh size and physical parameters such as Poisson's ratio that appear in the nearly singular operator) independent convergence rate of the multigrid method applied to such nearly singular systems,[24] i.e., in each grid, a space decomposition based on which the smoothing is applied, has to be constructed so that the null space of the singular part of the nearly singular operator has to be included in the sum of the local null spaces, the intersection of the null space and the local spaces resulting from the space decompositions.
Notes
[edit]- ^ Roman Wienands; Wolfgang Joppich (2005). Practical Fourier analysis for multigrid methods. CRC Press. p. 17. ISBN 978-1-58488-492-7.
- ^ U. Trottenberg; C. W. Oosterlee; A. Schüller (2001). Multigrid. Academic Press. ISBN 978-0-12-701070-0.
- ^ Yu Zhu; Andreas C. Cangellaris (2006). Multigrid finite element methods for electromagnetic field modeling. Wiley. p. 132 ff. ISBN 978-0-471-74110-7.
- ^ Shah, Tasneem Mohammad (1989). Analysis of the multigrid method (Thesis). Oxford University. Bibcode:1989STIN...9123418S.
- ^ M. T. Heath (2002). "Section 11.5.7 Multigrid Methods". Scientific Computing: An Introductory Survey. McGraw-Hill Higher Education. p. 478 ff. ISBN 978-0-07-112229-0.
- ^ P. Wesseling (1992). An Introduction to Multigrid Methods. Wiley. ISBN 978-0-471-93083-9.
- ^ Andrew V Knyazev, Klaus Neymeyr. Efficient solution of symmetric eigenvalue problems using multigrid preconditioners in the locally optimal block conjugate gradient method. Electronic Transactions on Numerical Analysis, 15, 38–55, 2003.
- ^ Bouwmeester, Henricus; Dougherty, Andrew; Knyazev, Andrew V. (2015). "Nonsymmetric Preconditioning for Conjugate Gradient and Steepest Descent Methods 1". Procedia Computer Science. 51: 276–285. arXiv:1212.6680. doi:10.1016/j.procs.2015.05.241. S2CID 51978658.
- ^ Xu, Jinchao. Theory of multilevel methods. Vol. 8924558. Ithaca, NY: Cornell University, 1989.
- ^ Bramble, James H., Joseph E. Pasciak, and Jinchao Xu. "Parallel multilevel preconditioners." Mathematics of Computation 55, no. 191 (1990): 1–22.
- ^ Xu, Jinchao. "Iterative methods by space decomposition and subspace correction." SIAM review 34, no. 4 (1992): 581-613.
- ^ F. Hülsemann; M. Kowarschik; M. Mohr; U. Rüde (2006). "Parallel geometric multigrid". In Are Magnus Bruaset; Aslak Tveito (eds.). Numerical solution of partial differential equations on parallel computers. Birkhäuser. p. 165. ISBN 978-3-540-29076-6.
- ^ For example, J. Blaz̆ek (2001). Computational fluid dynamics: principles and applications. Elsevier. p. 305. ISBN 978-0-08-043009-6. and Achi Brandt and Rima Gandlin (2003). "Multigrid for Atmospheric Data Assimilation: Analysis". In Thomas Y. Hou; Eitan Tadmor (eds.). Hyperbolic problems: theory, numerics, applications: proceedings of the Ninth International Conference on Hyperbolic Problems of 2002. Springer. p. 369. ISBN 978-3-540-44333-9.
- ^ Achi Brandt (2002). "Multiscale scientific computation: review". In Timothy J. Barth; Tony Chan; Robert Haimes (eds.). Multiscale and multiresolution methods: theory and applications. Springer. p. 53. ISBN 978-3-540-42420-8.
- ^ Björn Engquist; Olof Runborg (2002). "Wavelet-based numerical homogenization with applications". In Timothy J. Barth; Tony Chan; Robert Haimes (eds.). Multiscale and Multiresolution Methods. Vol. 20 of Lecture Notes in Computational Science and Engineering. Springer. p. 140 ff. ISBN 978-3-540-42420-8.
- ^ U. Trottenberg; C. W. Oosterlee; A. Schüller (2001). Multigrid. Academic Press. ISBN 978-0-12-701070-0.
- ^ Albert Cohen (2003). Numerical Analysis of Wavelet Methods. Elsevier. p. 44. ISBN 978-0-444-51124-9.
- ^ U. Trottenberg; C. W. Oosterlee; A. Schüller (2001). "Chapter 9: Adaptive Multigrid". Multigrid. Academic Press. p. 356. ISBN 978-0-12-701070-0.
- ^ Yair Shapira (2003). "Algebraic multigrid". Matrix-based multigrid: theory and applications. Springer. p. 66. ISBN 978-1-4020-7485-1.
- ^ U. Trottenberg; C. W. Oosterlee; A. Schüller (2001). Multigrid. Academic Press. p. 417. ISBN 978-0-12-701070-0.
- ^ Xu, J. and Zikatanov, L., 2017. Algebraic multigrid methods. Acta Numerica, 26, pp.591-721. [1]
- ^ Hackbusch, Wolfgang (1985). "Parabolic multi-grid methods". Computing Methods in Applied Sciences and Engineering, VI: 189–197. ISBN 9780444875976. Retrieved 1 August 2015.
- ^ Horton, Graham (1992). "The time-parallel multigrid method". Communications in Applied Numerical Methods. 8 (9): 585–595. doi:10.1002/cnm.1630080906.
- ^ Young-Ju Lee, Jinbiao Wu, Jinchao Xu and Ludmil Zikatanov, Robust Subspace Correction Methods for Nearly Singular Systems, Mathematical Models and Methods in Applied Sciences, Vol. 17, No 11, pp. 1937-1963 (2007)
References
[edit]- Astrachancev, G. P. (1971). "An iterative method of solving elliptic net problems". USSR Comp. Math. Math. Phys. 11 (2): 171–182.
- Bakhvalov, N. S. (1966). "On the convergence of a relaxation method with natural constraints on the elliptic operator". USSR Comp. Math. Math. Phys. 6 (5): 101–113.
- Brandt, Achi (April 1977). "Multi-Level Adaptive Solutions to Boundary-Value Problems". Mathematics of Computation. 31 (138): 333–390.
- Briggs, William L.; Henson, Van Emden; McCormick, Steve F. (2000). A Multigrid Tutorial (2nd ed.). Philadelphia: Society for Industrial and Applied Mathematics. ISBN 0-89871-462-1.
- Fedorenko, R. P. (1961). "A relaxation method for solving elliptic difference equations". USSR Comput. Math. Math. Phys. 1 (4): 1092.
- Fedorenko, R. P. (1964). "The speed of convergence of one iterative process". USSR Comput. Math. Math. Phys. 4: 227.
- Press, W. H.; Teukolsky, S. A.; Vetterling, W. T.; Flannery, B. P. (2007). "Section 20.6. Multigrid Methods for Boundary Value Problems". Numerical Recipes: The Art of Scientific Computing (3rd ed.). New York: Cambridge University Press. ISBN 978-0-521-88068-8.
External links
[edit]Multigrid method
View on GrokipediaIntroduction
Definition and Motivation
The multigrid method is a family of iterative algorithms designed to solve large sparse linear systems arising from finite difference or finite element discretizations of elliptic partial differential equations (PDEs). These systems typically take the form , where is a symmetric positive definite matrix approximating the differential operator on a fine grid. By leveraging a hierarchy of successively coarser grids, multigrid accelerates convergence by combining local smoothing on fine grids with global corrections on coarser levels, achieving near-optimal computational efficiency independent of the problem size.[3][6] The primary motivation for multigrid stems from the limitations of classical relaxation methods, such as Jacobi or Gauss-Seidel iterations, which efficiently dampen high-frequency error components but converge slowly for low-frequency (smooth) errors inherent in elliptic PDE solutions. These low-frequency modes, which vary slowly across the domain, require many iterations to resolve on fine grids, leading to computational costs that scale poorly with grid refinement. Multigrid overcomes this by restricting residuals to coarser grids, where low-frequency errors appear as high-frequency ones amenable to rapid smoothing, followed by prolongation back to finer grids for correction, thus eliminating errors across all frequencies in a balanced manner.[7][3] A canonical example is the Poisson equation on a uniform grid, discretized via a five-point stencil to yield a linear system. Relaxation methods like Gauss-Seidel quickly reduce oscillatory (high-frequency) errors but leave smooth (low-frequency) components largely intact after several sweeps, as quantified by a smoothing factor of approximately 0.5 per iteration. Multigrid addresses this by transferring the residual to a coarser grid, solving approximately there to correct the smooth error, and interpolating back, demonstrating convergence factors below 0.2 in practice.[7][6] Originating in the 1960s with early work on iterative processes for elliptic equations and gaining practical prominence in the 1970s through advancements in adaptive multilevel techniques, multigrid has become a cornerstone for efficient PDE solvers.[7]Historical Development
The origins of multigrid methods trace back to early iterative techniques for solving partial differential equations, with Richard Southwell's development of relaxation methods in the 1940s serving as a key precursor. Southwell's approach, detailed in his 1946 monograph, emphasized systematic adjustment of grid values to satisfy equations iteratively, laying foundational principles for error smoothing that later multigrid algorithms would build upon. These relaxation ideas influenced subsequent advancements in numerical analysis for elliptic problems. In the 1960s, Russian mathematician R.P. Fedorenko advanced the field by introducing defect correction techniques within a multi-level framework, marking the first explicit multigrid scheme for the Poisson equation on a unit square. Fedorenko's 1961 paper demonstrated how coarse-grid corrections could accelerate convergence of fine-grid relaxation, achieving near-optimal efficiency for structured grids without relying on detailed geometric information. This work, further refined in his 1964 analysis, established the core idea of hierarchical error reduction, though it remained largely unknown in the West until the 1970s. In 1966, N.S. Bakhvalov extended these ideas to more general linear elliptic PDEs, proving convergence rates independent of the mesh size under certain constraints.[8] The 1970s saw pivotal contributions from Achi Brandt, who formalized multigrid as a robust, optimal solver through his introduction of full multigrid (FMG) cycles and rigorous convergence theory. Brandt's seminal 1977 paper proved that multigrid achieves convergence rates independent of grid size, establishing it as an O(N solver for N unknowns in elliptic problems, a breakthrough that popularized the method globally. Concurrently, Wolfgang Hackbusch developed theoretical foundations for multigrid iterations, extending applications to finite element discretizations in the late 1970s and 1980s; his 1985 monograph provided convergence proofs and practical implementations for irregular grids, facilitating broader adoption in computational science. The evolution progressed from geometric multigrid, reliant on structured grids, to algebraic variants in the 1990s, which automated hierarchy construction from matrix coefficients alone, enabling use on unstructured meshes. This shift, exemplified by Ruge and Stüben's 1987 algebraic multigrid (AMG) framework and subsequent refinements, addressed complex geometries in engineering applications. Post-2000 developments adapted multigrid to nonlinear problems via the full approximation scheme (FAS) and to stochastic settings, such as uncertainty quantification in PDEs, enhancing robustness for real-world simulations.[9] More recently, in the 2020s, multigrid methods have incorporated machine learning techniques, such as deep neural networks, to optimize preconditioners and hierarchy construction in algebraic multigrid, further improving scalability for high-dimensional simulations.[10][11] These methods profoundly influenced fields like computational fluid dynamics (CFD), where they accelerated Navier-Stokes solvers, and geophysics, enabling efficient modeling of electromagnetic diffusion and resistivity in subsurface imaging.[12][13]Core Components
Grid Hierarchies and Operators
In multigrid methods, particularly geometric multigrid, a grid hierarchy consists of a sequence of nested grids that progressively coarsen the spatial discretization of the domain. The finest grid, denoted with mesh size , captures detailed resolution, while successive coarser grids have mesh sizes , , and so on, typically halving the number of degrees of freedom per level in each spatial dimension. This uniform refinement strategy assumes a regular structure, such as a Cartesian lattice, enabling straightforward embedding of coarse grids within finer ones. Adaptive refinement variants extend this hierarchy for problems with localized features, such as singularities or shocks, by selectively coarsening only regions where high resolution is unnecessary, while maintaining nesting properties to facilitate transfers between levels. This approach is common in geometric multigrid for partial differential equations (PDEs) on complex geometries, balancing computational efficiency with accuracy. The discretization operator on the fine grid, , arises from approximating the underlying PDE, such as the Poisson equation , yielding a sparse matrix like the 5-point stencil Laplacian in two dimensions. On coarser levels, the operator is not simply a rediscretization but is constructed via the Galerkin projection , where is the prolongation operator from coarse to fine grid and is the restriction operator from fine to coarse. This formulation ensures that the coarse-grid problem accurately approximates the fine-grid error equation in the subspace spanned by the coarse basis functions, preserving key properties like symmetry and positive definiteness of the original operator. The prolongation typically employs interpolation to transfer corrections from coarse to fine grids; in two dimensions, bilinear interpolation provides a smooth extension, using values from the four surrounding coarse nodes weighted by distances. For restriction , full weighting averages fine-grid residuals onto coarse nodes with a stencil such as in 2D, which enhances stability by incorporating neighboring information. A simpler alternative is injection, where directly copies fine-grid values at coarse points to the coarse grid, though it may reduce robustness for certain problems.Smoothing, Restriction, and Prolongation
In multigrid methods, smoothing is a critical process that reduces high-frequency error components in the residual after an approximate solution on a given grid level. This is achieved through local iterative solvers, such as Gauss-Seidel or successive over-relaxation (SOR), which dampen oscillatory errors effectively while leaving low-frequency (smooth) errors largely unaffected for correction on coarser grids.[14] Damped Jacobi iteration serves as a robust alternative smoother, particularly in parallel computing environments, where the update for each grid point is given by in one dimension, with the damping parameter chosen to optimize high-frequency damping.[14] Typically, 1 to 2 pre-smoothing steps are applied before restriction, and an equal number of post-smoothing steps follow prolongation to further refine the solution.[14] For SOR smoothing, the relaxation parameter is tuned to enhance convergence; for model problems like the 2D Poisson equation, the optimal value approximates , where denotes the grid level, ensuring effective damping of high-frequency modes across the hierarchy.[15] This parameter selection balances the smoothing factor, minimizing residual growth for error components with wavenumbers near the grid's Nyquist frequency.[15] Restriction transfers the residual from the fine grid to the coarse grid using an operator , which projects the problem onto a coarser representation while preserving relevant low-frequency information. A common choice is full-weighting averaging in two dimensions, where the coarse residual at point is computed as corresponding to a stencil that weights the central fine point four times more than edge neighbors and twice the corners.[14] This operator, often the transpose of the prolongation scaled by , ensures accurate representation of smooth residuals on the coarse grid.[14] Prolongation interpolates the error correction computed on the coarse grid back to the fine grid via an operator , injecting high-frequency zeroing while smoothly distributing corrections. In two dimensions, bilinear (linear) interpolation provides a straightforward implementation, where fine-grid values are linear combinations of the four nearest coarse neighbors; for a non-coarse fine point, the matrix entries yield weights such as adjusted for positioning.[14] Direct injection (setting at coarse points and zero elsewhere) is simpler but less accurate for smooth errors, making interpolation preferable for robustness.[14]Standard Algorithms
V-Cycle and Full Multigrid
The V-cycle is a fundamental recursive algorithm in multigrid methods, extending the two-grid approach by applying it iteratively across multiple grid levels to accelerate convergence for solving discretized partial differential equations.[16] It begins with smoothing (relaxation) on the finest grid to reduce high-frequency error components, followed by restriction of the residual to a coarser grid, approximate solution of the coarse-grid error equation (recursively if not the coarsest level), prolongation of the coarse-grid error correction back to the fine grid, and final smoothing to damp any new high-frequency errors introduced by interpolation.[17] This structure forms a V-shaped cycle in the grid hierarchy diagram, where the descent to coarser grids handles low-frequency errors efficiently.[16] A standard outline of the V-cycle algorithm, for solving on grid level with initial approximation , is as follows (using pre-smoothing iterations, post-smoothing iterations, restriction operator , prolongation operator , and direct solve on the coarsest grid):function v_h = V_cycle(v_h, f_h, h)
if h is coarsest grid
v_h = A_h^{-1} f_h // direct solve
return v_h
end
// Pre-smoothing
for i = 1 to ν₁
v_h = relax(A_h, f_h, v_h) // e.g., Gauss-Seidel
end
// Compute residual
r_h = f_h - A_h v_h
// Restrict residual
r_{2h} = I_h^{2h} r_h
// Recursive coarse-grid correction
e_{2h} = V_cycle(0, r_{2h}, 2h)
// Prolongate error
e_h = P e_{2h}
// Update approximation
v_h = v_h + e_h
// Post-smoothing
for i = 1 to ν₂
v_h = relax(A_h, f_h, v_h)
end
return v_h
end
function v_h = V_cycle(v_h, f_h, h)
if h is coarsest grid
v_h = A_h^{-1} f_h // direct solve
return v_h
end
// Pre-smoothing
for i = 1 to ν₁
v_h = relax(A_h, f_h, v_h) // e.g., Gauss-Seidel
end
// Compute residual
r_h = f_h - A_h v_h
// Restrict residual
r_{2h} = I_h^{2h} r_h
// Recursive coarse-grid correction
e_{2h} = V_cycle(0, r_{2h}, 2h)
// Prolongate error
e_h = P e_{2h}
// Update approximation
v_h = v_h + e_h
// Post-smoothing
for i = 1 to ν₂
v_h = relax(A_h, f_h, v_h)
end
return v_h
end
function u_{h_1} = FMG(f_{h_1})
// Start on coarsest grid
u_{h_L} = A_{h_L}^{-1} f_{h_L} // direct solve
for level l = L-1 downto 1 // upward interpolation
// Interpolate initial guess
u_{h_l} = P u_{h_{l+1}}
// Apply γ V-cycles (typically γ=1 or 2) with pre-restricted f_{h_l}
for i = 1 to γ
u_{h_l} = V_cycle(u_{h_l}, f_{h_l}, h_l)
end
end
return u_{h_1}
end
function u_{h_1} = FMG(f_{h_1})
// Start on coarsest grid
u_{h_L} = A_{h_L}^{-1} f_{h_L} // direct solve
for level l = L-1 downto 1 // upward interpolation
// Interpolate initial guess
u_{h_l} = P u_{h_{l+1}}
// Apply γ V-cycles (typically γ=1 or 2) with pre-restricted f_{h_l}
for i = 1 to γ
u_{h_l} = V_cycle(u_{h_l}, f_{h_l}, h_l)
end
end
return u_{h_1}
end
