Iterative Methods for Sparse Linear Systems, Second Edition

Although the methods seen in previous chapters are well founded theoretically, they are all likely to suffer from slow convergence for problems that arise from typical applications such as fluid dynamics and electronic device simulation. Preconditioning is a key ingredient for the success of Krylov subspace methods in these applications. This chapter discusses the preconditioned versions of the iterative methods already seen, but without being specific about the particular preconditioners used. The standard preconditioning techniques will be covered in the next chapter.
Lack of robustness is a widely recognized weakness of iterative solvers relative to direct solvers. This drawback hampers the acceptance of iterative methods in industrial applications despite their intrinsic appeal for very large linear systems. Both the efficiency and robustness of iterative techniques can be improved by using preconditioning. A term introduced in Chapter 4, preconditioning is simply a means of transforming the original linear system into one with the same solution, but that is likely to be easier to solve with an iterative solver. In general, the reliability of iterative techniques, when dealing with various applications, depends much more on the quality of the preconditioner than on the particular Krylov subspace accelerators used. We will cover some of these preconditioners in detail in the next chapter. This chapter discusses the preconditioned versions of the Krylov subspace algorithms already seen, using a generic preconditioner.
To begin with, it is worthwhile to consider the options available for preconditioning a system. The first step in preconditioning is...