Abstract
We consider a family of explicit Runge–Kutta pairs of orders six and five without any additional property (reduced truncation errors, Hamiltonian preservation, symplecticness, etc.). This family offers five parameters that someone chooses freely. Then, we train them in order for the presented method to furnish the best results on a couple of Kepler orbits, a certain interval and tolerance. Consequently, we observe an efficient performance on a wide range of orbital problems (i.e., Kepler for a variety of eccentricities, perturbed Kepler with various disturbances, Arenstorf and Pleiades). About digits of accuracy is gained on average over conventional pairs, which is truly remarkable for methods coming from the same family and order.
MSC:
65L05; 65L06; 90C26; 90C30
1. Introduction
The initial value problem (IVP) is
with , and
Runge–Kutta (RK) pairs are amongst the most popular numerical methods for addressing (1). They are characterized by the following Butcher tableau [1,2]:
with and Then, the method shares s stages, and when and A is strictly lower triangular, it is evaluated explicitly. The approximated solution steps from to by producing two estimations for Namely, and , given by
and
with
for These two approximations and are of algebraic orders p and respectively. Thus, a local error estimation
is formed in every step and is combined in an algorithm for changing the step size:
where t is a tolerance given by the user. When , the above formula is used for the new step forward. In reverse, we also use it, but the solution is not advanced and is a new version of . Details can be found in [3]. As an abbreviation, these methods are named RKp(q) pairs.
Runge–Kutta methods were introduced back in the late 19th century [4,5]. After 1960, RK pairs appeared. Fehlberg gave the first celebrated such pairs of orders 5(4), 6(5) and 8(7) [6,7]. Dormand and Prince followed in the early 1980s [8,9]. Our group has also presented a series of successful RK pairs [10,11,12,13].
Runge—Kutta pairs are suited for efficiently solving almost every non-stiff problem of the form (1). The variety of pairs is explained by the accuracy required. Thus, when less accuracy is required, the lowest RK pairs are more efficient. In contract, for stringent accuracies at quadruple precision, a high-order pair should be chosen [14].
Here we focus on RK6(5) pairs, which are preferred for moderate to higher accuracies. We are especially interested in problems (1) that resemble Kepler-like orbits. Thus, we will propose a particular RK6(5) pair for addressing this type of problem.
2. Producing Runge–Kutta Pairs of Orders 6(5) and Training Their Coefficients
Runge–Kutta pairs of orders six and five are amongst the most frequently used. The coefficients have to satisfy 54 order conditions. Thus, families of solutions have been discovered over the years. Here we chose the Verner-DLMP [15,16] family, which has the advantage of being solved linearly. Then, we freely chose the coefficients and Pairs from this family have been proven to perform most efficiently in various classes of problems [17].
We proceed by explicitly evaluating the remaining coefficients. The algorithm is discussed in [10] and is given as a Mathematica [18] package in the Appendix A.
Although the family spends only eight stages per step since the ninth stage is used as the first stage of the next step. This property is called FSAL (first stage as last).
The next question to be answered is regarding how to select the free parameters. Traditionally we try to minimize the norm of the principal term of the local truncation error. That is, the coefficients of in the residual of Taylor error expansions corresponding to the sixth-order method of the underlying RK pair.
We intend to derive a particular RK6(5) pair belonging to the family of interest here. The resulting pair has to perform best on Kepler orbits and other problems of this nature. Thus, we concentrate on the particular orbit
with , and the theoretical solution
In the above, , is the eccentricity, and the components of y are denoted by the left superscript. They should not be confused with , which represent the vectors approximating the solution at .
This problem can be solved with an RK6(5) pair from the family we are interested in here. After a certain run, we recorded the number of function evaluations (stages) needed and the global error observed over the mesh (grid) in the interval of integration. Then, we formed the efficiency measure
Running DLMP6(5) twice for Kepler we obtained the efficiency measures and as reported in Table 1. For example, we needed 1121 stages in order to achieve a global error of when running Kepler for , and . Thus, we obtained , as reported in Table 1. Analogously, for a second run with , and we observed .
Table 1.
Efficiency measures for both runs and pairs.
Let us suppose that any new pair NEW6(5) furnishes corresponding efficiency measures and for the same runs. Then, as a fitness function we form the sum
and try to maximize it. That is, the fitness function is actually two whole runs of initial value problems. The value u changes according to the selection of the free parameters and
The original idea is based on [19]. For the minimization of u we used the differential evolution technique [20]. We have already tried this approach and obtained some interesting results in producing Numerov-type methods for integrating orbits [21]. In this latter work we trained the coefficients of a Numerov-type method on a Kepler orbit. We observed very pleasant results over a set of Kepler orbits as well as other known orbital problems.
The optimization furnished six values for the free parameters. They are included with the rest of the coefficients in the resulting pair NEW6(5) presented in Table 2.
Table 2.
Coefficients of the proposed NEW6(5) pair, accurate for double precision computations.
Interpreting Table 1, we observe that DLMP6(5) was and more expensive than NEW6(5) for the first and second run, respectively. The norm of the principal truncation error coefficients was , which is much larger than the corresponding value for DLMP6(5). The interval of absolute stability for the new pair was while for for DLMP6(5) it was .
In conclusion, no extra property seemed to hold. The pair given in Table 2 does not possess any interesting properties. It is difficult to believe a special performance could be obtained after seeing its traditional characteristics.
3. Numerical Tests
We tested the following pairs chosen from the family studied above.
- The DLMP6(5) pair, given in [15].
- NEW6(5), presented here.
DLMP6(5) is the best representative of conventional RK pairs. Everything else presented until now is hardly more efficient [10]. Both pairs were run for tolerances of and the efficiency measures (2) were recorded for each one. We set NEW6(5) as the reference pair. Then we divided each efficiency measure of DLMP6(5) with the corresponding efficiency measure of NEW6(5). Numbers greater than 1 indicate that NEW6(5) is more efficient. Thus, we can interpret the number as DLMP6(5) being more expensive than NEW6(5) while an entry of 2 means that DLMP6(5) is more expensive (i.e., has twice the cost for achieving the same accuracy).
The problems we tested were as follows.
1. The Kepler problem
This problem is explained above. We ran it for five different eccentricities (i.e., ), while we recorded the efficiency measures using the endpoint errors for and .
The efficiency measure ratios of DLMP6(5) vs. NEW6(5) for Kepler are presented in Table 3 and Table 4.
Table 3.
Efficiency measure ratios of DLMP6(5) vs. NEW6(5) for Kepler in .
Table 4.
Efficiency measure ratios of DLMP6(5) vs. NEW6(5) for Kepler in .
2. The perturbed Kepler
This problem describes the motion of a planet according to Einstein’s general relativity theory and the Schwarzschild potential is applied. The equations are:
and the analytical solution is
We transformed this problem into a system of four first-order equations and solved for and . After recording the endpoint errors and the costs, we present the efficiency measures ratios of DLMP6(5) vs. NEW6(5) for perturbed Kepler in Table 5 and Table 6.
Table 5.
Efficiency measures ratios of DLMP6(5) vs. NEW6(5) for perturbed Kepler in .
Table 6.
Efficiency measures ratios of DLMP6(5) vs. NEW6(5) for perturbed Kepler in .
3. The Arenstorf orbit
Another interesting orbit describes the stable movement of a spacecraft around Earth and Moon ([22], pg. 129).
with
initial values
and with the solution is periodic.
We also transformed this problem to a system of four first-order equations and solved it to and . After recording the endpoint errors and the costs we present the efficiency measures ratios of DLMP6(5) vs. NEW6(5) for Arenstorf in Table 7.
Table 7.
Efficiency measure ratios of DLMP6(5) vs. NEW6(5) for Arenstorf.
4. The Pleiades
Finally, we considered the problem “Pleiades” as given in ([22], pg. 245).
with
The initial values are
We again transformed this problem to a system of fourteen first-order equations and solved it to and 4. We recorded the endpoint errors after we estimated the solution there by a very accurate integration using Mathematica and quadruple precision. The efficiency measure ratios of DLMP6(5) vs. NEW6(5) for Pleiades can be found in Table 8.
Table 8.
Efficiency measures ratios of DLMP6(5) vs. NEW6(5) for Pleiades.
We estimated 168 (i.e., 12 problems times 7 tolerances times two end points) efficiency measures for each pair. In average we observed a ratio of , meaning that DLMP6(5) is about more expensive! This is quite remarkable since a great deal of effort has been put over the years towards achieving 10–20% efficiency [23,24]. In reverse, this means that about digits were gained on average at the same costs.
4. Conclusions
This paper is concerned with training the coefficients of a Runge–Kutta pair for addressing a certain kind of problem. We concentrated on problems with Kepler-type orbits and an extensively studied family of Runge–Kutta pairs of orders six and five. After optimizing the free parameters (coefficients) in a couple of runs on Kepler orbits, we concluded to a certain pair. This pair was found to outperform other representatives from this family in a wide range of relevant problems.
Author Contributions
All authors contributed equally. All authors have read and agreed to the published version of the manuscript.
Funding
This research received no external funding.
Institutional Review Board Statement
Not applicable.
Informed Consent Statement
Not applicable.
Data Availability Statement
Not applicable.
Conflicts of Interest
The authors declare no conflict of interest.
Appendix A
The following Mathematica package implements the algorithm producing the coefficients of the method for double precision. In the input we provide the free coefficients , , , , and . In the output we get four vectors, namely and the matrix A.
NEW65[cc2_, cc4_, cc5_, cc6_, cc7_, bbb9_] :=
Module[{b, a, c, bb, vandh, vandl, ac, ac2, cc, ii, ba, cond, soh, b1, b4, b5, b6,
b7, b8, bb1, bb4, bb5, bb6, bb7, bb8, bb9, c2, c3, c4, c5, c6, c7, a21, a31,
a32, a41, a43, a51, a53, a54, a61, a63, a64, a65, a71, a73, a74, a75, a76,
a81, a83, a84, a85, a86, a87, so3, so5, sol, so6, so7, so8},
c2 = Rationalize[cc2, 10^-16]; c4 = Rationalize[cc4, 10^-16];
c5 = Rationalize[cc5, 10^-16]; c6 = Rationalize[cc6, 10^-16];
c7 = Rationalize[cc7, 10^-16]; bb9 = Rationalize[bbb9, 10^-16];
b={b1,0,0,b4,b5,b6,b7,b8,0};
a={{0,0,0,0,0,0,0,0,0},
{a21,0,0,0,0,0,0,0,0},
{a31,a32,0,0,0,0,0,0,0},
{a41,0,a43,0,0,0,0,0,0},
{a51,0,a53,a54,0,0,0,0,0},
{a61,0,a63,a64,a65,0,0,0,0},
{a71,0,a73,a74,a75,a76,0,0,0},
{a81,0,a83,a84,a85,a86,a87,0,0},
{b1,0,0,b4,b5,b6,b7,b8,0}};
c={0,c2,c3,c4,c5,c6,c7,1,1};
bb={bb1,0,0,bb4,bb5,bb6,bb7,bb8,bb9};
vandh={b.c==1/2,b.c^2==1/3,b.c^3==1/4,b.c^4==1/5,b.c^5==1/6};
vandl={bb.c==1/2,bb.c^2==1/3,bb.c^3==1/4,bb.c^4==1/5};
ac=a.c-c^2/2;
ac2=a.c^2-c^3/3; cc=DiagonalMatrix[c]; ii=IdentityMatrix[9];
ba=b.(a+cc-1*ii);
cond=
{b.(cc-1*ii).a.(cc-c4*ii).(cc-c5*ii).c-Integrate[(x-1)*Integrate[(x-c5)*(x-c4)*x,
{x,0,x}],{x,0,1}],
b.(cc-ii).a.(cc-c4*ii).(cc-c5*ii).c-Integrate[(x-1)*Integrate[(x-c4)*(x-c5)*x,
{x,0,x}],{x,0,1}] /.{a43->0,a53->0,a63->0,a73->0},
bb.a.(cc-c5*ii).(cc-c4*ii).c-Integrate[Integrate[(x-c5)*(x-c4)*x,{x,0,x}],
{x,0,1}]};
(* start procedure *)
soh=Solve[vandh,{b4,b5,b6,b7,b8}];
b4=Together[soh[[1,1,2]]];
b5=Together[soh[[1,2,2]]];
b6=Together[soh[[1,3,2]]];
b7=Together[soh[[1,4,2]]];
b8=Together[soh[[1,5,2]]]; (* OK b *)
sol=Solve[Join[{(bb.a)[[3]]==0},vandl],{bb4,bb5,bb6,bb7,bb8}];
bb4=Together[sol[[1,1,2]]];
bb5=Together[sol[[1,2,2]]];
bb6=Together[sol[[1,3,2]]];
bb7=Together[sol[[1,4,2]]];
bb8=Together[sol[[1,5,2]]]; (* OK bb *)
c3=2/3*c4; a43=c4^2/(2*c3); a32=c3^2/(2*c2);
so5=Solve[{ac[[5]]==0,ac2[[5]]==0},{a53,a54}];
a53=Together[so5[[1,1,2]]];a54=Together[so5[[1,2,2]]]; (* after upper left *)
a87=Together[Solve[{ba[[7]]==0},{a87}][[1,1,2]]];
a76=Together[Solve[{cond[[2]]==0},{a76}][[1,1,2]]];
a86=Together[Solve[{ba[[6]]==0},{a86}][[1,1,2]]];
ac=Together[ac]; ac2=Together[ac2];
ba=Together[ba]; cond=Together[cond]; (* OK down right *)
so3=Solve[{ba[[3]]==0,cond[[1]]==0,cond[[3]]==0},{a63,a73,a83}];
a63=Together[so3[[1,1,2]]];
a73=Together[so3[[1,2,2]]];
a83=Together[so3[[1,3,2]]]; (* OK 3nd column *)
so6=Solve[{ac[[6]]==0,ac2[[6]]==0},{a64,a65}];
a64=Together[so6[[1,1,2]]];a65=Together[so6[[1,2,2]]];
so7=Solve[{ac[[7]]==0,ac2[[7]]==0},{a74,a75}];
a74=Together[so7[[1,1,2]]];a75=Together[so7[[1,2,2]]];
so8=Solve[{ac[[8]]==0,ac2[[8]]==0},{a84,a85}];
a84=Together[so8[[1,1,2]]];a85=Together[so8[[1,2,2]]]; (* OK ai4, ai5 *)
b1=1-b4-b5-b6-b7-b8;
bb1=1-bb4-bb5-bb6-bb7-bb8;
a21=c2;
a31=c3-a32;
a41=c4-a43;
a51=c5-a53-a54;
a61=c6-a63-a64-a65;
a71=c7-a73-a74-a75-a76;
a81=1-a83-a84-a85-a86-a87;
Return[SetAccuracy[{b, bb, c, a}, 16] // Chop]]
References
- Butcher, J.C. On Runge-Kutta processes of high order. J. Austral. Math. Soc. 1964, 4, 179–194. [Google Scholar] [CrossRef]
- Butcher, J.C. Numerical Methods for Ordinary Differential Equations; John Wiley & Sons: Chichester, UK, 2003. [Google Scholar]
- Tsitouras, C.; Papakostas, S.N. Cheap Error Estimation for Runge-Kutta pairs. SIAM J. Sci. Comput. 1999, 20, 2067–2088. [Google Scholar] [CrossRef]
- Runge, C. Ueber die numerische Auflöung von Differentialgleichungen. Math. Ann. 1895, 46, 167–178. [Google Scholar] [CrossRef]
- Kutta, W. Beitrag zur naherungsweisen Integration von Differentialgleichungen. Z. Math. Phys. 1901, 46, 435–453. [Google Scholar]
- Fehlberg, E. Klassische Runge-Kutta-Formeln fiinfter und siebenter 0rdnung mit Schrittweiten-Kontrolle. Computing 1969, 4, 93–106. [Google Scholar] [CrossRef]
- Fehlberg, E. Klassische Runge-Kutta-Formeln vierter und niedrigererrdnung mit Schrittweiten-Kontrolle und ihre Anwendung auf Warmeleitungsprobleme. Computing 1970, 6, 61–71. [Google Scholar] [CrossRef]
- Dormand, J.R.; Prince, P.J. A family of embedded Runge-Kutta formulae. J. Comput. Appl. Math. 1980, 6, 19–26. [Google Scholar] [CrossRef]
- Prince, P.J.; Dormand, J.R. High order embedded Runge-Kutta formulae. J. Comput. Appl. Math. 1981, 7, 67–75. [Google Scholar] [CrossRef]
- Tsitouras, C. A parameter study of explicit Runge-Kutta pairs of orders 6(5). Appl. Math. Lett. 1998, 11, 65–69. [Google Scholar] [CrossRef]
- Famelis, I.T.; Papakostas, S.N.; Tsitouras, C. Symbolic derivation of Runge-Kutta order conditions. J. Symbolic Comput. 2004, 37, 311–327. [Google Scholar] [CrossRef][Green Version]
- Tsitouras, C. Runge-Kutta pairs of orders 5(4) satisfying only the first column simplifying assumption. Comput. Math. Appl. 2011, 62, 770–775. [Google Scholar] [CrossRef]
- Medvedev, M.A.; Simos, T.E.; Tsitouras, C. Fitted modifications of Runge-Kutta pairs of orders 6(5). Math. Meth. Appl. Sci. 2018, 41, 6184–6194. [Google Scholar] [CrossRef]
- Tsitouras, C. Optimized explicit Runge-Kutta pair of orders 9(8). Appl. Numer. Math. 2001, 38, 121–134. [Google Scholar] [CrossRef]
- Dormand, J.R.; Lockyer, M.A.; McGorrigan, N.E.; Prince, P.J. Global error estimation with Runge-Kutta triples. Comput. Math. Appl. 1989, 18, 835–846. [Google Scholar] [CrossRef]
- Verner, J.H. Some Runge-Kutta formula pairs. SIAM J. Numer. Anal. 1991, 28, 496–511. [Google Scholar] [CrossRef]
- Simos, T.E.; Tsitouras, C. Evolutionary derivation of Runge-Kutta pairs for addressing inhomogeneous linear problems. Numer. Algor. 2020. [Google Scholar] [CrossRef]
- Wolfram Research, Inc. Mathematica, Version 11.1; Wolfram Research, Inc.: Champaign, IL, USA, 2017. [Google Scholar]
- Tsitouras, C. Neural Networks With Multidimensional Transfer Functions. IEEE Trans. Neural Netw. 2002, 13, 222–228. [Google Scholar] [CrossRef]
- Storn, R.; Price, K. Differential evolution - a simple and efficient heuristic for global optimization over continuous spaces. J. Glob. Optim. 1997, 11, 341–359. [Google Scholar] [CrossRef]
- Liu, C.; Hsu, C.W.; Tsitouras, C.; Simos, T.E. Hybrid Numerov-type methods with coefficients trained to perform better on classical orbits. Bull. Malays. Math. Sci. Soc. 2019, 42, 2119–2134. [Google Scholar] [CrossRef]
- Hairer, E.; Nørsett, S.P.; Wanner, G. Solving Ordinary Differential Equations I, Nonstiff Problems, 2nd ed.; Springer: Berlin, Germany, 1993. [Google Scholar]
- Papageorgiou, G.; Papakostas, S.N.; Tsitouras, C. A general family of explicit Runge-Kutta pairs of orders 6(5). SIAM J. Numer. Anal. 1996, 33, 917–936. [Google Scholar]
- Papakostas, S.N.; Tsitouras, C. High phase-lag order Runge-Kutta and Nyström pairs. SIAM J. Sci. Comput. 1999, 21, 747–763. [Google Scholar] [CrossRef]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).