Keywords

1 Introduction

Applied problems arise from chemical, biological and physical phenomenon, particularly in many field of science and engineering [14], have inspired numbers of researches to develop effective and very accurate methods to solve stiff initial value problems (IVP) [5]. Many renowned method for solving stiff problems are based on backward differentiation formula (BDF) which also known as Gear’s method and was first introduced in [6]. The method was then developed to improve the results in terms of accuracy and computation time. The evidence is in the advancements of many other codes to meet the same objective of finding the most accurate approximation for IVPs. These codes include EPISODE, VODE, LSODE, MEBDF etc. [57].

Many in recent chapters have tried to describe and compare some of the best codes by taking into accounts their accuracy, rate of convergence, and computation time [8]. Consequently, some excellent codes which are both efficient and reliable for solving these particular classes of problems are made available. With the same objective, this chapter consider the numerical solution of the first order initial value problem,

$$\begin{aligned} {y}^{\prime }=f(x,y) \end{aligned}$$
(1)

with given initial values \(y(a)=y_0 \) in the given interval \(x\in [a,b]\).

From the study on BBDF in [9], the competency of computing concurrent solution values at different points were revealed. The idea in [10, 11] was then extended by increasing the order of the method up to order 5. In this chapter, we extend and review the study of Extended Block Backward Differentiation Formulae (EBBDF) in [12]. Additionally, this chapter investigates the consistency and convergence of the method.

2 Derivation of Extended Block Backward Differentiation Formulae Method

2.1 Construction of EBBDF

Two values of \(y_{n+1}\;\mathrm{{and}}\;y_{n+2} \) were computed simultaneously in block by using earlier blocks with each block containing a maximum of two points (Fig. 1). The orders of the method \((P3, P4 \;\text{ and } \;P5)\) are distinguished by the number of backvalues contained in total blocks. The ratio distance between current \((x_n )\) and previous step \((x_{n-1})\) is represented as \(r\) and \(q\) in Fig. 1. In this chapter, 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, \(q\) 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.

Fig. 1
figure 1

EBBDF method of order \((P3-P5)\)

We find approximating polynomials \(P_k (x),\) by means of a \(k\)-degree polynomial interpolating the values of \(y\) at given points are \((x_{n-3} ,y_{n-3} ), (x_{n-2} ,y_{n-2} ),\) \((x_{n-1} ,y_{n-1} )\ldots , (x_{n+2} ,y_{n+2}).\)

$$\begin{aligned} P_k =\sum \nolimits _{j=0}^k {y(x_{n+1-j} )} .L_{k,j} (x) \end{aligned}$$
(2)

where

$$\begin{aligned} L_{k,j} (x)=\prod _{{\begin{array}{l} {i=0} \\ {i\ne j} \\ \end{array} }}^k {\frac{(x-x_{n+1-i} )}{(x_{n+1-j} -x_{n+1-i} )}\;\mathrm{{for\;each}}\; j=0,1,\ldots ,k.} \end{aligned}$$

The interpolating polynomial of the function \(y(x)\) using Lagrange polynomial in (2) gives the following corrector for the first point \(y_{n+1}^p\), and second point \(y_{n+2}^p .\) The resulting Lagrange polynomial for each order was given as follows:

For EBBDF of order \(P3\;(P=3)\)

$$\begin{aligned} P(x)&= P(x_{n+1} +sh) \nonumber \\&=\frac{(r+1+s)(s+1)(s)}{2r+4}y_{n+2} +\frac{(r+1+s)(s+1)(s-1)}{-1-r}y_{n+1} \nonumber \\&\quad +\frac{(r+1+s)(s-1)(s)}{2r}y_n +\frac{(1+s)(s-1)(s)}{-r(-1-r)(-r-2)}y_{n-1} \end{aligned}$$
(3)

For EBBDF of order \(P4\left( {P=4} \right) \)

