Error control

Runge-Kutta methods can be written in the general form

[Maple Math] ,

[Maple Math] , [Maple Math]

where the [Maple Math] are approximations for the values [Maple Math] which satisfy the initial value problem

[Maple Math] , [Maple Math] in [Maple Math] , and [Maple Math] .

We would like to ensure that for a given small value [Maple Math] , a number of steps can be chosen such that the global error is bounded by [Maple Math] , i.e.,

[Maple Math]

for all [Maple Math] .

Since the global error is not easy to calculate, we will focus on the local truncation error (which assumes the previous calculated approximation can be treated as exact) . It can be shown that under suitable conditions, a connection exists between the local truncation error and the global error, in the sense that a bound on the local truncation error produces a corresponding bound on the global error.

Therefore, we will try to estimate the local trunction error made in a calculation.

First, consider a method with a local truncation error [Maple Math] of order [Maple Math] ,

[Maple Math] ,

Second, consider a method with local truncation error [Maple Math] of order

[Maple Math] ,

[Maple Math]

with [Maple Math] the equivalent of [Maple Math] for the second method.

The first method produces estimates [Maple Math] and the second method yields estimates [Maple Math] . Then assume that

[Maple Math] .

Then

[Maple Math] ,

or

[Maple Math]

Similarly,

[Maple Math]

Then,

[Maple Math]

or,

[Maple Math] .

But [Maple Math] while [Maple Math] , so that

[Maple Math] .

Hence, the local truncation error can be estimated in terms of the calculated values [Maple Math] and [Maple Math] . This requires repeating the calculation of the estimate using a method of a higher order. This extra calculation, however, will provide an estimate of the accuracy of the first estimate (obtained by the lower order method). This is often worth the extra effort.

>

Can we now choose the step-size such that the truncation error is kept below a given bound [Maple Math] ?

Consider the formula above and the fact that [Maple Math] , or,

[Maple Math] , for some constant [Maple Math] .

Then,

[Maple Math] .

Now consider a constant, positive factor [Maple Math] , then the truncation error for a step-size [Maple Math] is given by

[Maple Math] ,

so that, to keep the truncation error bounded by a value [Maple Math] , we must have

[Maple Math] ,

and the required step-size is found using a value of [Maple Math] which satisfies the inequality

[Maple Math]

>

This formula allows you to estimate at every step in the calculation the step size needed to keep the local truncation error for that step as small as you want.

>