ON THE CONVERGENCE
OF THE VARIATIONAL ITERATION METHOD
ERNEST SCHEIBER∗
Abstract. Convergence results are stated for the variational iteration method applied to solve an initial value problem for a system of ordinary differential equations.
MSC 2010. 65L20, 65L05, 97N80.
Keywords. variational iteration method, ordinary differential equations, initial value problem.
1. INTRODUCTION
The Ji-Huan He’s Variational Iteration Method (VIM) was applied to a large range of problems for both ordinary and partial differential equations.
The main ingredient of the VIM is the Lagrange multiplier used to improve an approximation of the solution of the differential problem [2].
The purpose of this paper is to prove a convergence theorem for VIM applied to solve an initial value problem for a system of ordinary differential equations.
The convergence of the VIM for the initial value problem of an ordinary differential equation may be found in D.K. Salkuyeh, A. Tavakoli [6]. For a system of linear differential equations a convergence result is given by D.K.
Salkuyeh [5].
A particularity of the VIM is that it may be implemented both in symbolic (Computer Algebra System) and numerical programming environments. In the last section there are presented some results of our computational expe- riences. To make the results reproducible we provide some code. In [1] there is a pertinent presentation of the issues concerning the publishing of scientific computations.
2. THE CONVERGENCE OF VIM FOR A SYSTEM OF ORDINARY DIFFERENTIAL EQUATIONS
Consider the following system of ordinary differential equations
∗e-mail: [email protected].
(1)
x01(t) =f1(t, x1(t), . . . , xm(t)) x1(t0) =x01 ...
x0m(t) =fm(t, x1(t), . . . , xm(t)) xm(t0) =x0m wheret∈[t0, tf] with t0 < tf <∞.
We shall use the notations
x= (x1, . . . , xm), kxk1=
m
X
j=1
|xj|
x=x(t), kxk∞= max
t kx(t)k1. Thus, any equation of (1) may be rewritten as
x0i(t) =fi(t,x(t)), i∈ {1, . . . , m}.
The following hypothesis are introduced:
• The functionsf1, . . . , fmare continuous and have first and second order partial derivatives inx1, . . . , xm.
• There existsL >0 such that for anyi∈ {1, . . . , m}
|fi(t,x)−fi(t,y)| ≤L
m
X
j=1
|xj−yj|=Lkx−yk1, ∀ x,y∈Rm.
As a consequence
∂fi(t,x)
∂xj
=|fixj(t,x)| ≤L, ∀(t,x)∈[t0, tf]×Rm, ∀i, j∈ {1, . . . , m}.
According to the VIM the sequences of approximations are (2) un+1,i(t) =un,i(t) +
Z t t0
λi(s)(u0n,i(s)−fi(s,un(s)))ds, n∈N, i∈ {1, . . . , m}and where un= (un,1, . . . , un,m).
It is supposed thatun,i(t0) =x0i and thatun,iis a continuous differentiable function for anyi∈ {1, . . . , m}.
In this case the VIM is a little trickier: the Lagrange multiplier attached to thei-th equation will act only onxi [5].
Denoting x(t) = (x1(t), . . . , xm(t)) the solution of the initial value problem (1), ifun,i(t) =xi(t) +δun,i(t) andun+1,i(t) =xi(t) +δun+1,i(t) butun,j(t) =
δun+1,i(t) =
=δun,i(t) + Z t
t0
λi(s)x0i(s) +δu0n,i(s)−
−fi(s, x1(s), . . . , xi−1(s), xi(s) +δun,i(s), xi+1(s), . . . , xm(s))) ds=
=δun,i(t) + Z t
t0
λi(s)x0i(s) +δu0n,i(s)−fi(s,x(s))−fixi(s,x(s))δun,i(s)ds+
+O((δun,i)2) =
=δun,i(t) + Z t
t0
λi(s)δu0n,i(s)−fixi(s,x(s))δun,i(s)ds+O((δun,i)2).
After the integration by parts the above equality becomes δun+1,i(t) =
(1 +λi(t))δun,i(t)− Z t
t0
λ0i(s) +fixi(s,x(s))λi(s)δun,i(s)ds+O((δun)2).
In order thatun+1,i be a better approximation thanun,i,it is required thatλi is the solution of the following initial value problem
λ0(s) = −fixi(s,x(s))λ(s), s∈[t0, t], (3)
λ(t) = −1.
(4)
Because x(s) is an unknown function, the following problem is considered instead of (3)–(4)
λ0(s) = −fx(s,un(s))λ(s), s∈[t0, t], (5)
λ(t) = −1
(6)
with the solution denotedλn,i(s, t).The solution is λn,i(s, t) =−eR
t
sfixi(τ,un(τ))dτ
and
|λn,i(s, t)| ≤eL(t−s)≤eLT, ∀t0 ≤s≤t≤tf and T =tf −t0. The recurrence formula (2) becomes
(7) un+1,i(t) =un,i(t) + Z t
t0
λn,i(s, t)(u0n,i(s)−fi(s,un(s)))ds, n∈N, for anyi∈ {1, . . . , m}.
The convergence result is:
Theorem 1. If the hypotheses stated above are valid, then the sequence (un)n∈N defined by (7) converges uniformly to x(t),the solution of the initial value problem (1).
Proof. Subtracting the equality xi(t) =xi(t) +
Z t
0 λn,i(s, t) x0i(s)−fi(s,x(s))ds from (7) leads to
en+1,i(t) =en,i(t) + Z t
t0
λn,i(s, t)e0n,i(s)−(fi(s,un(s))−fi(s,x(s)))ds, whereen,i(t) =un,i(t)−xi(t), i∈ {1, . . . , m}anden(t) = (en,1(t), . . . , en,m(t)) = un(t)−x(t), n∈N.
Again, an integration by parts gives en+1,i(t) =
Z t t0
λn,i(s, t)fixi(s,un(s))en,i(s)−(fi(s,un(s))−fi(s,x(s)))ds.
The hypothesis onfi implies the inequality
fixi(s,un(s))en,i(s)−(fi(s,un(s))−fi(s,x(s))≤L|en,i(s)|+Lken(s)k1 and consequently
|en+1,i(t)| ≤LeLT Z t
t0
(|en,i(s)|+ken(s)k1)ds.
Summing these inequalities, fori= 1 :m,we find (8) ken+1(t)k1 ≤(m+ 1)LeLT
Z t t0
ken(s)k1ds.
LetM = (m+ 1)LeLT.From (8) we obtain successively:
Forn= 0 ke1(t)k1≤M
Z t t0
ke0(s)k1ds≤M(t−t0)ke0k∞ ⇒ ke1k∞≤M Tke0k∞. Forn= 1
ke2(t)k1 ≤M Z t
t0
ke1(s)k1ds≤ M2(t−t2 0)2ke0k∞ ⇒ ke2k∞≤ M22T2ke0k∞. Inductively, it results that
ken(t)k1≤M Z t
t0
ken−1(s)k1ds≤ Mn(t−tn! 0)nke0k∞ ⇒ kenk∞≤ MnnT!nke0k∞.
and hence limn→∞kenk∞= 0.
A numerical implementation requires the usage of a quadrature method to compute the integral in (7) and the Lagrange multipliers.
The target of the given examples is twofold: to exemplify the convergence of the VIM and to obtain some clues about the usage of numerical vs. symbolical computations of VIM.
Example 1.
x0(t) = 2x(t) +t x(0) = 0
The solutionx(t) = 14(e2t−2t−1) is obtained in an iteration with theMath-
ematica code provided in Appendix A.
Example 2.
x0(t) = 1−x2(t) x(0) = 0
The initial value problem has the solution x(t) = ee2t2t−+11. The code used previously does not give an acceptable result in a reasonable time.
Moving on numerical computation we obtain practical results. The relation (7) is transformed into
un+1,i(t) = Z t
t0
fi(s,un(s))−fixi(s,un(s))un,i(s)e Rt
sfixi(τ,un(τ))dτ
ds+
(9)
+e Rt
t0fixi(τ,un(τ))dτ
x0.
Let (ti)0≤i≤I be an equidistant grid on [t0, tf] and denote byui an approxima- tion ofx(ti).Furthermore, the recurrence relation (9) is used only to compute ui+1 fromui,i.e. on a [ti, ti+1] interval. The integrals in (9) will be computed with the trapezoidal rule using a local equidistant grid.
The iterations are done until the distance between two consecutive approx- imation of ui+1 is less then a given tolerance.
The final approximate solution is a first order spline function defined by the points (ti,ui)0≤i≤I.
This procedure requires a single passage fromt0 totf.
All our numerical results were computed using theScilabcode presented in Appendix B [11].
Fortf = 1, I = 100 we obtained max0≤i≤I|ui−x(ti)| ≈0.4×10−6. Example 3. [5]
x˙1 = 4x1+ 6x2+ 6x3 x1(0) = 7 x˙2 =x1+ 3x2+ 2x3 x2(0) = 2 x˙3 =−x1−5x2−2x3 x3(0) =−92
The solution is x1(t) = 4et+ 3(1 +t)e2t, x2(t) = et+ (1 +t)e2t, x3(t) =
−3et−(32 + 2t)e2t.
Fortf = 1, I = 100 we found max0≤i≤Ikui−x(ti)k ≈0.8363×10−3.
Example 4.
x01(t) =x2(t), x1(0) = 12 x02(t) = xx1(2t)x22(t)
1(t)−1 , x2(0) =
√3 2
⇔
(x2(t)−1)x00(t) =x(t)x02(t) x(0) = 12
x0(0) =
√3 2
The solution isx1(t) = sin (t+π6), x2(t) = cos (t+π6).
Fortf = π3, I = 100 the result is max0≤i≤Ikui−x(ti)k ≈0.62×10−5. Example 5. Van der Pol equation
x01(t) =x2(t), x1(0) = 0.5 x02(t) = (1−x21(t))x2(t)−x1(t), x2(0) = 0 ⇔
⇔
x00(t)−(1−x2(t))x0(t) +x(t) = 0 x(0) = 0.5
x0(0) = 0
In this case we do not have a closed form of the solution. We compare the VIM approximation with the solutionvobtained withode, aScilabnumerical integration function.
The obtained results are given in Table 1.
tf I max0≤i≤Ikui−vik
10 100 0.0001988
20 100 0.0033857
30 100 0.0142215
40 100 0.0384137
50 100 0.0777549
100 100 0.6410885 100 1000 0.0069729
Table 1. Numerical results for the Van der Pol equation.
4. CONCLUSIONS
Despite the convergence properties of the method the amount of the com- putation is greater than of the usual methods (e.g. Runge-Kutta, Adams type methods). Even so the numerical solution can be taken into consideration.
The numerical implementation can be improved by an adaptive approach and using some parallel techniques (e.g. OpenCL / CUDA) in an appropriate environment.
Although the VIM may be implemented for symbolic computation our ex- periments show disappointing results.
The VIM offers a way to obtain a symbolic approximation of the solution of the initial value problem. But such an approximation may also be obtained from a numerical solution with theEureqasoftware [10], [7]. A better symbolic implementation would be useful.
suggestions for the improvement of this paper.
REFERENCES
[1] T. Daly,Publishing Computational Mathematics, Notices of the AMS,59(2012) no.
2, pp. 320–321.
[2] M. Inokuti, H. Sekine, T. Mura,General use of the Lagrange multiplier in Nonlinear Mathematical Physics, In Variational Methods in Mechanics and Solids, ed. Nemat- Nasser S., Pergamon Press, pp. 156–162, 1980.
[3] J.H. He,Variational iteration method - Some recent results and new interpretations, J. Comput. Appl. Math., 207(2007), pp. 3–17.
[4] Z.M. Odibat,A study on the convergence of variational iteration method, Math. Com- puter Modelling,51(2010), pp. 1181–1192.
[5] D. K. Salkuyeh,Convergence of the variational iteration method for solving linear systems of ODE with constant coefficients, Comp. Math. Appl., 56(2008), pp. 2027–
2033.
[6] D. K. Salkuyeh, A. Tavakoli, Interpolated variational iteration method for initial value problems, arXiv:1507.01306v1, 2015.
[7] E. Scheiber, From the numerical solution to the symbolic form, Bull. Transilvania University of Bra¸sov, Series III, Mathematics, Informatics, Physics,8(57) (2015) no. 1, pp. 129–137.
[8] M. Tatari, M. Dehghan,On the convergence of He’s variational iteration method.J.
Comput. Appl. Math.,207(2007), pp. 121–128.
[9] M. Torvattanabun, S. Koonprasert, Convergence of the variational iteration method for solving a first-order linear system of PDEs with constant coefficients, Thai J. of Mathematics, Special Issue, pp. 1–13, 2009.
[10] * * *,www.nutonian.com [11] * * *,www.scilab.org
Appendix A. MATHEMATICACODE
The Mathematicaprocedure used to solve an initial value problem.
1 In[ 1 ] : =
2 VIM[ f , U0 , m ] := Module[{V, U = U0 , df , Lambda}, 3 df [ t , x ] := D[ f [ t , x ] , x ] ;
4 Lambda [ U ] := −Exp[
5 Integrate[ df [w, x ] / . {x −> U, t −> w}, {w, s , t}] ] ; 6 For[ i = 0 , i < m, i ++,
7 V = U +
8 Integrate[ Lambda [U] ( (D[U, t ] − f [ t , U] ) / . t −> s ) , {s , 0 , t}] ; 9 U = V; Clear[V ] ] ; U]
For Example 1 the calling sequence is
1 In[ 2 ] : = f [ t , x ] := {2 x [ [ 1 ] ] + t} 2 In[ 3 ] : = U0 = {0}
3 In[ 4 ] : = VIM[ f , U0 , 1 ]
4 Out[4]={(1/4)∗(−1 + Eˆ(2∗ t ) − 2∗ t )}
Appendix B. SCILABCODE
The code used to obtain numerical results
1 function [ t , u ,i n f o]=vim ( f , df , x0 , t0 , t f , n , nmi , t o l ) 2 // Computes the s o l u t i o n o f an i n i t i a l value problem 3 // o f a system o f or din ary d i f f e r e n t i a l e q u a t i o n s 4 // using the V a r i a t i o n a l I t e r a t i o n Method − 5 // Dispatcher function.
6 //
7 // C a l l i n g Sequence
8 // [ t , u ,i n f o]=vim ( f , df , x0 , t0 , t f , n , nmi , t o l ) 9 //
10 // Output arguments
11 // t : a r e a l vector , the times at which the s o l u t i o n i s computed . 12 // u : a r e a l v e c t o r or matrix , the numerical s o l u t i o n .
13 // i n f o: an i n t e g e r , error code (0 −OK) . 14 // Input arguments
15 // f : a S c i l a b function, the r i g h t hand s i z e o f the 16 // d i f f e r e n t i a l system .
17 // df : a S c i l a b function, df =( d f 1 / dx 1 , d f 2 / dx 2 , . . . ) . 18 // x0 : a r e a l vector , the i n i t i a l c o n d i t i o n s .
19 // t0 : a r e a l s c a l a r , the i n i t i a l time . 20 // t f : a r e a l s c a l a r , the f i n a l time .
21 // n : a p o s i t i v e i n t e g e r , the g l o b a l d i s c r e t i z a t i o n parameter . 22 // nmi : maximum allowed number o f l o c a l i t e r a t i o n s i t e r a t i o n . 23 // t o l : a p o s i t i v e r e a l number , a t o l e r a n c e .
24 //
25 t=l i n s p a c e( t0 , t f , n ) 26 d=length( x0 )
27 u=zeros(d , n ) 28 u ( : , 1 ) = x0 ’
29 m=10 // the d i s c r e t i z a t i o n parameter on [ t i , t {i +1}]
30 u0=x0
31 errorMarker=%t
32 f o r i =1:n−1 do // the passage from t 0 to t f 33 // Computes u0:= u {i +1} from u i
34 [ u0 ,eM, i t e r ]= vimstep ( f , df , u0 , t ( i ) , t ( i +1) ,m, nmi , t o l ) 35 u ( : , i +1)=u0 ’
36 errorMarker=errorMarker & eM
37 end
38 i f errorMarker then 39 i n f o=0
40 e l s e 41 i n f o=1
42 end
43 en dfu nc tio n
1 function [ u ,eM, i t e r ]= vimstep ( f , df , x0 , t0 , t f , n , nmi , t o l ) 2 // V a r i a t i o n a l I t e r a t i o n Method .
3 //
4 // Output arguments
5 // u : a r e a l v e c t o r or matrix , the numerical s o l u t i o n . 6 // eM : a boolean value , error marker , (%t − OK) .
7 // i t e r : an i n t e g e r , the number o f l o c a l performed i t e r a t i o n s . 8 // Input arguments
9 // f : a S c i l a b function, the r i g h t hand s i z e o f the 10 d i f f e r e n t i a l system .
11 // df : a S c i l a b function, df =( d f 1 / dx 1 , d f 2 / dx 2 , . . . ) . 12 // x0 : a r e a l vector , the i n i t i a l c o n d i t i o n s .
13 // t0 : a r e a l s c a l a r , the i n i t i a l time . 14 // t f : a r e a l s c a l a r , the f i n a l time .
15 // n : a p o s i t i v e i n t e g e r , the l o c a l d i s c r e t i z a t i o n parameter . 16 // nmi : maximum allowed number o f l o c a l i t e r a t i o n s i t e r a t i o n . 17 // t o l : a p o s i t i v e r e a l number , a t o l e r a n c e .
18 //
19 t=l i n s p a c e( t0 , t f , n ) 20 h=( t f−t0 ) / ( n−1) 21 d=length( x0 ) 22 u o l d=zeros(d , n ) 23 u o l d ( : , 1 ) = x0 ’
24 sw=%t
25 i t e r =0 26 while sw do 27 i t e r=i t e r +1
28 u new=zeros(d , n )
29 u new ( : , 1 ) = x0 ’ 30 f 0=zeros(d , n ) 31 df0=zeros(d , n ) 32 f o r j =1:n do
33 p=u o l d ( : , j )
34 q=f ( t ( j ) , p )
35 dq=df ( t ( j ) , p )
36 f 0 ( : , j )=q
37 df0 ( : , j )=dq
38 end
39 f o r i =2:n do
40 z=zeros(d , n )
41 f o r j=i−1:−1:1 do
42 z ( : , j )=0.5∗h ∗( df0 ( : , j )+df0 ( : , j +1))+z ( : , j +1)
43 end
44 w=(f0−df0 . ∗ u o l d ) . ∗exp( z )
45 s=zeros(d , 1 )
46 s=w( : , 1 ) +w( : , i )
47 i f i>2 then
48 f o r j =2: i−1 do
49 s=s+2∗w( : , j )
50 end
51 end
52 u new ( : , i )=0.5∗h∗ s+exp( z ( : , 1 ) ) . ∗ x0 ’
53 end
54 nrm=max(abs( u new−u o l d ) )
55 u o l d=u new
56 i f nrm<t o l | i t e r>=nmi then
57 sw=%f
58 end
59 end
60 u=u o l d ( : , n ) ’ 61 i f nrm<t o l then
62 eM=%t
63 e l s e
64 eM=%f
65 end
66 en dfu nction
The calling sequence for Example 4 is
1 d e f f ( ’ q=f ( t , p ) ’ ,
2 [ ’ x1=p ( 1 ) ’ , ’ x2=p ( 2 ) ’ , ’ q(1)= x2 ’ , ’ q(2)= x1 . ∗ x2 . ˆ 2 . 0 . / ( x1 .ˆ2−1) ’ ] ) 3 d e f f ( ’ q=df ( t , p ) ’ ,
4 [ ’ x1=p ( 1 ) ’ , ’ x2=p ( 2 ) ’ , ’ q(1)=0 ’ , ’ q(2)=2∗ x1 . ∗ x2 . / ( x1 .ˆ2−1) ’ ] ) 5 x0 = [ 0 . 5 , 0 . 5 ∗sqrt( 3 ) ]
6 t0=0 7 t f=%p i /3 8 n=100 9 nmi=50 10 t o l =1e−5
11 [ t , u ,i n f o]=vim ( f , df , x0 , t0 , t f , n , nmi , t o l )
Received by the editors: October 5, 2015.