Preconditioner

Last updated

In mathematics, preconditioning is the application of a transformation, called the preconditioner, that conditions a given problem into a form that is more suitable for numerical solving methods. Preconditioning is typically related to reducing a condition number of the problem. The preconditioned problem is then usually solved by an iterative method.

Contents

Preconditioning for linear systems

In linear algebra and numerical analysis, a preconditioner of a matrix is a matrix such that has a smaller condition number than . It is also common to call the preconditioner, rather than , since itself is rarely explicitly available. In modern preconditioning, the application of , i.e., multiplication of a column vector, or a block of column vectors, by , is commonly performed in a matrix-free fashion, i.e., where neither , nor (and often not even ) are explicitly available in a matrix form.

Preconditioners are useful in iterative methods to solve a linear system for since the rate of convergence for most iterative linear solvers increases because the condition number of a matrix decreases as a result of preconditioning. Preconditioned iterative solvers typically outperform direct solvers, e.g., Gaussian elimination, for large, especially for sparse, matrices. Iterative solvers can be used as matrix-free methods, i.e. become the only choice if the coefficient matrix is not stored explicitly, but is accessed by evaluating matrix-vector products.

Description

Instead of solving the original linear system for , one may consider the right preconditioned system

and solve

for and

for .

Alternatively, one may solve the left preconditioned system

Both systems give the same solution as the original system as long as the preconditioner matrix is nonsingular. The left preconditioning is more traditional.

The two-sided preconditioned system

may be beneficial, e.g., to preserve the matrix symmetry: if the original matrix is real symmetric and real preconditioners and satisfy then the preconditioned matrix is also symmetric. The two-sided preconditioning is common for diagonal scaling where the preconditioners and are diagonal and scaling is applied both to columns and rows of the original matrix , e.g., in order to decrease the dynamic range of entries of the matrix.

The goal of preconditioning is reducing the condition number, e.g., of the left or right preconditioned system matrix or . Small condition numbers benefit fast convergence of iterative solvers and improve stability of the solution with respect to perturbations in the system matrix and the right-hand side, e.g., allowing for more aggressive quantization of the matrix entries using lower computer precision.

The preconditioned matrix or is rarely explicitly formed. Only the action of applying the preconditioner solve operation to a given vector may need to be computed.

Typically there is a trade-off in the choice of . Since the operator must be applied at each step of the iterative linear solver, it should have a small cost (computing time) of applying the operation. The cheapest preconditioner would therefore be since then Clearly, this results in the original linear system and the preconditioner does nothing. At the other extreme, the choice gives which has optimal condition number of 1, requiring a single iteration for convergence; however in this case and applying the preconditioner is as difficult as solving the original system. One therefore chooses as somewhere between these two extremes, in an attempt to achieve a minimal number of linear iterations while keeping the operator as simple as possible. Some examples of typical preconditioning approaches are detailed below.

Preconditioned iterative methods

Preconditioned iterative methods for are, in most cases, mathematically equivalent to standard iterative methods applied to the preconditioned system For example, the standard Richardson iteration for solving is

Applied to the preconditioned system it turns into a preconditioned method

Examples of popular preconditioned iterative methods for linear systems include the preconditioned conjugate gradient method, the biconjugate gradient method, and generalized minimal residual method. Iterative methods, which use scalar products to compute the iterative parameters, require corresponding changes in the scalar product together with substituting for

Matrix splitting

A stationary iterative method is determined by the matrix splitting and the iteration matrix . Assuming that

the condition number is bounded above by

Geometric interpretation

For a symmetric positive definite matrix the preconditioner is typically chosen to be symmetric positive definite as well. The preconditioned operator is then also symmetric positive definite, but with respect to the -based scalar product. In this case, the desired effect in applying a preconditioner is to make the quadratic form of the preconditioned operator with respect to the -based scalar product to be nearly spherical. [1]

Variable and non-linear preconditioning

Denoting , we highlight that preconditioning is practically implemented as multiplying some vector by , i.e., computing the product In many applications, is not given as a matrix, but rather as an operator acting on the vector . Some popular preconditioners, however, change with and the dependence on may not be linear. Typical examples involve using non-linear iterative methods, e.g., the conjugate gradient method, as a part of the preconditioner construction. Such preconditioners may be practically very efficient, however, their behavior is hard to predict theoretically.

