The
Adomian decomposition method (ADM) is a systematic approximation method for solving ordinary and partial nonlinear differential equations. The method is based on the assumption that the solution can be represented by infinite series
\( y(x) = \sum_{n \ge 0} u_n (x) . \) It was named by
Richard Bellman in honor of Adomian because it was developed from the 1970s to the 1990s by an American mathematician and aerospace engineer of Armenian descent George Adomian (1922-1996), chair of the Center for Applied Mathematics at the University of Georgia. The crucial aspect of the method is the employment of "Adomian polynomials" to represent the nonlinear portion of the equation as a convergent series with respect to these polynomials, without actual linearization of the system.
Some algorithms for calculating Adomian polynomials are presented in
-
J. Biazar and S. M. Shafiof, A Simple Algorithm for Calculating
Adomian Polynomials, International Journal of Contemporary Mathematical Sciences, 2007, Vol. 2, no. 20, pp. 975--982.
-
E. Babolian and Sh. Javadi, “New method for calculating Adomian polynomials”, Applied Mathematics and Computation, 2004, Volume 153, Issue 1, 25 May 2004, Pages 253--259. https://doi.org/10.1016/S0096-3003(03)00629-5
-
S.H. Chang and I.L. Chang, A new algorithm for calculating one-dimensional
differential transform of nonlinear functions, Applied
Mathematics and Computation, 2008, Vol. 195, Issue 2,
pp. 799--808. https://doi.org/10.1016/j.amc.2007.05.026
-
V. Daftardar-Gejji and H. Jafari, An iterative method for solving non linear functional equations,
Journal of Mathematical Analysis and Applications, 2006, vol. 316, Issue 2, pp. 753--763; https://doi.org/10.1016/j.jmaa.2005.05.009
-
Jun-Sheng Duan, Recurrence triangle for Adomian polynomials, Applied Mathematics and Computation, 2010, Vol. 216, Issue 4, 1235--1241. Elsevier. 15 April 2010; https://doi.org/10.1016/j.amc.2010.02.015
-
J.-S. Duan, An efficient algorithm for the multivariable Adomian polynomials,
Applied Mathematics and Computation, 2010, Vol. 217, Issue 6, 2456--2467. https://doi.org/10.1016/j.amc.2010.07.046
-
Jun-Sheng Duan, Convenient analytic recurrence algorithms for the Adomian polynomials, Applied Mathematics and Computation, 2011, Vol. 217, Issue 13, 6337--6348. Elsevier. 1 March 2011. https://doi.org/10.1016/j.amc.2011.01.007
-
A. Elsaid. Adomian polynomials: a powerful tool for iterative methods of series solution of nonlinear equations, Journal of Applied Analysis and Computation, Volume 2, Number 4, November 2012, pp. 381--394.
-
Hossein Jafari, Saber Ghasempoor, and Chaudry Masood Khalique. A comparison between Adomian’s polynomials and He’s polynomials for nonlinear functional equations, Mathematical Problems in Engineering,
Volume 2013, Article ID 943232, 4 pages.
-
M. Kaliyappan and S. Hariharan, Symbolic computation of Adomian polynomials based on Rach’s Rule, British Journal of Mathematics & Computer Science,
5(5): 562-570, 2015, Article no.BJMCS.2015.
-
Kataria, K.K. and Vellaisamy, Simple parametrization methods for generating Adomian polynomials, Applicable Analysis and Discrete mathematics, 2016, Vol. 10, N. 01, pp. 168--185; doi: 10.2298/AADM160123001K available online at http://pefmath.etf.rs
-
S.J. Liao, On the homotopy analysis method for nonlinear problems, Applied Mathematics and Computation, 147(2004), 499--513.
-
Ruchi Nigam. A New Formulation of Adomian Polynomials, International Journal of Mathematics and Scientific Computing, Vol. 5, No 2, 2015, pp. 92--97.
-
Randolph C. Rach. “A new definition of the Adomian polynomials”, Kybernetes, Vol. 37 Issue: 7, 2008, pp.910--955, https://doi.org/10.1108/03684920810884342
-
A.M. Wazwaz. A new algorithm for calculating Adomian polynomials for non-linear operators, Applied Mathematics and Computation, 111 (2000), p. 53--69.
-
Zaouagui I.N. and Badredine T. New Adomian’s Polynomials Formulas for the Non-linear and Nonautonomous Ordinary Differential Equations, Journal of Applied & Computational Mathematics, 6:373, Vol 6(4) 2017, doi: 10.4172/2168-9679.1000373
Let me introduce some scientists (in alphabetic order) who
contributed to and greatly improved the Adomian Decomposition Method
to make it available to the mathematical and engineering community.
Dr.
George Adomian (1922--1996) was an American mathematician, theoretical physicist, and electrical engineer of Armenian descent. He received his Ph.D. degree from UCLA. He first proposed and considerably developed the Adomian Decomposition Method (ADM) for
solving nonlinear differential equations, both ordinary, and partial,
deterministic and stochastic, also integral equations, algebraic and
transcendental (functional), and matrix equations. He was a
Distinguished Professor (academic rank), the David C. Barrow Professor
of Mathematics (Chair), and the Director of the Center for Applied
Mathematics at the University of Georgia, the founder and Chief
Scientist of General Analytics Corporation, a winner of the 1989
Richard Bellman Prize for outstanding contributions to nonlinear
stochastic analysis, and a 1988 National Academy of Sciences Scholar.
He is the author of eight books and over three hundred journal papers.
Dr. Adomian was the Radar Officer (naval rank of Lieutenant, the
equivalent of a Captain in the Army by direct commission) aboard the
USS Antietam (CV-36), and served in the Pacific Theater of Operations
during the Second World War. He also attended the secret radar school
at MIT that trained the first radar officers for the U.S. Navy.
His
obituary was prepared by Randolph Rach and published in
R. Rach, Dr. George Adomian – distinguished scientist and
mathematician, Kybernetes, Vol. 25, No. 9, 1996, 45-50.
Dr.
Yves Cherruault (1937--2010) was a French mathematician. He received his Ph.D. degree from the University of Paris. He was a professor of mathematics at the University Pierre et Marie Curie, Paris, and the Director of MÉDIMAT (Laboratory of Mathematics Applied to Biomedicine). Professor Cherruault is one of the founders of the field of Biomathematics and an author of seven books and over two hundred journal papers. Dr. Cherruault developed some of the convergence theorems of the ADM.
Dr.
Jun-Sheng Duan is a Chinese applied mathematician and computer scientist born in Inner Mongolia, China, in 1965. He received his Ph.D. degree from Shandong University, China. He has made extensive contributions to solutions of differential equations in mathematical physics and engineering using ADM and the Modified Decomposition Method (MDM) in collaboration with Drs. Rach and Wazwaz. He has been a professor of mathematics at the Inner Mongolia Polytechnic University, the Tianjin University of Commerce, and currently at the School of Sciences, Shanghai Institute of Technology, China. He is the author of more than eighty journal papers. Dr. Duan is an outstanding player of wei qi (the Chinese “game of go”), and ping-pong (table tennis). He enjoys photography and traveling.
Dr.
Randolph Rach is a retired Army veteran and former Senior Engineer at Microwave Laboratories Inc. His experience includes research and development in microwave electronics and traveling-wave tube technology, and his research interests span nonlinear system analysis, nonlinear ordinary and partial differential equations, nonlinear integral equations and nonlinear boundary value problems. He published more than one hundred and thirty papers in applied mathematics, and he is an early contributor to the ADM. Dr. Rach’s fundamental theorems established the basis for the early development of ADM. He was also the first to propose the modified decomposition method (MDM for short). His past and current research continue to advance ADM/MDM work. He prepared the comprehensive bibliography on ADM:
R. Rach, A bibliography of the theory and applications of the Adomian
decomposition method, 1961-2011, Kybernetes, Volume 41, Nos. 7/8,
2012, 1087--1148.
Dr.
Sergio E. Serrano was born in Santander (Colombia) in 1953. He is a professor of environmental engineering, hydrologic science, applied mathematics,
and philosophy at Temple University in Philadelphia. He received his Ph.D. degree at the University of Waterloo (Canada). He has more than one hundred research
publications in international science, engineering, and mathematical journals. He is also the author of eight books in environmental engineering, statistics,
philosophy, and psychology. Dr. Serrano has been awarded four times with nationally-competitive research grants by the National Science Foundation, Washington,
DC. Using adaptations and modifications of the ADM, he has developed hundreds of practical engineering models of flood wave propagation, contaminant transport, and
groundwater flow in irregular geometries. He published influential textbooks on applications of differential equations in CAS Maple and Hydrology:
- Sergio E. Serrano, Differential Equations, HydroScience Inc. Amber, Pennsylvania, 2016, ISBN 97809888865211
- Sergio E. Serrano, Hydrology for Engineers, Geologists, and Environmental Professionals. An Integrated Treatment
of Surface, Subsurface, and Contaminant Hydrology. HydroScience Inc., Ambler, PA.
Dr. Serrano has a passion for hiking. In 1973, he explored the rain forest of the Darien Sierra on foot from Acandi (Colombia) to Yaviza (Panama). He plays the recorder (Renaissance flute). He enjoys alchemy, archaeology, home wine making, herbal medicine, and cooking. He believes that the joy of meaningful living and meaningful relationships can be found in the simplicity of everyday life. He lives in Philadelphia with his wife of thirty years and his daughter.
Dr.
Abdul-Majid Wazwaz is a Professor of Mathematics at Saint Xavier University in Chicago. He received his Ph.D. from the University of Illinois at Chicago. He was the author and co-author of more than four hundred and fifty papers in applied mathematics and mathematical physics. He is the author of five books on the subjects of discrete mathematics, integral equations, and partial differential equations. He has contributed extensively to theoretical advances in solitary waves theory, the ADM, and other computational methods. He is a member of the editorial board of the journals Nonlinear Dynamics (Springer) and Physica Scripta (IOP). For three years in a row, 2014, 2015, and 2016, Thomas Reuters granted him three different badges for being a “Highly Cited Researcher.”
The Adomian decomposition method (ADM for short) has led to several
modifications on the method made by various researchers in an attempt
to improve the accuracy or expand the application of the original
approach. If the given differential equation is homogeneous (without
driving terms), then the ADM provides the true solution subject that
all iterations are complete. Except for special cases (including
linear differential equations), the ADM does not supply an explicit
solution to the initial value problem for inhomogeneous equations, but
its approximation because it may contain noise terms. These noise terms appear only for specific types of inhomogeneous equations when the true solution is a part of the zeroth component. Although it is
possible to reduce these unwanted noise terms, as shown by Abdul-Majid
Wazwaz and other researchers, the issue remains. However, these
noise terms usually do not effect the approximations because of their
relatively small values.
The first proof of convergence of the ADM was given by Cherruault in 1989, who used fixed point theorems for abstract functional equations. Since conditions of these theorems are too restrictive for most physical and engineering applications to be verified in practice, many other articles on convergence of the ADM were published. In spite of the variety of publications on convergence, computational complexity, improvements, and applications of the ADM, no precise criterion of convergence was formulated in the literature, at least in the context of initial-value problems for ordinary and partial differential equations. When slope function is a holomorphic function, then the formalism of the Cauchy--Kowalevskaya
theorem guarantees that solutions of initial-value problems for systems of ordinary differential equations exist and are analytic for small time intervals.
We compare the ADM and Picard's iteration scheme. The advantage of
Adomian’s method over the Picard scheme is the ease of computation of
successive terms. At each iterative step, the Adomian decomposition
method actually requires solving the same (very simple) initial
value problem with homogeneous initial conditions. Since
the ADM presents the solution as (infinite) series, it avoids
repetitions that slow down Picard's procedure. Although it is a
changeable problem to determine the radius of convergence for the
solution obtained on the basis of the ADM, it is usually much larger
than Picard's prediction.
These advantages of the ADM over Picard's iteration scheme are
diminished by prepossessing: one should evaluate Adomian's polynomials
that are used at every iteration step. The labor involved in such
evaluation grows exponentially, in general. This drawback becomes
negligible in an explicit one step numerical implementation based on
the ADM when only a few first terms are taken into account. It should
be noted that the ADM reprocessing is much larger than say well known
Runge--Kutta or cubic spline algorithms where a user enters only the slope
functions and the initial conditions. On the other hand, the step size
in the computational scheme based on the ADM is usually larger
than in standard one step algorithms.
We start demonstration of the Adomian decomposition method with the
following initial value problem:
\[
y' = f(x,y) + g(x), \qquad y(x_0 ) = y_0 ,
\]
where
f is the given (smooth) function,
g is an input
(driving) term,
y is (unknown) output of the system, and
constants
x0 and
y0 are
prescribed. According to the ADM, we seek an approximation to the
solution of the above initial value problem as an infinite series of
functions
un to be determined recursively:
\[
y(x) = \sum_{n\ge 0} u_n = u_0 + u_1 + u_2 + \cdots ,
\]
while the nonlinear function
f(
x,y) is assumed to be expanded into an Adomian series of polynomials
\[
f(x,y) = \sum_{n\ge 0} A_n (x) = A_0 (u_0 ) + A_1 (u_0 , u_1 ) + A_2 \left( u_0 , u_1 , u_2 \right) + \cdots ,
\]
where
An are the (classical)
Adomian’s polynomials defined recursively according to the formula:
\[
A_n \left( u_0 , u_1 , \ldots , u_n \right) = \frac{1}{n!} \, \frac{{\text d}^n}{{\text d} \lambda^n} \left[ f \left( x, \sum_{k\ge 0} u_k \lambda^k \right) \right]_{\lambda =0} , \qquad n=0,1,2,\ldots ;
\]
which is actually
the
Faà
di Bruno's formula applied to the composition of two
functions:
f and
\( \sum_{k\ge 0} u_k
\lambda^k . \)
In the above formula, the parameter λ is a grouping parameter
that is used to extract a certain iteration term. The coefficient of
λ
n corresponds to the
nth iteration term. One of the
ways to extract this term is to differentiate the
composition
\( f \left( x, \sum_{k\ge 0} u_k
\lambda^k \right) \) n times
and set λ = 0 to eliminate the rest of the terms. Previous
terms are eliminated by
differentiation. Fortunately,
Mathematica has two dedicated
commands for extracting coefficients from a
polynomial:
Coefficient that gives a particular coefficient
and
CoefficientList that provides all coefficients of
the given polynomial.
There are known several modifications of the above polynomials, but we
will use only one, known as accelerated Adomian polynomials (no standard notation) that were
first introduced by George Adomian in his 1989 book:
\[
\left( A \right)_n \left( u_0 , u_1 , \ldots , u_n \right) = f\left[
u_0 + u_1 + \cdots + u_n
\right] - f\left[ u_0 + u_1 + \cdots + u_{n-1}
\right] , \qquad \left( A \right)_0 = f\left[ u_0 \right] .
\]
Khelifa and Cherruault proved in 2000 (Kybernetes, Vol. 29, No. 3, pp. 332--355) a bound for Adomian polynomials:
\[
\left\vert A_n \right\vert \le \frac{(n+1)^n}{(n+1)!} \, M^{n+1} , \qquad \sup \left\vert f^{(k)} (x,y_0 ) \right\vert \le M .
\]
In general, since the Adomian method requires existence of all derivatives (holomorphy) for the slope function, which is more restrictive than the
Lipschitz condition required for Picard's procedure, it is expected that the ADM converges faster than its Picard counterpart.
The initial term u0 in the series expansion \( y(x) = \sum_{n \ge 0} u_n (x) \) is a solution of the truncated initial value problem:
\[
y' = g(x), \qquad y(x_0 ) = y_0 ,
\]
because it should incorporate the influence of all inhomogeneous terms of the problem (that includes the initial condition and the forcing input function
g). Abdul-Majid Wazwaz and some other researchers suggest to split the inhomogeneous input between two first terms in Adomian's series to minimize the influence of noise terms that are typical in nonhomogeneous equations. Once it is achieved, all other terms in the infinite series are solutions of the homogeneous initial value problems.
Therefore,
u0 is usually not the same initial approximation as in Picard's iteration procedure that is just the initial value
y0. It should be noted that when Adomian method is applied to other problems (not necessarily initial value problems for first order differential equations as we consider in this section) one can choose another approximation to the nonhomgeneous differential equation: it is important to exclude depending on
x input term from the given slope function. Therefore, the initial term
u0 could be chosen with some flexibility. Once
u0 is determined, all other terms in Adomian's decomposition follow from the recursive initial value problems of
Appell's type:
\[
\frac{{\text d}u_n}{{\text d}x} = A_{n-1} \left( u_0 , u_1 , \ldots , u_{n-1} \right) , \qquad u_n (x_0 ) = 0 , \qquad n=1,2,\ldots ,
\]
where the Adomian polynomials are
\begin{eqnarray*}
A_0 &=& f(x, u_0 ) ,
\\
A_1 &=& u_1 f' (u_0 ) ,
\\
A_2 &=& u_2 f' (u_0 ) + \frac{1}{2!}\, u_1^2 f'' (u_0 ) ,
\\
A_3 &=& u_3 f' (u_0 ) + \frac{1}{3!}\, u_1^3 f''' (u_0 ) + \frac{2}{2!} \,u_1 u_2 f'' (u_0 ) ,
\\
A_4 &=& u_4 f' (u_0 ) + \left[ \frac{1}{2!}\, u_2^2 + u_1 u_3 \right] f'' (u_0 ) + \frac{1}{2!} \,u_1^2 u_2 f''' (u_0 ) + \frac{1}{4!} \, u_1^2 f'''' (u_0 ) ,
\\
A_5 &=& u_5 f' (u_0 ) + f'' (u_0 ) \left( u_1 u_4 + u_2 u_3 \right) + \frac{1}{2!}\,f''' (u_0 ) \left( u_1^2 u_3 + u_1 u_2^2 \right) + \frac{1}{3!}\, f^{(4)} (u_0 ) \, u_1^3 u_2 + \frac{1}{5!} \, f^{(5)} (u_0 ) \, u_1^5 ,
\\
A_6 &=& u_6 f' (u_0 ) + f'' (u_0 ) \left( u_1 u_5 + u_2 u_4 + u_3^2 \right) +
\frac{1}{3!}\,f''' (u_0 ) \left( 3\,u_1^2 u_4 + u_2^3 + 6\,u_1 u_2 u_3 \right) + \frac{1}{4!}\,f^{(4)} (u_0 ) \left( 4\,u_1^3 + 6\,u_1^2 u_2^2 \right) + \frac{1}{4!}\,f^{(5)} (u_0 )\, u_1^4 u_2 + \frac{1}{6!} \,f^{(6)} (u_0 ) \, u_1^6 ,
\\
A_7 &=& u_7 f' (u_0 ) + f'' (u_0 ) \left( u_1 u_6 + u_2 u_5 + u_3 u_4 \right) +
\frac{1}{2}\,f''' (u_0 ) \left( u_1^2 u_5 + u_1 u_3^2 + u_3 u_2^2 + 2\,u_1 u_2 u_4 \right) + \frac{1}{3!} \,f^{(4)} (u_0 ) \left( u_1^3 u_4 +3\, u_1^2 u_2 u_3 + u_1 u_2^3 \right) + \frac{1}{4!}\,f^{(5)} (u_0 ) \left( u_1^4 u_3 + 2\,u_1^3 u_2^2 \right) + \frac{1}{6!} \,f^{(6)} (u_0 ) \,u_1^5 u_2 + \frac{1}{7!} \,f^{(7)} (u_0 ) \,u_1^7 ,
\\
A_8 &=& u_8 f' (u_0 ) + f'' (u_0 ) \left( u_1 u_7 + u_2 u_6 + u_3 u_5 + u_4^2 /2 \right) +
\frac{1}{2}\,f''' (u_0 ) \left( u_1^2 u_6 + u_2^2 u_4 + u_2 u_3^2 + 2\,u_1 u_2 u_5 + 2\, u_1 u_3 u_4 \right) + \frac{1}{3!} \,f^{(4)} (u_0 ) \left( u_1^3 u_5 +3\, u_1^2 u_2 u_4 + 3\, u_1 u_2^2 u_3 + 3\,u_1^2 u_3^2 /2 + u_2^4 /4 \right) + \frac{1}{4!}\,f^{(5)} (u_0 ) \left( u_1^4 u_4 + 4\,u_1^3 u_2 u_3 + 2\, u_1^2 u_2^3 \right) + \frac{1}{6!} \,f^{(6)} (u_0 ) \left( u_1^5 u_3 + 15\, u_1^4 u_2^2 \right) + \frac{1}{6!} \,f^{(7)} (u_0 ) \,u_1^6 u_2 + \frac{1}{8!} \,f^{(8)} (u_0 ) \, u_1^8 ,
\\
\vdots &=& \vdots .
\end{eqnarray*}
Adomian's polynomials can be evaluated using the
following
Kaliyappan
and Hariharancode (
British Journal of Mathematics & Computer
Science , 2015,
5, Issue 5, pp. 562--570, Article no. BJMCS.2015.041 ):
clear all
clc
syms u u_0
n = input('enter the number: ');
y = input(‘enter the non-linear term in terms of u_0’)
g1 = intpartgen(n);
y1(1) = diff(y,1);
result(1)=u_1*y1(1);
for n2 = 2:n
n3=n2;
g = g1{n2+1};
y1(n2) = diff(y,n2);
b=g;
a = zeros(size(b));
[m1 n1] = size(b);
for k = 1:m1
[i1,j1,s1] = find(b(k,:));
[m2 n2] = size(j1);
j2(k) = n2;
end
j3 = sort(j2);
j3(m1+1) = 0;
for k1 = 1:m1
for k2 = 1:m1
if j3(1,k1)==j2(1,k2)
a(k1,:) = b(k2,:);
if k11
ft = factorial(t);
t2 = strcat('(',t1,'^',num2str(t),
'/',num2str(ft),')');
else
t2 = t1;
end
if (strcmp(temp2,''))
temp2 = t2;
elseif (strcmp(temp2(length(temp2)),'+'))
temp2 = strcat(temp2,t2);
else
temp2 = strcat(temp2,'*',t2);
end
end
end
if j3(i1)==j3(i1+1)
temp2 = strcat(temp2,'+');
else
term(i2) = sym(temp2);
temp2 = '';
i2 = i2+1;
end
i1 = i1+1;
end
l1=length(term);
t1=0;
for k3=1:l1
t1 = t1+ term(k3)*y1(k3); temp2 = strcat(temp2,'+');
end
result(n3)= t1;
end
result