Abstract
High algebraic order Runge–Kutta embedded methods are commonly used when stringent tolerances are demanded. Traditionally, various criteria are satisfied while constructing these methods for application in double precision arithmetic. Firstly we try to keep the magnitude of the coefficients low, otherwise we may experience loss of accuracy; however, when working in quadruple precision we may admit larger coefficients. Then we are able to construct embedded methods of orders eight and seven (i.e., pairs of methods) with even smaller truncation errors. A new derived pair, as expected, is performing better than state-of-the-art pairs in a set of relevant problems.
    MSC:
                65L05; 65L06
            1. Introduction
The initial value problem (IVP) of the first order has the following form
      
      
        
      
      
      
      
    
      with  continuously differentiable.
Among the typical numerical approaches for addressing (1) are RK embedded methods, which are defined by the extended Butcher tableau [,] shown below
      
      
        
      
      
      
      
    
      where  with  and , , . This is an —stage RK pair and the numerical approximation of the solution advances from  to  after evaluating at each step two approximations ,  to  of orders p and q (with ), respectively, given by
      
      
        
      
      
      
      
    
      and
      
      
        
      
      
      
      
    
      with
      
      
        
      
      
      
      
    
      for , .
The local error made is estimated in every step by []
      
      
        
      
      
      
      
    
The above is used in order to change the step according to
      
      
        
      
      
      
      
    
      where the user sets a very small positive tolerance , valid through the whole integration. In case that , we also use this formula but then we may accept  as the new decreased length of . More details in the subject can be retrieved from [].
2. Runge–Kutta Pairs of Orders Eight and Seven
If the coefficient parameters in A, w, , and c fulfill certain algebraic criteria, an RK pair of order  is formed. A set of nonlinear equations describes these conditions. This system’s general (parametric) solution is known only for orders up to five. However, no practical application has been discovered for Cassity’s fifth-order families of approaches discussed in []. Only specific families of this system’s general solution are known for higher order approaches.The more free nodes , ,  there are, the easier it is to locate individual pairings of these families that meet specific design requirements. These nonstiff problem criteria are concerned with the reduction in certain truncation error coefficients measure, and for mildly stiff issues with maximizing the stability region.
Since (1) is a system, we may embed independent variable x in  and consider only autonomous systems . When used to an autonomous system of differential equations, a Runge–Kutta method is said to be of algebraic order p if and only if
      
      
        
      
      
      
      
    
      where  is the set of i-th order (rooted) trees and
      
      
        
      
      
      
      
    ,  are integral functions of  (symmetry and density function, respectively, in the terminology introduced by Butcher []) and X is a certain composition of A, w, c (in case of the lower order formula replace with ). In the following the symbol  denotes a vector with elements all the elements of the set  in some arbitrary order.
In the case of a  pair, Equation (2) is expanded in 200 nonlinear algebraic equations that must be satisfied by its higher order method and another 85 equations by its lower order method as shown in Table 1. For a list of these equations see for example Fehlberg []. A more comprehensive study with symbolic code for fast derivation of the equations of condition is given in []. The simplifying assumption
      
      
        
      
      
      
      
    
      is fulfilled in every RK method with perhaps the only exception being the Runge–Kutta–Oliver methods introduced in [] and studied further in [].
 
       
    
    Table 1.
    Number of order conditions for order p.
  
The minimal number of stages required for the construction of a  pair is 13 (i.e., hereafter ) and such a method offers only 104 parameters in view of (3). Because the number of unknowns is much fewer than the number of equations, and especially because some of the latter equations are significantly nonlinear with respect to the components of A, certain simplifying assumptions must be used to their solution.
Fehlberg was the first to construct such a pair; his pair has the disadvantage of producing identically zero error estimates for quadrature situations  in Equation (1). This defect comes after the seventh-order formula satisfies the eighth-order condition .
In the following, whenever c is a vector, we represent componentwise multiplication by
      
      
        
      
      
      
      
    
	  (assuming ). For this multiplication (called Hadamard multiplication) we admit lower order of precedence over the conventional dot product. We define  and we use the notation  for vector c but with its first  elements dropped. Accordingly, we use the notation  for the vector containing the elements of c beginning from index i through j. When applying these notations to a relation, it is assumed that it applies to both sides. See [] for details in the issues described in this paragraph.