$$\begin{aligned} P\left( x \right)&=P\left( {x_{n+1} +sh} \right) \nonumber \\&=\frac{\left( {2r+1+s} \right) \left( {r+1+s} \right) \left( {1+s} \right) \left( s \right) }{2\left( {2r+2} \right) \left( {r+2} \right) }y_{n+2} \nonumber \\&\quad +\frac{\left( {2r+1+s} \right) \left( {r+1+s} \right) \left( {1+s} \right) \left( {s-1} \right) }{-\left( {2r+1} \right) \left( {r+1} \right) }y_{n+1} \nonumber \\&\quad +\frac{\left( {2r+1+s} \right) \left( {r+1+s} \right) \left( s \right) \left( {s-1} \right) }{4r^{2}}y_n \nonumber \\&\quad +\frac{\left( {2r+1+s} \right) \left( {1+s} \right) \left( s \right) \left( {s-1} \right) }{-r^{2}\left( {-r-1} \right) \left( {-r-2} \right) }y_{n-1} \nonumber \\&\quad +\frac{\left( {r+1+s} \right) \left( {1+s} \right) \left( s \right) \left( {s-1} \right) }{2r^{2}\left( {-2r-1} \right) \left( {-2r-2} \right) }y_{n-2} \end{aligned}$$
(4)

For EBBDF of order \(P5 \quad \left( {P=5} \right) \)

$$\begin{aligned} P\left( x \right)&=P\left( {x_{n+1} +sh} \right) \nonumber \\&=\frac{\left( {q+2r+1+s} \right) \left( {2r+1+s} \right) \left( {r+1+s} \right) \left( {1+s} \right) s}{2\left( {q+2r+2} \right) \left( {2r+2} \right) \left( {r+2} \right) }y_{n+2} \nonumber \\&\quad +\frac{\left( {q+2r+1+s} \right) \left( {2r+1+s} \right) \left( {r+1+s} \right) \left( {1+s} \right) \left( {s-1} \right) }{-\left( {q+2r+1} \right) \left( {2r+1} \right) \left( {r+1} \right) }y_{n+1} \nonumber \\&\quad +\frac{\left( {q+2r+1+s} \right) \left( {2r+1+s} \right) \left( {r+1+s} \right) s\left( {s-1} \right) }{4\left( {q+2r} \right) r^{2}}y_n \nonumber \\&\quad +\frac{\left( {q+2r+1+s} \right) \left( {2r+1+s} \right) \left( {1+s} \right) s\left( {s-1} \right) }{-r^{2}\left( {q+r} \right) \left( {-r-1} \right) \left( {-r-2} \right) }y_{n-1} \nonumber \\&\quad +\frac{\left( {q+2r+1+s} \right) \left( {r+1+s} \right) \left( {1+s} \right) s\left( {s-1} \right) }{2qr^{2}\left( {-2r-1} \right) \left( {-2r-2} \right) }y_{n-2} \nonumber \\&\quad +\frac{\left( {2r+1+s} \right) \left( {r+1+s} \right) \left( {1+s} \right) s\left( {s-1} \right) }{-q\left( {-q-r} \right) \left( {-q-2r} \right) \left( {-q-2r-1} \right) \left( {-q-2r-2} \right) }y_{n-3} \end{aligned}$$
(5)

By substituting \(s=0\) and \(s=1\) gives the corrector for the first and second point respectively. Therefore by letting \(r=1,q=1, r=2,q=2\) and \(r=1,q=10/19\) we produced the following equations for the first and second point of EBBDF.

EBBDF of order \(P3\left( {p=3} \right) \)

When \(r=1,q=1\)

$$\begin{aligned} y_{n+1} =2hf_{n+1} -\frac{2}{3}y_{n+2} +2y_n -\frac{1}{3}y_{n-1} \end{aligned}$$
$$\begin{aligned} y_{n+2} =\frac{6}{11}hf_{n+2} +\frac{18}{11}y_{n+1} -\frac{9}{11}y_n +\frac{2}{11}y_{n-1} \end{aligned}$$

When \(r=2,q=2\)

$$\begin{aligned} y_{n+1} =3hf_{n+1} +\frac{9}{8}y_{n+2} +\frac{9}{4}y_n -\frac{1}{8}y_{n-1} \end{aligned}$$
$$\begin{aligned} y_{n+2} =\frac{4}{7}hf_{n+2} +\frac{32}{21}y_{n+1} -\frac{4}{7}y_n +\frac{1}{21}y_{n-1} \end{aligned}$$

When \(r=1,q=10/19\)

$$\begin{aligned} y_{n+1} =\frac{29}{19}hf_{n+1} -\frac{841}{1824}y_{n+2} +\frac{841}{380}y_n -\frac{361}{480}y_{n-1} \end{aligned}$$
$$\begin{aligned} y_{n+2} =\frac{48}{91}hf_{n+2} +\frac{4608}{2639}y_{n+1} -\frac{576}{455}y_n +\frac{6859}{13195}y_{n-1} \end{aligned}$$

