I am reading the Chapra and Canale book on numerical methods, and was working through the chapters on solving linear systems. Now the book goes through direct methods including Gaussian Elimination, as well as LU factorization, versus iterative methods like Jacobi iteration, Gauss-Seidel, and conjugate gradient methods.

Now I was not clear what the current thinking was on which methods are best to use under what circumstances. So, if I am coming from the perspective of solving PDEs, then I will have to discretize the domain and repeatedly solve large systems of ODEs--leading to large systems of matrices. Most of the examples I have seen for solving large systems involves using iterative methods (Jacobi or Gauss-Seidel) for small the medium systems, and then moving to Krylov subspaces or GMRES for larger systems. So I never see any mention of LU factorization, etc., in any of these contexts.

Hence, I was not clear on when to use LU factorization, or QR factorization or Cholesky decomposition versus the seemingly more popular iterative methods. What is the current thinking on which methods work best under what circumstances.


1 Answer 1


It's a complicated question, which is why I've recorded a whole bunch of video lectures on the topic :-) Take a look at lectures 34 and following here: https://www.math.colostate.edu/~bangerth/videos.html

  • 1
    $\begingroup$ Oh this is very helpful. Yes, I just read over the introduction to lecture 34, and it makes sense. I think your point that trying to get the right answer the first time is rather difficult makes a lot of sense. Preconditioning and the number of bandwidth issues you mention create a nice framework for thinking about the choice of method. Thanks again for the videos, I will watch them. $\endgroup$
    – krishnab
    Dec 7, 2020 at 18:07
  • $\begingroup$ @krishnab Glad to hear they are useful! $\endgroup$ Dec 7, 2020 at 20:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.