Next Article in Journal
Intelligent Image Super-Resolution for Vehicle License Plate in Surveillance Applications
Next Article in Special Issue
Correction: Tolmachev et al. Algorithmic Aspects of Simulation of Magnetic Field Generation by Thermal Convection in a Plane Layer of Fluid. Mathematics 2023, 11, 808
Previous Article in Journal
On Cyclic Contractive Mappings of Kannan and Chatterjea Type in Generalized Metric Spaces
Previous Article in Special Issue
Algorithmic Aspects of Simulation of Magnetic Field Generation by Thermal Convection in a Plane Layer of Fluid
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Runge–Kutta–Nyström Pairs of Orders 8(6) for Use in Quadruple Precision Computations

by
Vladislav N. Kovalnogov
1,
Alexander F. Matveev
1,
Dmitry A. Generalov
1,
Tamara V. Karpukhina
1,
Theodore E. Simos
1,2,3,4,5,* and
Charalampos Tsitouras
6
1
Laboratory of Inter-Disciplinary Problems of Energy Production, Ulyanovsk State Technical University, 32 Severny Venetz Street, 432027 Ulyanovsk, Russia
2
Department of Medical Research, China Medical University Hospital, China Medical University, Taichung City 40402, Taiwan
3
Data Recovery Key Laboratory of Sichuan Province, Neijiang Normal University, Neijiang 641100, China
4
Department of Mathematics, University of Western Macedonia, 52100 Kastoria, Greece
5
Department of Civil Engineering, Democritus University of Thrace, Section of Mathematics, 67100 Xanthi, Greece
6
General Department, National & Kapodistrian University of Athens, Euripus Campus, 34400 Psachna, Greece
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(4), 891; https://doi.org/10.3390/math11040891
Submission received: 10 January 2023 / Revised: 5 February 2023 / Accepted: 7 February 2023 / Published: 9 February 2023
(This article belongs to the Special Issue Numerical Analysis and Scientific Computing II)

Abstract

:
The second-order system of non-stiff Initial Value Problems (IVP) is considered and, in particular, the case where the first derivatives are absent. This kind of problem is interesting since since it arises in many significant problems, e.g., in Celestial mechanics. Runge–Kutta–Nyström (RKN) pairs are perhaps the most successful approaches for solving such type of IVPs. To achieve a pair attaining orders eight and six, we have to solve a well-defined set of equations with respect to the coefficients. Here, we provide a simplified form of these equations in a robust algorithm. When creating such pairings for use in double precision arithmetic, numerous conditions are often satisfied. First and foremost, we strive to keep the coefficients’ magnitudes small to prevent accuracy loss. We may, however, allow greater coefficients when working with quadruple precision. Then, we may build pairs of orders eight and six with significantly smaller truncation errors. In this paper, a novel pair is generated that, as predicted, outperforms state-of-the-art pairs of the same orders in a collection of important problems.

1. Introduction

Second order initial value problems (IVP) of the specific form
ζ = ψ ( x , ζ ) , ζ ( x 0 ) = ζ 0 , ζ ( x 0 ) = ζ 0
with ψ : R × R m R m sufficiently continuous differentiable and ( ζ 0 , ζ 0 ) R 2 m , is considered here.
We evaluate an approximation to the solution of problem (1) at a set of distinct points x n , ζ n , ζ n using an explicit Runge–Kutta–Nyström method of algebraic order p. This method’s format is as follows (see [1] and ([2], p. 283) for further explanations on these methods):
ψ i = ψ ( x n + c i τ n , ζ n + c i τ n ζ n + τ n 2 j = 1 i 1 d i j ψ j ) , i = 1 , 2 , , s
ζ n + 1 = ζ n + τ n ζ n + τ n 2 i = 1 s w i ψ i , ζ n + 1 = ζ n + τ n i = 1 s w i ψ i ,
where τ n = x n + 1 x n , is the size of the step. The last 50 years have seen a persistent interest in these methods. Follow the works of E. Fehlberg [3], Dormand et al. [4,5], El-Mikkawy and Rahmo [6], Papakostas et al. [7], Simos et al. [8], and Jerbi et al. [9]. There have also been RKN methods presented with special features. Houven et al. investigated RKN methods with lower phase lags, while Yoshida [10] and Calvo et al. [11] built RKN algorithms with the symplectic property.
In this paper, we set p = 8 and we combine the aforementioned method with an additional formula of order six. In light of this, we also calculate an estimate of fifth order using the same values of ψ i ,
ζ ^ n + 1 = ζ n + τ n ζ n + τ n 2 i = 1 s w ^ i ψ i , ζ ^ n + 1 = ζ n + τ n i = 1 s w ^ i ψ i .
The higher order approximations ζ n , ζ n are employed in all circumstances to propagate the solutions in time.
As a result, we have an estimator of error
ϵ = ζ n + 1 ζ ^ n + 1 = O ( τ 7 ) .
Then, we compare ϵ with T O L which is a small positive number defined by the user. Then, using this little value, known as tolerance, we can estimate the length of the following step as
τ n + 1 = 0.9 · τ n · T O L ϵ 1 / 7 ,
which is in common use for the RKN8(6) pairs [4,12]. When T O L < ϵ , we prevent the solution from propagating. We essentially repeat the current step, but this time we use τ n + 1 as the new shorter version rather than τ n .
The Butcher tableau may be used to represent the coefficients [13]. As a result, the method appears in the form
c D w , w ^ w , w ^
with D R s × s , w T , w ^ T , w T , w ^ T , c R s , i.e. the weights are represented as row vectors.
Below we take into account a triplet with nine stages ( s = 9 ). The Butcher tableau shown in Table 1 displays its coefficients.
Using such a method, we spend only eight stages per step since the final stage is reused as first stage in the following step. Thus, the numbers in the ninth stage coincide with w, i.e., d 9 j = w j for j = 1 , 2 , , 8 . This technique is known as FSAL (First Stage As Last).
RKN pairs of orders eight and six that use effectively eight stages per step were studied in [5,7]. Eighth order RKN methods that share seven stages per step have only been constructed for the special case of linear inhomogeneous problems [14].