EBBDF of order \(P4\;(P=4)\)

When \(r=1, q=1\)

$$\begin{aligned} y_{n+1} =\frac{6}{5}hf_{n+1} -\frac{3}{10}y_{n+2} +\frac{9}{5}y_n -\frac{3}{5}y_{n-1} +\frac{1}{10}y_{n-2} \end{aligned}$$
$$\begin{aligned} y_{n+2} =\frac{12}{25}hf_{n+2} +\frac{48}{25}y_{n+1} -\frac{36}{25}y_n +\frac{16}{25}y_{n-1} -\frac{3}{25}y_{n-2} \end{aligned}$$

When \(r=2,q=2\)

$$\begin{aligned} y_{n+1} =\frac{15}{8}hf_{n+1} -\frac{75}{128}y_{n+2} +\frac{225}{128}y_n -\frac{25}{128}y_{n-1} +\frac{3}{128}y_{n-2} \end{aligned}$$
$$\begin{aligned} y_{n+2} =\frac{12}{23}hf_{n+2} +\frac{192}{115}y_{n+1} -\frac{18}{23}y_n +\frac{3}{23}y_{n-1} -\frac{2}{115}y_{n-2} \end{aligned}$$

When \(r=1,q=10/19\)

$$\begin{aligned} y_{n+1}&=\frac{1131}{1292}hf_{n+1} -\frac{14703}{82688}y_{n+2} +\frac{1279161}{516800}y_n \\&\quad -\frac{183027}{108800}y_{n-1} +\frac{10469}{27200}y_{n-2} \\ y_{n+2}&=\frac{1392}{3095}hf_{n+2} +\frac{89088}{40235}y_{n+1} -\frac{242208}{77375}y_n \\&\quad +\frac{198911}{77375}y_{n-1} -\frac{658464}{1005875}y_{n-2} \end{aligned}$$

EBBDF of order \(P5 (P=5)\)

When \(r=1, q=1\)

$$\begin{aligned} y_{n+1}&=\frac{12}{13}hf_{n+1} -\frac{12}{65}y_{n+2} +\frac{24}{13}y_n -\frac{12}{13}y_{n-1} \\&\quad +\frac{4}{13}y_{n-2} -\frac{3}{65}y_{n-3} \\ y_{n+2}&=\frac{60}{137}hf_{n+2} +\frac{300}{137}y_{n+1} -\frac{300}{137}y_n +\frac{200}{137}y_{n-1} \\&\quad -\frac{75}{137}y_{n-2} +\frac{12}{137}y_{n-3} \end{aligned}$$

When \(r=2,q=2\)

$$\begin{aligned} y_{n+1}&=\frac{105}{71}hf_{n+1} -\frac{3675}{9088}y_{n+2} +\frac{3675}{2272}y_n -\frac{1225}{4544}y_{n-1} \\&\quad +\frac{147}{2272}y_{n-2} -\frac{75}{9088}y_{n-3} \\ y_{n+2}&=\frac{24}{49}hf_{n+2} +\frac{3072}{1715}y_{n+1} -\frac{48}{49}y_n +\frac{12}{49}y_{n-1} \\&\quad -\frac{16}{245}y_{n-2} +\frac{3}{343}y_{n-3} \end{aligned}$$

When \(r=1,q=10/19\)

$$\begin{aligned} y_{n+1}&=\frac{402}{449}hf_{n+1} -\frac{13467}{77228}y_{n+2} +\frac{13467}{7184}y_n -\frac{13467}{13021}y_{n-1} \\&\quad +\frac{4489}{8980}y_{n-2} \frac{7428297}{44792240}y_{n-3} \\ y_{n+2}&=\frac{516}{1189}hf_{n+2} +\frac{177504}{79663}y_{n+1} -\frac{5547}{2378}y_n +\frac{59168}{34481}y_{n-1} \\&\quad -\frac{5547}{5945}y_{n-2} +\frac{7428297}{23102270}y_{n-3} \end{aligned}$$

As similar to analysis for order of Linear Multistep Method (LMM) given in [13], we use the following definition to determine the order of EBBDF method.

Definition 1

The LMM [13] and the associated difference operator L defined by