Random preconditioning

One interesting particular case of variable preconditioning is random preconditioning, e.g., multigrid preconditioning on random course grids. [2] If used in gradient descent methods, random preconditioning can be viewed as an implementation of stochastic gradient descent and can lead to faster convergence, compared to fixed preconditioning, since it breaks the asymptotic "zig-zag" pattern of the gradient descent.

Spectrally equivalent preconditioning

The most common use of preconditioning is for iterative solution of linear systems resulting from approximations of partial differential equations. The better the approximation quality, the larger the matrix size is. In such a case, the goal of optimal preconditioning is, on the one side, to make the spectral condition number of to be bounded from above by a constant independent of the matrix size, which is called spectrally equivalent preconditioning by D'yakonov. On the other hand, the cost of application of the should ideally be proportional (also independent of the matrix size) to the cost of multiplication of by a vector.

Examples

Jacobi (or diagonal) preconditioner

The Jacobi preconditioner is one of the simplest forms of preconditioning, in which the preconditioner is chosen to be the diagonal of the matrix Assuming , we get It is efficient for diagonally dominant matrices . It is used in analysis softwares for beam problems or 1-D problems (EX:- STAAD.Pro)

SPAI

The Sparse Approximate Inverse preconditioner minimises where is the Frobenius norm and is from some suitably constrained set of sparse matrices. Under the Frobenius norm, this reduces to solving numerous independent least-squares problems (one for every column). The entries in must be restricted to some sparsity pattern or the problem remains as difficult and time-consuming as finding the exact inverse of . The method was introduced by M.J. Grote and T. Huckle together with an approach to selecting sparsity patterns. [3]

Other preconditioners

Preconditioning for eigenvalue problems

Eigenvalue problems can be framed in several alternative ways, each leading to its own preconditioning. The traditional preconditioning is based on the so-called spectral transformations. Knowing (approximately) the targeted eigenvalue, one can compute the corresponding eigenvector by solving the related homogeneous linear system, thus allowing to use preconditioning for linear system. Finally, formulating the eigenvalue problem as optimization of the Rayleigh quotient brings preconditioned optimization techniques to the scene. [4]

Spectral transformations

By analogy with linear systems, for an eigenvalue problem one may be tempted to replace the matrix with the matrix using a preconditioner . However, this makes sense only if the seeking eigenvectors of and are the same. This is the case for spectral transformations.

The most popular spectral transformation is the so-called shift-and-invert transformation, where for a given scalar , called the shift, the original eigenvalue problem is replaced with the shift-and-invert problem . The eigenvectors are preserved, and one can solve the shift-and-invert problem by an iterative solver, e.g., the power iteration. This gives the Inverse iteration, which normally converges to the eigenvector, corresponding to the eigenvalue closest to the shift . The Rayleigh quotient iteration is a shift-and-invert method with a variable shift.

Spectral transformations are specific for eigenvalue problems and have no analogs for linear systems. They require accurate numerical calculation of the transformation involved, which becomes the main bottleneck for large problems.

General preconditioning

To make a close connection to linear systems, let us suppose that the targeted eigenvalue is known (approximately). Then one can compute the corresponding eigenvector from the homogeneous linear system . Using the concept of left preconditioning for linear systems, we obtain , where is the preconditioner, which we can try to solve using the Richardson iteration

The ideal preconditioning [4]

The Moore–Penrose pseudoinverse is the preconditioner, which makes the Richardson iteration above converge in one step with , since , denoted by , is the orthogonal projector on the eigenspace, corresponding to . The choice is impractical for three independent reasons. First, is actually not known, although it can be replaced with its approximation . Second, the exact Moore–Penrose pseudoinverse requires the knowledge of the eigenvector, which we are trying to find. This can be somewhat circumvented by the use of the Jacobi–Davidson preconditioner , where approximates . Last, but not least, this approach requires accurate numerical solution of linear system with the system matrix , which becomes as expensive for large problems as the shift-and-invert method above. If the solution is not accurate enough, step two may be redundant.

Practical preconditioning

Let us first replace the theoretical value in the Richardson iteration above with its current approximation to obtain a practical algorithm

