Runge-Kutta-Nyström-type methods for   y"  =  f (x,y)
 
Permission is freely granted to reproduce this data when accompanied by an acknowledgment:
"RKN-type methods by Filippi and Gräf (www.josef-graef.de)"



The explicit Runge-Kutta-Nyström(RKN)-type methods on this page are very easy programmable. They are just what the programmers were waiting for.

Consider the numerical solution of a initial value problem (IVP) for the system of second-order differential equations:  y'' = f(x,y),    y(xo) = yo  and   y'(xo) = y'o.
We compute the values   y1  and   y'1   as follows:
y1,   yk1,  are both approximations
to y(xo+h).
The first formula is called the basic
formula
and the second control
formula
.
The value y'1 is an approximation to
y'(xo+h).
The alphas, gammas and c-values
are constants, which were once
calculated by the author in 1983.
The accuracy order of the control
formula
is either higher or lower.
This enables flexible stepsize
control:

In all formulas the ci, cki satisfy
certain conditions so that:
| yk1 - y1 | = q | fn - fn-1| h2
with a certain parameter q.
This difference serves as an
estimation of the local truncation
error. We need not explicitly
compute yk1.



 
The RKN formula-pair 11(10) - 17
 
Here we have   n = 17,   but   c16 = c17 = c'17 = 0
and ck17 = lambda,   ck16 = - lambda
y(xo +h)    =   y1     +   O(h12)
y(xo +h)    =   yk1   +   O(h11)
y'(xo +h)   =   y'1    +   O(h12)


cj =  gamma(17, j),     j=0(1)16
cki = ci,  i=0(1)15
Estimation of the local truncation error :     TE =   y1 -   yk1   =   lambda ( f16 - f17) h2.
Lambda is more or less arbitrary. For specifying a tolerance of 10-24 to archieve a global error of about 10-20 for example we can choice lambda = 1.4 * 10-5 and lambda = 1.4 * 10-6 for the following coefficient set K17M and KOPT17P respectively.

RKN 11(10) - 17
This coefficient set in 1983 I have called K17M.
In Table 1 of [ 1 ] this formula pair is called RKN 11(10) - 17,
in Fig. 2 of [ 1 ] and also in [ 6 ] it is called RKN 11(10).
O. Montenbruck [ 7 ] calls it FILG11.

This coefficient set is a jewel. It is one of the most efficient methods.



RKN 11(10) - 17 opt
This coefficient set in 1983 I have called KOPT17P.
In Table 1 of [ 1 ] this formula pair is called RKN 11(10) - 17 opt,
in Fig. 2 of [ 1 ] it doesn't appear.

It is a opimized variant of RKN 11(10) - 17.
"Optimized" means, the following objective function is minimized:
f  :=  t12 +   t22 + t32 + t212 + t602 + t722 + t872
             +    t'12 + t'22 + t'32 + t'42 + t'272 + t'342 + t'1092 + t'1192 + t'1432 + t'1572 + t'1582.
The values ti and t'i are certain factors within the error coefficients Ti and T'i respectively.
Similar to RKN 11(12) - 20 opt this optimization should be regarded as an experiment only.
Nevertheless a first test in 1983 demonstrated, that KOPT17P may be even more efficient than K17M.



A RKN formula-pair 10(11) - 17
 
Here we have   n = 17,   but   c17 = 0   and   c'17 = 0
y(xo +h)    =   y1     +   O(h11)
y(xo +h)    =   yk1   +   O(h12)
y'(xo +h)   =   y'1    +   O(h11)


cj =  gamma(17, j),     j=0(1)16
cki = ci,  i=0(1)15,      ck16 = 0   and   ck17 =   c16         
Estimation of the local truncation error :     TE =   yk1 -   y1  =   c16( f17 - f16) h2.

RKN 10(11) - 17 neu
This formular pair is described in detail in [ 2 ]. The coefficients are published as fractions.
In Table 1 of [ 1 ] this formula pair is called RKN 10(11) - 17 and in Fig. 2 of [ 1 ] it is called RKN 10(11) opt.. The "opt" is a printing error.
The RKN 10(11) - 17 neu does not result from a numerical optimization of the error factors. It results from modifying some simplifying assumptions for solving the equations of condition in comparison with Erwin Fehlberg's unpublished paper (1979): RKN 10(11) - 17 A, sometimes called as RKF 10(11) - 17 A. The alphas of both RKN 10(11) - 17 neu and RKN 10(11) - 17 A are the same.



Two RKN formula-pairs 11(12) - 20
 
Here we have   n = 20,   but   c20 = 0   and   c'20 = 0
y(xo +h)    =   y1     +   O(h12)
y(xo +h)    =   yk1   +   O(h13)
y'(xo +h)   =   y'1    +   O(h12)


cj =  gamma(20, j),     j=0(1)19
cki = ci,  i=0(1)18,      ck19 = 0   and   ck20 =   c19         
Estimation of the local truncation error :     TE =   yk1 -   y1  =   c19( f20 - f19) h2.

RKN 11(12) - 20
This formular pair is described in detail in [ 3 ] and mentioned in [ 1 ].

RKN 11(12) - 20 opt
This formular pair is mentioned in [ 1 ].


It is a optimized variant of RKN 11(12) - 20   but it may not differ considerably in efficiency.
"Optimized" means, the following objective function is minimized:
f  :=  t22   +    t'12 + t'32 + t'42 + t'342 + t'402 + t'1092 + t'1192 + t'1572
               +    (tk1)2  +  (tk2)2  +  (tk3)2  +  (tk4)2  +  (tk27)2  +  (tk34)2  +  (tk40)2  + 
               +    (tk94)2  +  (tk109)2  +  (tk119)2  +  (tk143)2  +  (tk157)2  +  (tk158)2.
The values t2, t'i and tki are certain factors within the error coefficients T2, T'i and Tki respectively.
This optimization should be regarded as an experiment only.
That wasn't the best possible solution, but in December 1982 that had just given me the idea of transforming the Fehlberg-type p(p+1) formula pairs to Dormand-Prince-type p+1(p) formula pairs.



© 15. 1. 2002 (Upd.: 15.1.2006)  by Josef Gräf,   Runge-Kutta-Nyström