We derive a variable step of the implicit block methods based on the backward differentiation formulae (BDF) for solving stiff initial value problems (IVPs). A simplified strategy in controlling the step size is proposed with the aim of optimizing the performance in terms of precision and computation time. The numerical results obtained support the enhancement of the method proposed as compared to MATLAB's suite of ordinary differential equations (ODEs) solvers, namely, ode15s and ode23s.

1. Introduction

Consider the first-order ordinary differential equations in the form of ğ‘¦î…ž=𝑓(𝑥,𝑦)(1.1) with given initial values 𝑦(ğ‘Ž)=𝑦0 in the given interval 𝑥∈[ğ‘Ž,𝑏]. The system of (1.1) is said to be stiff if the eigenvalues of the matrix 𝜕𝑓(𝑥,𝑦)/𝜕𝑦 have negative real parts at every time 𝑥 and varies greatly in magnitude. Solving stiff ODEs which aroused from mainly applied problems, for example, from physical, chemical, and biological phenomena is made easy with several methods of interest appeared in subroutine libraries [1]. Some examples can be seen in [2–4]. From the code pioneered by Gear called DIFSUB, the wide interest in stiff ODEs has caused many other codes evolved to meet the same objective of finding the most accurate approximation for IVPs [5]. Some renowned codes are EPISODE and LSODE [5]. With the advancements of the existing methods of solving ODEs, many of these codes are preinstalled in MATLAB to work as numerical solvers. An overview of MATLAB’s numerical solvers presented in [2] shows a wide choice of solvers according to the problem type, step, and order to deal with stiff and nonstiff problems. Since then, several measures have been brought up by many researchers to evaluate which method turns out to be the most efficient method [6]. Despite that there exist some limitations in each method, these methods proven to have their own strength in solving certain initial value problems [1].

The need to solve large systems of stiff IVPs has also influenced the development of other existing method. These include iterative linear equation solvers and sparse direct linear equation solvers. Further discussion and additional references on this method are discussed in more detail in [2]. The method that incorporated with BDF proposed by Gear has been expanded gradually to become an improved method [7]. The study on producing block approximations 𝑦𝑛+1,𝑦𝑛+2,𝑦𝑛+3,…,𝑦𝑛+𝑘 also known as block backward differentiation formulae (BBDF) [7] was inspired by Gear’s method. BBDF method in [7] has verified the competency of computing concurrent solution values at different points. Apart from that, block approximations have been used in different methods to improve the methods to give a better accuracy and computation time. Consequently, the study by Ibrahim et al. in [8] is extended in a way that the accuracy is improved with reduction of total steps and lesser computational time.

In the next section, we discuss the derivation of the 5th-order variable step block backward differentiation formulae (5oBBDF). The strategies and implementations are presented next, followed by the results and discussion. It is also one of the main aims of this paper to prove that the method proposed acts as an alternative way in solving IVPs which arise in engineering and applied sciences. We are interested to compare the numerical results obtained with stiff ODEs solvers provided by MATLAB, namely, ode15s and ode23s.

2. General 5oBBDF Formulation

The ratio distance between current (𝑥𝑛) and previous step (𝑥𝑛−1) is represented as ğ‘ž in Figure 1. In this paper, the step size is given selection to decrease to half of the previous steps or increase up to a factor of 1.9. For simplicity, ğ‘ž is assigned as 1,2 and 10/19 for the case of constant, halving, and increasing the step size, respectively. The zero stability is achieved for each of these cases and explained in the next section.