2. Runge–Kutta–Nyström Methods of Eighth Order

We apply a RKN method to (1) and deploy the Taylor series expansions for ζ ( x n + τ ) ζ n + 1 and ζ ( x n + τ ) ζ n + 1 . When matching expressions up to h 8 for an eighth order method, the following results are obtained:
ζ ( x n + τ ) ζ n + 1 = τ 2 e 2 , 1 Q 2 , 1 + τ 3 e 3 , 1 Q 3 , 1 + + τ 8 e 8 , 1 Q 8 , 1 + + e 8 , 20 Q 8 , 20 + O τ 9
ζ ( x n + τ ) ζ n + 1 = τ e ˜ 1 , 1 Q 1 , 1 + τ 2 e ˜ 2 , 1 Q 2 , 1 + + τ 8 e ˜ 8 , 1 Q 8 , 1 + + e ˜ 8 , 36 Q 8 , 36 + O τ 9
where e i j are expressions depending on w , D , c while e ˜ i j are expressions depending on w , D , c . An algorithm for their symbolic derivation of is given in [15]. Expressions Q i j are elementary differentials with respect to ζ , ψ and its partial derivatives. The elementary differentials come from the problem and can not be handled by the method. However, for an eighth order RKN method we have to eliminate the coefficients e i j and e ˜ i j in expressions (3) and (4) to the requested order. In Table 2, we list the number of order conditions (i.e., of e i j and e ˜ i j ) for each order. Thus, e.g., for a third algebraic order method we have to nullify 0 + 1 + 1 = 2 equations for ζ and another 1 + 1 + 2 = 4 order conditions for ζ .
Inspecting from Butcher tableau above (i.e., Table 1) the number of coefficients available for a nine stages method and compared it with the equations of condition up to eighth order as reported in Table 2, we see that are far too less. Thus, we proceed making various simplifying assumptions that drastically reduce the number of order conditions. Firstly, we set
w = w · ( I s C ) ,
with I s R s × s the identity matrix and C = diag ( c ) . Using this assumption we automatically satisfy the order conditions for ζ after eliminating the equations of the same order for ζ . Then, we are interested in eliminating only e ˜ i j with respect to w , D , c .
Again summing the numbers in the last row of Table 2, we see that are remaining to too many for the coefficients at hand. Thus, we proceed making the following assumptions
D · I = 1 2 c 2 , D · c = 1 6 c 3 , D · c 2 = 1 12 c 4 ,
with
c i = c c c i times ,
the componentwise multiplication among matrices (i.e., Hadamard multiplication), while c 0 = I = [ 1 , 1 , , 1 ] T R s . This multiplication has lower priority than dot product.
We also consider the row simplifying condition for RKN methods
w · ( D + C 1 2 ( C C ) 1 2 I s )
and the subsidiary simplifying assumptions
( w · D ) 2 = 0 , ( w · D ) 2 = 0 , ( w · ( C C ) · D ) 2 = 0 , ( w ^ · D ) 2 = 0 .
Then we achieve a severe reduction in the number of order conditions and we may continue deriving the coefficients of an eighth order method (i.e., w , w , D and c) by the following algorithm.
  • BEGIN ALGORITHM
