Processing math: 93%

Preface


This section discusses a special technique for power series representation of nonlinear equations, known as the modified decomposition method (MDM for short). Its first concept was proposed by Randolph Rach during his discussions with G. Adomian in 1989 that was crystallized later in a paper published with his colleagues G. Adomian and R.E. Meyers in 1992. That is why this technique is sometimes referred to as the Rach--Adomian--Meyers modified decomposition method. The main idea of the MDM is to decompose the nonlinear term into a power series with the aid of the Adomian polynomials (that are genuine polynomials in this case). Then substitution of the power series solutions along with Adomian decomposition leads to full-history recurrence for determination of its coefficients. This and next two sections illustrate applications of modified decomposition method for solving initial value problems for first and second order differential equations.

Return to computing page for the first course APMA0330
Return to computing page for the second course APMA0340
Return to Mathematica tutorial for the first course APMA0330
Return to Mathematica tutorial for the second course APMA0340
Return to the main page for the course APMA0330
Return to the main page for the course APMA0340
Return to Part V of the course APMA0330
The MDM and its modifications and generalizations have been extensively applied in physics, chemistry, mechanics, hydrology, engineering, economics, biology, epidemiology, etc. Some references can be found in the following link.

List of Publications using the Modified Decomposition Method

The crucial aspect of the Adomian decomposition method (ADM) is the assumption that both, the solution to the problem (for simplicity, we illustrate it on the initial value problem for the first order autonomous differential equation)

dydx=f(y),y(x0)=y0,
and the nonlinear term f(y) in the equation can be expanded via components determined recursively. More precisely, it is assumed that the solution to a (nonlinear) problem is represented by an infinite series
y=u0+u1+u2+=n0un,
where components un are determined recursively by solving some auxiliary problems. Although the ADM can be applied for linear problems, it gives no advantage compared to well known other methods. Therefore, we consider only equations containing nonlinearities. If such nonlinearity is described by a holomorphic function f(y), the ADM decomposes it via so called Adomian polynomials
f(y)=f(n0un)=n0An(u0,u1,un).
The employment of the "Adomian polynomials" An to represent the nonlinear portion of the equation as a convergent series actually does not depend on a particular form of its components u0, u1, … . So the Adomian decomposition for a nonlinear analytic function can be used for arbitrary sequence { un }n≥0. To determine Adomian polynomials, it is convenient to introduce the generating function corresponding to the given sequence { un }n≥0:
Y(λ)=n0unλn,
where λ is a grouping parameter that we later set equal to 1. Suppose that a holomorphic function f(y) is given, for which we assign the generating function
F(λ)=f(n0unλn)=n0Anλn,
where coefficients, which we call the Adomian polynomials, are determined by the formula
An=1n!nλn(f[n0unλn])λ=0,n=0,1,2,.

Another algorithm was proposed by Tamer A. Abassy:

An=1(2n)![d2ndλ2nf(i0λifixi)]λ=0+1(2n+1)![d2n+1dλ2n+1f(i0λifixi)]λ=0,n=0,1,2,.

A natural question is for what sequence of functions { un }n≥0 the Adomian polynomials admit simplification? Looking at the structure of these polynomials, we see that if the elements of the sequence { un } satisfy the group property

ϕn(x)ϕm(x)=ϕn+m(x),n,m=0,1,2,,
then all Adomian polynomials will be proportional to particular terms of the sequence. Two of well-known sequences are good candidates for such sequences: There are exist other sequences of functions that are suitable for similar simplification, for instance, Chebyshev's polynomials of the first kind due to the formula 2Tn(x)Tm(x)=Tn+m(x)+T|nm|(x). However, they are adequate for solving first order differential equations because Appell's identify ddxun(x)=nun1(x) is not valid for Chebyshev polynomials.

Each of the above two sequences (or their shifted versions) generates either Maclaurin power series (or Taylor) expansion or a Fourier series expansion. Since in this section we are looking for power series, we postpone applications of the latter to the second tutorial.

If we are given a sequence of functions { ϕn(x) }n≥0 that satisfies the group property ϕn(x)ϕm(x)=ϕn+m(x), we can expand the solution into (convergent) series

