Iterative refinement
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:
- Compute the residual
rm = b − Axm - Solve the system
Adm = rm - Add the correction
xm+1 = xm + dm
Error analysis
The relative error in the th iterate satisfies
where
- ‖·‖∞ denotes the ∞-norm of a vector,
- κ∞(A) is the ∞ condition number of A,
- is the order of A,
- ε1 and ε2 are unit round-offs of floating-point arithmetic operations,
- σ, μ1 and μ2 are constants depending on A, ε1 and ε2
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 between ε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)