Template for the Solution of Algebraic Eigenvalue Problems:
  A Practical Guide

Software Repository

Chapter 11: Preconditioning Techniques

Preconditioning replaces the system Ax = lambda x with the system M^{-1} A x = M^{-1} lambda x. A good choice of M makes the condition number of M^{-1} A much smaller than the condition number of A, thus accelerating convergence. M is an approximation to A such that

  1. M is symmetric and positive definite when A is symmetric and positive definite
  2. M^{-1} A is well conditioned
  3. M x = b is easy to solve

Many iterative methods depend in part on preconditioning to improve performance and ensure fast convergence. Preconditioning eigenproblems can be difficult. The matrices being preconditioned are often nearly singular, interior eigenvalues are difficult to find, and the preconditioned eigenvalue method may need restarting. Unlike Krylov subspace methods, preconditioning methods generally find just one eigenvalue at a time. However, this can sometimes be alleviated by using a block approach. In spite of the difficulties, preconditioned is more competitive if not too many eigenvalues are desired and if computing the eigenvectors is required.

Software

Section Package Name Language Comments
11.3 LOBPCG MATLAB locally optimal block preconditioning CG

list by chapter repository home