y(x)=c0ϕ0+c1ϕ1(x)+=k0ckϕk(x),
where ck are coefficients (scalars) of the expansion above. Correspondingly, we expand the nonlinear term f(y) into the series over the same set of functions:
f(y)=f(k0ckϕk(x))=k0Ak(c0ϕ0,c1ϕ1,,cnϕk)ϕk(x)=k0Ak(c0,c1,,ck)ϕk(x),
where we use the same notation for Adomian's polynomials An in both cases:
Ak(c0ϕ0,c1ϕ1,,ckϕn)=Ak(c0,c1,,ck)ϕk(x),k=0,1,2,.
To make connection with the ADM, we denote uk = ckϕk(x). Then the formulas above becomes
An(u0,u1,,un)=An(c0,c1,,cn)ϕn(x),n=0,1,2,.
Therefore ,
A0(u0)=A0(c0ϕ0)=A0(c0)=f(c0),A1(u0,u1)=A1(c0ϕ0,c1ϕ1)=u1f(1)(u0)=c1ϕ1(x)f(1)(c0)=ϕ1(x)A1(c0,c1),A2(u0,u1,u2)=A2(c0ϕ0,c1ϕ1,c2ϕ2)=u2f(1)(u0)+12u21f(2)(u0)=ϕ2c2f(1)(u0)+ϕ2c212f(2)(u0)=ϕ2A2(c0,c1,c2),
and so on. Now we can state the theorem.
Theorem: If f(y) is a holomorphic function and { ϕn(x) }n≥0 is an arbitrary sequence of the functions that satisfies the group property ϕn(x)ϕm(x)=ϕn+m(x), then
f(n0cnϕn(x))=n0ϕn(x)An(c0,c1,,cn).
Actually, Mathematica can find any Adomian polynomial for polynomial nonlinearities with a dedicated command Coefficient or CoefficientList; so sometimes the above formula is not needed when there is an access to the computer algebra system. Recall that if N is not a polynomial, then Mathematica cannot provide you an answer, and you have to use a special script to determine coefficients.

