Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Int. J. Contemp. Math. Sciences, Vol. 2, 2007, no.

20, 975 - 982

A Simple Algorithm for Calculating


Adomian Polynomials
J. Biazar

and S. M. Shafiof

Department of Mathematics, Faculty of Science


University of Guilan, P.O. Box 1914, Rasht, Iran
biazar@guilan.ac.ir, shaof@yahoo.com
Abstract
In this paper, we introduce a new Algorithm for calculating Adomian polynomials and present some example to show the simplicity of
the new Algorithm. The new Algorithm requires less computations in
comparison with the previous methods, and can be extended to calculate
Adomian polynomials for nonlinear functional with several variables.

Keywords: Adomian decomposition method, Adomian polynomials, Nonlinearity of several variables

Introduction

The Adomian decomposition method[1-2] is a technique for solving functional


equations in the form:
u = f + G(u)
(1)
In some functional space, say F. The solution u is considered as the summation
of a series, say;
u=

un

(2)

n=0

and G(u) as the summation of a series, say;


G(u) =

An (u0 , u1 , . . . , un )

(3)

n=0

Where An s, called Adomian polynomials, has been introduced by the Adomian himself by the formula
An (u0 , u1 , . . . , un ) =
1

Corresponding author


1 dn
[G(
ui i )]=0
n! dn
i=0

(4)

976

J. Biazar and S. M. Shafiof

Other authors have suggested dierent Algorithm for computing Adomian


polynomials [3-6]. Using the Algorithm presented in Ref.[3], needs classication of the terms ui , i = 0, 1, 2, ..., n, which is very complicate for large n s.
Applying the Algorithm presented in [4], which uses Taylor expansion of the
functional G(u) , will be very complicated especially when the unknown function u, appears in the denominator. Calculation of nth Adomian polynomials
using the technique in Ref.[5], requires to computing the nth order derivative,
that will be complicated for large values of n . In spite of diculties in applying the used method in [6], it could not be applied for functionals with several
variables. Here we suggest a new Algorithm, which seems to be more easier
than other methods introduced so far. This Algorithm can also be extended
for calculating Adomian polynomials in several variables. Some examples, will
illustrate how easy is the new Algorithm for implementation .

The new Algorithm

The following is the Algorithm for calculating A0 , A1 , ...., An :


Step 1: Input nonlinear term G(u) and n , the number of Adomian
polynomials needed.
Step 2: Set A0 = G(u0 )
Step 3: For k = 0 to n 1 do

Ak (u0, ....., uk ) := Ak (u0 + u1 , ....., uk + (k + 1)uk+1)


{in Ak : ui ui + (i + 1)ui+1

f or

i = 0, 1, ..., k}

Step 4:Taking the rst order derivative of Ak , with respect to , and then let
=0:
d
Ak |=0 = (k + 1)Ak+1.
d
End do
Step 5: Output A0 , A1 , ...., An .
According to the above Algorithm, Adomian polynomials will be computed as
follows:
A0 = G(u0 ),

977

Adomian polynomials

A1 =

d
G(u0
d

+ u1 )|=0 = u1 G (u0 ),

A2 =

1 d
((u1
2 d

+ 2u2)G (u0 + u1 ))|=0 = u2 G (u0 ) +

A3 =

A4 =

1 d
((u2 + 3u3 )G (u0 + u1 ) + 2!1 (u1
3 d

u3 
u3 G (u0) + u1u2 G (u0 ) + 3!1 G (u0 ),
1 d
((u3
4 d

u21 
G u0 ),
2!


+ 2u2)2 G (u0 + u1 ))|=0 =




+ 4u4 )G (u0 + u1 ) + (u1 + 2u2 )(u2 + 3u3)G (u0 + u1 ) +


1
(u1 + 2u2)3 G (u0
3!
u21 u2 
u4
G (u0 ) + 4!1 G4 (u0 )
2

+ u1 ))|=0 = u4 G (u0 ) + (u1 u3 +


u22
)G (u0 )
2

Continuing this course, we can get the other Adomian polynomials .

Application of the new Algorithm

Here we apply the above Algorithm to some nonlinear operators functionals.


Example 1:(The case of nonlinear polynomials)
G(u) = u3 + u4
Now by applying the new Algorithm we get
A0 = u30 + u40 ,
d
A1 = d
((u0 + u1 )3 + (u0 + u1 )4 )|=0 = 3u1 u20 + 4u1u30 ,
d
(3(u1 + 2u2 )(u0 + u1 )2 + 4(u1 + 2u2)(u0 + u1 )3 )|=0 =
A2 = 12 d
3u2 u20 + 3u0 u21 + 4u2 u30 + 6u20 u21 ,
d
(3(u2 + 3u3 )(u0 + u1 )2 + 3(u0 + u1 )(u1 + 2u2)2 + 4(u2 + 3u3)
A3 = 13 d
(u0 + u1 )3 + 6(u0 + u1 )2 (u1 + 2u2)2 )|=0 = 3u3 u20 + 6u0u1 u2 + 4u3u30 +
12u20u1 u2 + 4u0u31 + u31 ,