$$\begin{aligned} L\left[ z(x); h\right] =\sum _{k=0}^j {\left[ \alpha _k z(x+kh)-h\beta _k {z}^{\prime }(x+kh)\right] } \end{aligned}$$
(6)

are said to be of order p if \(c_o =c_1 =\ldots =c_p =0, C_{p+1} \ne 0.\) The general form for the constant \(C_q \) is defined as

$$\begin{aligned} C_q =\sum _{k=0}^j {\left[ k^{q}\alpha _k -\frac{1}{(q-1)!}k^{q-1}\beta _k\right] ,\quad q=2,3,\ldots p+1} \end{aligned}$$
(7)

Consequently, BBDF method can be represented in standard form by an equation \(\sum \nolimits _{j=0}^k {A_j y_{n+j} =h} \sum \nolimits _{j=0}^k {B_j f_{n+j}}\) where \(A_j \) and \(B_j \) are r by r matrices with elements \(a_{l,m}\) and \(b_{l,m} \) for \(l,m=1,2,\ldots r.\) Since EBBDF for variable order \((P)\) is a block method, we extend the Definition 1 in the form of

$$\begin{aligned} L\left[ z(x); h\right] =\sum _{k=0}^j {\left[ A_k z(x+kh)-hB_k {z}^{\prime }(x+kh)\right] } \end{aligned}$$
(8)

And the general form for the constant \(C_{q}\) is defined as

$$\begin{aligned} C_q =\sum _{k=0}^j {\left[ k^{q}A_k -\frac{1}{(q-1)!}k^{q-1}B_k \right] q=2, 3,\ldots p+1} \end{aligned}$$
(9)

\(A_{k}\) is equal to the coefficients of \(y_{k}\) where \(k=n=(p-2),\ldots ,n+1,n+2\) and \(P=3,4,5.\)

Throughout this section, we illustrate the effect of Newton-type scheme which in general form of

$$\begin{aligned}&y_{n+1,n+2}^{(i+1)} -y_{n+1,n+2}^{(i)}= \nonumber \\&-\left[ {\left( {i-A}\right) -hB\frac{\partial F}{\partial y}y_{n+1,n+2}^{(i)} } \right] ^{-1}\Bigg [ {\left( {I-A} \right) y_{n+1,n+2}^i -hBF\left( {y_{n+1,n+2}^{(i)} } \right) -\xi } \Bigg ] \nonumber \\ \end{aligned}$$
(10)

The general form of EBBDF method is

$$\begin{aligned} \left. {{\begin{array}{l} {y_{n+1} =\alpha _1 hf_{n+1} +\theta _1 y_{n+2} +\psi _1 } \\ {y_{n+2} =\alpha _1 hf_{n+2} +\theta _1 y_{n+1} +\psi _2 } \\ \end{array} }} \right\} \end{aligned}$$
(11)

With \(\psi _1 \) and \(\psi _2 \) are the back values. By setting,

\(I=\left[ {{\begin{array}{ll} 1&{} 0 \\ 0&{} 1 \\ \end{array} }}\right] , y_{n+1, n+2} =\left[ {{\begin{array}{l} {y_{n+1} } \\ {y_{n+2} } \\ \end{array} }} \right] , B=\left[ {{\begin{array}{ll} {\alpha _1 }&{} 0 \\ 0&{} {\alpha _2 } \\ \end{array} }} \right] , F_{n+1,n+2} =\left[ {{\begin{array}{l} {f_{n+1} } \\ {f_{n+2} } \\ \end{array} }} \right] , \) and \(\xi _{n+1,n+2} =\left[ {{\begin{array}{l} {\psi _1 } \\ {\psi _2 } \\ \end{array} }} \right] \)

Equation (11) in matrix-vector form is equivalent to

$$\begin{aligned} (I-A)y_{n+1,n+2} =hBF_{n+1,n+2} +\xi _{n+1,n+2} \end{aligned}$$
(12)

Equation (12) is simplified as

$$\begin{aligned} \hat{{f}}_{n+1,n+2} =(I-A)y_{n+1,n+2} -hBF_{n+1,n+2} -\xi _{n+1,n+2}=0 \end{aligned}$$
(13)

Newton iteration is performed to the system \(\hat{{f}}_{n+1,n+2} =0,\) by taking the analogous form of (10) where \(J_{n+1,n+2} =\left( {\frac{\partial F}{\partial Y}} \right) \left( Y_{n+1,n+2}^{(i)} \right) ,\) is the Jacobian matrix of \(F\) with respect to \(Y\). Equation (10) is separated to three different matrices denoted as

