Iterative Methods and Multigrid

Similar documents
Computational Linear Algebra

Elliptic Problems / Multigrid. PHY 604: Computational Methods for Physics and Astrophysics II

Introduction to Multigrid Method

Kasetsart University Workshop. Multigrid methods: An introduction

Iterative Methods and Multigrid

Multigrid Methods and their application in CFD

AMS526: Numerical Analysis I (Numerical Linear Algebra)

6. Multigrid & Krylov Methods. June 1, 2010

Introduction to Scientific Computing II Multigrid

Solving PDEs with Multigrid Methods p.1

1. Fast Iterative Solvers of SLE

6. Iterative Methods for Linear Systems. The stepwise approach to the solution...

Stabilization and Acceleration of Algebraic Multigrid Method

Multigrid absolute value preconditioning

Chapter 5. Methods for Solving Elliptic Equations

Bootstrap AMG. Kailai Xu. July 12, Stanford University

Notes on Multigrid Methods

INTRODUCTION TO MULTIGRID METHODS

Numerical Programming I (for CSE)

Von Neumann Analysis of Jacobi and Gauss-Seidel Iterations

Notes for CS542G (Iterative Solvers for Linear Systems)

Solving Symmetric Indefinite Systems with Symmetric Positive Definite Preconditioners

The Conjugate Gradient Method

Geometric Multigrid Methods for the Helmholtz equations

Algebraic Multigrid as Solvers and as Preconditioner

The Fundamentals and Advantages of Multi-grid Techniques

MULTIGRID METHODS FOR NONLINEAR PROBLEMS: AN OVERVIEW

New Multigrid Solver Advances in TOPS

University of Illinois at Urbana-Champaign. Multigrid (MG) methods are used to approximate solutions to elliptic partial differential

Adaptive algebraic multigrid methods in lattice computations

Multigrid Methods for Discretized PDE Problems

Preconditioned Locally Minimal Residual Method for Computing Interior Eigenpairs of Symmetric Operators

Preface to the Second Edition. Preface to the First Edition

Comparison of V-cycle Multigrid Method for Cell-centered Finite Difference on Triangular Meshes

Aspects of Multigrid

A h u h = f h. 4.1 The CoarseGrid SystemandtheResidual Equation

Learning with Momentum, Conjugate Gradient Learning

Geometric Multigrid Methods

3D Space Charge Routines: The Software Package MOEVE and FFT Compared

arxiv: v1 [math.na] 11 Jul 2011

Research Article Evaluation of the Capability of the Multigrid Method in Speeding Up the Convergence of Iterative Methods

CS 542G: The Poisson Problem, Finite Differences

MULTIGRID ARNOLDI FOR EIGENVALUES

CS168: The Modern Algorithmic Toolbox Lecture #8: How PCA Works

ADAPTIVE ALGEBRAIC MULTIGRID

Introduction to Multigrid Methods Sampling Theory and Elements of Multigrid

Chapter 7 Iterative Techniques in Matrix Algebra

6. Iterative Methods: Roots and Optima. Citius, Altius, Fortius!

Partial Differential Equations

Adaptive Multigrid for QCD. Lattice University of Regensburg

Bindel, Fall 2016 Matrix Computations (CS 6210) Notes for

Robust solution of Poisson-like problems with aggregation-based AMG

Scientific Computing II

Chapter 3: Root Finding. September 26, 2005

Iterative Methods. Splitting Methods

Image Reconstruction And Poisson s equation

1 Extrapolation: A Hint of Things to Come

9.1 Preconditioned Krylov Subspace Methods

Spectral element agglomerate AMGe

Theory of Iterative Methods

AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 23: GMRES and Other Krylov Subspace Methods; Preconditioning

Algebraic Multigrid Preconditioners for Computing Stationary Distributions of Markov Processes

On the Development of Implicit Solvers for Time-Dependent Systems

Multigrid Solution of the Debye-Hückel Equation

An Introduction of Multigrid Methods for Large-Scale Computation

