13

I just read Chapter 3 in "A Multigrid Tutorial" by Briggs/Henson/McCormick, link.

The text is about Multigrid cycles such as V-cycle, mu-cycle, FMG. What caught my eye: In most iterative procedures one checks whether it has converged to the desired tolerance/accuracy and if so, the procedure stops. But Briggs/Henson/McCormick do not use any convergence checking in the presented schemes. The number of iterations and recursions are just hardcoded and one has to trust that the scheme will converge.

So how is this done in Multigrid normally? Is it usual that the number of iterations/recursions is just hardcoded? I really fear that I will either waste a lot of computation time because I'm over-precise or on the other hand, accuracy will be poor in many cases when I choose a lower number of iterations/recursions.

Michael
  • 1,463
  • 11
  • 22
  • The lack of answers to this question is really surprising to me. Surely there are some very active users here who have quite a bit of multigrid experience in research and/or production environments? – Doug Lipinski Sep 15 '15 at 00:31
  • 2
    I think the problem is that multigrid nowadays is rarely used as a solver by itself (due to the lack of general convergence theory, I believe), but rather as a preconditioner for a more established iterative method such as CG or GMRES. In this context, no convergence check for multigrid is necessary, since the outer iteration takes care of it. – Christian Clason Sep 15 '15 at 08:19

3 Answers3

5

Yes, it is normal to have no convergence checks in MG for a few reasons. First, if you use a different number of iterates on each pass, then the MG operator is no longer linear, and you would have to use something like FGMRES as an accelerator which can accommodate a nonlinear preconditioner. Second, FMG is an exact solver (reduces error below discretization error) when it works, so checking convergence introduces costly synchronization into the algorithm. You would generally check at the end just to verify convergence.

Matt Knepley
  • 4,269
  • 24
  • 23
  • Do you have any sources to back this up? Currently your answer and the other top voted answer directly contradict each other. – Doug Lipinski Sep 18 '15 at 23:57
  • 1
  • Saad's book is the best reference for using FGMRES to accommodate a changing preconditioner: https://www-users.cs.umn.edu/~saad/IterMethBook_2ndEd.pdf

  • I believe the proof that FMG reduces error below discretization error with a sufficiently powerful V-cycle is in Trottenberg and Osterlee, but I reproduce the proof in my book: https://cse.buffalo.edu/~knepley/classes/caam519/CSBook.pdf

  • – Matt Knepley Sep 17 '18 at 01:01