Various authors derived RK8(7) pairs after Fehlberg avoiding the quadrature defect; in chronological order, Verner [], Prince and Dormand [], Papakostas [], Papakostas and Tsitouras [,], and Verner [,,]. These pairs generally obey the following simplifying assumptions
      
      
        
      
      
      
      
    
We additionally employ
      
      
        
      
      
      
      
    
      with  the identity matrix and  the vector with zero components.
Then we experience a severe reduction in the number of equations to be satisfied. In addition some elementary subsidiary equations can be solved instead—see the algorithm below for details.
The authors mentioned above gave some general lines of how to construct various types of embedded methods in a range of orders. A straightforward and explicit algorithm for the derivation of embedded methods of orders eight and seven is presented below.
Thus, we firstly set
      
      
        
      
      
      
      
    
      
        
      
      
      
      
    
Then we choose arbitrarily the coefficients
      
      
        
      
      
      
      
    
      with the nodes being distinct from each other and at least one of  different from zero. The rest coefficients are found successively by the algorithm given below.
- Set
- Set
- Solve , for .
- Solve , for .
Then all the remaining coefficients of matrix A are linearly depended on the following 56 equations and can be derived by solving directly the corresponding linear system.
- Solve , , ,, , ,, , ,, , , for the remaining coefficients from matrix A.
Next we provide a Mathematica package that implements the algorithm above. The following listing is 100% error free and is copied directly from the actual file.
(*----------------------------------------------------------------------------------------*)
BeginPackage["T87‘"];
Clear["T87‘*"];
T87::usage="T87[c2,c5,c6,c7,c8,c10,c11,a87,w13,ww12,ww13]
        returns the coefficients matrices a,w,ww,c
        of RK embedded pair of orders 8(7)"