Here is an example of a block diagonal matrix with Jordan Blocks on the diagonal: J

Solving Negative Order Equations by the Multigrid Method Via Variable Substitution

Course Notes: Week 1

An Introduction to Algebraic Multigrid (AMG) Algorithms Derrick Cerwinsky and Craig C. Douglas 1/84

AMG for a Peta-scale Navier Stokes Code

Background. Background. C. T. Kelley NC State University tim C. T. Kelley Background NCSU, Spring / 58

Diffusion / Parabolic Equations. PHY 688: Numerical Methods for (Astro)Physics

HW4, Math 228A. Multigrid Solver. Fall 2010

The Removal of Critical Slowing Down. Lattice College of William and Mary

K.S. Kang. The multigrid method for an elliptic problem on a rectangular domain with an internal conductiong structure and an inner empty space

A Generalized Eigensolver Based on Smoothed Aggregation (GES-SA) for Initializing Smoothed Aggregation Multigrid (SA)

Class Meeting # 2: The Diffusion (aka Heat) Equation

Sparse Matrix Techniques for MCAO

Physics 202 Laboratory 5. Linear Algebra 1. Laboratory 5. Physics 202 Laboratory

Multigrid Methods for Linear Systems with Stochastic Entries Arising in Lattice QCD. Andreas Frommer

JACOBI S ITERATION METHOD

Preliminary/Qualifying Exam in Numerical Analysis (Math 502a) Spring 2012

arxiv: v1 [math.na] 6 Nov 2017

Domain decomposition on different levels of the Jacobi-Davidson method

AN AGGREGATION MULTILEVEL METHOD USING SMOOTH ERROR VECTORS

hypre MG for LQFT Chris Schroeder LLNL - Physics Division

ITERATIVE PROJECTION METHODS FOR SPARSE LINEAR SYSTEMS AND EIGENPROBLEMS CHAPTER 3 : SEMI-ITERATIVE METHODS

Multilevel Preconditioning of Graph-Laplacians: Polynomial Approximation of the Pivot Blocks Inverses

CHAPTER 4. Interpolation

1e N

MATH 320, WEEK 11: Eigenvalues and Eigenvectors

Two-level Domain decomposition preconditioning for the high-frequency time-harmonic Maxwell equations

Lecture 11. Linear systems: Cholesky method. Eigensystems: Terminology. Jacobi transformations QR transformation

Topics. The CG Algorithm Algorithmic Options CG s Two Main Convergence Theorems

In this section again we shall assume that the matrix A is m m, real and symmetric.

ITERATIVE METHODS FOR NONLINEAR ELLIPTIC EQUATIONS

INTERGRID OPERATORS FOR THE CELL CENTERED FINITE DIFFERENCE MULTIGRID ALGORITHM ON RECTANGULAR GRIDS. 1. Introduction

LINEAR ALGEBRA: NUMERICAL METHODS. Version: August 12,

AN HELMHOLTZ ITERATIVE SOLVER FOR THE THREE-DIMENSIONAL SEISMIC IMAGING PROBLEMS?

Constrained Minimization and Multigrid

Transcription:

Iterative Methods and Multigrid Part 1: Introduction to Multigrid 1 12/02/09 MG02.prz

Error Smoothing 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Initial Solution=-Error 0 10 20 30 40 50 60 70 80 90 100 DCT: [4.9, 0.27, 0.16, 0.061, -2.4,...], O(0.1) or O(0.2) 2 12/02/09 MG02.prz

Error Smoothing 0.8 Solution=-Error 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 10 20 30 40 50 60 70 80 90 100 After 20 Jacobi iterations with =1 3 12/02/09 MG02.prz

0.7 Solution=-Error 0.6 0.5 0.4 0.3 0.2 0.1 0 0 10 20 30 40 50 60 70 80 90 100 After 50 Jacobi iterations with =1 4 12/02/09 MG02.prz