We find approximating polynomials 𝑃𝑘(𝑥) by means of a 𝑘-degree polynomial interpolating the values of 𝑦 at given points are (𝑥𝑛−2,𝑦𝑛−2),(𝑥𝑛−1,𝑦𝑛−1),…,(𝑥𝑛+2,𝑦𝑛+2), 𝑃𝑘=𝑘𝑗=0𝑦𝑥𝑛+1−𝑗⋅𝐿𝑘,𝑗(𝑥),(2.1) where 𝐿𝑘,𝑗(𝑥)=𝑘𝑖=0𝑖≠𝑗𝑥−𝑥𝑛+1−𝑖𝑥𝑛+1−𝑗−𝑥𝑛+1−𝑖foreach𝑗=0,1,…,𝑘.(2.2) Define 𝑠=(𝑥−𝑥𝑛+1)/ℎ to find the 4th-order interpolating polynomial for (2.1), 𝑃𝑥(𝑥)=𝑃𝑛+1=+ğ‘ â„Ž(2ğ‘ž+1+𝑠)(ğ‘ž+1+𝑠)(1+𝑠)(𝑠)𝑦4(ğ‘ž+1)(ğ‘ž+2)𝑛+2+(2ğ‘ž+1+𝑠)(ğ‘ž+1+𝑠)(1+𝑠)(𝑠−1)𝑦−(ğ‘ž+1)(2ğ‘ž+1)𝑛+1+(2ğ‘ž+1+𝑠)(ğ‘ž+1+𝑠)(𝑠)(𝑠−1)4ğ‘ž2𝑦𝑛+(2ğ‘ž+1+𝑠)(1+𝑠)(𝑠)(𝑠−1)âˆ’ğ‘ž2𝑦(ğ‘ž+1)(ğ‘ž+2)𝑛−1+(ğ‘ž+1+𝑠)(1+𝑠)(𝑠)(𝑠−1)4ğ‘ž2𝑦(2ğ‘ž+1)(ğ‘ž+1)𝑛−2(2.3)𝑠 is equated to 0 and 1 after the polynomial is differentiated with respect to 𝑠, when 𝑥=𝑥𝑛+1and𝑥=𝑥𝑛+2, respectively, â„Žğ‘“ğ‘›+1=1+2ğ‘ž2+3ğ‘žğ‘¦4(ğ‘ž+1)(ğ‘ž+2)𝑛+2+2+3ğ‘žğ‘¦(ğ‘ž+1)(2ğ‘ž+1)𝑛+1+−1−2ğ‘ž2−3ğ‘ž4ğ‘ž2𝑦𝑛+1+2ğ‘žğ‘ž2𝑦(ğ‘ž+1)(ğ‘ž+2)𝑛−1+−1âˆ’ğ‘ž4ğ‘ž2𝑦(2ğ‘ž+1)(ğ‘ž+1)𝑛−2,â„Žğ‘“ğ‘›+2=10+3ğ‘ž2+12ğ‘žğ‘¦2(ğ‘ž+1)(ğ‘ž+2)𝑛+2+−4ğ‘ž2−12ğ‘žâˆ’8𝑦(ğ‘ž+1)(2ğ‘ž+1)𝑛+1+2+ğ‘ž2+3ğ‘ž2ğ‘ž2𝑦𝑛+−4ğ‘žâˆ’4ğ‘ž2𝑦(ğ‘ž+1)(ğ‘ž+2)𝑛−1+ğ‘ž+22ğ‘ž2𝑦(2ğ‘ž+1)(ğ‘ž+1)𝑛−2.(2.4) Upon substituting ğ‘ž=1,2 and 10/19 into ğ‘ƒî…ž(𝑥𝑛+1) and ğ‘ƒî…ž(𝑥𝑛+2), we obtained the coefficients for points 𝑦𝑛+1 and 𝑦𝑛+2 as follows: 𝑦forğ‘ž=1,𝑛+1=65â„Žğ‘“ğ‘›+1−3𝑦10𝑛+2+95𝑦𝑛−35𝑦𝑛−1+1𝑦10𝑛−2,𝑦𝑛+2=1225â„Žğ‘“ğ‘›+1+48𝑦25𝑛+2−36𝑦25𝑛+16𝑦25𝑛−1−3𝑦25𝑛−2,𝑦forğ‘ž=2,𝑛+1=158â„Žğ‘“ğ‘›+1−75𝑦128𝑛+2+225𝑦128𝑛−25𝑦128𝑛−1+3𝑦128𝑛−2,𝑦𝑛+2=1223â„Žğ‘“ğ‘›+2+192𝑦115𝑛+1−18𝑦23𝑛+3𝑦23𝑛−1−2𝑦115𝑛−2,𝑦forğ‘ž=10/19,𝑛+1=11311292â„Žğ‘“ğ‘›+1−14703𝑦82688𝑛+2+1279161𝑦516800𝑛−183027𝑦108800𝑛−1+10469𝑦27200𝑛−2,𝑦𝑛+2=13923095â„Žğ‘“ğ‘›+2+89088𝑦40235𝑛+1−242208𝑦77375𝑛+198911𝑦77375𝑛−1−658464𝑦1005875𝑛−2.(2.5)

3. Implementation of 5oBBDF Method

