Math 2.0

Numerical analysis Direct methods for linear systems Proposition

Iterative refinement

Builds on System of linear equationsInvertible matrixOperator normCondition numberLU decomposition

Statement

Let AA be an invertible n×nn \times n real or complex matrix, and let bb be a vector. Let x=A−1bx = A^{-1} b be the solution of the linear system Ax=bAx = b. Fix a vector norm and its operator norm, and a number η\eta with 0≤η<1/20 \le \eta < 1/2. Iterative refinement starts from an approximation x0x_0 and repeats, for m=0,1,2,…m = 0, 1, 2, \dots:

  1. compute the residual rm=b−Axmr_m = b - A x_m;
  2. compute a correction dmd_m with (A+Em)dm=rm(A + E_m) d_m = r_m, for some matrix EmE_m with ∥A−1∥∥Em∥≤η\norm{A^{-1}} \norm{E_m} \le \eta;
  3. set xm+1=xm+dmx_{m+1} = x_m + d_m.

Then, if the residuals and updates are computed exactly, ∥xm+1−x∥≤η1−η∥xm−x∥\norm{x_{m+1} - x} \le \frac{\eta}{1 - \eta} \norm{x_m - x} for all mm, so xm→xx_m \to x linearly with rate at most η/(1−η)<1\eta / (1 - \eta) < 1.

Remarks

Let em=x−xme_m = x - x_m, so that rm=Aemr_m = A e_m. Then em+1=em−(A+Em)−1Aem=(A+Em)−1Ememe_{m+1} = e_m - (A + E_m)^{-1} A e_m = (A + E_m)^{-1} E_m e_m. Since ∥A−1Em∥≤η<1\norm{A^{-1} E_m} \le \eta < 1, the matrix A+Em=A(I+A−1Em)A + E_m = A(I + A^{-1} E_m) is invertible with ∥(A+Em)−1∥≤∥A−1∥/(1−η)\norm{(A + E_m)^{-1}} \le \norm{A^{-1}} / (1 - \eta), which gives the bound. The matrix EmE_m models the error of an inexact solver, such as a computed LU decomposition reused at each step, or a solve in lower precision. If the solver is too inaccurate, so that η≥1/2\eta \ge 1/2, the bound gives no contraction and the process can diverge. This happens when the condition number of AA times the solver's relative accuracy is not small. In floating-point practice, the residual is the critical step: computing rmr_m in higher precision lets refinement reach a solution accurate to the working precision, even for fairly ill-conditioned AA. In exact arithmetic with Em=0E_m = 0, one step gives the exact solution.

Going deeper

For a student

Iterative refinement turns a cheap or low-precision solver into an accurate one. It reuses one factorization of AA, so each extra round costs only O(n2)O(n^2) operations after the O(n3)O(n^3) factorization. Modern mixed-precision solvers factor in low precision and refine in higher precision to get both speed and accuracy.

Reading path

To understand this page from the ground up, read these 6 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Condition number concept
  2. Invertible matrix concept
  3. LU decomposition concept
  4. Operator norm concept
  5. System of linear equations concept
  6. Iterative refinement statement

Further reading

  1. Web https://en.wikipedia.org/wiki/Iterative_refinement
About this page
TagQTVP4WP1XX
URIm2://QTVP4WP1XX
Kindstatement, proposition
WritingW0 stub
MSC65F05, 65G50
StatusThis copy of the site has no build data. Run m2 status QTVP4WP1XX.
AboutSystem of linear equations
UsesSystem of linear equations, Invertible matrix, Operator norm, Condition number, LU decomposition
Same as

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.