$$\begin{aligned} E_{1,2}^{(i+1)} =y_{n+1,n+2}^{(i+1)} -y_{n+1,n+2}^{(i)} \end{aligned}$$
(14)
$$\begin{aligned} \hat{{A}}=(I-A)-hB\frac{\partial F}{\partial Y}\left( y_{n+1,n+2}^{(i)}\right) \end{aligned}$$
(15)
$$\begin{aligned} \hat{{B}}=(I-A)y_{n+1,n+2}^{(i)} -hBF\left( y_{n+1,n+2}^{(i)} \right) -\xi _{n+1,n+2} \end{aligned}$$
(16)

Two-stage Newton iteration works to find the approximating solution to (1) with two simplified strategies based on evaluating the Jacobian \((J_{n+1,n+2} )\) and LU factorization of \(\hat{{A}}\) [13].

2.2 Consistency and Convergence of EBBDF Methods

We first consider the general form of a block linear multistep method (LMM):

$$\begin{aligned} \sum \nolimits _{j=0}^k {A_j y_{n+j} =h\sum \nolimits _{j=0}^k {B_j F_{n+j}}} \end{aligned}$$
(17)

where \(A_j \) and \(B_j \) are \(r\) by \(r\) matrices with elements \(\alpha _{im} ,\beta _{im} \) for \(i.m=0,1,\ldots ,r.\)

Equation (17) is applied for EBBDF method

$$\begin{aligned} \sum \nolimits _{j=0}^k {\alpha _{ij} y_{n+2-j} =h\sum \nolimits _{j=0}^k {\beta _j f_{n+2-j} } } \end{aligned}$$
(18)

The expression (18) is expanded to give the following system of equation.

$$\begin{aligned}&\left[ {{\begin{array}{l@{\quad }l} {\alpha _{1,0} }&{} {\alpha _{1,1} } \\ {\alpha _{2,0} }&{} {\alpha _{2,1} } \\ \end{array} }} \right] \left[ {{\begin{array}{l} {y_{n+2} } \\ {y_{n+1} } \\ \end{array} }} \right] +...+\left[ {{\begin{array}{l@{\quad }l} {\alpha _{1,k-1} }&{} {\alpha _{1,k} } \\ {\alpha _{2,k-1} }&{} {\alpha _{2,k} } \\ \end{array} }} \right] \left[ {{\begin{array}{l} {y_{n+3-k} } \\ {y_{n+2-k} } \\ \end{array} }} \right] \nonumber \\&=h\Bigg [{\left[ {{\begin{array}{l@{\quad }l} {\beta _{1,4} }&{} {\beta _{1,5} } \\ {\beta _{2,4} }&{} {\beta _{2,5} } \\ \end{array} }} \right] \left[ {{\begin{array}{l} {f_{n+2} } \\ {f_{n+1} } \\ \end{array} }} \right] +...+\left[ {{\begin{array}{l@{\quad }l} {\beta _{1,k-1} }&{} {\beta _{1,k} } \\ {\beta _{2,k-1} }&{} {\beta _{2,k} } \\ \end{array} }} \right] \left[ {{\begin{array}{l} {f_{n+3-k} } \\ {f_{n+2-k} } \\ \end{array} }} \right] }\Bigg ] \nonumber \\ \end{aligned}$$
(19)

With

$$\begin{aligned} A_0 =\left[ {{\begin{array}{l} {\alpha _{1,0} } \\ {\alpha _{2,0} } \\ \end{array} }} \right] , \ldots , A_k =\left[ {{\begin{array}{l} {\alpha _{1,k} } \\ {\alpha _{2,k} } \\ \end{array} }} \right] , \mathrm{{and}}\; B_1 =\left[ {{\begin{array}{l} {\beta _{1,1} } \\ {\beta _{2,1} } \\ \end{array} }} \right] , \ldots ,B_k =\left[ {{\begin{array}{l} {\beta _{1,k} } \\ {\beta _{2,k} } \\ \end{array} }} \right] \end{aligned}$$

Adopting the order procedure used in the single case for the block method, we associate with a linear difference operator \(L\left[ {y\left( {x_n } \right) ,h} \right] \), given as