A popular choice is using the Rayleigh quotient function . Practical preconditioning may be as trivial as just using or For some classes of eigenvalue problems the efficiency of has been demonstrated, both numerically and theoretically. The choice allows one to easily utilize for eigenvalue problems the vast variety of preconditioners developed for linear systems.

Due to the changing value , a comprehensive theoretical convergence analysis is much more difficult, compared to the linear systems case, even for the simplest methods, such as the Richardson iteration.

Preconditioning in optimization

Illustration of gradient descent Gradient descent.png
Illustration of gradient descent

In optimization, preconditioning is typically used to accelerate first-order optimization algorithms.

Description

For example, to find a local minimum of a real-valued function using gradient descent, one takes steps proportional to the negative of the gradient (or of the approximate gradient) of the function at the current point:

The preconditioner is applied to the gradient:

Preconditioning here can be viewed as changing the geometry of the vector space with the goal to make the level sets look like circles. [5] In this case the preconditioned gradient aims closer to the point of the extrema as on the figure, which speeds up the convergence.

Connection to linear systems

The minimum of a quadratic function

where and are real column-vectors and is a real symmetric positive-definite matrix, is exactly the solution of the linear equation . Since , the preconditioned gradient descent method of minimizing is

This is the preconditioned Richardson iteration for solving a system of linear equations.

Connection to eigenvalue problems

The minimum of the Rayleigh quotient

where is a real non-zero column-vector and is a real symmetric positive-definite matrix, is the smallest eigenvalue of , while the minimizer is the corresponding eigenvector. Since is proportional to , the preconditioned gradient descent method of minimizing is

This is an analog of preconditioned Richardson iteration for solving eigenvalue problems.

Variable preconditioning

In many cases, it may be beneficial to change the preconditioner at some or even every step of an iterative algorithm in order to accommodate for a changing shape of the level sets, as in

One should have in mind, however, that constructing an efficient preconditioner is very often computationally expensive. The increased cost of updating the preconditioner can easily override the positive effect of faster convergence. If , a BFGS approximation of the inverse hessian matrix, this method is referred to as a Quasi-Newton method.

Related Research Articles

In computational mathematics, an iterative method is a mathematical procedure that uses an initial value to generate a sequence of improving approximate solutions for a class of problems, in which the n-th approximation is derived from the previous ones.

Quadratic programming (QP) is the process of solving certain mathematical optimization problems involving quadratic functions. Specifically, one seeks to optimize a multivariate quadratic function subject to linear constraints on the variables. Quadratic programming is a type of nonlinear programming.

In numerical analysis, one of the most important problems is designing efficient and stable algorithms for finding the eigenvalues of a matrix. These eigenvalue algorithms may also find eigenvectors.

In linear algebra, a generalized eigenvector of an matrix is a vector which satisfies certain criteria which are more relaxed than those for an (ordinary) eigenvector.

<span class="mw-page-title-main">Conjugate gradient method</span> Mathematical optimization algorithm

In mathematics, the conjugate gradient method is an algorithm for the numerical solution of particular systems of linear equations, namely those whose matrix is positive-definite. The conjugate gradient method is often implemented as an iterative algorithm, applicable to sparse systems that are too large to be handled by a direct implementation or other direct methods such as the Cholesky decomposition. Large sparse systems often arise when numerically solving partial differential equations or optimization problems.

The Rayleigh–Ritz method is a direct numerical method of approximating eigenvalues, originated in the context of solving physical boundary value problems and named after Lord Rayleigh and Walther Ritz.

In linear algebra, an eigenvector or characteristic vector of a linear transformation is a nonzero vector that changes at most by a constant factor when that linear transformation is applied to it. The corresponding eigenvalue, often represented by , is the multiplying factor.

The Lanczos algorithm is an iterative method devised by Cornelius Lanczos that is an adaptation of power methods to find the "most useful" eigenvalues and eigenvectors of an Hermitian matrix, where is often but not necessarily much smaller than . Although computationally efficient in principle, the method as initially formulated was not useful, due to its numerical instability.

In numerical linear algebra, the Jacobi method is an iterative algorithm for determining the solutions of a strictly diagonally dominant system of linear equations. Each diagonal element is solved for, and an approximate value is plugged in. The process is then iterated until it converges. This algorithm is a stripped-down version of the Jacobi transformation method of matrix diagonalization. The method is named after Carl Gustav Jacob Jacobi.