Select arbitrary values for the coefficients w ^ 9 , w 9 , c 4 , c 5 , c 6 and c 7 .
Then compute successively and explicitly
c 3 = 15 20 c 4 20 c 5 + 28 c 4 c 5 20 c 6 + 28 c 4 c 6 + 28 c 5 c 6 42 c 4 c 5 c 6 20 c 7 + 28 c 4 c 7 + 28 c 5 c 7 42 c 4 c 5 c 7 + 28 c 6 c 7 42 c 4 c 6 c 7 42 c 5 c 6 c 7 + 70 c 4 c 5 c 6 c 7 2 ( 10 14 c 4 14 c 5 + 21 c 4 c 5 14 c 6 + 21 c 4 c 6 + 21 c 5 c 6 35 c 4 c 5 c 6 14 c 7 + 21 c 4 c 7 + 21 c 5 c 7 35 c 4 c 5 c 7 + 21 c 6 c 7 35 c 4 c 6 c 7 35 c 5 c 6 c 7 + 70 c 4 c 5 c 6 c 7 )
c 2 = 1 2 c 3
Solve Vandermonde equations
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 ,
for w 1 , w 3 , w 4 , w 5 , w 6 , w 7 , w 8 . The last Vandermonde equation w · c 7 = 1 8 is automatically satisfied by the selection of c 3 . Then vector w comes explicitly from (5).
Solve ( D · c ) 4 = c 4 2 2 , ( D · c 2 ) 4 = c 4 3 6 , for d 42 and d 43 . Notice here that ( D · c ) is a vector and, thus, ( D · c ) 4 is its fourth component.
Solve ( w · D ) 2 = 0 , ( w · D ) 2 = 0 , ( w · ( C C ) · D ) 2 = 0 ans ( w ^ · D ) 2 = 0 for d 72 , d 62 , d 52 , d 82 .
Solve the following three integral equations
w · ( C I s ) · ( C c 7 I s ) · D · ( C c 3 I s ) · ( C c 4 I s ) · c = 0 1 ( x 1 ) ( x c 7 ) 0 x 0 x ( x x 3 ) ( x c 4 ) x d x d x d x ,
w · ( C I s ) · D · ( C c 3 I s ) · ( C c 4 I s ) · ( C c 5 I s ) · c = 0 1 ( x 1 ) 0 x 0 x ( x x 3 ) ( x c 4 ) ( x c 5 ) x d x d x d x ,
w · ( C I s ) · D · ( C c 3 I s ) · ( C c 4 I s ) · ( C c 5 I s ) · c = 0 1 ( x 1 ) 0 x 0 x ( x x 3 ) ( x c 4 ) ( x c 5 ) x d x d x d x ,
for d 65 , d 76 , d 75 .
Evaluate a 53 , a 54 , a 63 , a 64 , a 73 , a 74 from ( D · c ) j = c j 2 2 , ( D · c 2 ) j = c j 3 6 , for j = 5 , 6 , 7 .
Evaluate a 83 , a 84 , a 85 , a 86 , a 87 from w · ( D + C 1 2 ( C C ) 1 2 I s ) and its respective coordinates.
In the end we get
a 9 i = w i , for i = 1 , 2 , , 8
and
a j 1 = c j 2 2 k = 2 j 1 a j k , j = 2 , 3 , , 8 .
  • END OF ALGORITHM
It is of interest to remark that no such simplified algorithm has ever appeared until now. It helped us very much in deriving our triplet.

3. Producing a RKN Pair of Orders 8 and 6

