Numerical Integration & Differentiation

Richardson extrapolation

/ RICH-erd-son /

Suppose every estimate you compute is wrong by an amount that shrinks in a known, predictable way as you make your step smaller — say the error roughly quarters each time you halve the step. Then two estimates at two step sizes contain enough information to FIGURE OUT and subtract most of that error, producing a far better number than either input. Richardson extrapolation is this trick of combining cheap, low-order estimates to manufacture a high-order one.

Here is the engine. Suppose a method A(h) approximates a true value L with an error expansion A(h) = L + c h^p + (higher-order terms). Compute it at two steps, A(h) and A(h/2). The errors are c h^p and c (h/2)^p = c h^p / 2^p. Form the weighted combination (2^p A(h/2) - A(h)) / (2^p - 1): the c h^p terms are engineered to cancel exactly, leaving an error of the NEXT, higher order. For the central-difference derivative p = 2, so the combination (4 A(h/2) - A(h)) / 3 jumps from O(h^2) to O(h^4) accuracy. Repeat the cancellation on the new, higher-order estimates and you climb an entire ladder of accuracy — this is exactly how Romberg integration turns the humble trapezoidal rule into a high-order quadrature.

Richardson extrapolation is one of the most powerful and reusable ideas in numerical analysis: it costs almost nothing (a couple of arithmetic operations) yet can lift a sluggish method several orders. The honest fine print is that it RELIES on the assumed error expansion being correct: the method must really have error c h^p + ... in even or known powers, and the function must be smooth enough for those higher derivatives to exist. If the integrand has a kink or singularity, or if round-off has already corrupted the estimates, the assumed expansion breaks and extrapolation can actually make things worse, not better.

Central-difference derivative of e^x at 0 (true 1). A(h) at h = 0.2 is 1.006716; A(h/2) at h = 0.1 is 1.001668. The Richardson combination (4 * 1.001668 - 1.006716)/3 = 1.0000857, an error of 9e-5 — versus 2e-3 and 1.7e-3 for the inputs. One subtraction lifted O(h^2) to O(h^4).

Two coarse estimates combine into one much sharper estimate.

The weights 2^p and the factor 2^p - 1 are correct ONLY if the leading error is truly the order p you assumed and the next term is genuinely higher order. Use the wrong p, or apply it where the error expansion has odd powers or a singularity, and you cancel the wrong thing.

Also called
extrapolation to the limitdeferred approach to the limit外推至極限