Content deleted Content added
m Fixed CS1 errors: extra text: volume and general fixes |
|||
(21 intermediate revisions by 13 users not shown) | |||
Line 1:
{{Short description|Method of solving differential equations}}
In [[numerical analysis]], a '''multigrid method''' ('''MG method''') is an [[algorithm]] for solving [[differential equations]] using a [[hierarchy]] of [[discretization]]s. They are an example of a class of techniques called [[Multiresolution analysis|multiresolution methods]], very useful in problems exhibiting [[Multiscale modeling|multiple scales]] of behavior. For example, many basic [[relaxation method]]s 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.<ref>{{cite book |title=Practical Fourier analysis for multigrid methods |author1=Roman Wienands |author2=Wolfgang Joppich |page=17 |url=https://books.google.com/books?id=IOSux5GxacsC&pg=PA17 |isbn=978-1-58488-492-7 |publisher=CRC Press |year=2005}}</ref> MG methods can be used as solvers as well as [[preconditioner]]s.▼
{{Infobox algorithm
|class = [[Differential equation]]
|image = <!-- filename only, no "File:" or "Image:" prefix, and no enclosing [[brackets]] -->
|caption =
|data =
|time = <!-- Worst time big-O notation -->
|best-time =
|average-time =
|space = <!-- Worst-case space complexity; auxiliary space
(excluding input) if not specified -->
}}
▲In [[numerical analysis]], a '''multigrid method''' ('''MG method''') is an [[algorithm]] for solving [[differential
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 equation]]s in two or more dimensions.<ref>{{cite book |title=Multigrid |author1=U. Trottenberg |author2=C. W. Oosterlee |author3=A. Schüller |publisher=Academic Press |year=2001 |isbn=978-0-12-701070-0 |url=https://books.google.com/books?id=-og1wD-Nx_wC&q=elliptic}}</ref>
Line 15 ⟶ 27:
* '''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 Poisson equation#On a two-dimensional rectangular grid|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
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.
Line 41 ⟶ 53:
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps =
else
eps = V_Cycle(eps,rhs,2*h);
Line 73 ⟶ 85:
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps =
else
eps = F_Cycle(eps,rhs,2*h);
Line 92 ⟶ 104:
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps =
else
eps = V_Cycle(eps,rhs,2*h);
Line 124 ⟶ 136:
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps =
else
eps = W_cycle(eps,rhs,2*h);
Line 143 ⟶ 155:
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps =
else
eps = W_cycle(eps,rhs,2*h);
Line 162 ⟶ 174:
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 <math>i</math> with a given grid point density <math>N_i</math>. Assume furthermore that a solution on any grid <math>N_i</math> may be obtained with a given effort <math>W_i = \rho K N_i</math> from a solution on a coarser grid <math>i+1</math>. Here, <math>\rho = N_{i+1} / N_i < 1</math> is the ratio of grid points on "neighboring" grids and is assumed to be constant throughout the grid hierarchy, and <math>K</math> 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 <math>k</math>:
<math display="block">W_k = W_{k+1} + \rho K N_k</math>
And in particular, we find for the finest grid <math>N_1</math> that
Combining these two expressions (and using <math>
Using the [[geometric series]], we then find (for finite <math>n</math>)
that is, a solution may be obtained in <math>O(N)</math> time. It should be mentioned that there is one exception to the <math>O(N)</math> i.e. W-cycle multigrid used on a 1D problem; it would result in <math>O
==Multigrid preconditioning==
Line 182 ⟶ 193:
A multigrid method with an intentionally reduced tolerance can be used as an efficient [[preconditioning|preconditioner]] for an external iterative solver, e.g.,<ref>Andrew V Knyazev, Klaus Neymeyr. [http://etna.mcs.kent.edu/volumes/2001-2010/vol15/abstract.php?vol=15&pages=38-55 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.</ref> The solution may still be obtained in <math>O(N)</math> 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, [[preconditioning|preconditioned]] [[steepest descent]] and [[Conjugate gradient method#The flexible preconditioned conjugate gradient method|flexible CG methods]] for SPD linear systems and [[LOBPCG]] for symmetric eigenvalue problems are all shown<ref>
==Bramble–Pasciak–Xu preconditioner==
Originally described in Xu’s Ph.D. thesis<ref>Xu, Jinchao. Theory of multilevel methods. Vol. 8924558. Ithaca, NY: Cornell University, 1989.</ref> and later published in Bramble-Pasciak-Xu,<ref>Bramble, James H., Joseph E. Pasciak, and Jinchao Xu. "Parallel multilevel preconditioners." Mathematics of Computation 55, no. 191 (1990): 1–22.</ref> 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,<ref>Xu, Jinchao. "Iterative methods by space decomposition and subspace correction." SIAM review 34, no. 4 (1992): 581-613.</ref> 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==
Line 194 ⟶ 202:
Multigrid methods can be generalized in many different ways. They can be applied naturally in a time-stepping solution of [[parabolic partial differential equation]]s, or they can be applied directly to time-dependent [[partial differential equation]]s.<ref>{{cite book |chapter-url=https://books.google.com/books?id=GKDQUXzLTkIC&pg=PA165 |editor1=Are Magnus Bruaset |editor2=Aslak Tveito |title=Numerical solution of partial differential equations on parallel computers |page=165 |chapter=Parallel geometric multigrid |author1=F. Hülsemann |author2=M. Kowarschik |author3=M. Mohr |author4=U. Rüde |publisher=Birkhäuser |year=2006 |isbn=978-3-540-29076-6}}</ref> Research on multilevel techniques for [[hyperbolic partial differential equation]]s is underway.<ref>For example, {{cite book |title=Computational fluid dynamics: principles and applications |page=305 |url=https://books.google.com/books?id=asWGy362QFIC&q=%22The+goal+of+the+current+research+is+the+significant+improvement+of+the+efficiency+of+multigrid+for+hyperbolic+flow+problems%22&pg=PA305 |author= J. Blaz̆ek |year=2001 |isbn=978-0-08-043009-6 |publisher=Elsevier}} and {{cite book |chapter-url=https://books.google.com/books?id=TapltAX3ry8C&pg=PA369 |author=Achi Brandt and Rima Gandlin |chapter=Multigrid for Atmospheric Data Assimilation: Analysis |page=369 |editor1=Thomas Y. Hou |editor2=Eitan Tadmor |editor2-link=Eitan Tadmor |title=Hyperbolic problems: theory, numerics, applications: proceedings of the Ninth International Conference on Hyperbolic Problems of 2002 |year=2003 |isbn=978-3-540-44333-9 |publisher=Springer}}</ref> Multigrid methods can also be applied to [[integral equation]]s, or for problems in [[statistical physics]].<ref>{{cite book |title=Multiscale and multiresolution methods: theory and applications |author=Achi Brandt |chapter-url=https://books.google.com/books?id=mtsy6Ci2TRoC&pg=PA53 |editor1=Timothy J. Barth |editor2=Tony Chan |editor3=Robert Haimes |page=53 |chapter=Multiscale scientific computation: review |isbn=978-3-540-42420-8 |year=2002 |publisher=Springer}}</ref>
Another set of multiresolution methods is based upon [[wavelets]]. These wavelet methods can be combined with multigrid methods.<ref>{{cite book |chapter-url=https://books.google.com/books?id=mtsy6Ci2TRoC&pg=PA140 |author1=Björn Engquist |author2=Olof Runborg |editor1=Timothy J. Barth |editor2=Tony Chan |editor3=Robert Haimes |chapter=Wavelet-based numerical homogenization with applications |title=Multiscale and Multiresolution Methods |isbn=978-3-540-42420-8 |volume=20 of Lecture Notes in Computational Science and Engineering |publisher=Springer |year=2002 |page=140 ''ff''}}</ref><ref>{{cite book |url=https://books.google.com/books?id=-og1wD-Nx_wC&q=wavelet+ |author1=U. Trottenberg |author2=C. W. Oosterlee |author3=A. Schüller |title=Multigrid |isbn=978-0-12-701070-0|year=2001 |publisher=Academic Press }}</ref> For example, one use of wavelets is to reformulate the finite element approach in terms of a multilevel method.<ref>{{cite book |title=Numerical Analysis of Wavelet Methods |author=Albert Cohen |url=https://books.google.com/books?id=Dz9RnDItrAYC&pg=PA44 |page=44 |publisher=Elsevier |year=2003 |isbn=978-0-444-51124-9}}</ref>
'''Adaptive multigrid''' exhibits [[adaptive mesh refinement]], that is, it adjusts the grid as the computation proceeds, in a manner dependent upon the computation itself.<ref>{{cite book |author1=U. Trottenberg |author2=C. W. Oosterlee |author3=A. Schüller |title=Multigrid |chapter=Chapter 9: Adaptive Multigrid |chapter-url=https://books.google.com/books?id=-og1wD-Nx_wC&pg=PA356 |page=356 |isbn=978-0-12-701070-0|year=2001 |publisher=Academic Press }}</ref> The idea is to increase resolution of the grid only in regions of the solution where it is needed.
==Algebraic multigrid (AMG)==
Practically important extensions of multigrid methods include techniques where no partial differential equation nor geometrical problem background is used to construct the multilevel hierarchy.<ref>{{cite book |title=Matrix-based multigrid: theory and applications |author=Yair Shapira |chapter-url=https://books.google.com/books?id=lCDGhpDDk5IC&pg=PA66 |chapter=Algebraic multigrid |page=66 |isbn=978-1-4020-7485-1 |publisher=Springer |year=2003}}</ref> 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,<ref>{{cite book |author1=U. Trottenberg |author2=C. W. Oosterlee |author3=A. Schüller |title=Multigrid |url=https://books.google.com/books?id=-og1wD-Nx_wC&pg=PA417 |page=417 |isbn=978-0-12-701070-0|year=2001 |publisher=Academic Press }}</ref> 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<ref>Xu, J. and Zikatanov, L., 2017. Algebraic multigrid methods. Acta Numerica, 26, pp.591-721. [https://arxiv.org/pdf/1611.01917.pdf]</ref> 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. 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 ==
Line 212 ⟶ 220:
| journal = Computing Methods in Applied Sciences and Engineering, VI
| pages = 189–197
| isbn = 9780444875976
| access-date = 1 August 2015
}}</ref>
Line 235 ⟶ 244:
== References ==
{{refbegin}}
*
* {{cite journal | first = N. S. | last = Bakhvalov | author-link = Nikolai Bakhvalov | year = 1966 | url = https://www.sciencedirect.com/science/article/pii/0041555366901182 | title = On the convergence of a relaxation method with natural constraints on the elliptic operator | journal = USSR Comp. Math. Math. Phys. | volume = 6 | issue = 5 | pages = 101–113 }}
*
* {{cite book | first1 = William L. | last1 = Briggs
* {{cite journal | first = R. P. | last = Fedorenko
* {{cite journal | first = R. P. | last = Fedorenko | year = 1964 | title = The speed of convergence of one iterative process | journal = USSR Comput. Math. Math. Phys. | volume = 4 | page = 227 }}
* {{cite book | last1 = Press | first1 = W. H. | last2 = Teukolsky | first2 = S. A. | last3 = Vetterling | first3 = W. T. | last4 = Flannery | first4 = B. P. | year = 2007 | title = Numerical Recipes: The Art of Scientific Computing | edition = 3rd | publisher = Cambridge University Press | ___location = New York | isbn = 978-0-521-88068-8 | chapter = Section 20.6. Multigrid Methods for Boundary Value Problems | chapter-url = http://apps.nrbook.com/empanel/index.html#pg=1066 }} {{refend}}
== External links ==
*[https://web.archive.org/web/20100527194456/https://computation.llnl.gov/casc/linear_solvers/present.html Links to AMG presentations]
|