MINRES procedure

from Wikipedia, the free encyclopedia
A comparison of the norm of the error and the residual in the CG method (blue) and the MINRES method (green). The matrix used comes from a 2d boundary value problem .

The MINRES method (from English min imum res idual "minimal residual") is a Krylow subspace method for the iterative solution of symmetrical systems of linear equations. It was proposed in 1975 by mathematicians Christopher Conway Paige and Michael Alan Saunders .

In contrast to the CG method , the MINRES method does not assume that the matrix is ​​positive definite, only the symmetry of the matrix is ​​mandatory.

Properties of the MINRES method

The MINRES method iteratively calculates an approximate solution of a linear system of equations of the form

.

Here is a symmetrical matrix and the right side.

For this purpose, the norm of the residual in the -dimensional Krylow space

minimized. A start value is and .

Specifically, we define the approximate solutions by

.

It is the Euclidean norm in .

Because of the symmetry of , it is possible, in contrast to the GMRES method , to carry out this minimization process recursively. In the -th step, only the iterates from the last two steps need to be accessed (short recursion).

Construction idea from MINRES

Krylov subspace methods are limited to using only vectors from matrix-vector products with the system matrix. This has advantages because the matrix does not have to be available explicitly, but only as a function for the matrix-vector product. At the beginning the only known vectors are the current approximate solution (at the beginning mostly a zero vector), the right hand side and the residual .

The residual is copied into a vector and, for the above reason, used as the correction direction for the approximate solution. To do this, you calculate your image . One wants to add this image optimally to the residue so that its length is as small as possible (hence the name of the procedure). One reckons with . This must be (Gram-Schmidt). The corresponding approximate solution for this residual knows it: .

A copy is made for the new residual and the image is calculated again . In order to keep reducing the residual by repeating this principle, the next step is to create a residual that is upright and perpendicular. As a share of direction might contain must at orthogonalized and are adjusted accordingly so that after further applies. For will . So you continue this over many iterations.

In this way, the direction would have to be orthogonalized to predecessors in the -th iteration . Lanczos was able to show, however, that it is already perpendicular to all these directions, if only its two predecessors are orthogonalized (= perpendicular). This is due to the symmetry of (which is why the method only works in the symmetrical case).

MINRES algorithm

Note: The MINRES method is comparatively more complicated than the algebraically equivalent conjugate residual method. In the following, the conjugate residual (CR) procedure was therefore written down as a replacement. It differs from MINRES in that, in CR, not the columns of a basis of the Krylov space (labeled below with ), as in MINRES , but their images (labeled below with ) are orthogonalized via the Lanczos recursion. There are more efficient and preconditioned variants with fewer AXPYs. Compare with the English-language article.

First, you choose arbitrarily and calculate

Then we iterate for the following steps:

  • Calculate the by
if it is less than a specified tolerance, the algorithm with the approximate solution is aborted at this point , otherwise a new descent direction is calculated using
  • for (the step is only carried out from the second iteration step ) calculate:

Convergence rate of the MINRES method

In the case of positively definite matrices, the convergence rate of the MINRES method can be estimated in a similar way to the CG method. In contrast to the CG method, however, the estimate does not apply to the errors of the iterates, but to the residual. The following applies:

.

Where is the condition number of the matrix .

Example implementation in GNU Octave / Matlab

function [x,r] = minres(A,b,x0,maxit,tol)
  x = x0;
  r = b - A*x0;
  p0 = r;
  s0 = A*p0;
  p1 = p0;
  s1 = s0;
  for iter=[1:maxit]
    p2 = p1;p1 = p0;
    s2 = s1;s1 = s0;
    alpha = r'*s1/(s1'*s1);
    x += alpha*p1;
    r -= alpha*s1;
    if (r'*r < tol^2)
      break
    end
    p0 = s1;
    s0 = A*s1;
    beta1 = s0'*s1/(s1'*s1);
    p0 -= beta1*p1;
    s0 -= beta1*s1;
    if iter > 1
      beta2 = s0'*s2/(s2'*s2);
      p0 -= beta2*p2;
      s0 -= beta2*s2;
    end
  end
end

Individual evidence

  1. Christopher C. Paige, Michael A. Saunders: Solution of sparse indefinite systems of linear equations . In: SIAM Journal on Numerical Analysis . tape 12 , no. 4 , 1975.
  2. Sven Gross, Arnold Reusken: Numerical Methods for Two-phase Incompressible flows . Springer, ISBN 978-3-642-19685-0 , chap. 5.2.