While by corresponding method presented in [3], one must calculate


(u0 + u1 + u2 + u3 + ...)3 , (u0 + u1 + u2 + u3 + ...)4 and reorder the terms in
index, to obtain Adomian polynomials.
Example 2:( Case of nonlinear derivatives)
Consider G(u) = u2 ux , According to the new Algorithm :
A0 =G(u0 ) = u20 u0x ,

978

J. Biazar and S. M. Shafiof

A1 =
A2 =

d
((u0
d

+ u1 )2 + (u0x + u1x ))|=0 = 2u0 u1 u0x + u20 u1x ,

1 d
(2(u0 + u1 )(u1 + 2u2 )(u0x + u1x ) + (u0 + u1 )2 (u1x + 2u2x ))|=0
2 d
2
u1 u0x + 2u0u2 u0x + 2u0 u1 u1x + u20 u2x ,

d
A3 = 13 d
((u1 + 2u2 )2 (u0x + u1x ) + 2(u0 + u1 )(u0x + u1x )(u2 + 3u3 ) +
2(u0 + u1 )(u1 + 2u2 )(u1x + 2u2x ) + (u0 + u1 )2 (u2x + 3u3x ))|=0 =
2u1 u2 u0x + 2u0 u3 u0x + 2u0 u2 u1x + 2u0 u1 u2x + u21 u1x + u20 u3x ,

A4 = u21 u2x +2u1 u2 u1x +2u1 u3 u0x +2u0 u4u0x +2u0u3 u1x +2u0u1 u3x +2u0u2 u2x +
u22 u0x + u20 u4x ,
Example 3:( Case of hyperbolic and trigonometric nonlinearity)
G(u) = sinh u + sin2 u cos2 u
By using the new Algorithm,the Adomian polynomials for G(u) are given as:
A0 =G(u0 ) = sinh u0 + sin2 u0 cos2 u0 ,
d
(sinh(u0 + u1 ) + sin2 (u0 + u1 )cos2 (u0 + u1 ))|=0 = u1 cosh u0 +
A1 = d
2u1 sin u0 cos3 u0 2u1 sin3 u0 cos u0 ,
1 d
((u1 + 2u2) cosh(u0 + u1) + 2(u1 + 2u2 ) sin(u0 + u1 ) cos3 (u0 + u1)
2 d
2(u1 + 2u2 ) sin3 (u0 + u1 ) cos(u0 + u1 ))|=0 =
u2
u2 cosh u0 + 2!1 sinh u0 + u21 cos4 u0 6u21 sin2 u0 cos2 u0 + 2u2 sin u0 cos3 u0 +
u21 sin4 u0 2u2 sin3 u0 cos u0 ,

A2 =

d
2 )
A3 = 13 d
((u2 + 3u3) cosh(u0 + u1 ) + (u1 +2u
sinh(u0 + u1 ) +
2!
2
4
2
(u1 + 2u2 ) cos (u0 + u1 ) 6(u1 + 2u2 ) sin2 (u0 + u1 ) cos2 (u0 + u1 ) +
2(u2 + 3u3 ) sin(u0 + u1 ) cos3 (u0 + u1 ) + (u1 + 2u2 )2 sin4 (u0 + u1 )
2(u2 + 3u3 ) sin3 (u0 + u1 ) cos(u0 + u1 ))|=0 =
u3

u3 cosh u0 + u1 u2 sinh u0 + 3!1 cosh u0 16


u3 cos3 u0 sin u0 + 2u1u2 cos4 u0 +
3 1
16 3
u sin3 u0 cos u0 12u1 u2 sin2 u0 cos2 u0 + 2u3 sin u0 cos3 u0 + 2u1u2 sin4 u0
3 1
2u3 sin3 u0 cosu0 ,
Example 4:(Case of exponential and logarithmic nonlinearity)
G(u) = eu + lnu
By using the new Algorithm, for calculating the Adomian polynomials for
G(u) = eu + lnu , we have:

979

Adomian polynomials

A0 = G(u0 ) = eu0 + lnu0 ,


d
A1 = d
(e(u0 +u1 ) + ln(u0 + u1 ))|=0 = u1 eu0 +
(u1 +2u2 )
)|
(u0 +u1 ) =0

u1
,
u0

