MULTIGRID ================================== #. `Multigrid Solver for 1D Poisson Problem `_ #. `Multigrid methods `_ #. `MIT Numerical Methods for PDE Lecture 6: Walkthough of a multigrid solver `_ #. `Elliptic Problems / Multigrid `_ #. `numerical methods `_ #. `多重网格法 (Multigrid Method) 简述和示例 `_ #. `Algebraic Multigrid `_ #. `Algebraic Multigrid Methods `_ #. `Algebraic Multigrid AMG-An Introduction with Applications `_ #. `Mathematical Methods for Engineers II `_ Multigrid Framework --------------------------- We saw the rate of convergence for iterative methods depends upon the iteration matrix. Point iterative methods like Jacobi and Gauss-Seidel methods have large eigenvalue and hence the slow convergence. As the grid becomes finer, the maximum eigenvalue of the iteration matrix becomes close to 1. Therefore, for very high-resolution simulation, these iterative methods are not feasible due to the large computational time required for residuals to go below some specified tolerance. The multigrid framework is one of the most efficient iterative algorithm to solve the linear system of equations arising due to the discretization of the Poisson equation. The multigrid framework works on the principle that low wavenumber errors on fine grid behave like a high wavenumber error on a coarse grid. In the multigrid framework, we restrict the residuals on the fine grid to the coarser grid. The restricted residual is then relaxed to resolve the low wavenumber errors and the correction to the solution is prolongated back to the fine grid. We can use any of the iterative methods like Jacobi, Gauss-Seidel method for relaxation. The algorithm can be implemented recursively on the hierarchy of grids to get faster convergence. Basic Iterative Methods --------------------------- We now consider how model problems might be treated using conventional iterative or relaxation methods. We first establish the notation for this and all remaining chapters. Let .. math:: A\mathbf{u}=\mathbf{f} denote a system of linear equations. We always use :math:`\mathbf{u}` to denote the exact solution of this system and :math:`\mathbf{v}` to denote an approximation to the exact solution, perhaps generated by some iterative method. Bold symbols, such as :math:`\mathbf{u}` and :math:`\mathbf{v}`, represent vectors, while the :math:`j\text{th}` components of these vectors are denoted by :math:`{u}_{j}` and :math:`{v}_{j}`. In later chapters, we need to associate :math:`\mathbf{u}` and :math:`\mathbf{v}` with a particular grid, say :math:`{\Omega}^{h}`. In this case, the notation :math:`{u}^{h}` and :math:`{v}^{h}` is used. Suppose that the system :math:`A\mathbf{u}=\mathbf{f}` has a unique solution and that :math:`\mathbf{v}` is a computed approximation to :math:`\mathbf{u}`. There are two important measures of :math:`\mathbf{v}` as an approximation to :math:`\mathbf{u}`. One is the error (or algebraic error) and is given simply by .. math:: \mathbf{e}=\mathbf{u}-\mathbf{v} The error is also a vector and its magnitude may be measured by any of the standard vector norms. The most commonly used norms for this purpose are the maximum (or infinity) norm and the Euclidean or 2-norm, defined, respectively, by .. math:: \|\mathbf{e}\|_{\infty }=\underset{1\le j\le n }{\text{max}}|e_{j}|\quad \text{and } \|\mathbf{e}\|_{2}=\Bigg\{{\sum_{j=1}^{n}e_{j}^{2}}\Bigg\}^{1/2} Unfortunately, the error is just as inaccessible as the exact solution itself. However, a computable measure of how well :math:`\mathbf{v}` approximates :math:`\mathbf{u}` is the residual, given by .. math:: \mathbf{r}=\mathbf{f}-A\mathbf{v} The residual is simply the amount by which the approximation :math:`\mathbf{v}` fails to satisfy the original problem :math:`A\mathbf{u}=\mathbf{f}`. It is also a vector and its size may be measured by the same norm used for the error. By the uniqueness of the solution, :math:`\mathbf{r}=0` if and only if :math:`\mathbf{e}=0`. However, it may not be true that when :math:`\mathbf{r}` is small in norm, :math:`\mathbf{e}` is also small in norm. Residuals and Errors. --------------------------- A residual may be defined for any numerical approximation and, in many cases, a small residual does not necessarily imply a small error. This is certainly true for systems of linear equations, as shown by the following two problems: .. math:: \begin{pmatrix} 1& -1\\ 21&-20 \end{pmatrix} \begin{pmatrix} u_{1}\\u_{2} \end{pmatrix}= \begin{pmatrix} -1\\-19 \end{pmatrix} and .. math:: \begin{pmatrix} 1& -1\\ 3&-1 \end{pmatrix} \begin{pmatrix} u_{1}\\u_{2} \end{pmatrix}= \begin{pmatrix} -1\\1 \end{pmatrix} Both systems have the exact solution :math:`\mathbf{u}=(1,2)^{T}`. Suppose we have computed the approximation :math:`\mathbf{v}=(1.95, 3)^{T}`. The error in this approximation is :math:`\mathbf{e}=(-0.95, -1)^{T}`, for which :math:`\|\mathbf{e}\|_{2}=1.379`. The norm of the residual in :math:`\mathbf{v}` for the first system is :math:`\|\mathbf{r}_{1}\|_{2}=0.071`, while the residual norm for the second system is :math:`\|\mathbf{r}_{2}\|_{2}=1.851`. Clearly, the relatively small residual for the first system does not reflect the rather large error. Remembering that :math:`A\mathbf{u}=\mathbf{f}` and using the definitions of :math:`\mathbf{r}` and :math:`\mathbf{e}`, we can derive an extremely important relationship between the error and the residual: .. math:: \begin{array}{l} A\mathbf{u}=\mathbf{f}\\ \mathbf{r}=\mathbf{f}-A\mathbf{v}\\ A\mathbf{u}=\mathbf{f}=\mathbf{r}+A\mathbf{v}\\ \mathbf{r}=A(\mathbf{u}-\mathbf{v})\\ \mathbf{r}=A\mathbf{e}\\ \end{array} - .. math:: A\mathbf{e}=\mathbf{r} We call this relationship the residual equation. It says that the error satisfies the same set of equations as the unknown :math:`\mathbf{u}` when :math:`\mathbf{f}` is replaced by the residual :math:`\mathbf{r}`. The residual equation plays a vital role in multigrid methods and it is used repeatedly throughout this tutorial. We can now anticipate, in an imprecise way, how the residual equation can be used to great advantage. Suppose that an approximation :math:`\mathbf{v}` has been computed by some method. It is easy to compute the residual :math:`\mathbf{r}=\mathbf{f}-\mathbf{A}\mathbf{v}`. To improve the approximation :math:`\mathbf{v}`, we might solve the residual equation for e and then compute a new approximation using the definition of the error .. math:: \mathbf{u}=\mathbf{v}+\mathbf{e} In practice, this method must be applied more carefully than we have indicated. Nevertheless, this idea of residual correction is very important in all that follows. Model Problems ------------------- Multigrid methods were originally applied to simple boundary value problems that arise in many physical applications. For simplicity and for historical reasons, these problems provide a natural introduction to multigrid methods. As an example, consider the two-point boundary value problem that describes the steady-state temperature distribution in a long uniform rod. It is given by the second-order boundary value problem .. math:: -\cfrac{\text{d}^{2}u}{\text{d}u^{2}} +\sigma u(x)=f(x),\quad 0