By the algorithm given in the previous section we may construct an eighth order RKN method at an actual cost of eight stages per step. This algorithm is that it offers six free parameters. Thus, we may exploit them in order to improve the efficiency of our new method. We choose to minimize the terms of the principal error terms, i.e., the Euclidean norm of the ninth order coefficients e 9 j , j = 1 , 2 , , 36 and e ˜ 9 j , j = 1 , 2 , , 72 , that appear in series expansions (3) and (4).
When utilizing double precision arithmetic, we traditionally aim to keep the magnitude of the coefficients as small as possible. The margins of the available digits would therefore be severely tested by a coefficient of size 10 3 , a function value of size 10 2 and a tolerance of ε = 10 11 . However, with quadruple precision, we are still able to accept these large coefficients with tolerances as low as approximately 10 25 . By allowing the coefficients to increase, we can now move on to a new minimization procedure.
In order to address this, we choose to use Differential Evolution Algorithm [16,17]. Differential Evolution is an iterative procedure and in every iteration, named generation g, we work with a “population” of individuals w ^ 9 ( g ) , w 9 ( g ) , c 4 ( g ) , c 5 ( g ) , c 6 ( g ) , c 7 ( g ) i , i = 1 , 2 , , P with P the population size. An initial population w ^ 9 ( 0 ) , w 9 ( 0 ) , , c 7 ( 0 ) i , i = 1 , 2 , , P is randomly created in the first step of the method. We have also set as fitness function the expression
Φ = e 9 , 1 2 + e 9 , 2 2 + + e 9 , 36 2 + e ˜ 9 , 1 2 + e ˜ 9 , 2 2 + + e ˜ 9 , 72 2 = T 9 2 + T 9 2
which measures the loss from a ninth order method. The fitness function is then evaluated for each individual in the initial population and it is meant to be minimized. A three-phase sequential procedure updates every participant in each generation (iteration) g. The stages are Differentiation, Crossover, and Selection. We used the software DeMat [18] in MATLAB [19] where the latter technique is implemented. Success is not guaranteed with one optimization. Thus, we run the procedure several hundred times. Then we manage to get a solution. The result is further refined in order to get more digits of accuracy. This was done working on multi-precision arithmetic and using the function NMinimize of Mathematica [20].
The main characteristics of the major RKN pairs of eighth order studied here are given in Table 3. The norms presented there correspond to the Euclidean norm of the coefficients ninth order (i.e., of τ 9 ) in the expressions (3) and (4). We expect the new method to perform better since it produces significantly reduced local truncation errors.
The coefficients of the method constructed can be found in the following Mathematica module where we also implemented the integration algorithm we used in numerical tests in Listing 1.
Listing 1.Mathematica Module implementing the new pair.
RKNT86[f_List, vars_List, initialvalues_List, dinitialvalues_List,
finalx_, errorTolerance_] :=
Block[{x = SetAccuracy[First[initialvalues], 33],
y = SetAccuracy[Rest[initialvalues], 33], dy = SetAccuracy[dinitialvalues, 33],
xend = SetAccuracy[finalx, 33], h, err, hnew, y7, y8, dy7, dy8, solution, hmax,
ireject, k = Table[i + j, {i, 9}, {j, Length[vars] - 1}],
b=SetAccuracy[{46704396222138759/1124501888012545693,0,
84069894477030747/424535379079037893,60269691739898297/328032958547368465,
2009963068113133/27794099874007722,162341471393132/140140455957185117,
6086576956589044/1882413506280312633,0,0},33],
bb=SetAccuracy[{10769958754260247/261191895425614637,0,
104933541030533329/527807735255158343,8187542127950603/44863180380403502,
50493885750265423/674323734860213804,-396215365808089/252398506959352750,
5468871271464350/1319483122963052413,0,0},33],
db=SetAccuracy[{46704396222138759/1124501888012545693,0,
90371972523959954/390135632629351589,118990880894033457/367654647557162744,
180830119624415039/624884373647391279,16628088200566168/1643600751401035359,
1524820183138666476/417332398303375801,-942444174868320016/265473221553563103,
0},33],
dbb=SetAccuracy[{10769958754260247/261191895425614637,0,
58861559987617091/253105545276009947,142913350550568712/444546485690175277,
8398007711885933/28026591338889651,-8440103966850896/615634893567208211,
1592393294195924241/339999309740023022,
-6699802037196600096/1421037300124099357,3/20},33],
c=SetAccuracy[{0,8065253268/111157879849,16130506536/111157879849,99/229,
1855/2473,116/131,1129/1130,1,1},33],
a=SetAccuracy[{{0},{502615833312847/190946037812928939},
{1601030787675953/456179150746555700,1601030787675953/228089575373277850},
{47478115875661981/518814108724307373,-64883723802385428/357040639400014459,
25666007926449694/139746227660637731},
{-328112826298039228/251912779790891183,969895830706346953/297412056373654755,
-958305119264262743/492487831928632961,151603443293999467/564549369158251216},
{44079989458325648760/345626831710945999,-267609305840442666747/859338149021870938,
130442442641184422881/655209191357439877,-7381158156698807543/475346800759815547,
594932629852457670/835908452635682287},
{-10802627635977292643/544607328597417370,22047268993379696720/454307750813938153,
-9705881798108421635/315306127829247354,1078781161885226048/413453123878982063,
-8616008188673363/388077019471353686,365346507915481/466435620062528214},
{-13306779498890004275/660225117657805349,22208114914951831801/450387553598953907,
-6398475501845852180/204556450443208783,1412284034546646006/533270054097053815,
-19179472816466775/820785347597843378,14435103384615/18331075303513484,
-364401779978/904202609357507829},
{46704396222138759/1124501888012545693,0,84069894477030747/424535379079037893,
60269691739898297/328032958547368465,2009963068113133/27794099874007722,
162341471393132/140140455957185117,6086576956589044/1882413506280312633,0}},33],
half = SetAccuracy[1/2, 33], two = SetAccuracy[2, 33],
ninetenth = SetAccuracy[9/10, 33],
ode = Function[Release[vars], Release[f]]},
hmax = SetAccuracy[xend - x, 33]; h = SetAccuracy[errorTolerance^(1/8), 33];
ireject = 0;
solution = SetAccuracy[{Flatten[{x, y, dy}]}, 33];
k[[9]] = SetAccuracy[Apply[ode, Flatten[{x, y}]], 33];
While[x < xend, If[x + h == x, Break[]];
If[x + h - xend > 0, h = SetAccuracy[xend - x, 33]];
k[[1]] = k[[9]];
k[[2]] = SetAccuracy[ Apply[ode, Flatten[{x + c[[2]] h, y + c[[2]] h*dy
+ h^2*a[[2, 1]] k[[1]]}]], 33];
k[[3]] = SetAccuracy[ Apply[ode, Flatten[{x + c[[3]] h, y + c[[3]] h*dy
+ h^2*a[[3]].Take[k, 2]}]], 33];
k[[4]] = SetAccuracy[ Apply[ode, Flatten[{x + c[[4]] h, y + c[[4]] h*dy
+ h^2*a[[4]].Take[k, 3]}]], 33];
k[[5]] = SetAccuracy[ Apply[ode, Flatten[{x + c[[5]] h, y + c[[5]] h*dy
+ h^2*a[[5]].Take[k, 4]}]], 33];
k[[6]] = SetAccuracy[ Apply[ode, Flatten[{x + c[[6]] h, y + c[[6]] h*dy
+ h^2*a[[6]].Take[k, 5]}]], 33];
k[[7]] = SetAccuracy[ Apply[ode, Flatten[{x + c[[7]] h, y + c[[7]] h*dy
+ h^2*a[[7]].Take[k, 6]}]], 33];
k[[8]] = SetAccuracy[ Apply[ode, Flatten[{x + c[[8]] h, y + c[[8]] h*dy
+ h^2*a[[8]].Take[k, 7]}]], 33];
k[[9]] = SetAccuracy[ Apply[ode, Flatten[{x + c[[9]] h, y + c[[9]] h*dy
+ h^2*a[[9]].Take[k, 8]}]], 33];
y8 = SetAccuracy[y + h*dy + h^2 b.k, 33];
y7 = SetAccuracy[y + h*dy + h^2 bb.k, 33];
dy8 = SetAccuracy[dy + h db.k, 33];
dy7 = SetAccuracy[dy + h dbb.k, 33];
err = SetAccuracy[Max[{Max[Abs[y8 - y7]/10], Max[Abs[dy8 - dy7]/10]}], 33];
hnew = SetAccuracy[ Min[SetAccuracy[hmax, 33],SetAccuracy[ h/Max[half, Min[two,
SetAccuracy[(Rationalize[err/errorTolerance, 10^-33]^(1/7))/ninetenth,
33]]], 33]], 33];
If[err <= errorTolerance, x += h; y = y8; dy = dy8;
AppendTo[solution, SetAccuracy[Flatten[{x, y8, dy8}], 33]],
hnew = SetAccuracy[Min[hnew, h], 33];
ireject = ireject + 1;
k[[9]] = k[[1]]];h = hnew]; Return[{solution,ireject}]]
In the listing above we give in the input
  • f: A list with function ψ , i.e., in the form { ψ 1 ( x , 1 ζ , 2 ζ , ) , ψ 2 ( x , 1 ζ , 2 ζ , ) , }
  • vars: A list with variables, i.e., in the form { x , 1 ζ , 2 ζ , }
  • initial values: A list with initial values, i.e., in the form { x 0 , 1 ζ ( x 0 ) , 2 ζ ( x 0 ) , }
  • dinitialvalues: A list with initial values for ζ , i.e., in the form { 1 ζ ( x 0 ) , 2 ζ ( x 0 ) , }
  • finalx: The final value of x
  • errorTolerance: The tolerance T O L
Notice here that by 1 ζ , 2 ζ , we denote the coordinates of ζ .
In the output we get the list solution where we collected all the steps taken, i.e., the values
x 0 , 1 ζ 0 , 2 ζ 0 , , m ζ 0 , 1 ζ 0 , 2 ζ 0 , , m ζ 0
x 1 , 1 ζ 1 , 2 ζ 1 , , m ζ 1 , 1 ζ 1 , 2 ζ 1 , , m ζ 1
x 2 , 1 ζ 2 , 2 ζ 2 , , m ζ 2 , 1 ζ 2 , 2 ζ 2 , , m ζ 2
etc. We also get the number ireject of the rejected steps.

4. Numerical Results

In the following we may present some numerical tests to support the value of our new proposal.

4.1. The Methods

The explicit 8th order methods selected for testing are the following:
  • The RKN pair of orders 8(6) given in [5], named DEP8(6).
  • The RKN pair of orders 8(6) given in [7], named PT8(6).
  • The RKN pair of orders 8(6) presented here, named RKNT8(6).
These pairs were run as normal, with an error estimation ϵ being evaluated at each step. The Formula (2) is then used to create the new step since the error’s asymptotical form for them is O ( τ 7 ) . The framework presented in the previous section was used for all runs.

4.2. The Problems

For our tests, a number of well-known problems were selected out of the literature. These problems were run for tolerances 10 14 , 10 15 , 10 22 . For all these runs we recorded the steps taken (accepted and rejected) and the maximum global error observed at the end-point. The observed numbers (i.e., steps vs errors) are shown in various efficiency plots. All computations were done in Mathematica.

4.2.1. Inhomogeneous Equation

The inhomogeneous equation is the first test problem selected [21]:
ζ = 100 ζ ( x ) + 99 · sin ( x ) , ζ ( 0 ) = 1 , ζ ( 0 ) = 11 ,
with theoretical solution
ζ ( t ) = cos ( 10 x ) + sin ( 10 x ) + sin ( x ) .
We integrated this problem in the interval x 0 , 10 π . In Figure 1, we draw the corresponding efficiency plots.

4.2.2. Inhomogeneous Linear System

This problem is given as follows:
ζ = 1 100 1 10 1 10 1 100 · ζ + 0 sin x ,
with theoretical solution
ζ = cos 3 10 x 1000 10 , 101 sin x cos 3 10 x 10 , 100 10 , 101 sin x
We integrated that problem in the interval x 0 , 10 π and the efficiency plots are shown in Figure 2.
The rightmost circle in Figure 2 is justified by the following run of the Mathematica module given in the listing of the previous section.
In[1]:={solution, ireject} = RKNT86[{1/100*z1-1/10*z2,-1/10*z1+1/100*z2+Sin[x]},
{x,z1,z2}, {0,1,1},{-1000/10101,-(10100/10101)},10*Pi,10^-22];
In[2]={Length[solution] + ireject - 1, Max[Abs[Last[solution][[2 ;; 5]] -
{-1, -1, -1000/10101, -10100/10101}]]}
Out[2]={6957,2.419274*10^-26}

4.2.3. Problem F

Next we consider the following problem:
1 ζ = 4 x 2 · 1 ζ 2 2 ζ 1 ζ 2 + 2 ζ 2 , 2 ζ = 4 x 2 · 2 ζ + 2 1 ζ 1 ζ 2 + 2 ζ 2 , x 1 2 π , 10
with initial values
1 ζ 1 2 π = 0 , 2 ζ 1 2 π = 1 , 1 ζ 1 2 π = 2 π , 2 ζ 1 2 π = 0
and theoretical solution
1 ζ ( x ) = cos x 2 , 2 ζ = sin x 2 .
Here, 1 ζ and 2 ζ may understood as components and not as time steps.
We integrated that problem in the interval x 0 , 10 π . The theoretical solution and the efficiency plots are shown in Figure 3.

4.2.4. Kepler Problem

Next, we choose the celebrated two body problem with eccentricity e = 0.5 ,
1 ζ = ζ 1 ( 1 ζ 2 + 2 ζ 2 ) 3 / 2 , 2 ζ = 2 ζ ( 1 ζ 2 + 2 ζ 2 ) 3 / 2 , 1 ζ ( 0 ) = 1 2 , 1 ζ ( 0 ) = 0 , 2 ζ ( 0 ) = 0 , 2 ζ ( 0 ) = 3 .
We solved the above equations in the interval 0 , 10 π as ζ 10 π = ζ ( 0 ) and the theoretical solution is given in [22]. The efficiency plots are shown in Figure 4.

4.2.5. Coupled Non-Linear Pendulum

Finally, we considered a smooth variant of the non-linear problem from [2] pg. 297. The equations of motion are
1 ζ = sin ( 1 ζ ) 0.2 ( sin ( 1 ζ ) sin ( 2 ζ ) ) cos ( 1 ζ ) + e 10 x , 2 ζ = sin ( 2 ζ ) 0.1 ( sin ( 2 ζ ) sin ( 1 ζ ) ) cos ( 2 ζ ) .
We integrated the problem in the interval x 0 , 496 starting with no move or speed at all, i.e., 1 ζ ( 0 ) = 2 ζ ( 0 ) = 1 ζ ( 0 ) = 2 ζ ( 0 ) = 0 .
No theoretical solution is available. Thus, the almost true solution is derived by running an integration using T O L = 10 26 . The efficiency plots are shown in Figure 5.

4.3. Discussion on the Results

The results show that the new pair outperforms by far other RKN8(6) pairs on the problems tested. Almost 1–2 digits of accuracy were gained in most cases. The findings demonstrate that when high accuracies are required in the solution of special second order IVPs, the new approach significantly beats earlier ones.

5. Conclusions

In this paper, we looked at Runge–Kutta–Nyström pairs that are specifically optimized for solving initial value problems of second order when the first derivative is missing. We exploited the large coefficients that can be handled when working in quadruple precision arithmetic. The main contribution of our try is that the proposed method possesses very smaller truncation error terms in comparison with the other eighth order pairs appeared in the literature. Numerical tests in relevant problems justify our effort.
Reconsideration of other high order Runge–Kutta and Runge–Kutta–Nyström pairs may considered in the future in the direction shown here. Minimization of truncation errors for use in quadruple precision, regardless the increase in the magnitude of the coefficients.

Author Contributions

All authors have contributed equally. 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

The coefficients of the method can be retrieved in Mathematica format from http://users.uoa.gr/tsitourasc/rknt86.m (accessed on 4 February 2023).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Hairer, E. Méthodes de Nyström pour l’équation différentielle y″ = f(x,y). Numer. Math. 1976, 2, 283–300. [Google Scholar] [CrossRef]
  2. Hairer, E.; Nørsett, S.P.; Wanner, G. Solving Ordinary Differential Equations I: Nonstiff Problems; Springer: Berlin/Heidelberg, Germany, 1993. [Google Scholar]
  3. Fehlberg, E. Eine Runge-Kutta-Nyström-Formel g-ter Ordnung rnit Schrittweitenkontrolle fur Differentialgleichungen x .. = f ( t , x ) . ZAMM 1981, 6, 477–485. [Google Scholar] [CrossRef]
  4. Dormand, J.R.; El-Mikkawy, M.E.A.; Prince, P.J. Families of Runge-Kutta-Nyström formulae. IMA J. Numer. Anal. 1987, 7, 235–250. [Google Scholar] [CrossRef]
  5. Dormand, J.R.; El-Mikkawy, M.E.A.; Prince, P.J. High-Order Runge-Kutta-Nyström formulae. IMA J. Numer. Anal. 1987, 7, 423–430. [Google Scholar] [CrossRef]
  6. El-Mikkawy, M.E.A.; Rahmo, E. A new optimized non-FSAL embedded RungeKuttaNyström algorithm of orders 6 and 4 in six stages. Appl. Math. Comput. 2003, 145, 33–43. [Google Scholar]
  7. 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]
  8. Simos, T.E.; Tsitouras, C. On high order Runge–Kutta– Nyström pairs. J. Comput. Appl. Maths. 2022, 400, 113753. [Google Scholar] [CrossRef]
  9. Jerbi, H.; Omri, M.; Kchaou, M.; Simos, T.E.; Tsitouras, C. Runge-Kutta-Nyström Pairs of Orders 8(6) with Coefficients Trained to Perform Best on Classical Orbits. Mathematics 2022, 10, 654. [Google Scholar] [CrossRef]
  10. Yoshida, H. Construction of higher order symplectic integrators. Phys. Lett. A 1990, 150, 262–268. [Google Scholar] [CrossRef]
  11. Calvo, M.P.; Sanz-Serna, J.M. High order symplectic Runge-Kutta-Nyström methods. SIAM J. Sci. Comput. 1993, 14, 1237–1252. [Google Scholar] [CrossRef]
  12. Brankin, R.W.; Gladwell, I.; Dormand, J.R.; Prince, P.J.; Seward, W.L. ALGORITHM 670: A Runge-Kutta-Nyström Code. ACM Trans. Math. Softw. 1989, 15, 31–40. [Google Scholar] [CrossRef]
  13. Butcher, J.C. On Runge-Kutta processes of high order. J. Austral. Math. Soc. 1964, 4, 179–194. [Google Scholar] [CrossRef]
  14. Kovalnogov, V.N.; Fedorov, R.V.; Karpukhina, M.T.; Kornilova, M.I.; Simos, T.E.; Tsitouras, C. Runge-Kutta-Nystrom methods of eighth order for addressing Linear Inhomogeneous problems. J. Comput. Appl. Maths. 2023, 419, 114778. [Google Scholar] [CrossRef]
  15. Tsitouras, C.; Famelis, I.T. Symbolic derivation of Runge-Kutta-Nyström order conditions. J. Math. Chem. 2009, 46, 896–912. [Google Scholar] [CrossRef]
  16. Price, K.V.; Storn, R.M.; Lampinen, J.A. Differential Evolution, A Practical Approach to Global Optimization; Springer: Berlin/Heidelberg, Germany, 2005. [Google Scholar]
  17. Storn, R.M.; Price, K.V. Differential evolution—A simple and efficient heuristic for global optimization over continuous spaces. J. Glob. Optim. 1997, 11, 341–359. [Google Scholar] [CrossRef]
  18. Storn, R.M.; Price, K.V.; Neumaier, A.; Zandt, J.V. DeMat. Available online: https://github.com/mikeagn/DeMatDEnrand (accessed on 18 August 2022).
  19. Matlab. MATLAB Version 7.10.0; The MathWorks Inc.: Natick, MA, USA, 2010. [Google Scholar]
  20. Wolfram Research, Inc. Mathematica, Version 11.3.0; Wolfram Research, Inc.: Champaign, IL, USA, 2018.
  21. Kovalnogov, V.N.; Kornilova, M.I.; Khakhalev, Y.A.; Generalov, D.A.; Simos, T.E.; Tsitouras, C. Fitted modifications of Runge–Kutta–Nyström pairs of orders 7(5) for addressing oscillatory problems. Math. Meth. Appl. Sci. 2023, 46, 273–282. [Google Scholar] [CrossRef]
  22. Enright, W.; Pryce, J.D. Two FORTRAN packages for assessing initial value methods. ACM Trans. Math. Softw. 1987, 13, 1–27. [Google Scholar] [CrossRef]
Figure 1. Efficiency plots for the inhomogeneous equation.
Figure 1. Efficiency plots for the inhomogeneous equation.
Mathematics 11 00891 g001
Figure 2. Efficiency plots for the linear inhomogeneous system.
Figure 2. Efficiency plots for the linear inhomogeneous system.
Mathematics 11 00891 g002
Figure 3. Efficiency plots for problem F.
Figure 3. Efficiency plots for problem F.
Mathematics 11 00891 g003
Figure 4. Efficiency plots for the Kepler problem.
Figure 4. Efficiency plots for the Kepler problem.
Mathematics 11 00891 g004
Figure 5. Efficiency plots for the coupled non-linear pendulum.
Figure 5. Efficiency plots for the coupled non-linear pendulum.
Mathematics 11 00891 g005
Table 1. The Butcher tableau of RKN pairs of orders 8(6).
Table 1. The Butcher tableau of RKN pairs of orders 8(6).
0
c 2 d 21
c 3 d 31 d 32
c 4 d 41 d 42 d 43
c 5 d 51 d 52 d 53 d 54
c 6 d 61 d 62 d 63 d 64 d 65
c 7 d 71 d 72 d 73 d 74 d 75 d 76
1 d 81 d 82 d 83 d 84 d 85 d 86 d 87
1 w 1 0 w 3 w 4 w 5 w 6 w 7 0
8th-order w w 1 0 w 3 w 4 w 5 w 6 w 7 00
6th-order w ^ w ^ 1 0 w ^ 3 w ^ 4 w ^ 5 w ^ 6 w ^ 7 00
8th-order w w 1 0 w 3 w 4 w 5 w 6 w 7 w 8 w 9
6th-order w ^ w ^ 1 0 w ^ 3 w ^ 4 w ^ 5 w ^ 6 w ^ 7 w ^ 8 w ^ 9
Table 2. Number of equations of conditions for RKN methods.
Table 2. Number of equations of conditions for RKN methods.
Order
m e t h o d n u m b e r o f - order→12345678910
RKNorder conditions for ζ 01123610203672
order conditions for ζ 1123610203672137
Table 3. Basic characteristics of the RKN pairs considered.
Table 3. Basic characteristics of the RKN pairs considered.
PairStagesFSAL T ( 9 ) 2 T ( 9 ) 2
PT 8 ( 6 ) [7]9YES 1.7 · 10 7 1.6 · 10 7
DEP 8 ( 6 ) [4]9YES 8.3 · 10 7 8.2 · 10 7
RKNT 8 ( 6 ) 9YES 1.7 · 10 8 1.6 · 10 8
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kovalnogov, V.N.; Matveev, A.F.; Generalov, D.A.; Karpukhina, T.V.; Simos, T.E.; Tsitouras, C. Runge–Kutta–Nyström Pairs of Orders 8(6) for Use in Quadruple Precision Computations. Mathematics 2023, 11, 891. https://doi.org/10.3390/math11040891

AMA Style

Kovalnogov VN, Matveev AF, Generalov DA, Karpukhina TV, Simos TE, Tsitouras C. Runge–Kutta–Nyström Pairs of Orders 8(6) for Use in Quadruple Precision Computations. Mathematics. 2023; 11(4):891. https://doi.org/10.3390/math11040891

Chicago/Turabian Style

Kovalnogov, Vladislav N., Alexander F. Matveev, Dmitry A. Generalov, Tamara V. Karpukhina, Theodore E. Simos, and Charalampos Tsitouras. 2023. "Runge–Kutta–Nyström Pairs of Orders 8(6) for Use in Quadruple Precision Computations" Mathematics 11, no. 4: 891. https://doi.org/10.3390/math11040891

APA Style

Kovalnogov, V. N., Matveev, A. F., Generalov, D. A., Karpukhina, T. V., Simos, T. E., & Tsitouras, C. (2023). Runge–Kutta–Nyström Pairs of Orders 8(6) for Use in Quadruple Precision Computations. Mathematics, 11(4), 891. https://doi.org/10.3390/math11040891

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop