|
|
Richardson Extrapolation
Abstract:In this paper, we look at Richardson Extrapolation --
a clever technique to overcome the pernicious finite-differencing
error in numerical analysis.
PrerequisitesNote: This paper requires familiarity with derivatives and Taylor's Theorem.
Finite Differencing
The main concept of mathematical analysis is the notion of the
limit process. It arises for instance in the definition
of the derivative as limit of the difference quotient:
or in the definition of the integral as the limit of Riemann-Sums:
The crucial insight of mathematical analysis was the realization
that the expressions on the left-hand-side of these equations may
well exist (provided f(x) is sufficiently well-behaved), even as
But what to do when f(x) is not in one of the handy tables of
``standard'' functions? Well, we can approximate the derivative
numerically: just take a really small value for
There are two different problems with this naive approach.
The first should be obvious to anyone who has done even a little
numerical analysis. If we make
But there is another problem, which may be less obvious. For any
finite (non-vanishing) value of
To see the consequences of this effect, let's consider the Taylor
series expansion of f(x) around x:
By re-arranging, we easily find:
In other words, when approximating
Before discussing the solution out of this dilemma, let's first look
at a straightforward way to improve the order of our approximations.
Write:
(note the signs!), and now subtract
Now the leading correction is quadratic in But it seems that this is the best that we can do -- or not?
Reaching for Zero
The important insight is that we know more about the behavior of
these quantities: we know that the finite-differencing error behaves
as a linear function of
With this in mind, we can rewrite the expressions above as follows:
and
Here,
Figure 1 shows the calculated value of the difference quotient as a
function of
Two things stand out about this graph: for relatively large values
of
We can now determine the constants C1 and C2 by evaluating the
expressions above for several values of
The result, after removing the the leading order finite-differencing
error as described above, is shown in Figure 2 (again, to enable a
double-log plot, we subtracted the known value of Clearly, we can apply the same method as discussed above again to eliminate the error term to the next-highest order. And so on... This method of successively eliminating finite differencing error in the numerical evaluation of derivatives can be automated, using ``Neville's'' scheme for interpolating polynomials (references below).
Questions and Alternatives
There are two main points to be taken from this paper: First of all,
it may come as mild surprise how much predictive power rests in the
commonplace expression ``plus terms of order The second, much more practical take-away concerns the general concept behind Richardson Extrapolation. Although we have for simplicity's sake concentrated on the evaluation of derivatives here, the same scheme (often under a different name) can be applied to any situation which involves finite-differencing. When applied to the numerical evaluation of definite integrals it is known as ``Romberg Integration'', when applied to the numerical integration of ordinary differential equations it goes by the name of ``Bulirsch-Stoer Method''. But the basic idea is even more general than that -- whenever there is some information about a problem that we have not yet used, we should be able to use it to improve our solution.
Further ReadingApplications of Richardson Extrapolation to problems in numerical analysis can be found in many books on numerics. Numerical Recipes in C by W. H. Press et. al. contains a detailed discussion of the the evaluation of derivatives and an implementation using Neville's algorithm. The classic book by by J. Stoer and R. Bulirsch (Introduction to Numerical Analysis) contains many more advanced facets -- such as the idea of using rational functions (instead of polynomials) for the extrapolation step.
©
2006 by Philipp K. Janert.
All rights reserved.
www.toyproblems.org |