It is commonly known that stiff ODEs codes must solve both nonlinear and linear systems at each step of differentiation. This is due to implicity of the formulae for solving stiff IVPs. Throughout this section, we illustrate the effect of Newton-type scheme to find the approximation solutions of 𝑦𝑛+1 and 𝑦𝑛+2 simultaneously in every step. The general forms of the 5th-order BBDF method are 𝑦𝑛+1=𝛼1â„Žğ‘“ğ‘›+1+𝜃1𝑦𝑛+2+𝜓1,𝑦𝑛+2=𝛼1â„Žğ‘“ğ‘›+2+𝜃1𝑦𝑛+1+𝜓2(3.1) with 𝜓1 and 𝜓2 are the back values. Equation (3.1) in matrix-vector form is equivalent to (𝐼−𝐴)𝑌𝑛+1,𝑛+2=â„Žğµğ¹ğ‘›+1,𝑛+2+𝜉𝑛+1,𝑛+2.(3.2) By setting 𝐼=1001, 𝑌𝑛+1,𝑛+2=𝑦𝑛+1𝑦𝑛+2, 𝐴=0𝜃1𝜃20, 𝐵=𝛼100𝛼2, 𝐹𝑛+1,𝑛+2=𝑓𝑛+1𝑓𝑛+2, and 𝜉𝑛+1,𝑛+2=𝜓1𝜓2, (3.1) is simplified as 𝑓𝑛+1,𝑛+2=(𝐼−𝐴)𝑌𝑛+1,𝑛+2âˆ’â„Žğµğ¹ğ‘›+1,𝑛+2−𝜉𝑛+1,𝑛+2=0.(3.3) Newton iteration is performed to the system 𝑓𝑛+1,𝑛+2=0, by taking the analogous form 𝑌(𝑖+1)𝑛+1,𝑛+2−𝑌(𝑖)𝑛+1,𝑛+2=−(𝐼−𝐴)âˆ’â„Žğµğœ•ğ¹î‚€ğ‘Œğœ•ğ‘Œ(𝑖)𝑛+1,𝑛+2−1(𝐼−𝐴)𝑌(𝑖)𝑛+1,𝑛+2î‚€ğ‘Œâˆ’â„Žğµğ¹(𝑖)𝑛+1,𝑛+2−𝜉𝑛+1,𝑛+2,(3.4) where 𝐽𝑛+1,𝑛+2=(𝜕𝐹/𝜕𝑌)(𝑌(𝑖)𝑛+1,𝑛+2) is the Jacobian matrix of 𝐹 with respect to 𝑌. Equation (3.4) is separated to three different matrices denoted as 𝐸(𝑖+1)1,2=𝑌(𝑖+1)𝑛+1,𝑛+2−𝑌(𝑖)𝑛+1,𝑛+2,(3.5)𝐴=(𝐼−𝐴)âˆ’â„Žğµğœ•ğ¹î‚€ğ‘Œğœ•ğ‘Œ(𝑖)𝑛+1,𝑛+2,(3.6)𝐵=(𝐼−𝐴)𝑌(𝑖)𝑛+1,𝑛+2î‚€ğ‘Œâˆ’â„Žğµğ¹(𝑖)𝑛+1,𝑛+2−𝜉𝑛+1,𝑛+2.(3.7)

Two-stage Newton iteration is now introduced in order to find the approximate solution to (1.1). Thus, the corresponding linear system to be solved is 𝐴𝐸(𝑖+1)1,2=𝐵. According to Jackson in [9], evaluating the Jacobian 𝐽𝑛+1,𝑛+2 and LU factorization of 𝐴 require the most computation time during the operations. As a result, two strategies which are based on the step size are applied to ensure the efficiency of the method:(i)no calculation of new matrices 𝐴 and 𝐵 if the step size ℎ remains as previous step size. Hence, there is no new calculation of the Jacobian matrix 𝐽𝑛+1,𝑛+2,(ii)the matrices 𝐴 and 𝐵 are updated with new evaluation of the Jacobian matrix 𝐽𝑛+1,𝑛+2 for every occurrence of changing step size.

As a result, this paper agrees with [10] that this method has a higher tendency in saving computational time. Unlike most modern solvers that incorporated full Newton iterations, 5oBBDF method offers refined strategy for reevaluating the Jacobian matrix 𝐽𝑛+1,𝑛+2.

3.1. Stability Conditions for 5oBBDF

In this section, we provide the conditions for the stability of 5oBBDF method as in (2.5). To begin with, we include some definitions to support the practical criterion for a method to be useful in solving ODEs.

Definition 3.1. A method is said to be zero stable if the roots of the polynomial 𝜌(𝑧)=𝜋(𝑧,0) satisfy the condition 𝑧1=1≤|𝑧2|,𝑧2≠1.

Definition 3.2. A method is said to be absolute stable in a region 𝑅 for a given â„Žğœ† if for that â„Žğœ†, all the roots 𝑟𝑠 of the stability polynomial 𝜋(𝑟,â„Žğœ†)=𝜌(𝑟)âˆ’â„Žğœ†ğœŽ(𝑟)=0 satisfy |𝑟𝑠|<1, 𝑠=1,2,…,𝑘.

The stability polynomial, 𝑅(𝑡,ℎ), associated with the method of (2.5) is given by det(𝐴𝑡2−𝐵𝑡−𝐶), while the absolute stability region of this method in the â„Žğœ† plane is determined by solving det(𝐴𝑡2−𝐵𝑡−𝐶=0). Below are the absolute stability regions in the method of (2.5) for different step size selections: (ğ‘ž=1)(ğ‘ž=2) and (ğ‘ž=10/19), respectively, ğ‘…î‚€îâ„Žî‚=𝑡,197𝑡1254−42𝑡254ℎ−153𝑡1253−9𝑡252+72𝑡1254ℎ2−252𝑡1253ℎ−18𝑡12521ℎ+ğ‘…î‚€îâ„Žî‚=125𝑡=0,𝑡,91𝑡464−441𝑡1844ℎ−173𝑡923−289𝑡29442+45𝑡464ℎ2−1155𝑡73633â„Žâˆ’ğ‘¡9221ℎ+ğ‘…î‚€îâ„Žî‚=2944𝑡=0,𝑡,1393273𝑡9996854−5298909𝑡39987404ℎ−42149421𝑡1999370003−544951521𝑡4209200002+393588𝑡9996854ℎ2−1398292623𝑡3998740003ℎ−753768𝑡13153752ℎ+47045881420920000𝑡=0.(3.8) To determine for zero stable, we substitute ℎ=â„Žğœ†=0 to (3.8). We will have the following equations for each step size selection mentioned previously: 197𝑡1254−153𝑡1253−9𝑡252+1125𝑡=0,91𝑡464−173𝑡923−289𝑡29442+12944𝑡=0,1393273𝑡9996854−42149421𝑡1999370003−544951521𝑡4209200002+47045881420920000𝑡=0.(3.9) Hence, the roots for three different step size selections obtained by using Maple are listed below(1)𝑡=−.24414201370,𝑡=0.02079175991, and 𝑡=1,(2)𝑡=−0.052708171410,𝑡=0.003257621961, and 𝑡=1,(3)𝑡=−0.93455113330,𝑡=0.08581158625, and 𝑡=1.

Since all of the roots have modulus less than or equal to 1, the method (2.5) when (ğ‘ž=1)(ğ‘ž=2) and (ğ‘ž=10/19) is zero stable.

The stability region was given by the set of points determined by the boundary 𝑡=𝑒𝑖𝜃,0≤𝜃≤2𝜋. The stability region is obtained by finding the region for which |𝑡|<1. Figure 2 shows the stability for the cases (ğ‘ž=1)(ğ‘ž=2) and (ğ‘ž=10/19), respectively. The stability regions lie outside the closed region for each case.

Based on Figure 2, the 5th-order BBDF possesses the region absolute stability, which contains almost whole of the half-plane Re(â„Žğœ†)<0.

3.2. Choosing Step Size

The importance in choosing the step size is to achieve reduction in computation time and number of iterations. Therefore, this paper proposed three basic strategies for the step size selections. For each successful step, the step size remains constant (ğ‘ž=1) or increased by a factor of 1.9 (ğ‘ž=10/19). Inversely, when a fail step occurs, the next step size will be halved of the previous step size (ğ‘ž=2). The user initially will have to provide an error tolerance limit, TOL on any given step, and obtain the local truncation error (LTE) for each iteration. The LTE is obtained from LTE=𝑦(𝑘+1)𝑛+2−𝑦(𝑘)𝑛+2,𝑘=4,(3.10) where 𝑦(𝑘+1)𝑛+2 is the (𝑘+1)th order method, and 𝑦(𝑘)𝑛+2 is the 𝑘th order method.

The successful step is dependent on the condition LTE<TOL. If this condition fails, the values of 𝑦𝑛+1, 𝑦𝑛+2 are rejected, and the current step is reiterated with step size selection (ğ‘ž=2). On the contrary, the step size increment for each successful step is defined as ℎnew=ğ‘Ã—â„Žold×TOLLTE1/𝑝.(3.11)

And if ℎnew>1.9×ℎold, then ℎnew=1.9×ℎold. Where 𝑐 is the safety factor, 𝑝 is the order of the method, while ℎold and ℎnew are the step size from previous and current blocks, respectively. In this paper,𝑐 is set to be 0.8.

4. MATLAB’s Stiff Numerical Solvers

MATLAB offers several numerical solvers to solve either stiff or nonstiff ordinary differential equations. These built-in numerical solvers are capable in approximating solutions to almost any system of differential equations [2]. As far as this paper is concerned, we are interested in solving stiff ODEs. For comparison purposes, this paper considers only ode15s and ode23s. This is because both of the methods deal with stiff differential equations based on backward differentiation formulas (BDFs) and on a modified Rosenbrock formula of order 2, respectively. Therefore, a fair comparison is obtained, and the discussions are made easy.

5. Numerical Results

We carry out numerical experiments to compare the performance of the 5th-order BBDF method with stiff ODE solvers in MATLAB mentioned above. Three sets of stiff test problems aroused from problems in physics are tested for the purpose of elucidating the difference in numerical results obtained. These test problems are performed under different conditions of error tolerances—(a) 10−2, (b) 10−4, and (c) 10−6, and the error trend is defined by ||𝑦Error=approximate−𝑦actual||.(5.1) The test problems and solution are listed below (1)basic circuit problem is ğ‘¦î…ž=−20𝑦+24,𝑦(0)=0,0≤𝑥≤10,(5.2) with solution 𝑦(𝑥)=6/5−(6/5)𝑒−20𝑥,(2) oscillatory problems in physics: Torsion spring oscillator with dry and viscous friction [7] ğ‘¦î…ž1=998𝑦1+1998𝑦2,𝑦1𝑦(0)=1,0≤𝑥≤10,2=−999𝑦1−1999𝑦2,𝑦2(0)=2,(5.3) with solution 𝑦1(𝑥)=2𝑒−𝑥−𝑒−1000𝑥,𝑦2(𝑥)=−𝑒−𝑥+𝑒−1000𝑥,(5.4) eigenvalues, 𝜆=−1,−1000,(3)Physical problem [11] is ğ‘¦î…ž1=−20𝑦1−0.25𝑦2−19.75𝑦3,𝑦1𝑦(0)=1,0≤𝑥≤10,2=20𝑦1−20.25𝑦2+0.25𝑦3,𝑦2𝑦(0)=0,3=20𝑦1−19.75𝑦2−0.25𝑦3,𝑦3(0)=−1,(5.5) with solution 𝑦1𝑒(𝑥)=0.5−0.5𝑥+𝑒−20𝑥,𝑦(cos20𝑥+sin20𝑥)2𝑒(𝑥)=0.5−0.5𝑥−𝑒−20𝑥,𝑦(cos20𝑥−sin20𝑥)3𝑒(𝑥)=−0.5−0.5𝑥+𝑒−20𝑥,(cos20𝑥−sin20𝑥)(5.6) eigenvalues, 𝜆=−0.5,−20±20𝑖.

From Table 1, among the three methods tested, our method, 5oBBDF, requires the shortest execution time for each given tolerance level. On top of that, this method also gives the smallest maximum error and average error. From Figure 3, we can see that 5oBBDF gives the lowest maximum error for every tolerance level. When we look at the convergence of the methods compared in Figure 3, our method comparably converges faster with minimum number of steps taken.

From Table 2, once again, 5oBBDF requires the shortest execution time for each given tolerance level. From the error trends described in Figure 4, we can see that the maximum errors for 5oBBDF are the smallest for each TOL as compared to ode15s and ode23s. So the convergence of the method, 5oBBDF is found to converge fastest among the methods tested.

From Table 3, similarly, 5oBBDF gives the shortest execution time for each given tolerance level. This method is also completed with lesser total steps except when TOL is 10−2. The error trends for all of the methods tested are depicted in Figure 5. The error trend shows that 5oBBDF converged fastest with smallest maximum error for each TOL as compared to ode15s and ode23s.

6. Conclusion

For all problems tested, it is proven that, the 5th-order variable step BBDF has outperformed the ode15s and ode23s in terms of average errors as well as maximum errors. It also managed to reduce the number of total steps taken in most of the cases especially when TOL is less than 10−2. When we tested the convergence of the methods compared in this paper, the error trend worked as the identifier for the fastest error of the method approaches zero. Figures 3, 4, and 5 illustrate how fast the error of 5th-order variable step BBDF converged as compared to the other two methods used. As a result, we found that this method converges fastest for all problems tested. In terms of computation timewise, it gave lesser values for all of the test problems. Therefore, we can conclude that the 5th-order variable step BBDF is one compatible alternative solver for solving stiff ordinary differential equations which mostly arise in engineering and applied sciences.


TS:The total number of steps taken
TOL:The initial value for the local error estimate
MAXE:The maximum error
AVEE:The average error
METHOD:The method used
TIME:The total execution time (seconds)
5oBBDF:5th-order variable step BBDF
𝑒:Error for each point of approximations.