In numerical linear algebra, the method of successive over-relaxation (SOR) is a variant of the Gauss–Seidel method for solving a linear system of equations, resulting in faster convergence. A similar method can be used for any slowly converging iterative process.

In mathematics, the generalized minimal residual method (GMRES) is an iterative method for the numerical solution of an indefinite nonsymmetric system of linear equations. The method approximates the solution by the vector in a Krylov subspace with minimal residual. The Arnoldi iteration is used to find this vector.

Numerical linear algebra, sometimes called applied linear algebra, is the study of how matrix operations can be used to create computer algorithms which efficiently and accurately provide approximate answers to questions in continuous mathematics. It is a subfield of numerical analysis, and a type of linear algebra. Computers use floating-point arithmetic and cannot exactly represent irrational data, so when a computer algorithm is applied to a matrix of data, it can sometimes increase the difference between a number stored in the computer and the true number that it is an approximation of. Numerical linear algebra uses properties of vectors and matrices to develop computer algorithms that minimize the error introduced by the computer, and is also concerned with ensuring that the algorithm is as efficient as possible.

Modified Richardson iteration is an iterative method for solving a system of linear equations. Richardson iteration was proposed by Lewis Fry Richardson in his work dated 1910. It is similar to the Jacobi and Gauss–Seidel method.

In linear algebra, eigendecomposition is the factorization of a matrix into a canonical form, whereby the matrix is represented in terms of its eigenvalues and eigenvectors. Only diagonalizable matrices can be factorized in this way. When the matrix being factorized is a normal or real symmetric matrix, the decomposition is called "spectral decomposition", derived from the spectral theorem.

In quantum mechanics, and especially quantum information theory, the purity of a normalized quantum state is a scalar defined as

Locally Optimal Block Preconditioned Conjugate Gradient (LOBPCG) is a matrix-free method for finding the largest eigenvalues and the corresponding eigenvectors of a symmetric generalized eigenvalue problem

A matrix difference equation is a difference equation in which the value of a vector of variables at one point in time is related to its own value at one or more previous points in time, using matrices. The order of the equation is the maximum time gap between any two indicated values of the variable vector. For example,

Augmented Lagrangian methods are a certain class of algorithms for solving constrained optimization problems. They have similarities to penalty methods in that they replace a constrained optimization problem by a series of unconstrained problems and add a penalty term to the objective, but the augmented Lagrangian method adds yet another term designed to mimic a Lagrange multiplier. The augmented Lagrangian is related to, but not identical with, the method of Lagrange multipliers.

Riemann invariants are mathematical transformations made on a system of conservation equations to make them more easily solvable. Riemann invariants are constant along the characteristic curves of the partial differential equations where they obtain the name invariant. They were first obtained by Bernhard Riemann in his work on plane waves in gas dynamics.

In the mathematical discipline of numerical linear algebra, a matrix splitting is an expression which represents a given matrix as a sum or difference of matrices. Many iterative methods depend upon the direct solution of matrix equations involving matrices more general than tridiagonal matrices. These matrix equations can often be solved directly and efficiently when written as a matrix splitting. The technique was devised by Richard S. Varga in 1960.

References

  1. Shewchuk, Jonathan Richard (August 4, 1994). "An Introduction to the Conjugate Gradient Method Without the Agonizing Pain" (PDF).
  2. Henricus Bouwmeester, Andrew Dougherty, Andrew V Knyazev. Nonsymmetric Preconditioning for Conjugate Gradient and Steepest Descent Methods. Procedia Computer Science, Volume 51, Pages 276-285, Elsevier, 2015. https://doi.org/10.1016/j.procs.2015.05.241
  3. Grote, M. J. & Huckle, T. (1997). "Parallel Preconditioning with Sparse Approximate Inverses". SIAM Journal on Scientific Computing . 18 (3): 838–53. doi:10.1137/S1064827594276552.
  4. 1 2 Knyazev, Andrew V. (1998). "Preconditioned eigensolvers - an oxymoron?". Electronic Transactions on Numerical Analysis . 7: 104–123.
  5. Himmelblau, David M. (1972). Applied Nonlinear Programming. New York: McGraw-Hill. pp. 78–83. ISBN   0-07-028921-2.

Sources