Test methods
Tests were done with success for approx. 100 methods: Runge-Kutta methods,
linear multistep methods, predictor-corrector schemes,
block methods, oneleg methods, second
derivative multistep methods, extrapolation methods,
exponential fitted methods, nonlinear methods,
general linear methods
(including most of the method reviewed in
Hairer E., Wanner G., Solving ODEs I. and II.).
We mention here only some examples.
Explicit methods
For example, we take the Euler 's explicit rule:
yn+1=yn+hf(yn), n>= 0
The user must define the method variables
(for example, yn+1 is denoted by y, and yn is denoted by x),
the method equations and the information that yn+1@ y(tn+h) if yn@ y(tn).
Implicit methods
For example, we take the trapezoidal rule
yn+1=yn+h/2 (f(yn)+f(yn+1)), n>= 0
The user must define the method variables (the same as for Euler 's explicit rule), the
method equations,
the information that yn+1@ y(tn+h) if yn@ y(tn),
and the nonlinear equation solving procedure with a starting value.
If we consider the Newton like iterations the absolute stability region will be unbounded.
Otherwise, if we select simple iterations, the region will be bounded. The starting value for
the implicit equation solver is given by the Euler 's explicit rule.
Multistep methods
For example, consider the four-step fourth-order Adams-Bashforth method:
yn+4 =yn+3+h/24 (55f(yn+3)-59f(yn+2)+37f(yn+1)-9f(yn) ), n>= 0
The user must define the method variables
(for example y n+4 is denoted by w,
yn+3 by v, yn+2 by z, yn+1 by y, and yn by x),
the method equations, the information that y n+4 @ y(tn+4h) if yn@ y(tn),
and the starting procedure for the values y1, y1 and y3:
we can apply the third-order explicit Heun 's rule
for approximate y1 using y0:
y1=y0+h/4 (k1+3k3), k1=f(y0), k1=f(y0+h/3 k1), k3=f(y0+2h/3 k1)
Using y1 and the same rule, we can get y1, and from y1, the value of y3.
Using this starting procedure the method order remains unchanged (another starting
procedure with a smaller order will change the method order).
Multivalue methods
For example, we take the block method
(y n+5/3, y n+4/3, yn+1 )T= [(1,0,0),(0,1,0),(0,0,1)] (y n+2/3, y n+1/3, yn )T+
h/4 [(19, -24, 9), (9,-8, 3), (3, 0, 1 )] (f(y n+2/3 ), f(y n+1/3 ), f(yn) )T, n>= 0
The user must define the method variables
(for example, y n+5/3 is denoted by w,
y n+4/3 by v, yn+1 by u, y n+2/3 by z, y n+1/3 by y, and yn by x),
the method equations, the information that yn+1@ y(tn+h) if yn@ y(tn),
and the starting procedure for the values y 2/3 and y 1/3 :
we have apply the third-order explicit Heun 's rule
in order to approximate this two values, starting
from y0 with the stepsize 2h/3, respectively h/3.
Second derivative linear multistep methods
For example we take the onestep second derivative backward differentiation formula
yn+1=yn+hf(yn+1)-h2/2 g(yn+1), n>= 0
where g=(d f/d y)f.
The user must define the method variables (the same as for Euler 's explicit rule),
the method equations,
the information that yn+1@ y(tn+h) if yn@ y(tn),
and the nonlinear equation solving procedure with a starting value for this procedure.
If we consider the Newton like iterations the absolute stability region will be unbounded.
Otherwise, if we select simple iterations, the region will be bounded. The starting value for
the implicit equation solver is given by the following of the Taylor series:
yn+1=yn+hf(y n )+h2/2 g(y n ), n>= 0
Explicit Runge-Kutta methods
We take, for example, the standard fourth-order Runge-Kutta method
yn+1, =, yn+h/6 (k1+2k1+2k3+k4)
k1 = f(yn), k1=f(yn+hk1/2)
k3 = f(yn+hk1/2), k4=f(yn+hk3)
Implicit Runge-Kutta methods
For example, we consider the Lobatto IIIC method with 3 stages:
yn+1 = yn+h (k1+4k1+k3)/6, k1=f(yn+h(k1-2k1+k3)/6),
k1 = f(yn+h/12 (2k1+5k1-k3)), k3=f(yn+h(k1+4k1+k3)/6)
Since k1@ f(y(tn)), k2@ f(y(tn+h/2)) and k3@ f(y(tn+h)), we can
start the nonlinear equation solver k1=fn, k1, the function value at the value
given by the Heun 's rule applied to yn with the stepsize h/2, and k3, the function value
at the value given by the Heun 's rule applied to yn with the stepsize h.
The A-stability property of the underlying formula is affected by this selection.
Other methods
Many other members of different method classes are allowed to be described in EPODE .
We take, for example,
- a hybrid method: Bockhoven 's fourth-order method,
yn+1=yn+h/6 (f(yn+1)+f(yn))+2h/3 f(y n+1/2 ) y n+1/2 =1/2 (yn+1+yn)-h/8 (fn+1-fn)
- the (predictor-corrector) SAM scheme with two steps:
(P), zn-y n-1 , =h [ (5/12 -t )fn+ (2/3 +2t )f n-1 - (1/12 +t )f n-2 ]
(C), yn-y n-1 , =h [ (5/12 -t )fn+2/3 f n-1 -1/12 f n-2 ]+t hfn
with t=-(1+60.5)/12 and f=f(z);
- a nonlinear method: Lambert 's third method,
yn+1=yn+2h(f(yn))2/(2f(yn)-hf'(yn))
- a new oneleg method from:
yn+1=yn+h/4 f(yn)+3h/4 f(y n+2/3 ), y n+2/3 = 20/27 yn+1+ 7/27 yn- 4h/27 f(yn+1)+ 2h/27 f(yn)
- a divided trapezoidal rule applied in a predictor-corrector scheme:
(P): zn+1-yn=t hf(zn+1)+(1-t)f(yn),
(C): yn+1-yn=t hf(yn+1)+ h/2 f(yn)+h ( 1/2 -t )f(zn+1)
for t=1-1/20.5.
Examples of parallel methods
Here, we consider the following methods: the Dirk4
yn+1 = yn+ 1/72 h(11k1+25k2+11k3+25k4)
k1 = f(yn+hk1), k3=f(yn+ 1/44 (171k1-215k2+44k3)),
k2 = f(yn+ 3/5 hk2), k4=f(yn+ 1/20 (39k2-43k1+12k4))
and the Block1 method
(y n+3/2, yn+1)T= [(1, 0),(0, 1)]+h [(2, -1),(1, 0 )] (f n+1/2 , fn )T