Jump to content

Iterative refinement

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by K.menin (talk | contribs) at 05:18, 15 July 2010 (Added navbox). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Iterative refinement is an iterative method proposed by James H. Wilkinson to improve the accuracy of numerical solutions to systems of linear equations.

When solving a linear system Ax = b, due to the presence of rounding errors, the computed solution x̂ may sometimes deviate from the exact solution x*. Starting with x1 = x̂, iterative refinement computes a sequence {x1,x2,x3,…} which converges to x* when certain assumptions are met.

Description

For m = 1,2,…, the th iteration of iterative refinement consists of three steps:

  1. Compute the residual
    rm = bAxm
  2. Solve the system
    Adm = rm
  3. Add the correction
    xm+1 = xm + dm

Error analysis

Assuming that each solve step is reasonably accurate, i.e., in mathematical terms, for every m, we have

A(I + Fm)dm = rm

where Fm < 1, the relative error in the th iterate of iterative refinement satisfies

where

if A is “not too badly conditioned”, which in this context means

0 < σκ(A)ε1 ≪ 1

and implies that μ1 and μ2 are of order unity.

The distinction of ε1 and ε2 is intended to allow mixed-precision evaluation of rm where intermediate results are computed with unit round-off ε2 before the final result is rounded (or truncated) with unit round-off ε1. All other computations are assumed to be carried out with unit round-off ε1.

References

  • Wilkinson, James H. (1963). Rounding Errors in Algebraic Processes. Englewood Cliffs, NJ: Prentice Hall.
  • Moler, Cleve B. (1967). "Iterative Refinement in Floating Point". Journal of the ACM. 14 (2). New York, NY: Association for Computing Machinery: 316–321. doi:10.1145/321386.321394. {{cite journal}}: Unknown parameter |month= ignored (help)