Runge--Kutta Methods
This tutorial surves as an introduction to the computer algebra system Maple, created by MapleSoft ©. It is made solely for the purpose of education. This tutorial assumes that you have a working knowledge of basic Maple functionality. It is recommended to switch to Maple Classic so all codes will have the same appearance, regardless of the version used. To achieve this, follow the following steps:
- when Maple is open, select "tools" at the top, and then "Options;"
- click on the "Display" tab, and in the "Input display" select "Maple Notation;"
- click on the "Interface" tab and in the "Default format for new worksheets" select "Worksheet;"
- go to the bottom of the "Options" menu and click on the "Apply Globally."
- Now close Maple and open it again
Usually, the same algorithm can be implemented in many different ways to accomplish the same task. As a result, this tutorial may introduce several different commands (or sets of commands) to do the same thing. It is always good to be aware of these alternate pathways; however, you are welcome to pick up any approach whatever you like the best .
Finally, the commands in this tutorial are all written in red text (as Maple input), while Maple output is in blue, which means that the output is in 2D output style. You can copy and paste all commands into Maple, change the parameters and run them. You, as the user, are free to use the mw files and scripts to your needs, and have the rights to distribute this tutorial and refer to this tutorial as long as this tutorial is accredited appropriately. The tutorial accompanies the textbook Applied Differential Equations. The Primary Course by Vladimir Dobrushkin, CRC Press, 2015; http://www.crcpress.com/product/isbn/9781439851043.
Return to computing page for the first course APMA0330
Return to computing page for the second course APMA0340
Return to Maple tutorial for the first course (APMA0330)
Return to Maple tutorial for the second course (APMA0340)
Return to the main page for the course APMA0340
Return to the main page for the course APMA0330
Return to Numerical Methods
Runge--Kutta Methods
Both previously discussed rules (improved Euler and modified Euler) are particular cases of the family of numerical methods known as the Runge-Kutta methods. The Runge–Kutta methods are a family of implicit and explicit iterative methods used for the approximate solutions of ordinary differential equations. These methods were developed around 1900 by the German mathematicians Carl David Tolmé Runge (1856--1927) and Martin Wilhelm Kutta (1867--1944).
Besides being a co-developer of the Runge--Kutta method, Martin is also remembered for the Zhukovsky--Kutta aerofoil, the Kutta--Zhukovsky theorem and the Kutta condition in aerodynamics. Runge's son Wilhelm was an early developer of radar, and his daughter, Nerina (Nina), married the German American mathematician Richard Courant (1888-1972), who established one of America’s most prestigious institutes of applied mathematics and co-author of the finite element method.
The idea of Runge--Kutta methods is to take successive (weighted) Euler steps to approximate a Taylor series. In this way function evaluations (and not derivatives) are used. For example, consider the one-step formulation of the midpoint method.
Extending the above approach, repeated function evaluation can be used to obtain higher-order methods. Let us denote the Runge--Kutta approximation to the solution of the initial value problem \( y' = f(x,y) , \quad y(x_0 ) = y_0 \) at mesh point \( t_{n+1} = t_n +h \) by yn+1. Then
\]
Explicit Runge--Kutta methods are a special case where the matrix A is strictly lower triangular:
\]
Example: The Butcher table for the explicit midpoint method is given by:
The Euler’s method is sometimes called the first order Runge-Kutta Method, and the Heun’s method the second order one. In following sections, we consider a family of Runge-Kutta methods.
Explicit Runge–Kutta methods are generally unsuitable for the solution of stiff equations because their region of absolute stability is small. The instability of explicit Runge–Kutta methods motivates the development of implicit methods. An implicit Runge–Kutta method has the form
Example: The simplest example of an implicit Runge–Kutta method is the backward Euler method: