Abstract

The current numerical technique for solving a system of higher-order ordinary differential equations (ODEs) is to reduce it to a system of first-order equations then solving it using first-order ODE methods. Here, we propose a method to solve higher-order ODEs directly. The formulae will be derived in terms of backward difference in a constant stepsize formulation. The method developed will be validated by solving some higher-order ODEs directly with constant stepsize. To simplify the evaluations of the integration coefficients, we find the relationship between various orders. The result presented confirmed our hypothesis.

1. Introduction

Differential equations constantly arise in various branches of science and engineering. Many of these problems are in the form of higher-order ordinary differential equations (ODEs). A few examples where these problems can be found are, in the motion of projectiles, the bending of a thin clamped beam and population growth.

The popular practice for solving a system of higher-order ODEs is by reducing it to a system of first-order equations and then solving with first-order methods. These methods worked, so that methods for solving higher-order ODEs have been disregarded as robust codes. However, the work by Krogh [1], Suleiman [2], Majid and Suleiman [3], and Omar and Suleiman [4] has revived the interest in solving higher-order ODEs directly and the theoretical development of the methods.

Related works for solving higher-order ODEs can be found in Collatz [5], Gear [6], Krogh [1, 7], and Suleiman [2]. Krogh [7] proposed the direct integration (DI) method for nonstiff problems using modified divided difference while Suleiman [2] proposed the DI method using the standard divided difference. In this paper, we will derive the constant stepsize backward difference formulae of solving higher-order ODEs up to third order. The main reason for developing the constant stepsize formulae is that, in developing the theory on convergence and stability, the approach is through constant stepsize formulation. Another reason is that it is possible to use this formula in conjunction with other similar formulae as in Majid and Suleiman [3] to develop a code for variable stepsize and order.

The advantage of such a code is that the integration or differentiation constants are calculated only once at the start of the first step of integration, whereas other formulations calculate the constants at every step.

In this paper, we will focus only on nonstiff ODEs of the form 𝑦(𝑑)ξ‚€ξ‚π‘Œξ‚ξ‚ξ€·=𝑓π‘₯,,(1.1)π‘Œ(π‘₯)=𝑓π‘₯,𝑦,π‘¦ξ…ž,π‘¦ξ…žξ…ž,…,𝑦(π‘‘βˆ’1)ξ€Έ,ξ€·Μƒπœ‚=πœ‚,πœ‚ξ…ž,πœ‚ξ…žξ…ž,…,πœ‚(π‘‘βˆ’1)ξ€Έ,(1.2) where ξ‚π‘Œ(π‘Ž)=Μƒπœ‚ in the interval π‘Žβ‰€π‘₯≀𝑏 and 𝑑 is the order of the ODE.

Without loss of generality, we will be considering the scalar equation in (1.1).

This paper will be organized as follows. First, the integration coefficients of the explicit constant stepsize backward difference formulation of the DI method will be derived. Then, the coefficients of the implicit method are formulated and their relationship with the explicit coefficients is shown. We start the derivation with the coefficients of the first-order system, which is given in Henrici [8]. Next, the second-order coefficients are derived and their relationship with the corresponding first-order coefficients is given, likewise the relationship of the coefficients for the second- and third-order systems. Finally, the method developed using backward difference will be validated numerically.

2. The Formulation of the Predict-Evaluate-Correct-Evaluate (PECE) Multistep Method in Its Backward Difference Form (MSBD) for Nonstiff Higher-Order ODEs

The code developed will be using the PECE mode. The predictor and corrector will have the following form:

predictor:π‘π‘Ÿπ‘¦(π‘‘βˆ’π‘‘)𝑛+1=π‘‘βˆ’1𝑖=0β„Žπ‘–π‘¦π‘–!𝑛(π‘‘βˆ’π‘‘+1)+β„Žπ‘‘π‘˜βˆ’1𝑖=0𝛾(π‘‘βˆ’π‘‘),π‘–βˆ‡π‘–π‘“π‘›,𝑑=1,2,…,𝑑,(2.1) corrector:𝑦(π‘‘βˆ’π‘‘)𝑛+1=π‘‘βˆ’1𝑖=0β„Žπ‘–π‘¦π‘–!𝑛(π‘‘βˆ’π‘‘+1)+β„Žπ‘‘π‘˜βˆ’1𝑖=0π›Ύβˆ—(π‘‘βˆ’π‘‘),π‘–βˆ‡π‘–π‘“π‘›+1,𝑑=1,2,…,𝑑.(2.2) The corrector will be reformulated, so that it will be in terms of the predictor. The reformulated corrector can be written as𝑦(π‘‘βˆ’π‘‘)𝑛+1=π‘π‘Ÿπ‘¦(π‘‘βˆ’π‘‘)𝑛+1+𝛾(π‘‘βˆ’π‘‘),π‘˜βˆ‡π‘˜π‘π‘Ÿξ€·π‘“π‘›+1ξ€Έ,𝑑=1,2,…,𝑑,(2.3) where π‘π‘Ÿπ‘“π‘›+1 indicates 𝑓𝑛+1 evaluated using predicted values. The integration coefficient 𝛾(π‘‘βˆ’π‘‘),𝑖 and π›Ύβˆ—(π‘‘βˆ’π‘‘),𝑖 will be derived using the method of generating function. Finally, the constant stepsize algorithm will be constructed and validated with some test problems and examples from physical situations.

3. Derivation up to Third-Order Explicit Integration Coefficients

Integrating (1.1) once yields 𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+ξ€œπ‘₯𝑛+1π‘₯𝑛𝑓π‘₯,𝑦,π‘¦ξ…ž,π‘¦ξ…žξ…žξ€Έπ‘‘π‘₯.(3.1) Let 𝑃𝑛(π‘₯) be the interpolating polynomial which interpolates the π‘˜ values (π‘₯𝑛,𝑓𝑛),(π‘₯π‘›βˆ’1,π‘“π‘›βˆ’1),…,(π‘₯π‘›βˆ’π‘˜+1,π‘“π‘›βˆ’π‘˜+1), then𝑃𝑛(π‘₯)=π‘˜βˆ’1𝑖=0(βˆ’1)𝑖𝑖ξƒͺβˆ‡βˆ’π‘ π‘–π‘“π‘›.(3.2) Next, approximating 𝑓 in (3.1) with 𝑃𝑛(π‘₯) and lettingπ‘₯=π‘₯𝑛+π‘ β„Žor𝑠=π‘₯βˆ’π‘₯π‘›β„Ž(3.3) gives us𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+ξ€œ10π‘˜βˆ’1𝑖=0(βˆ’1)𝑖𝑖ξƒͺβˆ‡βˆ’π‘ π‘–π‘“π‘›π‘‘π‘ ,(3.4) or𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+β„Žπ‘˜βˆ’1𝑖=0𝛾1,π‘–βˆ‡π‘–π‘“π‘›,(3.5) where𝛾1,𝑖=(βˆ’1)π‘–ξ€œ10𝑖ξƒͺβˆ’π‘ π‘‘π‘ .(3.6) The generating function 𝐺1(𝑑) for the coefficients 𝛾1,𝑖 is defined as follows:𝐺1(𝑑)=βˆžξ“π‘–=0𝛾1,𝑖𝑑𝑖.(3.7) Substituting 𝛾1,𝑖 in (3.6) in 𝐺1(𝑑) gives𝐺1(𝑑)=βˆžξ“π‘–=0(βˆ’π‘‘)π‘–ξ€œ10𝑖ξƒͺπΊβˆ’π‘ π‘‘π‘ ,1ξ€œ(𝑑)=10(1βˆ’π‘‘)(βˆ’π‘ )𝐺𝑑𝑠,1ξ€œ(𝑑)=10π‘’βˆ’π‘ log(1βˆ’π‘‘)𝑑𝑠(3.8) which leads to𝐺1ξ‚Έ(𝑑)=βˆ’(1βˆ’π‘‘)βˆ’1βˆ’1log(1βˆ’π‘‘)ξ‚Ήlog(1βˆ’π‘‘).(3.9) Equation (3.9) can be written asβˆ’ξƒ©βˆžξ“π‘–=0𝛾1,𝑖𝑑𝑖ξƒͺ𝑑log(1βˆ’π‘‘)=ξ‚Ή(1βˆ’π‘‘)(3.10)or𝛾1,0+𝛾1,1𝑑+𝛾1,2𝑑2+𝛾1,3𝑑3𝑑+⋯𝑑+22+𝑑33+𝑑44ξ‚Άξ€·+β‹―=𝑑1+𝑑+𝑑2+𝑑3ξ€Έ+β‹―.(3.11) Hence, the coefficients of 𝛾1,π‘˜ are given byπ‘˜ξ“π‘–=0𝛾1,π‘–ξ‚π›Ύπ‘˜βˆ’π‘–+1=1,1,π‘˜=1βˆ’π‘˜βˆ’1𝑖=0𝛾1,π‘–ξ‚π‘˜βˆ’π‘–+1π‘˜=1,2,…,𝛾1,0=1.(3.12)

4. Second-Order ODE Formulae

Integrate (1.1) twice for second-order ODEs where 𝑑=2. Integrating once leads to the same coefficients as given in (3.6). Integrating twice yields𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+β„Žπ‘¦ξ…žξ€·π‘₯𝑛+β„Ž2π‘˜ξ“π‘–=0𝛾2,π‘–βˆ‡π‘–π‘“π‘›.(4.1) Substituting π‘₯ with 𝑠 gives𝛾2,𝑖=(βˆ’1)π‘–ξ€œ10(1βˆ’π‘ )𝑖ξƒͺ1!βˆ’π‘ π‘‘π‘ .(4.2) The generating function 𝐺2(𝑑) of the coefficients 𝛾2,𝑖 is defined as follows𝐺2(𝑑)=βˆžξ“π‘–=0𝛾2,𝑖𝑑𝑖.(4.3) Substituting (4.2) into 𝐺2(𝑑) above gives𝐺2ξ€œ(𝑑)=10(1βˆ’π‘ )𝑒1!βˆ’π‘ log(1βˆ’π‘‘)𝑑𝑠.(4.4) Substituting 𝐺1(𝑑) into (4.4) yields𝐺21(𝑑)=ξ‚Έ11!βˆ’log(1βˆ’π‘‘)1!𝐺1(𝑑)ξ‚Ήlog(1βˆ’π‘‘).(4.5) Equation (4.5) can be written asξƒ©βˆžξ“π‘–=0𝛾2,𝑖𝑑𝑖ξƒͺ1log(1βˆ’π‘‘)=ξ€Ί1!1βˆ’1!𝐺1ξ€»(𝑑)(4.6)or𝛾2,0+𝛾2,1𝑑+𝛾2,2𝑑2𝑑+⋯𝑑+22+𝑑33ξ‚Ά=1+⋯𝛾1!βˆ’1+1!1,0+𝛾1,1𝑑+𝛾1,2𝑑2+β‹―ξ€Έξ€».(4.7) Hence the coefficients of 𝛾2,π‘˜ in relation to coefficients of the previous order 𝛾1,π‘˜ are given byπ‘˜ξ“π‘–=0𝛾2,π‘–π‘˜βˆ’π‘–+1=𝛾1,π‘˜+1,𝛾2,0=𝛾1,1,𝛾2,π‘˜=𝛾1,π‘˜+1βˆ’π‘˜ξ“π‘–=0𝛾2,π‘–π‘˜βˆ’π‘–+1,π‘˜=1,2,….(4.8)

5. Third-Order Formulae

Next, the case of the third-order ODE where 𝑑=3 will be considered. In the case of π‘¦ξ…žξ…ž,π‘¦ξ…ž, the corresponding coefficients are 𝛾1,𝑖,𝛾2,𝑖 as in (3.6) and (4.2). For the solution 𝑦(π‘₯), integrating three times yields𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+β„Žπ‘¦ξ…žξ€·π‘₯𝑛+β„Ž2𝑦2!ξ…žξ…žξ€·π‘₯𝑛+ξ€œπ‘₯𝑛+1π‘₯𝑛π‘₯𝑛+1ξ€Έβˆ’π‘₯(2)𝑓(2)!π‘₯,𝑦,π‘¦ξ…ž,π‘¦ξ…žξ…žξ€Έπ‘‘π‘₯(5.1) or in the backward difference formulation, given by𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+β„Žπ‘¦ξ…žξ€·π‘₯𝑛+β„Ž2𝑦2!ξ…žξ…žξ€·π‘₯𝑛+β„Ž3π‘˜ξ“π‘–=0𝛾3,π‘–βˆ‡π‘–π‘“π‘›,(5.2) where𝛾3,𝑖=(βˆ’1)π‘–ξ€œ10(1βˆ’π‘ )2!2𝑖ξƒͺβˆ’π‘ π‘‘π‘ .(5.3) The generating function 𝐺3(𝑑) of the coefficients 𝛾3,𝑖 is defined as follows:𝐺3(𝑑)=βˆžξ“π‘–=0𝛾3,𝑖𝑑𝑖.(5.4)Substituting (5.3) into 𝐺3(𝑑) above yields𝐺3ξ€œ(𝑑)=10(1βˆ’π‘ )2!2π‘’βˆ’π‘ log(1βˆ’π‘‘)𝑑𝑠.(5.5) As in (4.4), we now substitute 𝐺2(𝑑) in (5.5) which gives𝐺31(𝑑)=ξ‚Έ12!βˆ’log(1βˆ’π‘‘)2!𝐺2(𝑑)ξ‚Ήlog(1βˆ’π‘‘).(5.6) Equation (5.6) can be written asξƒ©βˆžξ“π‘–=0𝛾3,𝑖𝑑𝑖ξƒͺ1log(1βˆ’π‘‘)=ξ€Ί2!1βˆ’2!𝐺2ξ€»(𝑑)(5.7)

or𝛾3,0+𝛾3,1𝑑+𝛾3,2𝑑2𝑑+⋯𝑑+22+𝑑33ξ‚Ά=1+⋯𝛾2!βˆ’1+2!2,0+𝛾2,1𝑑+𝛾2,2𝑑2+β‹―ξ€Έξ€».(5.8) Hence, the coefficients of 𝛾3,π‘˜ in relation to coefficients of the previous order 𝛾2,π‘˜ are given byπ‘˜ξ“π‘–=0𝛾3,π‘–π‘˜βˆ’π‘–+1=𝛾2,π‘˜+1,𝛾3,0=𝛾2,1,𝛾3,π‘˜=𝛾2,π‘˜+1βˆ’π‘˜ξ“π‘–=0𝛾3,π‘–π‘˜βˆ’π‘–+1,π‘˜=1,2,….(5.9)

6. Derivation up to the Third-Order Implicit Integration Coefficients

Integrating (1.1) once yields 𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+ξ€œπ‘₯𝑛+1π‘₯𝑛𝑓π‘₯,𝑦,π‘¦ξ…ž,π‘¦ξ…žξ…žξ€Έπ‘‘π‘₯.(6.1) Let 𝑃𝑛(π‘₯) be the interpolating polynomial which interpolates the π‘˜ values (π‘₯𝑛,𝑓𝑛),(π‘₯π‘›βˆ’1,π‘“π‘›βˆ’1),…,(π‘₯π‘›βˆ’π‘˜+1,π‘“π‘›βˆ’π‘˜+1):𝑃𝑛(π‘₯)=π‘˜ξ“π‘–=0(βˆ’1)𝑖𝑖ξƒͺβˆ‡βˆ’π‘ π‘–π‘“π‘›+1.(6.2) As in the previous derivation, we chooseπ‘₯=π‘₯𝑛+1+π‘ β„Ž,or𝑠=π‘₯βˆ’π‘₯𝑛+1β„Ž.(6.3) Replacing π‘₯by 𝑠 yields 𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+ξ€œ0π‘˜βˆ’1𝑖=0(βˆ’1)𝑖𝑖ξƒͺβˆ‡βˆ’π‘ π‘–π‘“π‘›+1𝑑𝑠.(6.4) Simplify 𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+β„Žπ‘˜ξ“π‘–=0π›Ύβˆ—1,π‘–βˆ‡π‘–π‘“π‘›,(6.5) whereπ›Ύβˆ—1,𝑖=(βˆ’1)π‘–ξ€œ0βˆ’1𝑖ξƒͺβˆ’π‘ π‘‘π‘ .(6.6) The generating function πΊβˆ—1(𝑑) of the coefficientsπ›Ύβˆ—1,𝑖 is defined as follows:πΊβˆ—1(𝑑)=βˆžξ“π‘–=0π›Ύβˆ—1,𝑖𝑑𝑖(6.7)

orπΊβˆ—1(𝑑)=βˆžξ“π‘–=0(βˆ’π‘‘)π‘–ξ€œ0βˆ’1𝑖ξƒͺπΊβˆ’π‘ π‘‘π‘ ,βˆ—1ξ€œ(𝑑)=0βˆ’1(1βˆ’π‘‘)(βˆ’π‘ )𝐺𝑑𝑠,βˆ—1ξ€œ(𝑑)=0βˆ’1π‘’βˆ’π‘ log(1βˆ’π‘‘)𝑑𝑠(6.8) which leads toπΊβˆ—1ξ‚Έ1(𝑑)=βˆ’βˆ’log(1βˆ’π‘‘)(1βˆ’π‘‘)ξ‚Ήlog(1βˆ’π‘‘).(6.9) For the case 𝑑=2, the approximate solution of 𝑦 has the form𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+β„Žπ‘¦ξ…žξ€·π‘₯𝑛+ξ€œπ‘₯𝑛+1π‘₯𝑛π‘₯𝑛+1ξ€Έβˆ’π‘₯(1)!(1)𝑓π‘₯,𝑦,π‘¦ξ…ž,π‘¦ξ…žξ…žξ€Έπ‘‘π‘₯.(6.10) The coefficients are given byπ›Ύβˆ—2,𝑖=(βˆ’1)π‘–ξ€œ0βˆ’1(βˆ’π‘ )𝑖ξƒͺ1!βˆ’π‘ π‘‘π‘ ,(6.11) where π›Ύβˆ—2,𝑖 are the coefficients of the backward difference formulation of (6.11) which can be represented by𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+β„Žπ‘¦ξ…žξ€·π‘₯𝑛+β„Ž2π‘˜ξ“π‘–=0π›Ύβˆ—2,π‘–βˆ‡π‘–π‘“π‘›.(6.12) The generating function πΊβˆ—2(𝑑) for the coefficients π›Ύβˆ—2,𝑖 is defined as follows:πΊβˆ—2(𝑑)=βˆžξ“π‘–=0π›Ύβˆ—2,𝑖𝑑𝑖.(6.13) Substituting (6.11) into πΊβˆ—2(𝑑) above,πΊβˆ—2ξ€œ(𝑑)=0βˆ’1(βˆ’π‘ )𝑒1!βˆ’π‘ log(1βˆ’π‘‘)𝑑𝑠.(6.14) Solving (6.14) with the substitution of (3.8) produces the relationshipπΊβˆ—21(𝑑)=ξ‚Έ1!(1βˆ’π‘‘)βˆ’log(1βˆ’π‘‘)1!πΊβˆ—1(𝑑)ξ‚Ήlog(1βˆ’π‘‘).(6.15) Integrating (1.1) thrice yields𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+β„Žπ‘¦ξ…žξ€·π‘₯𝑛+β„Ž2𝑦2!ξ…žξ…žξ€·π‘₯𝑛+ξ€œπ‘₯𝑛+1π‘₯𝑛π‘₯𝑛+1ξ€Έβˆ’π‘₯(2)𝑓(2)!π‘₯,𝑦,π‘¦ξ…ž,π‘¦ξ…žξ…žξ€Έπ‘‘π‘₯.(6.16) The coefficients are given byπ›Ύβˆ—3,𝑖=(βˆ’1)π‘–ξ€œ0βˆ’1(βˆ’π‘ )2!2𝑖ξƒͺβˆ’π‘ π‘‘π‘ ,(6.17) where π›Ύβˆ—3,𝑖 are the coefficients of the backward difference formulation of (6.17) which can be represented by𝑦π‘₯𝑛+1ξ€Έξ€·π‘₯=𝑦𝑛+β„Žπ‘¦ξ…žξ€·π‘₯𝑛+β„Ž2𝑦2!ξ…žξ…žξ€·π‘₯𝑛+β„Ž3π‘˜ξ“π‘–=0π›Ύβˆ—3,π‘–βˆ‡π‘–π‘“π‘›.(6.18)

The generating function πΊβˆ—3(𝑑) of the coefficients π›Ύβˆ—3,𝑖 is defined as follows:πΊβˆ—3(𝑑)=βˆžξ“π‘–=0π›Ύβˆ—3,𝑖𝑑𝑖.(6.19)

Substituting (6.17) into πΊβˆ—3(𝑑) above yieldsπΊβˆ—3ξ€œ(𝑑)=0βˆ’1(βˆ’π‘ )2!2π‘’βˆ’π‘ log(1βˆ’π‘‘)𝑑𝑠.(6.20) Solving (6.11) with the substitution of (6.20) produces the relationshipπΊβˆ—31(𝑑)=ξ‚Έ2!(1βˆ’π‘‘)βˆ’log(1βˆ’π‘‘)2!πΊβˆ—2(𝑑)ξ‚Ήlog(1βˆ’π‘‘).(6.21)

7. The Relationship between the Explicit and Implicit Integration Coefficients

Calculating the integration coefficients directly is time consuming when large numbers of integration are involved. A more efficient way of computing the coefficients is by obtaining a recursive relationship between the coefficients. With this recursive relationship, we are able to obtain the implicit integration coefficient with minimal time consumption. The relationship between the explicit and implicit coefficients is expressed below.

For first-order coefficients,πΊβˆ—1ξ‚Έ1(𝑑)=βˆ’βˆ’log(1βˆ’π‘‘)1βˆ’π‘‘ξ‚Ήlog(1βˆ’π‘‘).(7.1)

It can be written asπΊβˆ—1ξ‚Έ1(𝑑)=βˆ’(1βˆ’π‘‘)βˆ’1(1βˆ’π‘‘)log(1βˆ’π‘‘)ξ‚Ήlog(1βˆ’π‘‘).(7.2) By substituting 𝐺11(𝑑)=βˆ’1(1βˆ’π‘‘)log(1βˆ’π‘‘)log(1βˆ’π‘‘)(7.3) into (7.2), we have πΊβˆ—1(𝑑)=(1βˆ’π‘‘)𝐺1(𝑑),βˆžξ“π‘–=0π›Ύβˆ—1,𝑖𝑑𝑖ξƒͺ=(1βˆ’π‘‘)βˆžξ“π‘–=0𝛾1,𝑖𝑑𝑖ξƒͺ.(7.4) Expanding the equation yieldsξ‚€π›Ύβˆ—1,0+π›Ύβˆ—1,1𝑑+π›Ύβˆ—1,2𝑑2=1+β‹―ξ€·1+𝑑+𝑑2𝛾+β‹―1,0+𝛾1,1𝑑+𝛾1,2𝑑2ξ€Έ,𝛾+β‹―βˆ—1,0+π›Ύβˆ—1,1𝑑+π›Ύβˆ—1,2𝑑2+β‹―1+𝑑+𝑑2ξ€Έ=𝛾+β‹―1,0+𝛾1,1𝑑+𝛾1,2𝑑2ξ€Έ.+β‹―(7.5) This gives the recursive relationshipπ‘˜ξ“π‘–=0π›Ύβˆ—1,𝑖=𝛾1,π‘˜.(7.6) For second-order coefficient, πΊβˆ—21(𝑑)=βˆ’ξ‚Έ11!βˆ’log(1βˆ’π‘‘)1!πΊβˆ—1(𝑑)ξ‚Ήlog(1βˆ’π‘‘).(7.7) It can be written asπΊβˆ—2(𝑑)=(1βˆ’π‘‘)ξ‚Έ11!βˆ’log(1βˆ’π‘‘)1!πΊβˆ—1(𝑑)ξ‚Ή(1βˆ’π‘‘)log(1βˆ’π‘‘).(7.8) Substituting (7.4) into the equation above givesπΊβˆ—2(𝑑)=(1βˆ’π‘‘)ξ‚Έ11!βˆ’log(1βˆ’π‘‘)1!(1βˆ’π‘‘)𝐺1(𝑑)ξ‚Ή(1βˆ’π‘‘)log(1βˆ’π‘‘)(7.9)orπΊβˆ—2(𝑑)=(1βˆ’π‘‘)ξ‚Έ11!βˆ’log(1βˆ’π‘‘)1!𝐺1(𝑑)ξ‚Ήlog(1βˆ’π‘‘).(7.10) Substituting (4.5) into (7.10) givesπΊβˆ—2(𝑑)=(1βˆ’π‘‘)𝐺2(𝑑),βˆžξ“π‘–=0π›Ύβˆ—2,𝑖𝑑𝑖ξƒͺ=(1βˆ’π‘‘)βˆžξ“π‘–=0𝛾2,𝑖𝑑𝑖ξƒͺ.(7.11) Expanding the equation, we haveξ‚€π›Ύβˆ—2,0+π›Ύβˆ—2,1𝑑+π›Ύβˆ—2,2𝑑2=1+β‹―ξ€·1+𝑑+𝑑2𝛾+β‹―2,0+𝛾2,1𝑑+𝛾2,2𝑑2ξ€Έ,𝛾+β‹―βˆ—2,0+π›Ύβˆ—2,1𝑑+π›Ύβˆ—2,2𝑑2+β‹―1+𝑑+𝑑2ξ€Έ=𝛾+β‹―2,0+𝛾2,1𝑑+𝛾2,2𝑑2ξ€Έ.+β‹―(7.12) The above gives the relationshipπ‘˜ξ“π‘–=0π›Ύβˆ—2,𝑖=𝛾2,π‘˜.(7.13) For third-order coefficient, we haveπΊβˆ—31(𝑑)=βˆ’ξ‚Έ12!βˆ’log(1βˆ’π‘‘)2!πΊβˆ—2(𝑑)ξ‚Ήlog(1βˆ’π‘‘).(7.14) It can be written asπΊβˆ—3(𝑑)=(1βˆ’π‘‘)ξ‚Έ12!βˆ’log(1βˆ’π‘‘)2!πΊβˆ—2(𝑑)ξ‚Ή(1βˆ’π‘‘)log(1βˆ’π‘‘).(7.15) Substituting (7.10) into (7.15) givesπΊβˆ—3(𝑑)=(1βˆ’π‘‘)ξ‚Έ12!βˆ’log(1βˆ’π‘‘)2!(1βˆ’π‘‘)𝐺2(𝑑)ξ‚Ή(1βˆ’π‘‘)log(1βˆ’π‘‘)(7.16)

orπΊβˆ—3(𝑑)=(1βˆ’π‘‘)ξ‚Έ12!βˆ’log(1βˆ’π‘‘)2!𝐺2(𝑑)ξ‚Ήlog(1βˆ’π‘‘).(7.17) Substituting 𝐺31(𝑑)=ξ‚Έ12!βˆ’log(1βˆ’π‘‘)2!𝐺2(𝑑)ξ‚Ήlog(1βˆ’π‘‘)(7.18)into (6.15) leads toπΊβˆ—3(𝑑)=(1βˆ’π‘‘)𝐺3(𝑑),βˆžπ‘˜ξ“π‘–=0π›Ύβˆ—3,𝑖𝑑𝑖ξƒͺ=(1βˆ’π‘‘)βˆžξ“π‘–=0𝛾3,𝑖𝑑𝑖ξƒͺ.(7.19) Expanding the equation into,ξ‚€π›Ύβˆ—3,0+π›Ύβˆ—3,1𝑑+π›Ύβˆ—3,2𝑑2=1+β‹―ξ€·1+𝑑+𝑑2𝛾+…3,0+𝛾3,1𝑑+𝛾3,2𝑑2ξ€Έ,𝛾+β‹―βˆ—3,0+π›Ύβˆ—3,1𝑑+π›Ύβˆ—3,2𝑑2+β‹―1+𝑑+𝑑2ξ€Έ=𝛾+…3,0+𝛾3,1𝑑+𝛾3,2𝑑2ξ€Έ+β‹―(7.20)

which leads to a recursive relationship π‘˜ξ“π‘–=0π›Ύβˆ—3,𝑖=𝛾3,π‘˜.(7.21)

Tables 1 and 2 are a few examples of the explicit and implicit integration coefficients.

8. Numerical Results

For error calculations, we will be using the three error tests, namely, absolute error, relative error, and mixed error tests. The error formula is given by,Error=Maxπ‘₯𝑛‖‖‖‖𝑦π‘₯π‘›ξ€Έβˆ’π‘¦π‘›ξ€·π‘₯𝐴+𝐡𝑦𝑛‖‖‖‖,(8.1) where 𝐴=1, 𝐡=0 gives the absolute error test, 𝐴=0, 𝐡=1 gives the relative error test, and 𝐴=1, 𝐡=1 gives the mixed error test.

In (8.1), 𝑦(π‘₯𝑛) is the exact solution for the problem considered and 𝑦𝑛 the computed solution. In a general code when the exact solution is not available for the relative error, 𝑦(π‘₯𝑛) is replaced by 𝑦𝑛 the computed value.

When ‖𝑦(π‘₯𝑛)βˆ’π‘¦π‘›β€– is small, the error in (8.1) will approximate the absolute error. However, when it is large, the mixed error test will approximate the relative error. The numerical results give the three errors.

The following notations hold MAX ABS: maximum error when using absolute error test, MAX MIX: maximum error when using mixed error test, MAX REL: maximum error when using relative error test, β„Ž: step size selected.

For the choice of problems to be tested, we choose four linear problems consisting of a second- and a third-order problem. The third problem is a mix system of second- and first-order equations and the fourth problem is a system of three second-order equations. Our reason for choosing the linear problems is that if the formulae are correct, then they should solve linear problems. The choice of system of equations is to raise the degree of difficulty of solving the problems. The rest of the problems are nonlinear, which occur in physical situations. The choices of the physical problems are those with exact solutions known. We give our comments on the numerical results right after the numerical Tables 3, 4, 5, 6, 7, 8, and 9.

Problem 1. π‘¦ξ…žξ…ž=2π‘¦ξ…žβˆ’π‘¦,𝑦(0)=0,π‘¦ξ…ž(0)=1,0≀π‘₯≀64.(8.2)

Solution 1. 𝑦=π‘₯𝑒π‘₯.(8.3)

Source: Krogh [7].

This is a linear equation used by Krogh [7] to test his code. The solution increases exponentially to a maximum value of 𝑦(64)=64𝑒64 which is considered large and therefore not suitable for absolute error test and hence the large values of the error.

Problem 2. π‘¦ξ…žξ…žξ…ž=2π‘¦ξ…žξ…žβˆ’4,0≀π‘₯≀30,𝑦(0)=1,π‘¦ξ…ž(0)=2,π‘¦ξ…žξ…ž(0)=6.(8.4)

Solution 2. 𝑦(π‘₯)=π‘₯2+𝑒2π‘₯.(8.5)

Source: Omar and Suleiman [4].

This is a third-order problem with an exponential solution. The difference between Problems 1 and 2 is that one is third order and the other is second order. Again, absolute error test does not work for the same reason given above.

Problem 3. 𝑦1ξ…žξ…ž=βˆ’2π‘¦ξ…ž1βˆ’5𝑦2+3,π‘¦ξ…ž2=π‘¦ξ…ž1+2𝑦2,𝑦0≀π‘₯≀16πœ‹,1(0)=0,π‘¦ξ…ž1(0)=0,𝑦2(0)=1.(8.6)

Solution 3. 𝑦1𝑦(π‘₯)=2cosπ‘₯+6sinπ‘₯βˆ’2βˆ’6π‘₯,2(π‘₯)=βˆ’2cosπ‘₯+2sinπ‘₯+3.(8.7)

Source: Bronson [9].

For this problem, all error tests worked well.

Problem 4. 𝑦1ξ…žξ…ž=1βˆ’π‘¦2βˆ’π‘¦3,𝑦2ξ…žξ…ž=𝑦3βˆ’π‘¦1,𝑦3ξ…žξ…ž=π‘¦ξ…ž1+π‘¦ξ…ž2,𝑦0≀π‘₯≀4πœ‹,1(0)=0,π‘¦ξ…ž1(0)=1,𝑦2(0)=0,π‘¦ξ…ž2(0)=0,𝑦3(0)=βˆ’1,π‘¦ξ…ž3(0)=1.(8.8)

Solution 4. 𝑦1𝑦(π‘₯)=sinπ‘₯,2𝑦(π‘₯)=cosπ‘₯βˆ’1,2(π‘₯)=sinπ‘₯βˆ’cosπ‘₯.(8.9)

Source: Bronson [9].

This problem does not work for relative error test because of the small value of the solution for certain values of π‘₯.

Problem 5. π‘¦ξ…žξ…žξ…ž1=βˆ’π‘₯π‘¦ξ…žξ…ž+1π‘₯2π‘¦ξ…ž+1π‘₯,1≀π‘₯≀50,𝑦(1)=2621ln2(2)+99104,π‘¦ξ…ž(1)=βˆ’40521ln(2)βˆ’13,π‘¦ξ…žξ…ž3(1)=+4267ln(2).(8.10)

Solution 5. π‘₯𝑦(π‘₯)=28ξ‚€ξ‚€π‘₯2ln2ξ‚βˆ’33βˆ’2133+ξ‚€1ln(2)3βˆ’26ξ‚€π‘₯21ln2ln(2)+3326.(8.11)

Source: Russel and Shampine [10].

This problem is the symmetrical bending of a laterally loaded circular plate.

The numerical results of this problem show the failure to control the error using relative error test. This is because the solution is zero when π‘₯=2.

Problem 6. 𝑦1ξ…žξ…žπ‘¦=βˆ’1π‘Ÿ3,𝑦1(0)=1,π‘¦ξ…ž1(𝑦0)=0,2ξ…žξ…žπ‘¦=βˆ’2π‘Ÿ3,𝑦2(0)=0,π‘¦ξ…ž2𝑦(0)=1,π‘Ÿ=21+𝑦22ξ€Έ1/2,0≀π‘₯≀16πœ‹.(8.12)

Solution 6. 𝑦1(π‘₯)=cosπ‘₯,𝑦2(π‘₯)=sinπ‘₯.(8.13)

Source: Shampine and Gordon [11].

This problem is Newton’s equations of motion for the two-body problem.

Again, relative error test does not work too well for this problem because 𝑦𝑛 is very small at certain points π‘₯𝑛.

Problem 7. π‘¦ξ…žξ…ž=2𝑦3,0≀π‘₯≀5,𝑦(0)=1,π‘¦ξ…ž(0)=βˆ’1.(8.14)

Solution 7. 1𝑦(π‘₯)=π‘₯+1.(8.15)

Source: Robert Jr. [12].

For this problem, all error tests worked well.

All the numerical results show that the errors in the mixed error mode give a reliable error estimate for all the problems given. The absolute error mode failed to give meaningful error results for Problems 1 and 2. This is because the value of ‖𝑦𝑛‖ increases as π‘₯ increases and this becomes large. Similarly, for Problems 4, 5, and 6, the relative error failed to give an acceptable result because ‖𝑦𝑛‖ is small.

The research work done shows that the method developed for solving higher-order ODEs directly using the backward difference is successful. We recommend that, for multistep method, the error control procedure should use the mixed error test. This research suggests the potential of this work developing a robust code for solving higher-order ODEs directly.

Acknowledgments

This paper has been supported by the UPM Graduate Research Fellowship (GRF) and Science Fund.