$$\begin{aligned} L\left[ y\left( {x_n}\right) \!, h \right] =\mathop \sum \nolimits _{j=0}^k\left[ \alpha _j y\left( {x_n +jh} \right) -h\beta _j f\big (x_n +jh,y\left( {x_n +jh} \right) \big )\right] \end{aligned}$$
(20)

The use of appropriate Taylor expansions about a suitable \(x\), reduces (20) to the form

$$\begin{aligned} L\left[ {y\left( {x_n } \right) \!,h} \right] =c_0 y\left( {x_n } \right) +c_1 hy^{{\prime }\left( {x_n } \right) }+\cdots +c_r h^{r}y^{r}\left( {x_n } \right) \end{aligned}$$
(21)

where

$$\begin{aligned} c_0 =\mathop \sum \nolimits _{j=0}^k A_j , c_1 =\mathop \sum \nolimits _{j=0}^k jA_j -\mathop \sum \nolimits _{j=0}^k B_j\;\mathrm{{and}}, \end{aligned}$$
$$\begin{aligned} c_r =\frac{1}{r!}\mathop \sum \limits _{j=0}^k j^{r}A_J -\frac{1}{\left( {r-1} \right) !}\mathop \sum \limits _{j=0}^k j^{r-1}B_j \end{aligned}$$

The EBBDF method is said to be of order \(p\) if \(c_0 =c_1 =\cdots =c_p =0, c_{p+1} \ne 0\) and the local truncation error is

$$\begin{aligned} t_{n+k} =c_{p+1} h^{p+1}y^{p+1}\left( {x_n } \right) +0(h^{p+2}) \end{aligned}$$
(22)

2.3 Stability Regions of the EBBDF Method

Definition 2

A method is said to be absolute stable in a region \(R\) for a given \(h\lambda \) if for that \(h\lambda ,\) all the roots \(r_s\) of the stability polynomial \(\pi (r,h\lambda )=\rho (r)-h\lambda \sigma (r)=0,\) satisfy\(\left| {r_s } \right| <1, s=1,2,\ldots ,k.\)

Definition 3

The LMM is said to be zero-stable if no root of the first characteristic polynomial \(\rho (r)\) has modulus greater than one, and if every root with unit modulus is simple.

By applying test equation \(y^{\prime }=\lambda y\) to (1.1) we obtain,

$$\begin{aligned} \mathop \sum \nolimits _{j=0}^k \alpha _{ij} y_{n+2-j} =h\mathop \sum \nolimits _{j=0}^k \beta _j \lambda _{n+2-j} \end{aligned}$$
(23)

The Eq. (23) is equivalent to

$$\begin{aligned} \mathop \sum \nolimits _{j=0}^r A_j Y_j =0 \end{aligned}$$
(24)

where \(A_j =[A_0 ,A_1 ,\ldots ,A_r ], Y_j =[Y_0 ,Y_1 ,\ldots ,Y_r ]\) and,

$$\begin{aligned} A_j =\left[ {{\begin{array}{c@{\quad }c} {\alpha _{1,2j} }&{} {\alpha _{1,(2j+1)} -\beta _{1,\left( {2j+1} \right) } h\lambda } \\ {\alpha _{2,\left( {2j} \right) -} \beta _{2,\left( {2j} \right) } h\lambda }&{} {\alpha _{2,(2j+1)} } \\ \end{array} }} \right] , Y_j =\left[ {{\begin{array}{l} {y_{n+2-2j} } \\ {y_{n+1-2j} } \\ \end{array} }} \right] \end{aligned}$$

The stability polynomial, \(R(t,\hat{{h}})\) associated with the method of (18) is given by

$$\begin{aligned} \text{ det }\left( \mathop \sum \nolimits _{j=0}^r A_j t^{j}\right) \end{aligned}$$
(25)

while the absolute stability region of this method in the \(h\lambda \) plane is determined by solving \(\text{ det }\left( {\mathop \sum \nolimits _{j=0}^r A_j t^{j}} \right) =0.\) The stability region was given by the set of points determined by the boundary \(t=e^{i\theta }, 0\le \theta \le 2\pi .\) The stability region is obtained by finding the region for which \(\left| t \right| <1.\)

2.4 Order and Stepsize Selection