1 d
((u1
2 d

A3 =

2
1 d
2 +3u3 )
1 +2u2 )
((u2+3u3 )e(u0 +u1 ) + 12 (u1 +2u2 )2 e(u0 +u1 ) + (u
12 (u
)|
3 d
(u0 +u1 )
(u0 +u1 )2 =0

+ 2u2)e(u0 +u1 ) +

u3 eu0 + u1 u2 eu0 + 3!1 u31 eu0 +

u3
u0

u1 u2
u20

= u2 eu0 + 12 u21 eu0 +

A2 =

u2
u0

1 u1
,
2 u20

1 u1
,
3 u30

4. Extension of the new Algorithm for calculating Adomian


polynomials in several variables:
Now, this new approach for computing Adomian polynomials can be applied
to functionals with several variables. Let we are concerned with a system of
nonlinear equations
ui = fi + Ni
i = 1, 2, ...., p
Where Ni (u1 , u2 , ..., up ) are nonlinear operators and ui, Ni are represented as
the summation of the following series:
ui =

uij j

j=0

Ni (u1 , u2, ..., up ) =

Aij (u10 , ..., u1j , u20 , ..., u2j , ...., up0 , ..., upj )j ,

j=0

The following Algorithm calculates Adomian polynomials Ai0 , Ai1 , ...., Ain :
For i = 1, 2, ...., p do
Step 1: Input nonlinear term Ni (u1 , u2 , ..., up ) and n , the number of Adomian
polynomials needed.
Step 2: Set Ai0 = Ni (u10 , u20 , ..., up0 )
Step 3: For k = 0 to n 1 do
Aik (u10 , ..., u1k , ...., up0 , ..., upk ) :=
Aik (u10 + u11 , ..., u1k + (k + 1)u1k+1, ...., up0 + up1 , ..., upk + (k + 1)upk+1)
{in Aik : uij uij + (j + 1)uij+1

for

j = 0, 1, ..., k }

Step 4: By taking, rst order derivative of Aik , with respect to , and let
= 0, we have :
d
Aik |=0 = (k + 1)Aik+1 .
d
End do
End do

980

J. Biazar and S. M. Shafiof

Step 5: Output Ai0 , Ai1 , ...., Ain .


4.1 Two variables (p=2):
By using the new Algorithm, the Adomian polynomials for the following system
of two functional equations can be computed:


u1 = f1 + N1
u2 = f2 + N2

Ai0 = Ni (u10 , u20 ),


Ai1 =

d
(Ni (u10
d

i
i
+ u11 , u20 + u21 ))|=0 = u11 N
(u10 , u20 ) + u21 N
(u10 , u20 ),
u1
u2

1 d
i
((u11 + 2u12 ) N
(u10 + u11 , u20 + u21 ) + (u21 + 2u22 )
2 d
u1
Ni
i
i
(u10 + u11 , u20 + u21 ))|=0 = u12 N
(u10 , u20 ) + u22 N
(u10 , u20 )
u2
u1
u2
2
2
2
Ni
1 2 Ni
1 2 Ni
u
(u10 , u20 ) + 2! u21 u2 (u10 , u20 ) + u11 u21 u1 u2 (u10 , u20 ),
2! 11 u21
2

Ai2 =

1 d
i
((u12 + 3u13 ) N
(u10 + u11 , u20 + u21 ) + (u22 + 3u23 )
3 d
u1
2
Ni
(u10 + u11 , u20 + u21 ) + 2!1 (u11 + 2u12 )2 uN2i (u10 + u11 , u20 + u21 ) +
u2
1
1
2 2 Ni
(u
+
2u
)
(u
+
u
,
u
+
u
)
+
(u
2
21
22
10
11
20
21
11 + 2u12 )(u21 + 2u22 )
2!
u2
2 Ni
(u10 + u11 , u20 + u21 ))|=0 =
u1 u2

Ai3 =

i
i
u13 N
(u10 , u20 ) + u23 N
(u10 , u20 ) + u11 u12 uN2i (u10 , u20 ) +
u1
u2
2

i
i
u21 u22 uN2i (u10 , u20 ) + u12 u21 u 1N
(u10 , u20 ) + u11 u22 u 2N
(u10 , u20 ) +
u2
u1
2

2
1 2
u u Ni (u10 , u20 )
2! 11 21 u21 u2
1 3 3 Ni
u
(u10 , u20 ),
3! 21 u3

2
1 2
u u Ni (u10 , u20)
2! 21 11 u1 u22

1 3 3 Ni
u
(u10 , u20 )
3! 11 u31

To illustrate the application of the method for two variables, here an example
is presented .
Example 6: Let N(u, v) = uvvx , by applying the new Algorithm we get
A0 = N(u0 , v0 ) = u0 v0 v0x ,
A1 =

d
((u0
d

+ u1 )(v0 + v1 )(v0x + v1x ))|=0 = u1 v0 v0x + u0 v1 v0x + u0 v0 v1x ,

d
A2 = 12 d
((u1 +2u2 )(v0 +v1 )(v0x +v1x )+(u0 +u1)(v1 +2v2 )(v0x +v1x )+
(u0 + u1 )(v0 + v1 )(v1x + 2v2x ))|=0 = u2 v0 v0x + u1 v1 v0x + u0 v2 v0x +
u1 v0 v1x + u0 v1 v1x + u0 v0 v2x ,
d
((u2 +3u3)(v0 +v1 )(v0x +v1x )+(u1 +2u2)(v1 +2v2)(v0x +v1x )+
A3 = 13 d
(u0 + u1 )(v2 + 3v3 )(v0x + v1x ) + (u1 + 2u2)(v0 + v1 )(v1x + 2v2x ) +

981

Adomian polynomials

(u0 +u1 )(v1 +2v2 )(v1x +2v2x )+(u0 +u1 )(v0 +v1 )(v2x +3v3x ))|=0 =
u3 v0 v0x + u2 v1 v0x + u0 v3 v0x + u2 v0 v1x + u1 v1 v1x + u0 v2 v1x + u1 v0 v2x +
u0 v1 v2x + u0 v0 v3x + u1 v2 v0x ,
4.2 Three variables (p=3):
Using the new Algorithm, the Adomian polynomials for Ni (u1 , u2 , u3) Where
u1 , u2 , u3, Ni are represented by series:
ui =

uij j

f or

i = 1, 2, 3,

j=0

Ni =

Aij (u10 , ..., u1j , u20 , ..., u2j , u30 , ..., u3j )j

j=0

are thus given by


Ai0 = Ni (u10 , u20 , u30 ),
d
i
(Ni (u10 + u11 , u20 + u21 , u30 + u31 ))|=0 = u11 N
(u10 , u20 , u30 ) +
Ai1 = d
u1
Ni
Ni
u21 u2 (u10 , u20 , u30 ) + u31 u3 (u10 , u20, u30 ),
1 d
((u11
2 d
Ni
(u10 +
u2
Ni
(u10 +
u3

Ai2 =

i
+ 2u12 ) N
(u10 + u11 , u20 + u21 , u30 + u31 ) + (u21 + 2u22 )
u1
u11 , u20 + u21 , u30 + u31 ) + (u31 + 2u32 )
i
u11 , u20 + u21 , u30 + u31 ))|=0 = u12 N
(u10 , u20 , u30 ) +
u1
2

i
i
u22 N
(u10 , u20 , u30 ) + u32 N
(u10 , u20 , u30 ) + 2!1 u211 uN2i (u10 , u20 , u30) +
u2
u3
1

2
1 2 2 Ni
u
(u10 , u20 , u30 ) + 2!1 u231 uN2i (u10 , u20 , u30 ) +
2! 21 u22
3
2
2 Ni
1
1
u
u
(u
,
u
,
u
)
+
u
u Ni (u10 , u20 , u30 )
10
20
30
2! 11 21 u1 u2
2! 11 31 u1 u3
2
1
u u Ni (u10 , u20 , u30 ) ,
2! 21 31 u2 u3

Continue this course, we can get the Adomian polynomials for any pvariables functional operator.

Discussion

The Adomian decomposition method is a powerful device for solving a large


class of nonlinear problems in sciences.The main part of this method is calculating Adomian polynomials for nonlinear polynomials. In this paper, we
introduced a new Algorithm for calculating Adomian polynomials. The main
specication of this Algorithm is no requirement to complicated calculations.

982

J. Biazar and S. M. Shafiof

This Algorithm is very easy to implement, because it uses rst order derivative,
once. In each step to obtain the Adomian polynomials and will be extended to
calculate Adomian polynomials for nonlinear functionals of several variables.

References

[1] G. Adomian, G.E. Adomian, A global method for solution of complex


systems,Math. Model. 5 (1984) 521-568.
[2] G. Adomian, Solving Frontier Problems of Physics: The Decomposition
Method, Kluwer Academic Publishers, Dordecht, 1994.
[3] A. M. Wazwaz, A new algorithm for calculating Adomian polynomials for
non-linear Operators, Appl. Math. Comput. 111 (2000) 53-69.
[4] J. Biazar, E. Babolian, A. Nouri, R. Islam, An alternate algorithm for
computing Adomin polynomials in special cases, App. Math. Comp.138
(2003) 523-529.
[5] Yonggui Zhu, Qianshun Chang, Shengchang Wu, A new algorithm for
calculating Adomian polynomials Appl. Math. Comput. 169 (2005)
402-416.
[6] E. Babolian, Sh. Javadi, New method for calculating Adomian polynomials,
Appl. Math. Comput.153 (2004) 253-259.
Received: November 18, 2006

You might also like