CoefficientList[(c0 + c1 x + c2 *x^2 + c3 x^3 + c4 x^4 + c5 x^5)^2 , x]
{c0^2, 2 c0 c1, c1^2 + 2 c0 c2, 2 c1 c2 + 2 c0 c3, c2^2 + 2 c1 c3 + 2 c0 c4, 2 c2 c3 + 2 c1 c4 + 2 c0 c5, c3^2 + 2 c2 c4 + 2 c1 c5, 2 c3 c4 + 2 c2 c5, c4^2 + 2 c3 c5, 2 c4 c5, c5^2}
Mathematica code for evaluating Adomian polynomials (Jun-Sheng Duan, An efficient algorithm for the multivariable Adomian polynomials, Applied Mathematics and Computation, 2010, 217, pp. 2456--2467):
Adom1[n_]:= Module[{A, Z, dir},
Subscript[A, 0] = f[Subscript[u, 0]];
Z = Table[0, {i, 1, n}, {j, 1, i}];
Do[Z[[m, 1]] = Subscript[u, m], {m, 1, n}];
For[m = 2, m <= n, m++,
For[k = 2, k <= m, k++,
Z[[m, k]] = Expand[Subscript[u, 1]*Z[[m - 1, k - 1]]];
If[Head[Z[[m, k]]] === Plus, Z[[m, k]] = Map[#/Exponent[#, Subscript[u, 1]]&, Z[[m, k]]], Z[[m, k]] = Map[#/Exponent[#, Subscript[u, 1]]&, Z[[m, k]],{0}]]];
For[k = 2, k <= Floor[m/2], k++, Z[[m, k]] = Z[[m, k]] + (Z[[m - k, k]]/. Subscript[u, s_] -> Subscript[u, s + 1])]];
dir = Table[D[f[Subscript[u, 0]], {Subscript[u, 0], k}], {k, 1, n}];
Do[Subscript[A, m] = Take[dir, m].Z[[m]], {m, 1, n}];
Table[Subscript[A, m], {m, 0, n}]]

Example: We start with a simple power nonlinearity: N[y] = y². Using Mathematica, we can find first few terms without a problem.

CoefficientList[(c0 + c1 x + c2 *x^2 + c3 x^3 + c4 x^4 + c5 x^5)^2 , x]
{c0^2, 2 c0 c1, c1^2 + 2 c0 c2, 2 c1 c2 + 2 c0 c3, c2^2 + 2 c1 c3 + 2 c0 c4, 2 c2 c3 + 2 c1 c4 + 2 c0 c5, c3^2 + 2 c2 c4 + 2 c1 c5, 2 c3 c4 + 2 c2 c5, c4^2 + 2 c3 c5, 2 c4 c5, c5^2}

 

In this case, we have the general expression An=nk=0ukunk. Therefore,

ADM MDM
A0(u0) = u0² A0(c0) = c0²
A1(u0, u1) =2 u0 u1 A1(c0, c1) =2 c0 c1
A2(u0, u1, u2) = u1² + 2 u0 u2 A2(c0, c1, c2) = c1² + 2 c0 c2
A3(u0, u1, u2, u3) = 2 u1u2 + 2 u0 u3 A3(c0, c1, c2, c3) = 2 c1c2 + 2 c0 c3
This allows us to expand a square of Maclaurin series as another Maclaurin series:
(c0+c1x+c2x2+)2=c20+2c0c1x+(c21+2c0c2)x2+.
So we don't need to multiply two series and use the convolution rule:
cc=(c0+c1x+c2x2+)2=(c0+c1x+c2x2+)(c0+c1x+c2x2+)=n0(nk=0ckcnk)xn.
   ■

Example: Our next nonlinearity is f(y) = y³. The general formula is also available that represents the general term as a double convolution:

ccc=(c0+c1x+c2x2+)3=(c0+c1x+c2x2+)(c0+c1x+c2x2+)(c0+c1x+c2x2+)=n0(nk=0kj=0ckjcjcnk)xn.
Coefficient[(u0 + s*u1 + s^2 *u2 + u3*s^3 + s^4 *u4)^3, s, 3]
u1^3 + 6 u0 u1 u2 + 3 u0^2 u3
We can obtain the same values of coefficients c0, c1, c2, … using the Adomian polynomials. Application of the Adomian algorithm to the function f(y) = y³ yields
ADM MDM
A0(u0) = u0³ A0(c0) = c0³
A1(u0, u1) = 3 u0² u1 A1(c0, c1) =2 c0² c1
A2(u0, u1, u2) = 3u0u1² + 3 u0² u2 A2(c0, c1, c2) = 3c0c1² + 3 c0² c2
A3(u0, u1, u2, u3) = 3 u0² u3 + 6 u0 u1 u2 + u1³ A3(c0, c1, c2, c3) = 3 c0² c3 + 6 c0 c1 c2 + c1³
   ■

Example: Given the artangent Maclaurin series

arctanx=xx33+x55=k0(1)k2k+1x2k+1,
we find the corresponding power series for its square
(arctanx)2=(k0(1)k2k+1x2k+1)(k0(1)k2k+1x2k+1).
Although we can multiply these two series and use the convolution rule, we show how coefficients of arctan²x can be determined with Adomian polynomials. Using the condition that all even powers are not present in arctangent series:
c2k=0,c2k+1=(1)k2k+1,k=0,1,2,,
we calculate
Adomian polynomials General term
A0(c0) = A0( 0 ) = 0² = 0; A0(c0) = c0²
A1(0, 1) =2 * 0 * 1 = 0; A1(c0, c1) =2 c0 c1
A2(0, 1, 0) = 1² + 2 * 0 = 1, A2(c0, c1, c2) = c1² + 2 c0 c2
A3(0, 1, 0, 1/3) = 2*1*0 + 2*0*1/3 = 0 A3(c0, c1, c2, c3) = 2 c1c2 + 2 c0 c3
Therefore,
Series[(ArcTan[x])^2 , {x, 0, 14}]
(arctanx)2=x223x4+2345x644105x8+5631575x10325410395x12+88069315315x14.
   ■

Example: Let us consider the exponential function u=ex=n0xnn!=n0cnxn, where cn=1n!,n=0,1,2,. Raising it to the third power, we get

(ex)3=n0Anxn=e3x=k0(3x)kk!=k0(3kk!)xkAn=3nn!.
Now we evaluate the Adomian polynomials using CoefficientList
CoefficientList[(1 + 1 x + 1/2 *x^2 + 1/3! x^3 + 1/4! x^4 + 1/5! x^5)^3 , x]
{1, 3, 9/2, 9/2, 27/8, 81/40, 121/120, 17/40, 49/320, 409/8640, \ 361/28800, 9/3200, 181/345600, 1/12800, 1/115200, 1/1728000}
CoefficientList[(c0 + c1 x + c2 *x^2 + c3 x^3 + c4 x^4 + c5 x^5)^3 , x]
A0(u0)=A0(c0)=c30=1,A1(u0,u1)=3c20c1=3,A2(u0,u1,u2)=3c0c21+3c20c2=9/2,A3(u0,u1,u2,u3)=c31+6\.c0c1c2+3c20c3=9/2,A4(u0,u1,u2,u3,u4)=3c21c2+3c0c22+6c0c1c3+3c20c4=27/8,
and so on.    ■

Example: Let us consider the reciprocal function f(y) = 1/y. In this case, we actually need to find the inverse of power series. It was done previously using multiplication of two series and solving recurrence relation. Here we show that the required series is easily determined with Adomian's decomposition.

Adom1[5]
ADM MDM
A0(u0) = 1/u0 A0(c0) = 1/c0
A1(u0,u1)=u1u20. A1(c0,c1)=c1c20.
A2(u0,u1,u2)=u21u30u2u20. A2(c0,c1,c2)=c21c30c2c20.
A3(u0,u1,u2,u3)=u31u40+2u1u2u30u3u20. A3(c0,c1,c2,c3)=c31c40+2c1u2c30c3c20.
A4(u0,u1,u2,u3,u4)=u41u503u21u2u40+u22+2u1u3u30u4u20. A4(c0,c1,c2,c3,c4)=c41c503c21c2c40+c22+2c1u3c30c4c20.
A5(u0,u1,u2,u3,u4,u5)=u51u60+4u31u2u503u1u22+3u21u3u40+2u30(u2u3+u1u4)u5u20. A5(c0,c1,c2,c3,c4,c5)=c51c60+4c31c2c503c1c22+3c21c3c40+2c30(c2c3+c1c4)c5c20.

 

Reciprocal of exponential function


It is well-known that
1ex=ex=n0(1)nn!xn=n0Anxn,
where An are corresponding Adomian polynomials. We find its coefficients An by calculating the reciprocal to ex=n01n!xn when coefficients cn = 1/n! are known. Using the previous formulas, we find the corresponding coefficients:
Reciprocal coefficients for x General formula
A0(c0) = 1/c0 = 1 A0(c0) = 1/c0
A1(u0,u1)=c1c20=11=1. A1(c0,c1)=c1c20.
A2(c0,c1,c2)=c21c30c2c20=112=12. A2(c0,c1,c2)=c21c30c2c20.
A3(1,1,1/2,1/3!)=1+2213!=13!. A3(c0,c1,c2,c3)=c31c40+2c1u2c30c3c20.
A4(1,1,1/2,1/3!,1/4!)=1132+122+23!14!=14!. A4(c0,c1,c2,c3,c4)=c41c503c21c2c40+c22+2c1u3c30c4c20.
A5(1,1,12,13!,14!,15!)=11+423433!+2(1213!+14!)15!=15!. A5(c0,c1,c2,c3,c4,c5)=c51c60+4c31c2c503c1c22+3c21c3c40+2c30(c2c3+c1c4)c5c20.
   ■

Example: Let us consider the arccotangent function on the interval |x| < 1

arccot(x)=π2arctan(x)=π2x+x33x55+x77=π2+k1(1)kx2k+12k+1,|x|<1.
This means that we have a Maclaurin expansion of this function that converges on the in the open interval |x| < 1:
arccot(x)=k0ckxkwithc0=π2,c2k=0fork=1,2,,c2k+1=(1)k2k+1fork=1,2,.
Assuming[x > 0, Series[ArcCot[x], {x, 0, 8}]]
π2x+x33x55+x77+O[x]9
Suppose we want to find the Maclaurin series for 1/(arccot(x))³. We cannot use the build-in Mathematica command Coefficient because the given function 1/(arccot(x))³ is not a polynomial. Therefore, we use the standard command to expand this function into the Maclaurin series.
f[y_] = 1/(ArcCot[y])^3;
Assuming[x > 0, Series[f[x], {x, 0, 9}]]
which yields
1(arccot(x))3=8π3+48π4x+192π5x216(π240)π6x3128(π215)π7x4+16(9π6784π4+11760π248384)5π8x5+
Choosing f(y) = 1/y³, we expand the composition of two functions f and arccot into power series using Adomian's polynomials:
1(arccot(x))3=(2π)3+k1Ak(c0,c1,,ck)xk,
where the first term is obviously
A0(c0)=f(c0)=1c30,withc0=π2.
Using the derivative of the arccotangent function, darccot(x)/dx=(1+x2)1, we calculate the next Adomian's polynomial:
A1=u1f(u0)=3u1u40=xc1f(c0)=3c1c40=48π4,
where c1 = -1, which follows from arccotangent Maclaurin power series expansion. The second Adomian polynomial is
A2=u2f(u0)+12u21f
Therefore,
A_2 \left( c_0 , c_1 , c_2 \right) = \frac{6\, c_1^2}{c_0^5} - \frac{3\,c_2}{c_0^4} = \frac{6}{c_0^5} = \frac{6*2^5}{\pi^5} = \frac{192}{\pi^5}
because c2 = 0 and c1 = -1. Next term is
A_3 = u_3 f'(u_0 ) + \frac{1}{6}\,u_1^3 f''' (u_0 ) + u_1 u_2 f'' (u_0 ) = -u_3 \frac{3}{u_0^4} - \frac{60}{6}\,u_1^3 \frac{1}{u_0^6} + u_1 u_2 \,\frac{12}{u_0^5} .
Using values c0 = π/2, c1 = -1, c2 = 0, and c3 = 1/3, we obtain
A_2 \left( c_0 , c_1 , c_2 , c_3 \right) = A_2 \left( \frac{\pi}{2} , -1 , 0 , \frac{1}{3} \right) = -c_3 \frac{3}{c_0^4} + \frac{10}{c_0^6} = \frac{10}{c_0^6} - \frac{1}{c_0^4} = \frac{10-c_0^2}{c_0^6} = 2^4 \frac{40- \pi^2}{\pi^6} .
   ■

 

  1. Abassy, T.A., Improved Adomian decomposition method, Computers and Mathematics with Applications, 2010, Vol.59, pp. 42--54.
  2. Gonzalez-Parra, G., Acedo, L., Arenas, A., Accuracy of analytical-numerical solutions of the Michaelis-Menten equation, Computational & Applied Mathematics, 2011, Volume 30, No. 2, pp. 445--461.
  3. Hasan, Y.Q., Solving first-order ordinary differential equations by Modified Adomian decomposition method, Advances in Intelligent Transportation Systems, Vol. 1, No. 4, 2012
  4. Duan, J.-S. and Rach, R., New higher-order numerical one-step methods based on the Adomian and the modified decomposition methods, Applied Mathematics and Computation, 2011, Vol. 218 No. 6, pp. 2810-2828.
  5. Khuri, S.A., On the decomposition method for the approximate solution of nonlinear ordinary differential equations, International Journal of Mathematical Education in Science and Technology, 2001, Vol. 32, No. 4, pp. 525--539.

 

Return to Mathematica page
Return to the main page (APMA0330)
Return to the Part 1 (Plotting)
Return to the Part 2 (First Order ODEs)
Return to the Part 3 (Numerical Methods)
Return to the Part 4 (Second and Higher Order ODEs)
Return to the Part 5 (Series and Recurrences)
Return to the Part 6 (Laplace Transform)
Return to the Part 7 (Boundary Value Problems)