The importance of choosing the step size is to achieve reduction in computation time and number of iterations. Meanwhile changing the order of the method is designed for finding the best approximation. Strategies proposed in [14] are applied in this study for choosing the step size and order. The strategy is to estimate the maximum step size for the following step. Methods of order \(P-1\), \(P\), \(P+1\) are selected depending on the occurrence of every successful step. Consequently, the new step size \(h_\mathrm{{new}}\) is obtained from which order produces the maximum step size.

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

$$\begin{aligned} LTE_k =y_{n+2}^{(P+1)} -y_{n+2}^{(P)} , P=3,4,5 \end{aligned}$$

where \(y_{n+2}^{(P+1)} \) is the \((P+1)\)th order method and \(y_{n+2}^{(P)}\) is the \(k\)th order method. By finding the LTEs, the maximum step size is defined as

$$\begin{aligned} h_{P-1} =h_{old} \times \left( {\frac{TOL}{LTE_{P-1} }} \right) ^{\frac{1}{P}}\mathrm{{,}} h_P =h_{old} \times \left( {\frac{TOL}{LTE_P }} \right) ^{\frac{1}{P+1}}\mathrm{{,}} h_{P+1} =h_{old} \times \left( {\frac{TOL}{LTE_{P+1} }} \right) ^{\frac{1}{P+2}} \end{aligned}$$

where \(h_\mathrm{{old}}\) is the stepsize from previous block and \(h_\mathrm{{max}}\) is obtained from the maximum stepsize given in above equations.

The successful step is dependent on the condition LTE\(<\)TOL. If this condition fails, the values of \(y_{n+1,} y_{n+2} \) are rejected, and the current step is reiterated with step size selection \((q=2).\) On the contrary, the step size increment for each successful step is defined as \(h_{new} =c\times h_{\max } \) and if \(h_{new} >1.9\times h_{old} \) then \(h_{new} =1.9\times h_{old} \). Where \(c\) is the safety factor, \(p\) is the order of the method while and is the step size from previous and current block respectively. In this chapter, \(c\) is set to be 0.8 so as to make sure the rejected step is being reduced.

3 Numerical Results

We carry out numerical experiments to compare the performance of EBBDF method with stiff ODE solvers in Matlab mentioned earlier. This chapter considers the comparison of four different factors namely number of steps taken, average error, maximum error and computation time. These test problems are performed under different conditions of error tolerances—(a) \(10^{-2}\), (b) \(10^{-4}\) and, (c) \(10^{-6}\)

The test problems and solution are listed below

Problem 1

$$\begin{aligned} y^{{\prime }}=-1000y+3000-2000\mathrm{{e}}^{(-\mathrm{{x}})}y(0)=0\quad 0\le x\le 20 \end{aligned}$$
Table 1 Numerical results for problem 1
Table 2 Numerical results for problem 2

With solution: \(y(x)=3-0.998\mathrm{e}^{(-1000\mathrm{x})}-2.002\mathrm{e}^{\text{(-x) }}\)

Problem 2

$$\begin{aligned} y_1^{\prime } =-2y_1 +\mathrm{{y}}_2 + 2\sin (\mathrm{{x}})\quad y_1 (0)=2\quad 0\le x\le 10 \end{aligned}$$
$$\begin{aligned} y_2^{\prime } =998y_1 -999\mathrm{{y}}_2 +999\big (\cos (\mathrm{{x}})-\sin (\mathrm{{x}})\big )\quad y_2 (0)=3 \end{aligned}$$

With solution:

$$\begin{aligned} y_1 (x)=2\mathrm{e}^{(-\mathrm{x})}+\mathrm{{sin}{(x)}} \end{aligned}$$
$$\begin{aligned} y_2 (x)=2\mathrm{e}^{(-\mathrm{x})}+\mathrm{{cos}{(x)}} \end{aligned}$$

From Tables 1 and 2, among the three methods tested, our method, EBBDF method requires the shortest execution time, smallest maximum error and average error for each given tolerance level. Moreover, EBBDF outperformed ode15s and ode23s in term of total steps when the tolerance level is less than \(10^{-4}\).

4 Conclusion and Future Work

Extended Block Backward Differentiation Formulae (EBBDF) was derived in this chapter. From the numerical experiments, the comparisons between EBBDF and solvers in Matlab, show improvements in term of computation time, average error as well as maximum error. Therefore, we conclude that EBBDF can serve as an alternative solver for solving stiff ODEs. Subsequently, the method can be extended to solve higher order ODEs in future. One can also apply parallel computing to improve the computation time.