1
$\begingroup$

While preparing for an exam I revisited extrapolation methods for ODEs and I noticed that I don't understand it properly. Although I have an exercise-related question, there is a soft question: why do we do it and what exactly is done there?

As far as I understand it, we consider the same numerical method with different step sizes and then somehow interpolate (isn't it extrapolation?) them to somehow get a lower local truncation error. But I really do not see why it works and how it is done.

Let's consider a specific example. Say that, in order to compute the approximate solutions $u_k$ of a differential equation, you use the Euler method with one step of size $h$ and also the Euler method with two steps using a step size $\frac{h}{2}$. That is $$u_{j+1} = u_{j} + hf(t_j, u_j)$$ and $$u_{j+1} = u_{j+{\frac{h}{2}}} + \frac{h}{2}f(t_j + \frac{h}{2}, u_{j + \frac{h}{2}}).$$

Now you want to extrapolate those two somehow in order to get a better approximation. According to my solution, you would need to introduce the polynomial $$P_{01}(H) = \frac{(H - h)u^{(\frac{h}{2})}_{j+1} - (H - \frac{h}{2})u^{(h)}_{j+1}}{\frac{h}{2} - h}$$ and then evaluate the polynomial at $H = 0$ in order to get the modified Euler method. Why is that?

The more general question that comes up then is how to extrapolate $m$ different step sizes of one method. For example, what if we use the Euler method with 5 instead of two different step sizes, $h_{[n]} = \frac{1}{n}$ where $n = 1, ..., 5$ with $n$ steps. How would you come up with the according polynomial then?

1 Answers 1

2

Richardson extrapolation is something that I think makes most sense when considered in full generality, rather than specializing. The idea is that you have

$$T(h)=I+c_1 h^p + o(h^p)$$

and you want to estimate $I$. (If you don't know what this equation means, look up "little oh notation", it is very standard and very useful.) At this point you look at:

$$T(kh)=I+c_1 k^p h^p + o(h^p).$$

If $k<1$ then this should be a bit better than $T(h)$, so the difference between it and $T(h)$ should give us an idea of our error. Sometimes that's enough (for example, this idea is used in automatic step size selection for ODEs and integration).

But we can do better than that provided that we know what $p$ (the order of $T$) is, because in this case the $h^p$ term can be cancelled out by taking a linear combination of $T(h)$ and $T(kh)$. The simplest way is just:

$$T(kh)-k^p T(h)=(1-k^p)I + o(h^p)$$

but now it doesn't converge to $I$, so we need to divide the whole thing by $1-k^p$. We get:

$$\frac{T(kh)-k^pT(h)}{1-k^p}=I+o(h^p).$$

This now represents a better numerical method for computing $I$ than $T$, in the sense that it has a higher order of convergence to $I$.

Most commonly in practice $k$ is chosen to be $1/2$.

A warning: the new method, call it $T_2$, is not always better than $T$ at the same value of $h$. For illustration, suppose you had $T(h)=I+c_1 h + c_2 h^2 + o(h^2)$. Then with $k=1/2$, we find $T_2(h)=I+c_2 \frac{\frac{1}{4}-\frac{1}{2}}{1-\frac{1}{2}} h^2 + o(h^2)=I-\frac{c_2}{2} h^2 + o(h^2)$. Thus the method is expected to behave worse if $|c_2|>2h |c_1|$. Since it is not unusual for $|c_2|$ to be quite a bit bigger than $|c_1|$, this may occur for moderate sized values of $h$.