0.45 Solution=-Error 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 0 10 20 30 40 50 60 70 80 90 100 After 1000 Jacobi iterations with =1 DCT: [2.4,, -1.1,,...,, 0.35], =O(0.01), mainly O(1e-3) 5 12/02/09 MG02.prz

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 20 30 40 50 60 70 80 90 100 6 12/02/09 MG02.prz

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 10 20 30 40 50 60 70 80 90 100 7 12/02/09 MG02.prz

0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 10 20 30 40 50 60 70 80 90 100 8 12/02/09 MG02.prz

0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 0 10 20 30 40 50 60 70 80 90 100 9 12/02/09 MG02.prz

Convergence: e ( k) = G k e ( 0), where G is iteration matrix G = (I P 1 A). u ( k+1) = u ( k) + P 1 r ( k) = u ( k) + P 1 (f Au ( k) ) = (I P 1 A)u ( k) + P 1 f Jacobi iteration matrix: (1 )I + R J = (1 )I + D 1 (D A) This gives: I 2 A Eigenvalues : I 2 A (I 2A) = 1 2 (A) Eigenvalues of A 10 12/02/09 MG02.prz

Eigenvalues of : A Assume eigenvector close to physical eigenvector: v k = sin kj n Apply pointwise rule for Jacobi: Av j,k = sin k (j 1) n + 2sin kj n 2sin kj n (1 cos k n ) sin k (j+1) n (so eigenvector indeed) = 2sin kj n 2sin kj n cos k n = 1 cos k n = 1 cos 2 k 2n = 1 (1 2sin 2 ( k 2n )) = 2sin 2 ( k 2n ) 2sin kj n (1 cos k n ) = sin kj n * 4sin 2 ( k 2n ) This gives for the weighted Jacobi method: I 2A (RJ, where ) = 1 2 sin 2 ( k 2n ) 0 < [ 1 Always converges. Poor convergence for which modes? 11 12/02/09 MG02.prz

Some observat ions: We see from experiments and analysis that convergence for smooth and oscillatory modes is very different. More precisely, our analysis (given some ) how much each mode is reduced in norm per iteration (sweep over all points). Choosing appropriate we can make all oscillatory modes converge relatively fast. However, no choice for exists that makes the convergence for modes with small k fast. We could analyze this problem (Laplacian and Jacobi) easily because eigenvectors A are the eigenvectors of iteration matrix (I D 1 A). This is not generally the case. The Jacobi iteration does not mix modes. The image of a sine wave under the iteration matrix is same wave damped. Not general. 12 12/02/09 MG02.prz

Some terminology: Consider vectors v k = sin jk n on normalized domain : [0, 1] where 1 [ k [ n 1and 0[ j [ n number of grid points: n wavenumber: k wavelength: l = 2 (since grid points span domain of size ) k n 1 k This also shows that mode k gives full sine waves on domain. 2 We cannot represent waves on our grid with a wavelength less than 2h This corresponds to wavenumber larger than n. Such waves would actually be disguised as waves with longer wavelength: aliasing. The wavenumber k = n/2 corresponds to wavelength l = 4/n l 4h. 13 12/02/09 MG02.prz

We saw that it is important to distinguish oscillatory and smooth waves: Low frequency/smooth if 1 [ k < n/2 High frequency/oscillatory if n/2 [ k [ n 1 A particular iteration scheme (splitting) and omega give rise to the iteration u i+1 = (I P 1 A)u i + P 1 f which means for the error e i+1 = (I P 1 A)e i = (I P 1 A) i e 0 So if (I P 1 A) = V V 1 and e 0 = V 0 then e i = k v k i k k,0 So analogous to analysis of Jacobi for Laplacian we can simplify the analysis of the convergence by considering eigenvectors separately. We can consider which is best for which eigenvector (we can pick only one per iteration) and if there s a best overall. 14 12/02/09 MG02.prz

Analyze which best for Laplacian and Jacobi iteration: ( R J, ) = 1 2 sin 2 ( k ) 2n where 0 < [ 1 k (R ) 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 =1/6 =1/3 =1/2 =2/3 =5/6 =1 0 10 20 30 40 50 60 70 80 90 100 k 15 12/02/09 MG02.prz

Standard Jacobi = 1 works for the middle range wavenumbers, but does poorly for both low and high frequency waves. The choice does well for a fairly large range of wavenumbers = 2/3 No does well for the lowest frequencies. In fact k = 1:1 2 sin 2 ( 2n ) l 1 2 sin 2 ( h 2 ) l 1 h2 2 2 So for small h there will be no [ 1 that will make 1 (R ) small Worse, for as h d 0 (solving problem more accurately) the reduction factor becomes closer and closer to 1. 16 12/02/09 MG02.prz

Let s give up on the low frequencies and focus on high frequencies. (or at least postpone elimination of low frequency error) oscillatory modes: n/2 [ k [ n 1 We see that several values for do well. To get the best we require again the equi-oscillating one (remember Chebyshev polynomials): n/2 (R ) = n (R ) This gives 1 2 sin 2 ( n/2) 2n = 1 + 2 sin 2 ( n 2n ) w 1 2 sin 2 ( 4 ) = 1 + 2 sin 2 ( 2 ) w 1 = 1 + 2 w 2 = 3 w = 2 3 Worst convergence factor attained at. k = 2 3 :1 4 3 sin 2 ( 4 ) = 1 4 6 = 1 3 17 12/02/09 MG02.prz

So k [ 1/3 and oscillatory components are reduced by at least a factor 3 each iteration. This factor is called the smoothing factor. From its derivation we see that it is independent of. h Suppose we wanted to reduce smooth modes by at least factor 1/2. 1 2 sin 2 ( h 2 ) l 1 2 2 h 2 4 = 1 2 h 2 2 d 2 h 2 = 1 e = 1 2 h 2 Then for we get: k = n/2 1 2 2 h 2 sin 2 ( 4 ) = 1 1 2 h 2 So for h < 1 we will amplify the oscillating modes! Divergence. 2 18 12/02/09 MG02.prz

1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 k=1 0 10 20 30 40 50 60 70 80 90 100 0.8 after 500 iterations 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 10 20 30 40 50 60 70 80 90 100 19 12/02/09 MG02.prz

1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 k=10 0 10 20 30 40 50 60 70 80 90 100 1.5 1 0.5 0-0.5-1 -1.5-2 -6 after 274 it.s 2 x 10 0 10 20 30 40 50 60 70 80 90 100 20 12/02/09 MG02.prz

1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 k=75 0 10 20 30 40 50 60 70 80 90 100 1.5 x10-6 37 iterations 1 0.5 0-0.5-1 -1.5 0 10 20 30 40 50 60 70 80 90 100 21 12/02/09 MG02.prz

1.5 k1=2; k2=75 1 0.5 0-0.5-1 -1.5 0 10 20 30 40 50 60 70 80 90 100 0.4 0.3 0.2 0.1 0-0.1-0.2-0.3 after 500 iterations coarse part removed in a few iterations -0.4 0 10 20 30 40 50 60 70 80 90 100 22 12/02/09 MG02.prz

k (R ) 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 =1/6 =1/3 =1/2 =2/3 =5/6 =1 0 10 20 30 40 50 60 70 80 90 100 k 23 12/02/09 MG02.prz

Waves on different grids Consider wave with wavenumber : k u h j,k = sin jk n on grid h Consider same wave on the coarse grid (half the points), by simply taking value at every other point: u 2h h j,k = u 2j,k = sin 2jk n = sin jk on grid. n/2 2h So k th mode on fine grid gives k th mode on coarse grid. Should not be surprising since k th 2 mode is wave with wavelenght, k which does not depend on n. Another way to see this is that we have half the number of points and half the number of waves. 24 12/02/09 MG02.prz

Waves on different grids The oscillatory waves on 2h, which has n/2 points, are waves with wavenumbers n/4 [ k < n/2 1. Since wave number does not change, the modes with wavenumber n/4 [ k < n/2 become oscillatory. So half the smooth modes on h become oscillatory on 2h. The other half remain smooth (but less smooth than before). The oscillatory modes on the fine grid cannot be represented on the coarse grid. What happens to the oscillatory modes on h when we go to 2h? Why is this a problem for our solution algorithm? 25 12/02/09 MG02.prz

Waves on different grids Given problem with with gives 33 grid points and. n = 32 j = 0 32 We look at following waves on and : 1/32 1/16 1) k = 5, 14, 26 2) k = 5, 14, 30 Notice that k = 5 is smooth on both grids (but less smooth on 1/16 ) k = 14 is smooth on 1/32 and becomes oscillatory on 1/16 k = 26, 30 are oscillatory on 1/32 and become smooth on 1/16 The effect for k = 26, 30 is called aliasing: an oscillatory wave disguises itself as a smooth one. In fact a wave with wavenumber k > n 1 appears as a wave with wavenumber k = 2n k. There is no way to distinguish the two on the given grid. 26 12/02/09 MG02.prz

Waves on different grids 1 0.5 sin jk n 0 k1=5 k2=14 k3=26 n=32-0.5-1 0 5 10 15 20 25 30 35 j 27 12/02/09 MG02.prz

Waves on different grids 1 sin jk n/2 0.5 0 k1=5 k2=14 k3=26 n=16-0.5-1 0 5 10 15 20 j 28 12/02/09 MG02.prz

Waves on different grids 1 0.5 sin jk n 0 k1=5 k2=14 k3=30 n=32-0.5-1 0 5 10 15 20 25 30 35 j 29 12/02/09 MG02.prz

Waves on different grids 1 0.5 sin jk n/2 0 k1=5 k2=14 k3=30 n=16-0.5-1 0 5 10 15 20 j 30 12/02/09 MG02.prz

The basic idea behind MG We saw that our basic iteration or relaxation methods are good in damping the oscillatory components of the error. They are not effective on the smooth modes. So the idea is to use relaxation on the fine grid until oscillatory modes are sufficiently reduced and convergence slows down. Then we move to the coarse grid where the (fine grid) smooth modes are more oscillatory and hence more effectively reduced by relaxation. We saw that the very smooth modes ( k < n/4) on the fine grid remain smooth on the coarse grid. Hence they will still be reduced slowly by relaxation. The natural answer to this is to move to the next coarser grid, etc. Typically at some point a direct solver is used. 31 12/02/09 MG02.prz

Grid transfer and coarse grid eq.s Important question now is how do we move among the grids. 1) How do we use the solution from the coarser grids (that have reduced or removed the smooth components of error) to get a better solution on the fine grid? 2) How do we transfer the approximate solution from fine grid to coarse grid and how do we derive the equations to solve on the coarse grid? 32 12/02/09 MG02.prz

Grid transfer and coarse grid eq.s Let s derive equations for the coarse grid. We want to compute a correction to the solution on the fine grid. That means we must compute an approximation to the error. The residual gives us an equation to compute the error: Ae= r So we compute the residual at h and map it to 2h. This can be done in many ways, but for the moment we stick to the simple trivial injection we saw before: r 2h h j = r 2j. This will provide our right hand side. Again to keep things simple we assume that the coarse grid operator is the coarse grid discretization of the PDE (basically same operator as on the fine grid): (fine grid ). A 2h A h So we have the equation: A 2h e 2h = r 2h 33 12/02/09 MG02.prz

Grid transfer and coarse grid eq.s Suppose we find a satisfactory approximation to the error e 2h. How do we use this to correct the fine grid approximation to the solution? This operation is called interpolation or prolongation. Again many possibilities exist. We will look at a simple one first. Clearly for the points existing in both grids we can simply take the same values (just as going from fine to coarse grid). For the intermediate points we use linear interpolation. An important rationale for this is the following. Assume the error on the fine grid is smooth. Further assume that we have the exact coarse grid error on the coarse grid. Linear interpolation of the coarse grid error on the fine grid will give a smooth function. Hence we may assume we get a good approximation to the fine grid error. On the other hand if the fine grid error is oscillatory we cannot hope to get a good approximation (hence should be smooth). e h 34 12/02/09 MG02.prz

Grid transfer and coarse grid eq.s The interpolation or prolongation operator is represented by h I 2h. We will represent the restriction operator by. Assume n is even, ( n+ 1) grid points, and we ignore the boundary points and assume zero (Dirichlet) boundary conditions. Then we need to map from coarse grid points 1 n 2 1to fine grid points 1 n 1: I h 2h I h 2h : n 2 1 d n 1 = 1 2 1 2 1 1 2 1 The operator takes the coarse grid value at even grid points and averages values at neighboring points for the odd points. If we include the points on the boundary it would copy the values (even points). 35 12/02/09 MG02.prz

Grid transfer and coarse grid eq.s We will discuss two restriction operators: I h 2h Injection simply assigns the fine grid values to the corresponding coarse grid variables: I h 2h : n 1 d n 2 1 = 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 Another restriction operator is so-called full-weighting. Here the values at the coarse grid points are taken as weighted averages of their (immediate) neighbors. The full weighting operator is a scaled transpose of the linear interpolation (prolongation) operator. (compare with the domain decomposition operators) 36 12/02/09 MG02.prz

Grid transfer and coarse grid eq.s Full weighting at gives for a coarse grid variable: v 2h j = 1 4 v h 2j 1 + 2v h 2j + vh 2j+1 Written as a matrix operator (for whole grid) this gives I h 2h : n 1 d n 2 1 = 1 4 1 2 1 1 2 1 Note that all these steps are very easy to implement as local operators at each point. 37 12/02/09 MG02.prz

2-Grid algorithm We now have all the steps to put our first multigrid algorithms together. Two grid algorithm: Au = f (on h ) h : Do h k 1 relaxations on A h u h = f h starting with some initial guess r h = f h A h u h ; r 2h = I 2h h r h ; 2h : Solve (directly) A 2h e 2h = r 2h ê h = I h 2h e 2h ; u h = u h + ê h ; h h : Do k 2 relaxations on A h u h = f h starting with new u h. A direct solver is used for A 2h e 2h = r 2h. Obviously for very large systems this is not practical. However, the two grid algorithm is often used for analysis. An obvious alternative for a direct solver is to do another coarse grid correction on and so on (CS students feel the recursion coming). 4h 38 12/02/09 MG02.prz

2-Grid algorithm We may also use an iterative solver (another couple of relaxation sweeps) on 2h : A 2h e 2h = r 2h. This can in fact already be surprisingly effective. We typically use a direct solver at some level (when the number of variables gets sufficiently small). 39 12/02/09 MG02.prz

V-cycle variations V-cycle MG algorithm: Au = f(on h ) h : Do h k 1 relaxations on A h u h = f h starting with some initial guess r h = f h A h u h ; f 2h = I 2h h r h ; 2h : Do 2h k 1 relaxations on A 2h u 2h = f 2h starting with zero guess r 2h = f 2h A 2h u 2h ; f 4h = I 4h 2h r 2h ; and so on for coarser and coarser grids Lh : Solve (directly) A Lh u Lh = f Lh ; (suff. iterations make direct solve) e ( L 1)h = I (L 1)h Lh u Lh ; ( L 1)h : u ( L 1)h = u ( L 1)h + e ( L 1)h ; (L 1)h Do k 2 relaxations on A ( L 1)h u ( L 1)h = f ( L 1)h using new and so on for finer and finer grids h : u h = u h + e h ; h Do k 2 relaxations on A h u h = f h starting with new u h. u ( L 1)h 40 12/02/09 MG02.prz

V-cycle variations Let s experiment: 41 12/02/09 MG02.prz