Journal of Computational Physics 230 (2011) 3352–3368
Contents lists available at ScienceDirect
Journal of Computational Physics journal homepage: www.elsevier.com/locate/jcp
Numerical approaches to fractional calculus and fractional ordinary differential equation q Changpin Li ⇑, An Chen, Junjie Ye Department of Mathematics, Shanghai University, Shanghai 200444, China
a r t i c l e
i n f o
Article history: Received 19 July 2010 Received in revised form 10 November 2010 Accepted 22 January 2011 Available online 31 January 2011 Keywords: Numerical approach Fractional calculus Fractional differential equations Piecewise interpolation Simpson method
a b s t r a c t Nowadays, fractional calculus are used to model various different phenomena in nature, but due to the non-local property of the fractional derivative, it still remains a lot of improvements in the present numerical approaches. In this paper, some new numerical approaches based on piecewise interpolation for fractional calculus, and some new improved approaches based on the Simpson method for the fractional differential equations are proposed. We use higher order piecewise interpolation polynomial to approximate the fractional integral and fractional derivatives, and use the Simpson method to design a higher order algorithm for the fractional differential equations. Error analyses and stability analyses are also given, and the numerical results show that these constructed numerical approaches are efficient. Ó 2011 Elsevier Inc. All rights reserved.
1. Introduction The history of fractional calculus [1–4] is more than 300 years old, but only in the recent decades did the applied scientists and the engineers realize that such fractional differential equations provided a better approach to describe the complex phenomena in nature, such as non-Brownian motion, signal processing, systems identification, control, viscoelastic materials and polymers. Because of the non-local property of the fractional derivative, it can be used to describe those complex systems which involve long-memory in time in a better way. Based on these requirements, the numerical approach has become a very desired method to analysis the experimental data which are described in a fractional way. Some papers have discussed the numerical approaches for fractional calculus and fractional differential equations. Here let us review the previous and present numerical methods. In [1], Oldham and Spanier introduced some numerical approaches to deal with the fractional calculus. They used the definitions of the Grünwald–Letnikov and Riemann–Liouville derivatives respectively. The main ideas of those numerical algorithms are that they used a Riemann sum to approximate the fractional derivative. Later on more researches are based on the above idea and also do certain theoretical analysis, such as [5,6]. In [2], Podlubny introduced the numerical approach for the arbitrary order derivative by using the definition of Riemann–Liouville based on the relationship between Grünwald–Letnikov derivative and the Riemann–Liouville derivative. The convergence order he got is O(h). Also he suggested that the short memory principle can be used to reduce the complexity at the expense of lacking certain precision. And he also pointed out that the convergence order can be improved to a more higher order by using the method of Lubich [7]. In [8], Deng described how to use the short memory principle combined with predictor–corrector approach in fractional differential equations in details. q The work was partially supported by the Natural Science Foundation of China under Grant No. 10872119 and Shanghai Leading Academic Discipline under Grant No. S30104. ⇑ Corresponding author. E-mail address:
[email protected] (C. Li).
0021-9991/$ - see front matter Ó 2011 Elsevier Inc. All rights reserved. doi:10.1016/j.jcp.2011.01.030
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
3353
In [9], Yuan and Agrawal designed a novel numerical approach which can avoid the harmful effect of non-local property in fractional derivative. This method was improved by Diethelm [10]. The main idea is that it transforms the original problem into an integral and then evaluates the numerical solution by Gauss integral formula. In [11], Murio designed a stable numerical algorithm to the fractional derivative in Caputo sense based on mollification techniques. Using a series of Chebyshev polynomials to evaluate the fractional calculus was posed in [12] and it seems that the method is highly effective. However that paper only dealt with the case 0 < a < 1. For the fractional differential equations, there are also some papers dealing with the numerical solutions. Some numerical algorithms such as predictor–corrector method [13,14,8,15], the Adomian decomposition [16], and the finite element [17] have been studied. Early in 1993, Tang studied the numerical scheme of the partial integro-differential equations in which the time derivative term was approximated by a Crank–Nicolson time-stepping and the integral term was treated by the product trapezoidal method [18]. The numerical scheme by the finite difference approach was further studied and an optimal convergence rate was also obtained, see [19]. Podlubny in [20,21] used the matrix expression to unify the formula where the fractional derivatives are derived from a finite difference. Liu also did some interesting works on the numerical approach for the fractional differential equations, see [22,23]. And Li and Xu in [24] constructed an efficient spectral method for the numerical approximation of the space–time fractional diffusion equation based on their proposed weak solution formulation, which is a significant difference to the direct discrete way. Based on the above review, we can see that there is not enough efficient numerical approach for the application of technology. Therefore in this paper, we pose the novel algorithms for a better convergence. The paper is organized as follows: In the present section we design some efficient approaches for the fractional calculus. In Section 2, we introduce the treatment for the fractional differential equations, where the error analyses and stability analyses are also given. Finally, we will give some numerical examples. First of all, let us introduce the definitions of fractional integral and derivatives. Definition 1. The definition of fractional integral of a function y reads as
J aa;t yðtÞ ¼
1 CðaÞ
Z
t
ðt sÞa1 yðsÞds;
a > 0:
ð1Þ
a
Definition 2. The Riemann–Liouville fractional derivative of y is defined as n
a
RL Da;t yðtÞ
¼
1 d Cðn aÞ dxn
Z
t
ðt sÞna1 yðsÞds;
t > a; n 1 < a < n 2 Z þ :
ð2Þ
a
Definition 3. The Grünwald–Letnikov fractional derivative of y is defined as
( ) N1 ðta Þa X Cðj aÞ ta N ; y tj GL Da;t yðtÞ ¼ lim N!1 N CðaÞ j¼0 Cðj þ 1Þ a
t > a; n 1 < a < n 2 Z þ :
ð3Þ
Definition 4. The Caputo fractional derivative of y is defined as a C Da;t yðtÞ ¼
1 Cðn aÞ
Z
t
ðt sÞna1 yðnÞ ðsÞds;
t > a; n 1 < a < n 2 Z þ :
ð4Þ
a
2. Numerical approach for the fractional calculus In this section, we divide the given interval [0, b] into:
D : 0 ¼ t0 < t1 < < t n ¼ t ¼ b: And ti = ih, in which h ¼
t ; n
ð5Þ
i ¼ 0; 1; . . . ; n.
2.1. Fractional integral Firstly, we use the piecewise linear interpolation function to approximate y,
yn ðtÞ ¼
t t iþ1 t ti yðt i Þ þ yðt iþ1 Þ; ti tiþ1 tiþ1 t i
where ti 6 t 6 ti+1, i = 0, 1, 2, . . . , n 1.
ð6Þ
3354
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
So substitution in (1) with (6) gives, a
J 0;t yðtÞ
n1 X i¼0
¼
n1 X
a
J 0;tn yn ðtÞ ¼
¼
t iþ1
ti
) ðt n sÞa1 yn ðsÞds CðaÞ ! ! ) Z tiþ1 s tiþ1 ðt n sÞa1 s t i dt yðt i Þ þ dt yðtiþ1 Þ t i t iþ1 CðaÞ tiþ1 t i ti
t iþ1 ti
i¼0
( Z
i¼0
(Z n1 X
a1
ðt n sÞ CðaÞ
a n X h W yðt Þ; Cða þ 2Þ i¼0 1;i i
ð7Þ
where
W 1;0 ¼ na ða þ 1 nÞ þ ðn 1Þaþ1 ; W 1;i ¼ ðn i 1Þ
aþ1
þ ðn i þ 1Þ
aþ1
ð8Þ aþ1
2ðn iÞ
;
i ¼ 1; 2; . . . ; n 1;
ð9Þ
W 1;n ¼ 1:
ð10Þ
Thus we get the following numerical approach for fractional integral. Theorem 5. Suppose that y(t) 2 C2[0, b], the fractional integral has the following numerical approach:
J a0;tn yðtÞ ¼
a n X h 2 W yðt Þ þ Oðh Þ; Cða þ 2Þ i¼0 1;i i
ð11Þ
where W1,i are defined as (8)–(10). Proof. Let
EðtÞ ¼ yðtÞ yn ðtÞ ¼
yð2Þ ðtÞ ðt t i Þðt t iþ1 Þ; 2!
where t 2 (ti,ti+1). Thus
kJ a0;tn yn ðtÞ J a0;tn yðtÞk1 ¼ kJ a0;tn ðyn ðtÞ yðtÞÞk1 6 kyn ðtÞ yðtÞk1
1 CðaÞ
Z
tn
ðt n sÞa1 ds ¼
0
t an ky ðtÞ yðtÞk1 Cða þ 1Þ n
a
tan b kyð2Þ k1 2 2 ¼ kyn ðtÞ yðtÞk1 ¼ Oðh Þ ¼ Oðh Þ: Cða þ 1Þ Cða þ 1Þ
Next, we apply some much higher convergence order for y. So the piecewise cubic interpolation function will be our choice. We have the piecewise cubic interpolation function as follows:
yn ðtÞ ¼
2 2 2 t ti t tiþ1 t t iþ1 t ti t tiþ1 12 yðti Þ þ 1 2 yðtiþ1 Þ þ ðt ti Þ y0 ðti Þ t i t iþ1 t i t iþ1 t iþ1 ti t iþ1 ti ti tiþ1 þ ðt t iþ1 Þ
t ti tiþ1 t i
2
y0 ðt iþ1 Þ:
ð12Þ
Substituting (12) into (1) yields a
J 0;t yðtÞ
n1 X
a
J 0;tn yn ðtÞ ¼
i¼0
þ
i¼0
Z
tiþ1
ti
þ
n1 X
Z ti
t iþ1
( Z ti
t iþ1
! ðt n sÞa1 s ti s tiþ1 2 ds yðt i Þ 12 CðaÞ t i t iþ1 t i t iþ1
! ! Z tiþ1 ðtn sÞa1 s tiþ1 s ti 2 ðt n sÞa1 s tiþ1 2 ds yðtiþ1 Þ þ ds y0 ðti Þ 12 ðs ti Þ CðaÞ tiþ1 t i tiþ1 t i CðaÞ ti tiþ1 ti ! ) a aþ1 n n X X ðtn sÞa1 s ti 2 h h 0 f y0 ðt Þ; W ds y ðt iþ1 Þ ¼ W 2;i yðt i Þ þ ðs tiþ1 Þ CðaÞ t iþ1 ti Cða þ 4Þ i¼0 Cða þ 4Þ i¼0 2;i i ð13Þ
3355
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
where
W 2;0 ¼ 6ðn 1Þ2þa ð1 þ 2n þ aÞ þ na 12n3 6n2 ð3 þ aÞ þ ð1 þ aÞð2 þ aÞð3 þ aÞ ; W 2;i ¼ 6 4ðn iÞ3þa þ ðn i 1Þ2þa ð1 þ 2i 2n aÞ þ ð1 i þ nÞ2þa ð1 þ 2i 2n þ aÞ ;
ð14Þ i ¼ 1; 2; . . . ; n 1;
W 2;n ¼ 6ð1 þ aÞ; f 2;0 ¼ 2ðn 1Þ2þa ð3n þ aÞ þ n1þa 6n2 4nð3 þ aÞ þ ð2 þ aÞð3 þ aÞ ; W
ð15Þ ð16Þ ð17Þ
f 2;i ¼ 2ðn i 1Þaþ2 ð3i 3n aÞ 2ðn i þ 1Þaþ2 ð3i 3n þ aÞ ðn iÞaþ2 ð24 þ 8aÞ; W f 2;n ¼ 2a: W
i ¼ 1; 2; . . . ; n 1;
ð18Þ ð19Þ
So we can also get the other following numerical approach for fractional integral. Theorem 6. Suppose y(t) 2 C4[0, b], the fractional integral has the following numerical approach:
J a0;tn yðtÞ ¼
a aþ1 n n X X h h f y0 ðt Þ þ Oðh4 Þ; W W 2;i yðt i Þ þ Cða þ 4Þ i¼0 Cða þ 4Þ i¼0 2;i i
ð20Þ
f 2;i are defined as (14)–(19). where W2,i and W Proof. The numerical formula (20) is obvious. In effect, set
EðtÞ ¼ yðtÞ yn ðtÞ ¼
yð4Þ ðtÞ ðt ti Þ2 ðt t iþ1 Þ2 ; 4!
ð21Þ
where t 2 (ti,ti+1). Thus
kJ a0;tn yn ðtÞ J a0;tn yðtÞk1 ¼ kJ a0;tn ðyn ðtÞ yðtÞÞk1 6 kyn ðtÞ yðtÞk1
1 CðaÞ
Z
tn
ðt n sÞa1 ds ¼
0
t an ky ðtÞ yðtÞk1 Cða þ 1Þ n
a
tan b kyð4Þ k1 4 4 ¼ kyn ðtÞ yðtÞk1 ¼ Oðh Þ ¼ Oðh Þ: Cða þ 1Þ Cða þ 1Þ
In (20), the first-order derivative can be approximated by the back forward difference or the central difference. Since the spline function has good properties to fit the experimental data, in the following we use the spline function to approximate y. The cubic interpolation spline function reads as follows:
2 2 2 t ti t tiþ1 t tiþ1 t ti t t iþ1 yn ðtÞ ¼ 1 2 yðt i Þ þ 1 2 yðtiþ1 Þ þ ðt ti Þ mi ti tiþ1 ti tiþ1 t iþ1 ti t iþ1 ti ti tiþ1 2 t ti þ ðt tiþ1 Þ miþ1 ; t iþ1 t i
ð22Þ
where mi (i = 0, 1, 2, . . . , n 1) are the undetermined real numbers. Then one has
J a0;tn yðtÞ
Z
tn
0
ðt n sÞa1 yn ðsÞds: CðaÞ
ð23Þ
That is, a
J 0;tn yðtÞ
n1 Z X i¼0
þ þ
Z Z
t iþ1 ti tiþ1
ti
ti
t iþ1
! ( Z n1 t iþ1 X ðt n sÞa1 ðt n sÞa1 s ti s tiþ1 2 ds yðti Þ yn ðsÞds ¼ 12 CðaÞ CðaÞ ti t iþ1 t i t iþ1 ti i¼0 ! ! Z tiþ1 ðtn sÞa1 s tiþ1 s ti 2 ðt n sÞa1 s tiþ1 2 ds yðt iþ1 Þ þ ds mi 12 ðs ti Þ CðaÞ tiþ1 t i tiþ1 t i CðaÞ ti tiþ1 ti ) 2 ! a aþ1 a1 n n X X ðtn sÞ s ti h h f m; W ds miþ1 ¼ W 3;i yðt i Þ þ ð24Þ ðs t iþ1 Þ CðaÞ t iþ1 ti Cða þ 4Þ i¼0 Cða þ 4Þ i¼0 3;i i
f 3;i ¼ W f 2;i ; i ¼ 0; 1; 2; . . . ; n. where W 3;i ¼ W 2;i ; W For the undetermined real number mi, i = 1, 2, . . . , n 1, the expressions are as follows:
ki mi1 þ 2mi þ li miþ1 ¼ C i ;
i ¼ 1; 2; . . . ; n 1;
in which
t iþ1 t i ; t iþ1 ti1 t t li ¼ 1 ki ¼ i i1 ; t iþ1 ti1 C i ¼ 3½ki yðti1 ; ti Þ þ li yðti ; t iþ1 Þ: ki ¼
ð25Þ
3356
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
The above formulas have only n 1 linear equations, but the unknown numbers are n + 1. In order to determine the unknown mi, here we present two ways: 1. Taking first-order derivative of spline interpolation function at boundary as m0 ¼ fn0 ðx0 Þ; mn ¼ fn0 ðxn Þ, then we get the following m1,i:
m1;i
8 0 i ¼ 0; > < f ðx0 Þ; ¼ f 0 ðxn Þ; i ¼ n; > : the solution mi of ð25Þ; i ¼ 1; 2; . . . ; n 1:
ð26Þ
In (25) mi is substituted by m1,i, C1 and Cn1 are updated by C1 k1m1,0 and Cn1 ln1m1,n respectively. Under these conditions, we get a system of Eq. (25) whose coefficient matrix is a triangular one. So the method of forward elimination and backward substitution can be used. 2. Taking fn00 ðx0 Þ ¼ f 00 ðx0 Þ; fn00 ðxn Þ ¼ f 00 ðxn Þ, then we get the following equations with respect to m1,i:
8 x1 x0 00 > < 2m1;0 þ m1;1 ¼ 3f ðx0 ; x1 Þ 2 f ðx0 Þ; ki m1;i1 þ 2m1;i þ li m1;iþ1 ¼ C i ; i ¼ 1; 2; . . . ; n 1; > : m1;n1 þ 2m1;n ¼ 3f ðxn1 ; xn Þ þ xn x2 n1 f 00 ðxn Þ:
ð27Þ
Thus we also get a system of equations whose coefficient matrix is also a triangular one. Thus, we have another numerical approach for fractional integral. Theorem 7. Suppose y(t) 2 C2[0, b]. Then the fractional integral has the following numerical approach:
J a0;tn yðtÞ ¼
a aþ1 n n X X h h f m þ Oðh4 Þ; W W 3;i yðt i Þ þ Cða þ 4Þ i¼0 Cða þ 4Þ i¼0 3;i 1;i
ð28Þ
f 3;i are defined as (14)–(19), and m1,i can be determined by the above suggestion (26) or (27). where W3,i and W
Proof. According to [25], we have
jyn ðtÞ yðtÞj 6
7 4 Lh ; 8
where L is a constant. Thus
kJ a0;tn yn ðtÞ J a0;tn yðtÞk1 ¼ kJ a0;tn ðyn ðtÞ yðtÞÞk1 6 kyn ðtÞ yðtÞk1
1 CðaÞ
Z
tn
ðt n sÞa1 ds ¼
0
t an ky ðtÞ yðtÞk1 Cða þ 1Þ n
a
tan 7b Lkyð4Þ k1 4 4 ¼ kyn ðtÞ yðtÞk1 ¼ Oðh Þ ¼ Oðh Þ: Cða þ 1Þ 8Cða þ 1Þ
2.2. Fractional derivative Due to a wide application of the Caputo derivative, we put our attention to the numerical approach of it. Oldham and Spanier [1] have done some researches on the numerical approach to Grünwald–Letnikov derivative and Riemann–Liouville derivative. Besides, Liu et al. used the finite difference to approximate Riemann–Liouville derivative based on the relationship between Grünwald–Letnikov derivative and Riemann–Liouville derivative. It shows that the approaches are very efficient. Here we approximate the Caputo derivative which is similar to the above discussions for the fractional integral. In the following, in order to compute the numerical solution y(m), we always assume that it makes sense in the small neighborhood of the two endpoints. Theorem 8. When y(t) 2 C2+m[0, b], m = [a] + 1, then the Caputo derivative has the following numerical approach: a
¼
ma n X h 2 W yðmÞ ðt i Þ þ Oðh Þ; Cðm a þ 2Þ i¼0 5;i
ð29Þ
a
¼
ma maþ1 n n X X h h f m þ Oðh4 Þ: W W 6;i yðmÞ ðt i Þ þ Cðm a þ 4Þ i¼0 Cðm a þ 4Þ i¼0 6;i 2;i
ð30Þ
C D0;t n yðtÞ
C D0;t n yðtÞ
And when y(t) 2 C4+m[0, b], m = [a] + 1, then the Caputo derivative has the following numerical approach: a
C D0;t n yðtÞ
¼
ma maþ1 n n X X h h f yðmþ1Þ ðt i Þ þ Oðh4 Þ; W W 7;i yðmÞ ðt i Þ þ Cðm a þ 4Þ i¼0 Cðm a þ 4Þ i¼0 7;i
ð31Þ
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
3357
f 6;i are defined as follows: where W5,i, W6,i and W
8 > nma ðm a þ 1 nÞ þ ðn 1Þmaþ1 ; i ¼ 0; > > > < ðn i 1Þmaþ1 þ ðn i þ 1Þmaþ1 ; W 5;i ¼ > > 2ðn iÞmaþ1 ; i ¼ 1; . . . ; n 1; > > : 1; i ¼ n; 8 6ðn 1Þ2þma ð1 þ 2n þ m aÞ þ nma ð12n3 6n2 ð3 þ m aÞ > > > > > > < þð1 þ m aÞð2 þ m aÞð3 þ m aÞÞ; i ¼ 0; W 6;i ¼ 6ð4ðn iÞ3þma þ ðn i 1Þ2þma ð1 þ 2i 2n m þ aÞ > > > > þð1 i þ nÞ2þma ð1 þ 2i 2n þ m aÞÞ; i ¼ 1; . . . ; n 1; > > : 6ð1 þ m aÞ; i ¼ n; 8 2ðn 1Þ2þma ð3n þ m aÞ > > > > > þn1þma 6n2 4nð3 þ m aÞ þ ð2 þ m aÞð3 þ m aÞ ; i ¼ 0; > > > > maþ2 < ð3i 3n m þ aÞ f 6;i ¼ 2ðn i 1Þ W maþ2 > > ð3i 3n þ m aÞ 2ðn i þ 1Þ > > > > maþ2 > ð24 þ 8ðm aÞÞ; i ¼ 1; 2; . . . ; n 1; ðn iÞ > > : 2a; i ¼ n:
As to (29), y(m)(ti) have been given by [26,27]
8 yðt þhÞyðt hÞ 2 i i þ Oðh Þ; > 2h > > > 2 > yðt i þhÞ2yðt i Þþyðt i hÞ > þ Oðh Þ; > > h2 > > > 2n > P < 2 ð2nÞ! 1 ð1Þk k!ð2nkÞ! yðt i þ ðn kÞhÞ þ Oðh Þ; ym ðti Þ :¼ um ðhÞ ¼ h2n k¼0 > > > 2nþ1 > P > ð2nþ1Þ! 1 > > 2nþ1 ð1Þk k!ð2nþ1kÞ! > h > > k¼0 > > : 2 12 ðyðt i þ ðn kÞhÞ þ yðt i þ ðn þ 1 kÞhÞÞ þ Oðh Þ; And combining the above formula with Richardson extrapolation, y
m ¼ 1; m ¼ 2; m ¼ 2j;
m ¼ 2j þ 1; j ¼ 1; 2; . . .
(m)
(ti) to (30) and (31) are obtained as follows:
4 h 1 4 um ðhÞ þ Oðh Þ: yðmÞ ðt i Þ ¼ um 3 2 3 f 7;i ¼ W f 6;i , and m2,i are those values m1,i given in Theorem 7 in which y(t) is substituted by y(m)(t). And W7,i = W6,i, W Proof. The proof is simple. Once combining the definition of Caputo derivative and the already designed numerical approaches for the fractional integral, the remain thing is only the substitution. h
3. Numerical approach for the fractional differential equations In this section, we discuss a new numerical scheme for solving the following system: a
C D0;t yðtÞ
¼ f ðt; yðtÞÞ;
ðkÞ
yðkÞ ð0Þ ¼ y0 ;
k ¼ 0; . . . ; ½a:
ð32Þ
It is well known that the initial value problem (32) is equivalent to a Volterra integral equation
yðtÞ ¼
½a X
m¼0
ðmÞ
y0
tm 1 þ 2 tt ðt uÞa1 f ðu; yðuÞÞdu m! CðaÞ 0
ð33Þ
in the sense that a continuous function is a solution of (32) if and only if it is also a solution of (33). Here, we indicate the approach briefly. The main problem is to solve the integral on the right-hand side of (33) by numerical method. For the consequence of the non-local structure of the fractional-order differential operators, we use the compound quadrature formula with respect to the weight function (tk+1 )a1 to replace the integral naturally. The product trapezoidal quadrature formula is a good choice. The scheme constructed by using the trapezoidal quadrature formula to replace the integral is proved to work [28,6]. We may also construct the higher order of scheme by using the compound Simpson formula. We need not only nodes tj (j = 0,1,. . .,k + 1) but also t jþ1 ðj ¼ 0; 1; . . . ; kÞ. In other words, we apply the approximation 2
3358
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
Z
t kþ1
ðtkþ1 zÞa1 gðzÞdz ¼
0
Z
tkþ1
ðt kþ1 zÞa1 g~kþ1 ðzÞdz;
ð34Þ
0
where g~kþ1 is the piecewise quadratic interpolation for g with nodes and knots chosen at the tj ; t jþ1 ðj ¼ 0; 1; 2; . . . ; k þ 1Þ. 2 Using the standard techniques of the Simpson theory, we write the integral on the right-hand side of (34) as
Z
t kþ1
ðtkþ1 zÞa1 g~kþ1 ðzÞdz ¼
0
kþ1 X
aj;kþ1 gðt j Þ þ
j¼0
k X
bj;kþ1 gðt jþ1 Þ;
ð35Þ
2
j¼0
where
aj;kþ1
h i 8 aþ2 aþ2 4ha > ðk þ 2Þ ðk þ 1Þ > a ð a þ1Þð a þ2Þ > > > > > h i > a a > > aðahþ1Þ ðk þ 1Þaþ1 3ðk þ 2Þaþ1 þ ha ðk þ 2Þa ; j ¼ 0; > > > > > < h i a aþ2 4ha ¼ ðk jÞaþ2 aðahþ1Þ aðaþ1Þðaþ2Þ ðk þ 2 jÞ > > > > > h i > > > ðk þ 2 jÞaþ1 þ 6ðk þ 1 jÞaþ1 þ ðk jÞaþ1 ; 1 6 j 6 k; > > > > > > > : 2ha a aðaþ1Þðaþ2Þ ð1 2Þ; j ¼ k þ 1; h i h i 8h 4h ðk þ 2 jÞaþ2 ðk þ 1 jÞaþ2 ðk þ 2 jÞaþ1 þ ðk þ 1 jÞaþ1 ; aða þ 1Þða þ 2Þ aða þ 1Þ a
bj;kþ1 ¼
ð36Þ
a
0 6 j 6 k: ð37Þ
In order to construct the explicit scheme avoiding iterations. We replace the integral on the right-hand side of Eq. (33) by the product rectangle rule to calculate the predictor of yk+1, then
ykþ1
" # ½a k k X X t jkþ1 ðjÞ 1 X P ¼ a f ðt ; y Þ þ akþ1;kþ1 f ðt kþ1 ; ykþ1 Þ þ bj;kþ1 f ðt jþ1 ; ykþ1 Þ ; y þ 2 2 j! 0 CðaÞ j¼0 j;kþ1 j j j¼0 j¼0
yPkþ1 ¼
ð38Þ
½a k X t jkþ1 ðjÞ 1 X c f ðt ; y Þ; y0 þ j! CðaÞ j¼0 j;kþ1 j j j¼0
ð39Þ
where aj,k+1, bj,k+1 are shown in (36) and (37) respectively, and
h
cj;kþ1 ¼
a
a
½ðk þ 1 jÞa ðk jÞa :
ð40Þ
The remaining problem is to determine the values ykþ1 . We use the product rectangle rule to calculate the ykþ1 . Thus 2
ykþ1 ¼ 2
j ½a t X kþ1 2
j¼0
j!
ðjÞ
y0 þ
2
k 1 X d f ðt ; y Þ; CðaÞ j¼0 j;kþ1 j j
ð41Þ
where
dj;kþ1 ¼
h
a
kþ
a
1 j 2
a
a 1 ; k j 2
0 6 j 6 k:
ð42Þ
Thus a new scheme is described by (38), (39) and (41) with the weights aj,k+1, bj,k+1, cj,k+1, dj,k+1 defined as above, respectively. 3.1. Improved algorithms In this section, we want to improve the above designed algorithm. Consider the predictor–corrector format to the intermediate nodes, we have
ykþ1 ¼ 2
yPkþ1 ¼ 2
j ½a t X kþ1 2
j¼0
j!
2
j!
þ
" k X
# P ej;kþ1 f ðt j ; yj Þ þ ekþ1;kþ1 f t kþ1 ; ykþ1 ;
j¼0
j ½a t 1 X kþ j¼0
ðjÞ y0
ðjÞ
y0 þ
k 1 X d f ðt ; y Þ; CðaÞ j¼0 j;kþ1 j j
2
2
ð43Þ
ð44Þ
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
3359
where dj,k+1 are defined as (42) and ej,k+1 are given by
8 1a a h aþ1 i ðkþ2Þ h ha 1 aþ1 > > k þ 12 ; j ¼ 0; > Cðaþ1Þ þ Cðaþ2Þ k 2 > > h i > > a aþ1 aþ1 > 1 aþ1 a þ1 h 3 > 3ð12 Þ j ¼ k; þ Cðahþ1Þ 12 ; > > > Cðaþ2Þ 2 > > a > 1 aþ1 : 2h ; j ¼ k þ 1:
ej;kþ1
ð45Þ
Cðaþ2Þ 2
At the beginning, we apply the product rectangle rule to calculate it
a aha 1 ; Cða þ 2Þ 2
e0;1 ¼ e1;1
a a h 1 ¼ : Cða þ 2Þ 2
ð46Þ ð47Þ
We call the above algorithm Improved Algorithm I (descried by (38), (39), (43) and (44)), namely, using the intermediate nodes with the predictor–corrector method (similar to the classical Adams methods), which can be upgraded to ensure an overall accuracy. Improved accuracy of this algorithm found in the middle node is still inadequate, so we can use the formula of Simpson to calculate the intermediate nodes. Thus
ykþ1 ¼ 2
yPkþ1 ¼ 2
½a k k X X tjkþ1 ðjÞ X ej;kþ1 f ðt j1 ; yj1 Þ þ ekþ1;kþ1 f tkþ1 ; yPkþ1 þ fj;kþ1 f ðt j ; yj Þ þ fkþ1;kþ1 f t kþ1 ; yPkþ1 ; y0 þ 2 2 2 2 j! j¼1 j¼0 j¼0 j ½a t 1 X kþ 2
j¼0
j!
ðjÞ
y0 þ
k 1 X d f ðt ; y Þ; CðaÞ j¼0 j;kþ1 j j
ð48Þ
ð49Þ
where
dj;kþ1
8 h i < ha k þ 1 j a k 1 j a ; 0 6 j 6 k 1; 2 2 a ¼ : ha 1a ; j ¼ k; a 2
ð50Þ
ej;kþ1
8
a aþ1 aþ1 a aþ2 aþ2 > < 4 ðkþ32jÞ þðkjþ12Þ h ðkþ32jÞ ðkjþ12Þ 8h ; 1 6 j 6 k; Cðaþ2Þ Cðaþ3Þ ¼ > : 2ha 1 aþ1 ; j ¼ k þ 1; Cðaþ2Þ 2
ð51Þ
fj;kþ1
8 aþ1 aþ1 a aþ2 aþ2 a 3ðkþ12Þ þðk12Þ h 4 ðk12Þ ðkþ12Þ h > ha 1 a > k þ ; j ¼ 0; > > Cðaþ1Þ 2 Cðaþ2Þ Cðaþ3Þ > <
aþ2 aþ2 a aþ1 aþ1 aþ1 a 3 1 3 1 1 ¼ 4 ðkþ2jÞ ðkj2Þ h ðkþ2jÞ þ6ðkjþ2Þ þðkj2Þ h ; 1 6 j 6 k; > Cðaþ3Þ Cðaþ2Þ > > h h > 1aþ1 i aþ2 i > 3 aþ1 4ha 3 aþ2 : ha þ 5 12 þ ; j ¼ k þ 1: 2 2 2 Cðaþ2Þ Cðaþ3Þ
ð52Þ
The above algorithm is called Improved Algorithm II (described by (38), (39), (48) and (49)), namely, using the Simpson formats to calculate the intermediate nodes in order to enhance accuracy. In order to further improve the algorithm’s overall accuracy, there is still room for improvement in the predictor. Observing the above algorithm, one can find at each step whatever format we used in the predictor, its main format is not changed. If the value after correction continues to serve as a predictor, one can improve the accuracy of the whole algorithm, so as to enhance the overall accuracy of the format. However the computational complexity is almost not increased. Thus
yPkþ1 ¼
" # ½a k k X X t jkþ1 ðjÞ 1 X aj;kþ1 f ðtj ; yj Þ þ akþ1;kþ1 f ðt kþ1 ; e y Pkþ1 Þ þ bj;kþ1 f tjþ1 ; ykþ1 ; y0 þ 2 2 j! CðaÞ j¼0 j¼0 j¼0
ð53Þ
ykþ1 ¼
½a k k X X tjkþ1 ðjÞ X ~Pkþ1 Þ; ej;kþ1 f t j1 ; yk1 þ ekþ1;kþ1 f t kþ1 ; ypkþ1 þ fj;kþ1 f ðtj ; yj Þ þ fkþ1;kþ1 f ðt kþ1 ; y y0 þ 2 2 2 2 j! j¼1 j¼0 j¼0
ð54Þ
ypkþ1 ¼
½a k k X X tjkþ1 ðjÞ X ej;kþ1 f t j1 ; yk1 þ ekþ1;kþ1 f t kþ1 ; yPkþ1 þ fj;kþ1 f ðtj ; yj Þ þ fkþ1;kþ1 f ðt kþ1 ; e y Pkþ1 Þ; y0 þ 2 2 2 2 j! j¼1 j¼0 j¼0
ð55Þ
2
2
3360
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
where e y Pkþ1 is updated by (39). The remaining format is the same as that of Improved Algorithm II. The above algorithm is called Improved Algorithm III (described by (38), (53), (54) and (55)), namely, based on the Improved Algorithm II, the value after correction continues to serve as the predictor value by using the Simpson formula to calculate the intermediate nodes. 3.2. Error analysis First of all, we focus on the errors of the compound Simpson formulas and a corresponding result for compound rectangle rule and compound trapezoidal formula. They are easy to be verified by using the Simpson theory, we omit the details. Lemma 1. Let z 2 C3[0,T], then
Z kzð3Þ k tkþ1 kþ1 k X X a1 1 a1 4 ðt kþ1 tÞ zðtÞdt aj;kþ1 zðt j Þ bj;kþ1 zðt jþ1 Þ 6 t kþ1 h : 2 0 4! j¼0 j¼0
ð56Þ
Lemma 2. Let z 2 C1[0,T], then
Z kz0 k tkþ1 k X a1 1 a ðt kþ1 tÞ zðtÞdt cj;kþ1 zðt j Þ 6 t h: 0 a kþ1 j¼0
ð57Þ
Lemma 3. Let z 2 C1[0,T], then
Z kz0 k tkþ1 k X a1 1 a ðt kþ1 tÞ zðtÞdt dj;kþ1 zðt j Þ 6 t h: 0 a kþ1 j¼0
ð58Þ
Then we give the error analysis for the (39). Lemma 4. Assume that the initial value problem solution y satisfies
Z tkþ1 k X d ðt kþ1 tÞa1 C Da yðtÞdt cj;kþ1C Da yðtj Þ 6 Ctmkþ1 h 0 j¼0
ð59Þ
with m P 0 and d > 0. Then we have
yðt kþ1 Þ yP 6 C 1 hd þ C 2 max yðt j Þ y ; j kþ1 06j6k
where C1, C2 > 0. Proof. By the construction of yPkþ1 , we find that
yðt kþ1 Þ yP j ¼ kþ1
Z k X 1 tkþ1 ðt kþ1 tÞa1 f ðt; yðtÞÞdt cj;kþ1 f ðt j ; yj Þj CðaÞ 0 j¼0 Z k k X 1 tkþ1 1 X a1 a a 6 ðt kþ1 tÞ CD yðtÞdt cj;kþ1CD yðtj Þ þ c jf ðtj ; yðt j ÞÞ f ðt j ; yj Þj CðaÞ j¼0 j;kþ1 CðaÞ 0 j¼0 6
k k X C 1 tmkþ1 d 1 X d d cj;kþ1 jyðt j Þ yj j 6 C 1 h þ C 2 max jyðt j Þ yj j cj;kþ1 6 C 1 h þ C 2 max jyðt j Þ yj j: h þ 06j6k 06j6k CðaÞ CðaÞ j¼0 j¼0
Based on the error estimate of the preceding section, we now present a general convergence result for this new scheme. Theorem 9. Assume that the initial value problem solution y satisfies
Z tkþ1 k X d a1 a a 1 ðtkþ1 tÞ C D yðtÞdt cj;kþ1C D yðt j Þ 6 C 1 tmkþ1 h 1; 0 j¼0 Z tkþ1 k X d a1 2 a a 2 ðtkþ1 tÞ C D yðtÞdt dj;kþ1C D yðtj Þ 6 C 2 tmkþ1 h 2; 0 j¼0 Z tkþ1 k k X X d 3 ðtkþ1 tÞa1 C Da yðtÞdt aj;kþ1C Da yðt j Þ akþ1;kþ1C Da yðt j Þ bj;kþ1C Da yðt jþ1 Þ 6 C 3 t mkþ1 h 3; 2 0 j¼0 j¼0
3361
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
with m1, m2, m3 P 0 and d1, d2, d3 > 0. Then we have q
max jyðtj Þ yj j ¼ Oðh Þ;
06j6N
where q = min{d1 + a, d2, d3} and N = [T/h]. Proof. Firstly by Lemma 4, we have d
jyðtkþ1 Þ yPkþ1 j 6 C 1 h 1 þ C 2 max jyðtj Þ yj j: 06j6k
Secondly, from formula of ykþ1 and Lemma 4, we easily have 2
d
jyðtkþ1 Þ ykþ1 j 6 C 3 h 2 þ C 4 2
2
So
k X
d
dj;kþ1 jyðtj Þ yj j 6 C 3 h 2 þ C 4 max jyðt j Þ yj j: 06j6k
j¼0
Z k k X X 1 tkþ1 ðt kþ1 tÞa1 f ðt; yðtÞÞdt aj;kþ1 f ðt j ; yj Þ akþ1;kþ1 f ðtkþ1 ; yPkþ1 Þ bj;kþ1 f t jþ1 ; yjþ1 2 2 CðaÞ 0 j¼0 j¼0 Z kþ1 k k X X 1 tkþ1 1 X 6 ðt kþ1 tÞa1 C Da yðtÞdt aj;kþ1 C Da yðtj Þ bj;kþ1CD a y t jþ1 þ a ðf ðt j ; yðt j ÞÞ 2 CðaÞ 0 CðaÞ j¼0 j;kþ1 j¼0 j¼0
jyðtkþ1 Þ ykþ1 j ¼
k 1 1 X bj;kþ1 f tjþ1 ; yðt jþ1 Þ f t jþ1 ; yjþ1 akþ1;kþ1 ðf ðtkþ1 ; yðtkþ1 ÞÞ f ðtkþ1 ; yPkþ1 ÞÞ þ 2 2 2 2 CðaÞ CðaÞ j¼0 k X d d 6 C5h 3 þ C6 aj;kþ1 jyðtj Þ yj j þ C 7 akþ1;kþ1 C 1 h 1 þ C 2 max jyðtj Þ yj j f ðt j ; yj ÞÞ þ
06j6k
j¼0
þ C8
k X
d
bj;kþ1 C 3 h 2 þ C 4 max jyðt j Þ yj j
06j6k
j¼0 d1 þa
d
6 C5h 3 þ C7h
minfd3 ;d1 þa;d2 g
d
þ C 8 h 2 þ C 9 max jyðt j Þ yj j 6 Ch 06j6k
:
In the following, we mainly deal with the error analysis for the improved algorithms I–III respectively. Theorem 10. Assume that the initial value problem solution y satisfies
Z tkþ1 k X d 2 ðt kþ1 tÞa1 C Da yðtÞdt dj;kþ1C Da yðtj Þ 6 C 1 t mkþ1 1 h 1 ; 2 0 2 j¼0 Z tkþ1 k X d a1 a 2 ðt kþ1 tÞ C D yðtÞdt ej;kþ1C Da yðt j Þ ekþ1;kþ1C Da yðt jþ1 Þ 6 C 2 t mkþ2 1 h 2 ; 2 2 0 2 j¼0 with q
max jyðtj Þ yj j ¼ Oðh Þ;
06j6N
where m1, m2 P 0 and d1, d2 > 0 for some n, T > 0. Then we have p
max jyðt jþ1 Þ yjþ1 j ¼ Oðh Þ;
06j6N1
2
2
where p = min(q, d1 + a, d2) and N = [T/h]. Proof. Firstly, we find that
Z k X 1 tkþ12 a1 ðt kþ1 tÞ f ðt; yðtÞÞdt dj;kþ1 f ðtj ; yj Þ 2 CðaÞ 0 j¼0 Z k k X X 1 tkþ12 d 6 ðtkþ1 tÞa1 Da yðtÞdt dj;kþ1 Da yðtj Þ 6 C 1 h 1 þ C 2 max jyðtj Þ yj j dj;kþ1 2 06j6k CðaÞ 0 j¼0 j¼0
yðt kþ1 Þ yPkþ1 ¼ 2
2
d
6 C 1 h 1 þ C 2 max jyðt j Þ yj j: 06j6k
3362
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
Finally, one gets that
Z k k a1 X 1 tkþ12 1 X tkþ1 t f ðt; yðtÞÞdt ej;kþ1 f ðt j ; yj Þ ekþ1;kþ1 f t kþ1 ; ykþ1 þ e jf ðt ; yðt j ÞÞ 2 2 2 CðaÞ 0 CðaÞ j¼0 j;kþ1 j j¼0 1 f ðt j ; yj Þj þ ekþ1;kþ1 f ðt kþ1 ; y t kþ1 Þ f t kþ1 ; yPkþ1 2 2 2 2 CðaÞ d a 6 C 3 h 2 þ C 4 max jyðtj Þ yj j þ C 5 h jy tkþ1 ykþ1 j
jyðtkþ1 Þ ykþ1 j ¼ 2
2
2
06j6k
d2
6 C 3 h þ C 4 max jyðtj Þ yj j þ C 5 h
aþd1
06j6k
p
6 Ch :
2
minfd1 þa;d2 g
þ C 1 max jyðt j Þ yj j 6 C 1 h 06j6k
þ C 2 max jyðt j Þ yj j 06j6k
Theorem 11. Assume that the initial value problem solution y satisfies
Z tkþ1 k X d a1 a a 2 ðtkþ1 tÞ C D yðtÞdt dj;kþ1C D yðtj Þ 6 C 1 t mkþ1 1 h 1 ; 2 0 2 j¼0 Z tkþ1 k X 2 ðtkþ1 tÞa1 C Da yðtÞdt ej;kþ1C Da yðt j1 Þ ekþ1;kþ1C Da y t kþ1 2 2 2 0 j¼1 k X d fj;kþ1C Da yðt j Þ fkþ1;kþ1 C Da yðt kþ1 Þ 6 C 2 tmkþ2 1 h 2 ; 2 j¼0 with q
max jyðtj Þ yj j ¼ Oðh 1 Þ;
06j6N
and q
max jyðtj Þ yPj j ¼ Oðh 2 Þ;
06j6N
where m1, m2 P 0 and d1, d2 > 0. Then for n, T > 0, we have
p max yðtjþ1 Þ yjþ1 ¼ Oðh Þ; 2 2
06j6N1
where p = min(q1, q1 + a, q2 + a, d1 + a, d2) and N = [T/h]. Proof. Based on the above discussion, we find that
d yðt kþ1 Þ yPkþ1 6 C 1 h 1 þ C 2 max jyðt j Þ yj j: 2
06j6k
2
In the following, one gets
yðt kþ1 Þ ykþ1 ¼ 2
2
Z k X 1 tkþ12 ðtkþ1 tÞa1 f ðt; yðtÞÞdt fj;kþ1 f ðt j ; yj Þ fkþ1;kþ1 f ðtkþ1 ; yPkþ1 Þ 2 CðaÞ 0 j¼0 Z k X 1 tkþ12 P ej;kþ1 f ðtj1 ; yj1 Þ ekþ1;kþ1 f t kþ1 ; ykþ1 6 ðtkþ1 tÞa1 f ðt; yðtÞÞdt 2 2 2 2 2 CðaÞ 0 j¼1
k X j¼0
fj;kþ1 f ðtj ; yðt j ÞÞ fkþ1;kþ1 f ðt kþ1 ; yðt kþ1 ÞÞ
k X j¼1
1 ej;kþ1 f ðt j1 ; yðt j1 ÞÞ ekþ1;kþ1 f ðtkþ1 ; yðt kþ1 ÞÞ þ 2 2 2 2 CðaÞ
k 1 X 1 ej;kþ1 f ðtj1 ; yj1 Þ f ðt j1 ; yðtj1 ÞÞ þ fj;kþ1 jf ðt j ; yj Þ f ðtj ; yðt j ÞÞj þ fkþ1;kþ1 f tkþ1 ; yPkþ1 2 2 2 2 C ð a Þ C ð a Þ j¼1 j¼0 1 d f ðt kþ1 ; yðt kþ1 ÞÞj þ ekþ1;kþ1 f t jþ1 ; yPjþ1 f ðt jþ1 ; yðt jþ1 ÞÞ 6 C 1 h 2 þ C 2 max yðt jþ1 Þ yjþ1 2 2 2 2 2 2 06j6k CðaÞ a a d þ C 3 max jyðt j Þ yj j þ C 4 yðtkþ1 Þ yPkþ1 h þ C 5 yðt kþ1 Þ yPkþ1 h 6 C 1 h 2 þ C 2 max yðt jþ1 Þ yjþ1 2 2 2 2 06j6k 06j6k q aþq aþd aþq p p þ C 3 h 1 þ C 4 h 2 þ C 5 h 1 þ C 6 h 1 6 Ch þ C 2 max yðt jþ1 Þ yjþ1 6 Ch : k X
06j6k
2
2
3363
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
Theorem 12. Assume that the initial value problem solution y satisfies
Z tkþ1 k X d a1 a a 1 ðt kþ1 tÞ C D yðtÞdt cj;kþ1C D yðt j Þ 6 C 1 tmkþ1 h 1; 0 j¼0 Z tkþ1 k k X X d a1 a a a 2 ðt kþ1 tÞ C D yðtÞdt aj;kþ1C D yðtj Þ bj;kþ1 D yðt jþ1 Þ 6 C 3 tmkþ1 h 2; 2 0 j¼0 j¼0 q max yðt jþ1 Þ yjþ1 ¼ Oðh Þ; 06j6k
2
2
where 0 6 j 6 N, m1, m2, m3 P 0 and d1, d2, d3 > 0 for n, T > 0. Then we have
yðt k Þ yP ¼ Oðhp Þ; k
where p = min{d1 + a, q, d2}. Proof. From Lemma 4, we have
d yðt kþ1 Þ e y Pkþ1 6 C 1 h 1 þ C 2 max jyðtj Þ yj j: 06j6k
Next we focus on the error for yPkþ1 . It follows
Z k k X X 1 tkþ1 a1 P e ðtkþ1 tÞ f ðt; yðtÞÞdt aj;kþ1 f ðt j ; yj Þ akþ1;kþ1 f ðt kþ1 ; y kþ1 Þ bj;kþ1 f ðtjþ1 ; yjþ1 Þ 2 2 CðaÞ 0 j¼0 j¼0 Z kþ1 k k t kþ1 X X 1 1 X 6 ðt kþ1 tÞa1 C Da yðtÞdt aj;kþ1 C Da yðt j Þ bj;kþ1C Da yðtjþ1 Þ þ a jf ðt j ; yðt j ÞÞ 2 CðaÞ j¼0 j;kþ1 CðaÞ 0 j¼0 j¼0
yðt kþ1 Þ yP ¼ kþ1
k 1 1 X y Pkþ1 þ bj;kþ1 f ðt jþ1 ; yðt jþ1 ÞÞ f ðtjþ1 ; yjþ1 Þ akþ1;kþ1 f ðtkþ1 ; yðtkþ1 ÞÞ f t kþ1 ; e 2 2 2 2 CðaÞ CðaÞ j¼0 a d 6 C 1 h 2 þ C 2 max jyðt j Þ yj j þ C 3 yðt kþ1 Þ e y Pkþ1 h þ C 4 max yðt jþ1 Þ yjþ1 f ðt j ; yj Þj þ
06j6k
2
06j6k
aþd1
d2
6 C 1 h þ C 2 max jyðt j Þ yj j þ C 3 h 06j6k
q
þ C 4 max jyðt j Þ yj j þ C 5 h 6 Ch 06j6k
2
minfd1 þa;q;d2 g
:
3.3. Stability analysis An interpretation of stability of a numerical scheme is that for small errors in the initial conditions cause small errors in the solution [29,23]. In the following, we firstly deal with the stability analysis of the new scheme (38), (39), (41). Theorem 13. Suppose yk+1 and y0kþ1 are numerical solutions in (38), respectively. Then
ðjÞ
0ðjÞ
and the initial conditions are given by y0 and y0
jykþ1 y0kþ1 j 6 Kky0 y00 k1 for any k, i.e. the new scheme (38), (39) and (41) are numerically stable. Sketch of the proof. According to the expression of (38), we easily get
jykþ1
y0kþ1 j
" # ½a X k k X tjkþ1 ðjÞ 1 X P ¼ a f ðt ; y Þ þ akþ1;kþ1 f ðtkþ1 ; ykþ1 Þ þ bj;kþ1 f ðtjþ1 ; ykþ1 Þ y þ 2 2 j¼0 j! 0 CðaÞ j¼0 j;kþ1 j j j¼0 " #! j ½ a k k Xt X 1 X kþ1 0ðjÞ 0 0P 0 a f ðt ; y Þ þ akþ1;kþ1 f ðtkþ1 ; ykþ1 Þ þ bj;kþ1 f t jþ1 ; ykþ1 y þ 2 2 j! 0 CðaÞ j¼0 j;kþ1 j j j¼0 j¼0 6
½a k X X tjkþ1 1 aj;kþ1 jf ðtj ; yj Þ f ðt j ; y0j Þj þ akþ1;kþ1 f ðt kþ1 ; yPkþ1 Þ f ðt kþ1 ; y0P ky0 y00 k1 þ kþ1 Þ j! C ð a Þ j¼0 j¼0 ! k X bj;kþ1 f ðtjþ1 ; ykþ1 Þ f ðt jþ1 ; y0kþ1 Þ 6 Kky0 y00 k1 þ C 1 max jyj y0j j þ C 2 jyPkþ1 y0P þ kþ1 j þ C 3 max jykþ1
j¼0 y0kþ1 j 2
2
2
2
2
6 K 1 ky0 y00 k1 þ K 2 max jyj y0j j 6 Kky0 y00 k1 :
06j6k
06j6k
Next, we deal with the stability analysis for the Improved Algorithms I–III respectively.
06j6k
2
3364
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
Theorem 14. Suppose ykþ1 and y0kþ1 are numerical solutions in (43), 2 2 respectively. Then
ðjÞ
0ðjÞ
ðjÞ
0ðjÞ
and the initial conditions are given by y0 and y0
ykþ1 y0kþ1 6 Kky0 y00 k1 2
2
for any k, i.e. the Improved Algorithm I is numerically stable. Proof. The proof is similar to that of Theorem 13, so is omitted here. h By almost the same reasoning, we can get Theorem 15. Theorem 15. Suppose ykþ1 and y0kþ1 are numerical solutions in (48), 2 2 respectively. Then
and the initial conditions are given by y0 and y0
ykþ1 y0kþ1 6 Kky0 y00 k1 2
2
for any k, i.e. the Improved Algorithm II is numerically stable. ðjÞ
0ðjÞ
Theorem 16. Suppose yPkþ1 and y0P kþ1 are numerical solutions in (53), and the initial conditions are given by y0 and y0 respectively. Then
P y y0P 6 Kky y0 k 0 kþ1 kþ1 0 1 for any k, i.e. the Improved Algorithm III is numerically stable. Sketch of the proof. According to the expression of (53), we get " # ½a j k k X P X tkþ1 ðjÞ 1 X P y y0P ¼ e a f ðt ; y Þ þ akþ1;kþ1 f ðtkþ1 ; y kþ1 Þ þ bj;kþ1 f ðtjþ1 ; ykþ1 Þ y þ kþ1 kþ1 2 2 j¼0 j! 0 CðaÞ j¼0 j;kþ1 j j j¼0
( ½a j Xt
kþ1
j¼0
6
½a j X t
kþ1
j¼0
þ
k X j¼0
j!
j!
0ðjÞ
y0 þ
" #) k k X 1 X 0 aj;kþ1 f ðtj ; y0j Þ þ akþ1;kþ1 f ðtkþ1 ; e y 0P Þ þ b f ðt ; y Þ 1 1 j;kþ1 jþ2 kþ kþ1 2 CðaÞ j¼0 j¼0
ky0 y00 k1 þ
k X 1 a jf ðt ; y Þ f ðtj ; y0j Þj þ akþ1;kþ1 f tkþ1 ; e y Pkþ1 f tkþ1 ; e y 0P kþ1 CðaÞ j¼0 j;kþ1 j j
! 0 bj;kþ1 f ðtjþ1 ; ykþ1 Þ f ðtjþ1 ; y0kþ1 Þ 6 Kky0 y00 k1 þ C 1 max jyj y0j j þ C 2 j e y Pkþ1 e y 0P kþ1 j þ C 3 max ykþ1 ykþ1 : 2
2
2
06j6k
2
06j6k
2
2
Because e y Pkþ1 and e y 0P kþ1 are updated by (39), so
P e y
kþ1
0 0 e y 0P kþ1 6 Kky0 y0 k1 þ C max jyj yj j: 06j6k
Besides, according to Theorem 15, we have
jykþ1 y0kþ1 j 6 Kky0 y00 k1 : 2
2
Thus
P y y0P 6 Kky y0 k þ C 1 max jy y0 j þ C 2 Kky y0 k þ C max jy y0 j þ C 3 ky y0 k 0 j 0 j 0 kþ1 kþ1 0 1 j 0 1 j 0 1 06j6k
6 Kky0 y00 k1 þ C max jyj y0j j 6 Kky0 y00 k1 :
06j6k
06j6k
The sum of coefficients in our designed algorithm are bounded. Besides, in the process of above proof, we do not distinguish the constants C1–C9 and K1–K2 for convenience. 4. Numerical examples In order to verify our constructed numerical schemes for the fractional calculus and fractional differential equations, we give the following numerical examples. And the numerical results show that the numerical computational algorithms are efficient.
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
3365
Example 1. Consider the function f(x) = x4, x 2 [0, 1]. Then kf ð2Þ k1 ¼ 12; kf ð4Þ k1 ¼ 24. The numerical results are shown in Tables 1–4. Example 2. Consider the function f(x) = x4 and f(x) = x6, x 2 [0, 1]. The numerical results are shown in Tables 5–8. Example 3.
( a
C D0;t yðtÞ
¼
2
Cð3aÞ t
2a
2a 2 Cð3aÞ t
yðtÞ þ t 2 t;
1a 1 Cð2aÞ t
a > 1; yðtÞ þ t t; a 6 1:
ð60Þ
2
The numerical results are shown in Tables 9–14. Example 4. 0:5 C D0;t yðtÞ
¼
2
Cð2:5Þ
t 1:5 yðtÞ þ t2 :
ð61Þ
The initial value we chosen as y(0) = 0. Its true solution is y(t) = t2. The numerical results are shown in Table 15.
Table 1 The absolute error of J a0;1 x4 for verifying Theorem 5. h
a = 0.8
a=1
a = 1.6
0.1 0.05 0.025 0.0125 0.00625
4.161861E003 1.051866E003 2.644498E004 6.631336E005 1.660625E005
3.330000E003 8.331250E004 2.083203E004 5.208252E005 1.302078E005
1.505989E003 3.745245E004 9.348082E005 2.335869E005 5.838784E006
Table 2 The absolute error of J a0;1 x4 for verifying Theorem 6. h
a = 0.8
a=1
a = 1.6
0.1 0.05 0.025 0.0125 0.00625
3.542874E006 2.223854E007 1.393338E008 8.711287E010 5.008000E011
3.333333E006 2.083333E007 1.302083E008 8.138021E010 5.086262E011
2.334466E006 1.457874E007 9.110534E009 5.961440E010 5.476738E010
Table 3 The absolute error of J a0;1 x4 for verifying Theorem 7 (on the first suggestion). h
a = 0.8
a=1
a = 1.6
0.1 0.05 0.025 0.0125 0.00625
3.552355E006 2.225207E007 1.393541E008 8.711598E010 5.008050E011
3.333333E006 2.083333E007 1.302083E008 8.138021E010 5.086262E011
2.301434E006 1.452862E007 9.102809E009 5.960241E010 5.476719E010
Table 4 The absolute error of J a0;1 x4 for verifying Theorem 7 (on the second suggestion). h
a = 0.8
a=1
a = 1.6
0.1 0.05 0.025 0.0125 0.00625
9.953847E005 2.881589E005 8.580664E006 2.563213E006 7.636424E007
4.399626E005 1.031004E005 2.536443E006 6.316066E007 1.577471E007
1.048313E005 3.435521E006 9.687469E007 2.600681E007 6.763113E008
3366
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368 Table 5 The absolute error of C Da0;1 x4 for verifying (29). h
a = 0.8
a=1
a = 1.6
0.1 0.05 0.025 0.0125 0.00625
1.055717E002 2.892040E003 7.770508E004 2.059158E004 5.400317E005
0 0 0 0 0
1.994496E002 5.143291E003 1.315600E003 3.345430E004 8.470497E005
Table 6 The absolute error of C Da0;1 x4 for verifying (30) (on the first suggestion). h
a = 0.8
a=1
a = 1.6
0.1 0.05 0.025 0.0125 0.00625
1.441004E007 3.973507E009 1.180234E010 2.718403E011 9.706680E011
0 0 0 0 0
2.055812E006 1.159297E007 6.887261E009 4.459828E010 2.237222E009
Table 7 The absolute error of C Da0;1 x4 for verifying (30) (on the second suggestion). h
a = 0.8
a=1
a = 1.6
0.1 0.05 0.025 0.0125 0.00625
8.270386E004 3.710286E004 1.647685E004 7.272723E005 3.195694E005
0 0 0 0 0
1.189139E003 5.834701E004 2.408542E004 9.464361E005 3.653170E005
Table 8 The absolute error of C Da0;1 x6 for verifying (31). h
a = 0.8
a=1
a = 1.6
0.1 0.05 0.025 0.0125 0.00625
4.945389E005 3.431437E006 2.327757E007 1.554474E008 1.084208E009
0 0 0 0 0
9.759985E005 6.328401E006 4.063441E007 2.582014E008 2.267807E009
Table 9 Errors for Eq. (60) with t = 1, a < 1. h
a = 0.3
a = 0.5
a = 0.7
0.1 0.05 0.025 0.0125 0.00625 0.003125
0.0225 0.0124 0.0061 0.0029 0.0014 6.6099E004
0.0041 0.0031 0.0018 0.0010 5.2963E004 2.7256E004
0.0059 0.0018 4.9076E004 8.2064E005 2.2522E005 3.6356E005
Table 10 Errors for Eq. (60) with t = 1, a > 1. h
a = 1.25
a = 1.5
a = 1.85
0.1 0.05 0.025 0.0125 0.00625 0.003125
0.0255 0.0127 0.0063 0.0031 0.0016 7.8007E004
0.0200 0.0101 0.005 0.0025 0.0012 6.1623E004
0.0042 0.0031 0.0018 0.001 5.4928E004 2.8978E004
3367
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368 Table 11 (Improved Algorithm I) Errors for Eq. (60) with t = 1, a < 1. h
a = 0.3
a = 0.5
a = 0.7
0.1 0.05 0.025 0.0125 0.00625 0.003125
0.0021 4.5357E004 8.6128E005 1.1965E005 3.33131E007 1.2418E006
0.0018 7.1792E004 2.7651E004 1.0326E004 3.7853E005 1.3714E005
0.0066 0.0031 0.0014 5.7564E004 2.4134E004 1.002E004
Table 12 (Improved Algorithm I) Errors for Eq. (60) with t = 1, a > 1. h
a = 1.25
a = 1.5
a = 1.85
0.1 0.05 0.025 0.0125 0.00625 0.003125
0.0014 4.4287E004 1.3188E004 4.3188E005 1.3340E005 4.968E006
0.0018 7.1792E004 2.7651E004 1.0326E004 3.7853E005 1.3714E005
0.0073 0.0031 0.0013 5.9123E004 2.6345E004 1.18E004
Table 13 (Improved Algorithm II) Errors for Eq. (60) with t = 1, a < 1. h
a = 0.3
a = 0.5
a = 0.7
0.1 0.05 0.025 0.0125 0.00625 0.003125
0.0161 0.0059 0.0021 7.5212E004 2.7028E004 9.8093E005
0.0036 0.0011 3.402E004 1.0651E004 3.4101E005 1.1161E005
9.2062E005 1.1114E004 6.5809E005 3.2349E005 1.4721E005 6.4434E006
Table 14 (Improved Algorithm II) Errors for Eq. (60) with t = 1, a > 1. h
a = 1.25
a = 1.5
a = 1.85
0.1 0.05 0.025 0.0125 0.00625 0.003125
3.7015E004 9.3442E005 2.4233E005 6.4536E006 1.7602E006 4.8997E007
0.0015 5.2098E004 1.8259E004 6.4261E005 2.22667E005 8.0045E006
0.0130 0.0058 0.0026 0.0012 5.3348E004 2.4039E004
Table 15 Errors for Eq. (61) with t = 10. h
Improved Algorithm II
Improved Algorithm III
0.1 0.05 0.025 0.0125
0.0361 0.0117 0.0039 0.0013
0.0032 6.7576E004 1.5012E004 3.4362E005
References [1] K.B. Oldham, J. Spanier, The Fractional Calculus: Theory and Applications of Differentiation and Integration to Arbitrary Order, Academic Press, New York, 1974. [2] I. Podlubny, Fractional Differential Equations, Academic Press, 1999. [3] S.G. Samko, A.A. Kilbas, O.I. Marichev, Fractional Integrals and Derivatives Theory and Applications, Gordon and Breach, New York, 1993. [4] A.A. Kilbas, H.M. Srivastava, J.J. Trujillo, Theory and Application of Fractional Differential Equations, Elsevier, 2006. [5] Z. Odibat, Approximations of fractional integral and Caputo fractional derivatives, Appl. Math. Comput. 178 (2006) 527–533. [6] K. Diethelm, N.J. Ford, A.D. Freed, Y. Luchko, Algorithms for the fractional calculus: a selection of numerical methods, Comput. Methods Appl. Mech. Eng. 194 (6–8) (2005) 743–773. [7] C. Lubich, Discretized fractional calculus, SIAM J. Math. Anal. 17 (3) (1986) 704–719. [8] W. Deng, Short memory principle and a predictor–corrector approach for fractional differential equations, J. Comput. Appl. Math. 206 (2007) 174–188. [9] L. Yuan, O.P. Agrawal, A numerical scheme for dynamic systems containing fractional derivatives, ASME J. Vibr. Acoust. 124 (2002) 321–324. [10] K. Diethelm, An improvement of a nonclassical numerical method for the computation of fractional derivatives, Numer. Algorithms 47 (2008) 190– 361.
3368
C. Li et al. / Journal of Computational Physics 230 (2011) 3352–3368
[11] D.A. Murio, On the stable numerical evaluation of Caputo fractional derivatives, Comput. Math. Appl. 51 (2006) 1539–1550. [12] T. Miyakoda, Discretized fractional calculus with a series of chebyshev polynomial, Electron. Notes Theor. Comput. Sci. 225 (2009) 239–244. [13] K. Dithelm, N.J. Ford, A.D. Freed, A predictor–corrector approach for the numerical solution of fractional differential equations, Nonlinear Dyn. 29 (2002) 3–22. [14] K. Dithelm, N.J. Ford, A.D. Freed, Detailed error analysis for a fractional adams method, Numer. Algorithms 36 (2004) 31–52. [15] C.P. Li, C.X. Tao, On the fractional adams method, Comput. Math. Appl. 58 (8) (2009) 1573–1588. [16] C.P. Li, Y.H. Wang, Numerical algorithm based on adomian decomposition for fractional differential equations, Comput. Math. Appl. 57 (2009) 1672– 1681. [17] O.P. Agrawal, A general finite element formulation for fractional variational problems, J. Math. Anal. Appl. 337 (2008) 1–12. [18] T. Tang, A finite difference scheme for partial integro-differential equations with weakly singular kernel, Appl. Numer. Math. 11 (1993) 309–319. [19] Q. Sheng, T. Tang, Optimal convergence of an euler and finite difference method for nonlinear partial integro-differential equations, Math. Comput. Model. 21 (1995) 1–11. [20] I. Podlubny, Matrix approach to discrete fractional calculus, Int. J. Theor. Appl. 3 (2000) 359–386. [21] I. Podlubny, A. Chechkin, T. Skovranek, Y. Chen, B.M.V. Jara, Matrix approach to discrete fractional calculus. II: Partial fractional differential equations, J. Comput. Phys. 228 (2009) 3137–3153. [22] Q. Yang, F. Liu, I. Turner, Numerical methods for fractional partial differential equations with riesz space fractional derivatives, Appl. Math. Model. 34 (2010) 200–218. [23] R. Lin, F. Liu, Fractional high order methods for the nonlinear fractional ordinary differential equation, Nonlinear Anal. 66 (2007) 856–869. [24] X. Li, C. Xu, Existence and uniqueness of the weak solution of the space–time fractional diffusion equation and a spectral method approximation, Commun. Comput. Phys. 8 (2010) 1016–1051. [25] M. Xi, Numerical Analysis Method, University of Science and Technology of China Press, 2004. [26] Z. Odibat, Computational algorithms for computing the fractional derivatives of functions, Math. Comput. Simul. 79 (7) (2009) 2013–2020. [27] C. Gerald, P. Wheatley, Applied Numerical Analysis, Addison-Wesley, USA, 2004. [28] K. Diethelm, An algorithm for the numerical solution of differential equations of fractional order, Electron. Trans. Numer. Anal. 5 (1997) 1–6. [29] J.W. Thomas, Numerical Partial Differential Equations: Finite Difference Methods, Springer, 1995.