Begin["‘Private‘"];
Clear["T87‘Private‘*"];
T87[c2_,c5_,c6_,c7_,c8_,c10_,c11_,a87_,w13_,ww12_,ww13_]:=
Module[  {c, c3, c4, c9, w, ww, e, a, w1, w6, w7, w8, w9, w10, w11, w12, ww1, ww6, ww7, ww8,
  ww9, ww10, ww11, ae, ac, ac2, ac3, cc, ii, baci, bbaci, a32, a43, a53, a54, a64, a65, a74,
 a75, a76, a84, a85, a86, a94, a95, a96, a97, a98, a104, a105, a106, a107, a108, a109, a114,
a115, a116, a117, a118, a119, a1110, a124, a125, a126, a127, a128, a129, a1210, a1211, a134,
   a135, a136, a137, a138, a139, a1310, a1311, a21, a31, a41, a51, a61, a71, a81, a91, a101,
                                             a111, a121, a131},
c = {0, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, 1, 1};
w = {w1, 0, 0, 0, 0, w6, w7, w8, w9, w10, w11, w12, w13};
ww = {ww1, 0, 0, 0, 0, ww6, ww7, ww8, ww9, ww10, ww11, ww12, ww13};
e = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
a = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {a21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {a31, a32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {a41, 0, a43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {a51, 0, a53, a54, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {a61, 0, 0, a64, a65, 0, 0, 0, 0, 0, 0, 0, 0},
    {a71, 0, 0, a74, a75, a76, 0, 0, 0, 0, 0, 0, 0},
    {a81, 0, 0, a84, a85, a86, a87, 0, 0, 0, 0, 0, 0},
    {a91, 0, 0, a94, a95, a96, a97, a98, 0, 0, 0, 0, 0},
    {a101, 0, 0, a104, a105, a106, a107, a108, a109, 0, 0, 0, 0},
    {a111, 0, 0, a114, a115, a116, a117, a118, a119, a1110, 0, 0, 0},
    {a121, 0, 0, a124, a125, a126, a127, a128, a129, a1210, a1211, 0, 0},
    {a131, 0, 0, a134, a135, a136, a137, a138, a139, a1310, a1311, 0, 0}};
c9 = (14*c6^2*(7*c7^2*c8 + c7*(7*c8^2 - 12*c8 + 1) + c8) + c6*(14*c7^2*(7*c8^2 - 12*c8 + 1)
    - 7*c7*(24*c8^2 - 33*c8 + 4) + 14*c8^2 - 28*c8 + 3) + 14*c7^2*c8
    + c7*(14*c8^2 - 28*c8 + 3) + 3*c8)/
    (2*(7*c6^2*(7*c7^2*(15*c8^2 - 10*c8 + 2) - 2*c7*(35*c8^2 - 26*c8 + 6)
     + 14*c8^2 - 12*c8 + 3) - 7*c6*(2*c7^2*(35*c8^2 - 26*c8 + 6)
     - c7*(52*c8^2 - 42*c8 + 11) + 12*c8^2 - 11*c8 + 3) + 7*c7^2*(14*c8^2 - 12*c8 + 3)
     - 7*c7*(12*c8^2 - 11*c8 + 3) + 21*c8^2 - 21*c8 + 6));
c3 = (3*c2)/2; c4 = (9*c2)/4; a32 = (9*c2)/8; a43 = (27*c2)/16;
{w1, w6, w7, w8, w9, w10, w11, w12} =
             Solve[{w.e == 1, w.c == 1/2, w.c^2 == 1/3, w.c^3 == 1/4, w.c^4 == 1/5,
                              w.c^5 == 1/6, w.c^6 == 1/7, w.c^7 == 1/8},
                         {w1, w6, w7, w8, w9, w10, w11, w12}][[1, All, 2]];
{ww1, ww6, ww7, ww8, ww9, ww10, ww11} =
Solve[{ww.e == 1, ww.c == 1/2, ww.c^2 == 1/3, ww.c^3 == 1/4, ww.c^4 == 1/5,
                           ww.c^5 == 1/6, ww.c^6 == 1/7},
                        {ww1, ww6, ww7, ww8, ww9, ww10, ww11}][[1, All, 2]];
ae = a.e - c; ac = a.c - c^2/2; ac2 = a.c^2 - c^3/3; ac3 = a.c^3 - c^4/4;
cc = DiagonalMatrix[c]; ii = IdentityMatrix[13];
baci = w.(a + cc - ii); bbaci = ww.(a + cc - ii);
{a53, a54, a64, a65, a74, a75, a76, a84, a85, a86, a94, a95, a96, a97, a98, a104, a105,
 a106, a107, a108, a109, a114, a115, a116, a117, a118, a119, a1110, a124, a125, a126, a127,
         a128, a129, a1210, a1211, a134, a135, a136, a137, a138, a139, a1310, a1311} =
 Solve[ Join[(w.(cc - ii).a)[[4 ;; 5]], (w.(cc - ii).(cc - ii).a)[[4 ;; 5]], ac[[5 ;; 12]],
               ac2[[5 ;; 12]], ac3[[7 ;; 13]], baci[[4 ;; 10]], bbaci[[4 ;; 8]],
            {(ww.(cc - ii).a)[[4]], -(1/35) + w.(c a.c^4), -(1/40) + w.(c^2 a.c^4),
               -(1/48) + w.(c a.c^5), -(1/35) + ww.(c a.c^4)}] == Array[0 &, 44],
    {a53, a54, a64, a65, a74, a75, a76, a84, a85, a86, a94, a95, a96, a97, a98, a104, a105,
 a106, a107, a108, a109, a114, a115, a116, a117, a118, a119, a1110, a124, a125, a126, a127,
 a128, a129, a1210, a1211, a134, a135, a136, a137, a138, a139, a1310, a1311}][[1, All, 2]];
{a21, a31, a41, a51, a61, a71, a81, a91, a101, a111, a121, a131} =
                    Simplify[Solve[ae[[2 ;; 13]] == Array[0 &, 12],
{a21, a31, a41, a51, a61, a71, a81, a91, a101, a111, a121, a131}][[1, All, 2]]];
Return[{a,w,ww,c}];
End[];
EndPackage[]];
(*----------------------------------------------------------------------------------------*)
This package can be retrieved from http://users.uoa.gr/~tsitourasc/t87.m, accessed on 8 August 2022.
We spend about 0.01s for derivation of the coefficients (e.g., for PD8(7) given in []) after typing
In[1]:=T87[1/18,5/16,3/8,59/400,93/200,13/20,1201146811/1299019798,
                  -180193667/1043307555,1/4,2/45,0]
The coefficients of PD87 listed in [] are continued fraction approximations accurate to only 18 significant digits. Here we used a version of the coefficients accurate to 34 significant digits after properly chopping the coefficients found exactly above (i.e., as Out[1]).
3. On Derivation of a New Runge–Kutta Pair of Orders Eight and Seven
PD87 [] and DVERK78 [] are among the dominant pairs of their kind and are commonly used for higher accuracy computations. Their main advantage is the minimal truncation error coefficients norm , i.e., the Euclidean norm of the 286 error coefficients of ninth order (see Table 1). A little later, Verner presented a more robust pair [], which is implemented in Mathematica function NDSolve []. We name this pair DVERK78b and its coefficients can be retrieved (for use in quad-precision) easily by typing
In[2]:=NDSolve‘EmbeddedExplicitRungeKuttaCoefficients[8,34]
The minimization of the Euclidean norm  is our main task here. Traditionally, we try also to keep the magnitude of the coefficients low when using double precision arithmetic (i.e., about 16 decimal digits). Then, a coefficient of size  along with tolerance  would cause a severe test in the margins of available digits; however, in quadruple precision, we may admit these large coefficients even for tolerances as low as about . Thus, we may proceed in a new minimization process allowing the coefficients to grow.
In order to accomplish this we use the differential evolution (DE) technique []. DE is an iterative procedure; in every iteration, named generation g, we work with a “population” of individuals. i.e., here the free parameters form the decades
      
      
        
      
      
      
      
    
      with N the population size. An initial population
      
      
        
      
      
      
      
    
      is randomly created in the first step of the method. Thus, at first we form a fitness function that evaluates . Following that, the fitness function is assessed for each member in the initial population. A three-phases sequential approach updates all of the persons participating in each iteration (generation) g. Differentiation, crossover, and selection are the phases involved. For the latter method, we utilized MATLAB [] Software DeMat []. A MATLAB version of the algorithm is implemented for this purpose.
Among the various decades we obtained by the technique applied, we concluded the following coefficients that are given in Mathematica format to ensure that are error free. The following coefficients are ready for use with build-in function NDSolve.
In[2]:=T87evec=  {10839870895445/185203278486104297,0,0,0,0,70876466420204/75470597442438275,
            -16496614726651/75468957694148719,54859577937538923405/14355606386435513,
          17895137500075704819/2362101251104030,-969063659258770673/19161965088242370,
-39193463899416576680/3455993185375433,-973424986199410385/155592419305288032,16491/120125}/10;
T87cvec=       {3102/110773,41448895555141/353624691619188,41448895555141/235749794412792,
    49442/119883,51187/105369,61011/376738,77114/79499,147909751614626799/152923788158104127,
                                    74279/78046,72043/74409,1,1};
T87amat={                                        {3102/110773},
           {-17033458900934993/132978864382888258,17659313382611255/71989792689293837},
                 {41448895555141/942999177651168,0,41448895555141/314333059217056},
          {33544131897542527/99303639017753176,0,-123806032279621065/100880451772826828,
                                80881552191452041/62126727673226683},
           {3901178494518027/70202052982346435,0,0,12244602153330846/48744104078022083,
                                11363782051482252/63479278340035273},
           {7281184019796491/108906123149933189,0,0,8912953764743186/75237479424494327,
             -1193193435755019/24043824215671157,3001381510813201/114340525306552991},
       {-297808918551351805/103302384399153762,0,0,-2387409947307450796/38235137422988677,
   -320655295147743895/172685972706995386,266830735262229145/73369592821183637,8174527/126711},
        {-312230898179118543/111335375555652709,0,0,-5921685522031592717/97516557935639304,
            -122516042059134140/66440638491697461,143089054978597281/39930960285352934,
              1966780853930863533/31340008936176199,27204097600957/30119714219091834},
        {-497327926559154029/208366132906665209,0,0,-2070519061247416919/40105304012179956,
            -139926368413626755/79789745208684688,436822604663916242/133157501626893287,
             4951999978536596383/92678477827402881,-1662171172972759/32043786293542537,
                                   320510318790859/5467452906511140},
         {-267997292446794835/94625648159795289,0,0,-1326916430444389167/21635054137957163,
             -50510473210813287/27322222661367848,680595213260915461/188925642391189177,
              1090597603926315985/17207867085312708,-818226826952911/56758278493554744,
               794276136679319/44163223221855014,-495594365453263/165024671142376612},
         {-286074472550848766/70568381571246193,0,0,-2666282586603439301/29766446888618900,
             -394981932622811234/181671027945865139,354437914440687571/72293255173230666,
            1737172167669457231/18855481952627537,-1908527156826626453/17978177470082379,
            14359180611877865064/20075894067162869,-1863006586402493967/31715262582627044,
                                 -5146117877451253921/9346764321565133},
        {-2286460617615599450/148215689608432541,0,0,-21511651826330234931/52669819756106150,
             -949790098629780736/69310896259636617,2488552272190713800/64326656295428697,
            14577683994864478388/35463253730030943,-34626716477448076238/6579786536866391,
            267076469802229885930/7436961774107587,-15666088518007151408/5323429123670105,
                               -39614246945332388915/1429199330541022,0}};
T87bvec=       {959469921003535/20735873900418433,0,0,0,0,83661087663817387/226096222469839182,
              228743606234324881/883020026679163794,3544120671195926375/8063503515187523,
               164403934540876/64548125027903185,1872154679941434671/50440600905843744,
      -3908844507545666995/8324248434152054,-402658040159189839/58491143516062232,16491/120125};
T87Coefficients[8,p_]:=N[{T87amat,T87bvec,T87cvec,T87evec},p];
MATLAB furnished the free coefficients in double precision (see, e.g., , etc., in vector T87cvec). Considering these free coefficients as exact, we were able to extract the rest coefficients in quadruple precision as listed above.
Another issue that is interesting when dealing with (1) is the existence of large stability intervals. For the eighth order formula (which the solution propagated) we form the polynomial
      
      
        
      
      
      
      
    
There is no need to add the term  since  and in consequence . The real stability interval has the form  with  and  holds for all .
The basic characteristics of the methods presented here can be found in Table 2. It is obvious that our objective was met by far with RK8(7).
 
       
    
    Table 2.
    Basic characteristics of the RK pairs considered.
  
4. Numerical Results
The Runge–Kutta pairs of orders eight and seven chosen for comparison are the following
- DVERK78b: The pair proposed by Verner [].
- PD87: The pair of [] with coefficients in an enhanced 34 decimal digits version.
- T87: The pair constructed here.
The above selection is justified by the chosen methods being the most used ones. DVERK78b is also implemented in MAPLE function dsolve [] and its coefficients can be retrieved using MATHEMATICA (see In[1] above).
All the problems were run in MATHEMATICA using the NDSolve function and exploiting the capabilities offered for explicit Runge–Kutta pairs [].
The problems of the tests are the following:
4.1. Inhomogeneous Equation
The first test problem chosen is the inh○m○gene○us equation:
      
        
      
      
      
      
     with analytical solution []
        
      
        
      
      
      
      
    
We integrated this problem in the interval  for tolerances . We then recorded the cost (in function evaluations) versus the achieved end-point accuracy for the three pairs. The corresponding efficiency plots are shown in Figure 1. The rightmost lower circle in Figure 1 may produced in Mathematica after typing:
 
      
    
    Figure 1.
      Efficiency plots for the inhomogeneous equation.
  
In[3]:=Needs["DifferentialEquations‘NDSolveProblems‘"];
In[4]:=Needs["DifferentialEquations‘NDSolveUtilities‘"];
In[5]:=system=NDSolveProblem[{{y1’[t]==y2[t],y2’[t]==-100*y1[t]+99*Sin[t]},
                 {y1[0]==1,y2[0]==11},{y1[t],y2[t]},{t,0,20*Pi},{},{},{}}];
In[6]:=CompareMethods[system, {1, 11}, {{"ExplicitRungeKutta",
                                        "Coefficients" -> T87Coefficients,
                        "DifferenceOrder" -> 8, "StiffnessTest" -> False}},
           WorkingPrecision -> 33, AccuracyGoal -> 24, PrecisionGoal -> 24]
Out[6]={{{101128,0},1314666,7.12428*10^-25}}
i.e., we spent about  stages and achieved more than 24 digits of accuracy. Observe that the solution at the initial and at the end-point coincide.
4.2. Brusselator
Secondly we tried the Brusselator problem [], which is formed after the laws of chemical kinetics. A simplified version is given in [] (p. 116), and has the form
        
      
        
      
      
      
      
    . See also [] (p. 22).
The analytical solution is not available. An end-point approximation of the solution was found by a very accurate integration. We then integrated this problem in the interval  for tolerances . We also recorded the cost (in function evaluations) versus the achieved end-point accuracy for the three pairs. The corresponding efficiency plots are shown in Figure 2.
 
      
    
    Figure 2.
      Efficiency plots for the Brusselator.
  
4.3. Two Body Problem
We continued with the Kepler problem with eccentricity  as in [] which shares the following equations
        
      
        
      
      
      
      
    
        with initial conditions 
The analytical solution is shown in []. We also integrated this problem in the interval  for tolerances . We then recorded the cost versus the achieved end-point accuracy for the three pairs. The corresponding efficiency plots are shown in Figure 3.
 
      
    
    Figure 3.
      Efficiency plots for the Kepler problem.
  
4.4. The Euler Problem
We finally tried the Euler problem as given in [] (p. 244). Namely
        
      
        
      
      
      
      
    
        and the exterior force given as
        
      
        
      
      
      
      
    
        with initial values 
The analytical solution is not available. An end-point approximation of the solution was found by a very accurate integration. We then integrated this problem in the interval  for tolerances . We also recorded the cost versus the achieved end-point accuracy for all three pairs. The corresponding efficiency plots are shown in Figure 4.
 
      
    
    Figure 4.
      Efficiency plots for the Euler problem.
  
Interpreting the results we observe a clear and wide distance in favor of our new proposal since it takes advantage of the significantly smaller truncation error.
5. Conclusions
A new Runge–Kutta pair of orders eight and seven is proposed for use in high precision computations. A smaller truncation error is achieved at an affordable cost of larger magnitude of the coefficients. Its performance is illustrated in a set of relevant problems.
Author Contributions
Conceptualization, T.E.S. and C.T.; Data curation, V.N.K., R.V.F., T.V.K., T.E.S. and C.T.; Formal analysis, V.N.K., R.V.F., T.V.K., T.E.S. and C.T.; Funding acquisition, T.E.S.; Investigation, V.N.K., R.V.F., T.V.K., T.E.S. and C.T.; Methodology, T.E.S. and C.T.; Project administration, T.E.S.; Resources, V.N.K., R.V.F., T.V.K., T.E.S. and C.T.; Software, R.V.F., T.V.K., T.E.S. and C.T.; Supervision, T.E.S. and C.T.; Validation, V.N.K., R.V.F., T.E.S. and C.T.; Visualization, V.N.K., R.V.F., T.V.K. and T.E.S.; Writing—original draft, C.T.; Writing—review & editing, T.E.S. All authors have read and agreed to the published version of the manuscript.
Funding
The research was supported by a Mega Grant from the Government of the Russian Federation within the framework of the federal project No. 075-15-2021-584.
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.
References
- Butcher, J.C. Implicit Runge-Kutta processes. Math. Comput. 1964, 18, 50–64. [Google Scholar] [CrossRef]
- Butcher, J.C. On Runge-Kutta processes of high order. J. Austral. Math. Soc. 1964, 4, 179–194. [Google Scholar] [CrossRef]
- Tsitouras, C.; Papakostas, S.N. Cheap error estimation for Runge-Kutta methods. SIAM J. Sci. Comput. 1999, 20, 2067–2088. [Google Scholar] [CrossRef]
- Cassity, C.R. The complete solution of the fifth order Runge-Kutta equations. SIAM J. Numer. Anal. 1969, 6, 432–436. [Google Scholar] [CrossRef]
- Butcher, J.C. The Numerical Analysis of ODEs: Runge-Kutta and General Linear Methods; Wiley: Chichester, UK, 1987. [Google Scholar]
- Fehlberg, E. Classical Fifth, Sixth, Seventh, and Eighth Order Runge-Kutta Formulas with Stepsize Control, TRR-287; NASA: Marshall Space Flight Center: Huntsville, AL, USA, 1968. [Google Scholar]
- 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]
- Oliver, J. A Curiosity of Low-Order Explicit Runge-Kutta Methods. Math. Comput. 1975, 29, 1032–1036. [Google Scholar] [CrossRef]
- Tsitouras, C. Explicit Runge-Kutta methods for starting integration of Lane–Emden problem. Appl. Math. Comput. 2019, 354, 353–364. [Google Scholar] [CrossRef]
- Papakostas, S.N.; Tsitouras, C.; Papageorgiou, G. A general family of explicit Runge-Kutta pairs of orders 6(5). SIAM J. Numer. Anal. 1996, 33, 917–936. [Google Scholar] [CrossRef]
- Verner, J.H. Explicit Runge-Kutta methods with estimates of the local truncation error. SIAM J. Numer. Anal. 1978, 15, 772–790. [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]
- Papakostas, S.N. Algebraic Analysis and Development of Numerical ODE Solvers of the Runge-Kutta Type. Ph.D. Thesis, National Technical University, Athens, Greece, 1996. Available online: https://www.didaktorika.gr/eadd/handle/10442/6561 (accessed on 8 August 2022).
- 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]
- Verner, J.H. A contrast of some Runge-Kutta formula pairs. SIAM J. Numer. Anal. 1990, 27, 1332–1344. [Google Scholar] [CrossRef]
- Verner, J.H. Some Runge-Kutta formula pairs. SIAM J. Numer. Anal. 1991, 28, 496–511. [Google Scholar] [CrossRef]
- Verner, J.H. Numerically optimal Runge–Kutta pairs with interpolants. Numer. Algor. 2010, 53, 383–396. [Google Scholar] [CrossRef]
- Verner, J.H. Available online: https://www.sfu.ca/~jverner/RKV87.IIa.Robust.00000754677.081208.FLOAT40OnWeb (accessed on 8 August 2022).
- NDSolve: Mathematica Function. Available online: https://reference.wolfram.com/language/ref/NDSolve.html?q=NDSolve (accessed on 8 August 2022).
- 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]
- MATLAB Version R2019b; The Mathworks, Inc.: Natick, MA, USA, 2019.
- Storn, R.; Price, K.; Neumaier, A.; Zandt, J.V. DeMat. Available online: https://github.com/mikeagn/DeMatDEnrand (accessed on 25 March 2022).
- dsolve, Maple Function. Available online: https://www.maplesoft.com/support/help/maple/view.aspx?path=dsolve/dverk78 (accessed on 8 August 2022).
- “ExplicitRungeKutta” for NDSolve. Available online: https://reference.wolfram.com/language/tutorial/NDSolveExplicitRungeKutta.html (accessed on 8 August 2022).
- Tsitouras, C.; Simos, T.E. High algebraic, high phase-lag order embedded Numerov-type methods for oscillatory problems. Appl. Math. Comput. 2002, 131, 201–211. [Google Scholar] [CrossRef]
- Lefever, R.; Nicolis, G. Chemical Instabilities and sustained oscillations. J. Theor. Biol. 1971, 30, 267–284. [Google Scholar] [CrossRef]
- Hairer, E.; Nørsett, S.P.; Wanner, G. Solving Ordinary Differential Equations I: Nonstiff Problems; Springer: Berlin, Germany, 1993. [Google Scholar]
- Sofroniou, M.; Knapp, R. Advanced numerical differential equation solving in Mathematica. In Wolfram Mathematica Tutorial Collection; Wolfram Research: Champaign, IL, USA, 2008. [Google Scholar]
- Tsitouras, C. A tenth order symplectic Runge-Kutta and Nyström method. Cele. Mech. Dynam. Astron. 1999, 74, 223–230. [Google Scholar] [CrossRef]
- Tsitouras, C.; Papageorgiou, G. Runge-Kutta Interpolants Based on Values from Two Successive Integration Steps. Computing 1990, 43, 255–266. [Google Scholar] [CrossRef]
| Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. | 
© 2022 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/).
