2 An example of a Runge-Kutta method
A full discussion of the so-called Runge-Kutta methods is not required here, but we do need to touch on them to resolve a remaining issue in the implementation of linear multistep schemes.
The problem with linear multistep methods is that a zero-stable, 1-step method can never be better than second order (you need not worry about why this is true, it was proved in the latter half of the last century by a man called Dahlquist). We have seen methods of higher order than 2, but they were all at least 2-step methods. And the problem with 2-step methods is that we need 2 starting values to implement them and we are only ever given 1 starting value: the initial condition .
One way out of this “Catch 22" is to use a Runge-Kutta method to generate the extra starting value(s) we need. Runge-Kutta methods are not linear multistep methods and do not suffer from the problem mentioned above. There is no such thing as a free lunch, of course, and Runge-Kutta methods are generally more expensive in effort to implement than linear multistep methods because of the number of evaluations of required at each time step.
The following Key Point gives a statement of what is, perhaps, the most popular Runge-Kutta method (sometimes called “RK4").
Notice that each calculation is explicit, all of the right-hand sides in the formulae in the Key Point above involve known quantities.
Example 11
Suppose that is the solution to the initial value problem
Carry out one time step of the Runge-Kutta method RK4 with a step size of so as to obtain an approximation to .
Solution
The iteration must be carried out in four stages. We start by calculating
a value we now use in finding
This value is now used in our evaluation of
which, in turn, is used in
All four of these values are then used to complete the iteration
Task!
Suppose that is the solution to the initial value problem
Carry out one time step of the Runge-Kutta method RK4 with a step size of so as to obtain an approximation to .
The time step must be carried out in four stages. We start by calculating
a value we now use in finding
This value is now used in our evaluation of
which, in turn, is used in
All four of these values are then used to complete the time step
Exercises
- Assuming the notation established earlier, write down the linear multistep scheme corresponding to the choices , , , , , , .
-
A numerical scheme has been used to approximate the solution of
and has given the following estimates, to 6 decimal places,
Now use the 2-step, explicit linear multistep scheme
to approximate .
-
Find the roots of the first characteristic polynomial for the linear multistep scheme
and hence determine whether or not the scheme is zero stable.
-
Find the order of the 2-step linear multistep scheme
(Would you recommend using this method?)
-
Suppose that
is the solution to the initial value problem
Carry out one time step of the Runge-Kutta method RK4 with a step size of so as to obtain an approximation to .
-
Evidently the value
will serve our purposes and we seek
. The values we will need to use in our implementation of the 2-step scheme are
,
and
since
. It follows that
And we conclude that , to 6 decimal places.
- The first characteristic polynomial is and the roots of can be found from the quadratic formula. In this case the roots are real and distinct and are equal to In the case of roots that are distinct zero-stability requires that the absolute values have magnitude less than or equal to 1 . Consequently we conclude that the method is zero stable.
-
In the established notation we have
,
and
. The
terms similarly come from the coefficients on the right hand side (remembering the denominator of 10).
Now
from which we conclude that the method is consistent.
We also find that
so that the method is of order 2 . This method is not to be recommended however (check the zero stability).
-
Each time step must be carried out in four stages. We start by calculating
a value we now use in finding
This value is now used in our evaluation of
which, in turn, is used in
All four of these values are then used to complete the time step