Perturbation–iteration method is generalized for systems of first order differential equations. Approximate solutions of Lotka–Volterra systems are obtained using the method. Comparisons of our results with each other and with numerical solutions are given. The method is implemented in Mathematica, a major computer algebra system. The package PerturbationIteration.m automatically carries out the tedious calculations of the method.
Perturbation method; Perturbation–iteration method; Symbolic computation; Lotka–Volterra equations; Systems of first order differential equations
The study of methods for approximate solutions of nonlinear models in real life has always been a growing branch of applied mathematical sciences. Many methods with different capabilities and limitations have been developed. The well-known approximate analytical method, the perturbation technique [1] can deal with weakly nonlinear systems due to the small parameter assumption. To overcome this limitation, methods such as the linearized perturbation method [2], the Lindstedt–Poincaré method with modified frequency expansion [3], the multiple-scale Lindstedt–Poincaré method [4] and the parameter expanding method [5] were developed. Also methods such as the Adomian decomposition method [6], the variational iteration method [7], and the homotopy analysis method [8] were among the non-perturbative methods that were applied to many interesting mathematical problems.
Other attempts to treat both weakly and strongly nonlinear problems were through iteration procedures which used pre-formed alternative equations to obtain approximate solutions. Just to list a few, He [9] linearized the nonlinear terms by substitution of iterative solution functions from previous iteration results, Mickens’ iteration procedure [10] was for specific problems, and variational iteration method [11] was used to solve boundary value problems.
Recently, the perturbation–iteration method, which gives valuable solutions for strongly nonlinear problems [12] and [13] has been developed. In [14], approximate solutions of some nonlinear heat transfer problems were obtained, and the comparison of the results showed that perturbation–iteration method fits better than the variational iteration method as the parameter measuring the nonlinearity takes larger values.
The aim of this study was to develop perturbation–iteration algorithms for systems of first order differential equations and to obtain accurate solutions of Lotka–Volterra differential equations. Many analytical methods such as Adomian decomposition [15], variational iteration method [16], homotopy analysis method [17], and optimal parametric iteration method [18] were successfully applied to this type of problems.
The paper is organized as follows. In Section 2, the perturbation–iteration algorithm for systems is explained. The method is applied to Lotka–Volterra equations in Section 3. In Section 4, comparisons of our results with other methods are given. The package PerturbationIteration.m is described in Section 5. Concluding remarks are given in Section 6.
In this section, the perturbation–iteration method, described in [12] and [13], is generalized toward systems of first order differential equations. The generalization is developed by taking arbitrary number of terms in Taylor series expansion and one correction term in perturbation expansion PIA(1,M) i.e. the first number expresses the correction terms in the perturbation expansion and the second number expresses the derivative orders in the Taylor expansion. Consider the following system of first order differential equations:
|
(1) |
where uj are the dependent variables, t is the independent variable, K is the number of dependent variables, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \epsilon }
is the artificially introduced small parameter and the dot stands for the derivative. Reconsider Eq. (1) in the following iterative form:
|
(2) |
where the subscript n expresses the number of iterations completed in the procedure. More clearly, the system of equations is given below
|
(3) |
Next, define the following iterative perturbation series:
|
(4) |
Taylor series expansion of equation (1) is given as follows:
|
(5) |
with the derivative operator defined as follows:
|
(6) |
Calculating derivatives at ε = 0 and substituting Eq. (6) into Eq. (5) yields
|
(7) |
Note that, by taking larger values of M, i.e., increasing the number of terms in the Taylor series expansion, one can develop different algorithms for the specific problem with the help of Eq. (7). Since one correction term in the perturbation expansion and m’th order derivatives in the Taylor expansion are taken, the algorithm is PIA(1,m). A more general algorithm with PIA(n,m) can be constructed but would cause too much complexity in the applications.
The Lotka–Volterra equations, also known as the predator–prey equations, are frequently used by mathematicians to describe the time evolution of the species in the dynamics of biological systems [15], [16] and [17]. In the more general framework one can study the following multidimensional Lotka–Volterra system:
|
(8) |
where ck represent the populations of the species at the beginning of the evolution. In the following subsections, solutions of one dimensional and multidimensional systems such as K = 1, 2, 3,… are investigated by the perturbation–iteration method.
One dimensional Lotka–Volterra equation, known as the Verhulst equation [19], describes the behavior of population in time of one species competing for a given finite source of food:
|
(9) |
The exact solution of (9) is
|
(10) |
Approximate solutions of Eq. (9) will be obtained using two different perturbation–iteration algorithms by taking M = 1 and M = 2.
First rewrite Eqs. (9) and (3) in the following form:
|
(11) |
|
(12) |
where ε is artificially introduced as a small parameter. Reorganizing Eq. (7) for Eq. (9) yields
|
(13) |
where the derivatives are
|
(14) |
Finally, the iteration equation is obtained by substituting (14) into (13) and setting ε = 1:
|
(15) |
One can take the initially assumed function as follows:
|
(16) |
which satisfy the initial condition exactly.
Starting with the above initial function, first Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle u_{1\mbox{,}0}^c}
is calculated from Eq. (15) and then substituted into Eq. (12) to obtain u1,1 as the solution of the first iteration. The iteration process is repeated using the previous solution as an initial guess until satisfactory result is obtained. This way, one can obtain the first and second iteration solutions as follows:
|
(17) |
|
(18) |
Taking up to second order derivative terms in the Taylor series expansion leads to the iteration formula:
|
(19) |
Using the same initial guess function Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle u_{1\mbox{,}0}=\alpha e^{bt}\mbox{,}}
one can obtain the first iteration solution:
|
(20) |
The second and third iteration solutions are as follows:
|
(21) |
|
(22) |
In second and third iteration solutions, as the calculations get more involved, the second term in (19), b+2au1,n is approximated as b+2au1,0 for simplicity and help of a computer algebra system such as Mathematica is essential.
Two dimensional Lotka–Volterra system was first proposed by Lotka [20] and Volterra [21] without knowing each other’s work. The following two dimensional competitive Lotka–Volterra equation models a pair of species competing for a common resource:
|
(23) |
where a11, a12, a21, a22 are parameters representing the interaction of the species and the self-interaction, and α, β are the initial size of populations. Perturbation–iteration method with first order derivatives in the Taylor series PIA(1,1) will be applied to Eq. (23). First, re-write Eq. (23) as follows:
|
(24) |
Setting K = 2 and M = 1, transforms Eq. (7) into the following:
|
(25) |
with
|
(26) |
Substituting (26) into (25) leads to the final form of the iteration equation:
|
(27) |
As Eq. (4) become:
|
(28) |
taking
|
(29) |
as an initial approximation satisfying the initial conditions leads to the following:
|
(30) |
as correction terms. Combining (29) and (30) in (28) yields the first iteration solutions:
|
(31) |
For briefness, higher iteration results are not given here, but numerical results of those are given in numerical comparison tables.
The three dimensional Lotka–Volterra system models population dynamics of three competitive species in an ecosystem [22]:
|
(32) |
Using Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle u_{1\mbox{,}0}=\alpha \mbox{e}^{b_1t}\mbox{,}} Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle u_{2\mbox{,}0}=\beta \mbox{e}^{b_2t}\mbox{,}} Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle u_{3\mbox{,}0}=\gamma \mbox{e}^{b_3t}}
as initial functions, approximate solutions after the first iteration are as follows:
|
(33) |
|
(34) |
|
(35) |
For second and higher iteration solutions, the parameters have to be set to values.
In this subsection, we will obtain perturbation–iteration solutions of multi-dimensional Lotka–Volterra equations having arbitrary number of competitive species. We seek solutions with first order derivatives in the Taylor series expansion. First, rewrite Eq. (8) as follows:
|
(36) |
For m = 1, the terms included in Eq. (7) are as follows:
|
(37) |
Hence substituting these terms in Eq. (7) yields
|
(38) |
Integrating Eq. (38) gives the following:
|
(39) |
where cn is integration constant to be determined by the initial conditions. Then n’ th iteration solution for multidimensional Lotka–Volterra equations becomes the following:
|
(40) |
Comparisons of approximate solutions of Eq. (9) with the exact solutions are presented in Table 1. Solutions up to five iterations are computed using PIA(1,1). Solutions resulted from PIA(1,2) are given in the last three columns of Table 1. It is easy to see that both iteration algorithms rapidly converge to the exact solution. For the PIA(1,2) case, third iteration solutions acquire almost the same accuracy with the fifth iteration solutions for the PIA(1,1) case.
Exact solution | PIA(1,1) | PIA(1,2) | |||||||
---|---|---|---|---|---|---|---|---|---|
t | u1 | u1,1 | u1,2 | u1,3 | u1,4 | u1,5 | u1,1 | u1,2 | u1,3 |
0.0 | 0.100000 | 0.100000 | 0.100000 | 0.100000 | 0.100000 | 0.100000 | 0.100000 | 0.100000 | 0.100000 |
0.1 | 0.107137 | 0.107030 | 0.107139 | 0.107137 | 0.107137 | 0.107137 | 0.107138 | 0.107137 | 0.107137 |
0.2 | 0.114533 | 0.114028 | 0.114555 | 0.114532 | 0.114533 | 0.114533 | 0.114543 | 0.114533 | 0.114533 |
0.3 | 0.122164 | 0.120818 | 0.122253 | 0.122159 | 0.122164 | 0.122164 | 0.122206 | 0.122164 | 0.122164 |
0.4 | 0.130001 | 0.127171 | 0.130259 | 0.129983 | 0.130002 | 0.130001 | 0.130121 | 0.130002 | 0.130001 |
0.5 | 0.138013 | 0.132785 | 0.138625 | 0.137958 | 0.138017 | 0.138012 | 0.138293 | 0.138016 | 0.138013 |
0.6 | 0.146163 | 0.137272 | 0.147445 | 0.146021 | 0.146175 | 0.146162 | 0.146738 | 0.146174 | 0.146163 |
0.7 | 0.154414 | 0.140132 | 0.156869 | 0.154084 | 0.154449 | 0.154411 | 0.155492 | 0.154445 | 0.154415 |
0.8 | 0.162726 | 0.140729 | 0.167126 | 0.162023 | 0.162814 | 0.162717 | 0.164618 | 0.162802 | 0.162728 |
0.9 | 0.171057 | 0.138259 | 0.178536 | 0.169658 | 0.171261 | 0.171033 | 0.174207 | 0.171228 | 0.171064 |
1.0 | 0.179367 | 0.131705 | 0.191525 | 0.176725 | 0.179808 | 0.179306 | 0.184389 | 0.179721 | 0.179386 |
Representative values of known numerical and perturbation–iteration solutions of (23) are given in Table 2. Only in two iterations, very high accuracy has been achieved as expected.
Numerical solution | PIA(1,1) | |||||
---|---|---|---|---|---|---|
t | u1 | u2 | u1,1 | u2,1 | u1,2 | u2,2 |
0.0 | 4.000000 | 10.000000 | 4.000000 | 10.000000 | 4.000000 | 10.000000 |
0.1 | 4.033071 | 10.066572 | 4.033059 | 10.066553 | 4.033071 | 10.066573 |
0.2 | 4.066363 | 10.133490 | 4.066316 | 10.133411 | 4.066364 | 10.133490 |
0.3 | 4.099879 | 10.200753 | 4.099771 | 10.200573 | 4.099879 | 10.200754 |
0.4 | 4.133617 | 10.268363 | 4.133422 | 10.268037 | 4.133618 | 10.268365 |
0.5 | 4.167580 | 10.336320 | 4.167269 | 10.335802 | 4.167582 | 10.336322 |
0.6 | 4.201767 | 10.404623 | 4.201312 | 10.403865 | 4.201770 | 10.404627 |
0.7 | 4.236180 | 10.473273 | 4.235549 | 10.472226 | 4.236185 | 10.473281 |
0.8 | 4.270819 | 10.542271 | 4.269980 | 10.540883 | 4.270826 | 10.542282 |
0.9 | 4.305684 | 10.611618 | 4.304604 | 10.609834 | 4.305694 | 10.611634 |
1.0 | 4.340776 | 10.681312 | 4.339420 | 10.679076 | 4.340796 | 10.681334 |
Comparisons for approximate solutions of three dimensional Lotka–Volterra system (32) are given in Table 3. Satisfactory results on the whole domain are obtained in four or five iterations. The results indicate that solutions obtained with the perturbation–iteration method rapidly converge to the known numerical solutions.
Numerical solutions | PIA(1,1) | ||||||||
---|---|---|---|---|---|---|---|---|---|
t | u1 | u2 | u3 | u1,4 | u2,4 | u3,4 | u1,5 | u2,5 | u3,5 |
0.0 | 0.20000 | 0.30000 | 0.50000 | 0.20000 | 0.30000 | 0.50000 | 0.20000 | 0.30000 | 0.50000 |
0.1 | 0.21473 | 0.31914 | 0.52234 | 0.21473 | 0.31915 | 0.52234 | 0.21473 | 0.31915 | 0.52234 |
0.2 | 0.23010 | 0.33873 | 0.54428 | 0.23010 | 0.33873 | 0.54429 | 0.23010 | 0.33873 | 0.54428 |
0.3 | 0.24609 | 0.35867 | 0.56572 | 0.24609 | 0.35867 | 0.56573 | 0.24609 | 0.35867 | 0.56572 |
0.4 | 0.26264 | 0.37888 | 0.58655 | 0.26265 | 0.37889 | 0.58662 | 0.26264 | 0.37888 | 0.58654 |
0.5 | 0.27973 | 0.39927 | 0.60667 | 0.27975 | 0.39931 | 0.60693 | 0.27973 | 0.39927 | 0.60664 |
0.6 | 0.29729 | 0.41974 | 0.62601 | 0.29734 | 0.41987 | 0.62679 | 0.29729 | 0.41973 | 0.62591 |
0.7 | 0.31527 | 0.44020 | 0.64449 | 0.31540 | 0.44054 | 0.64654 | 0.31526 | 0.44015 | 0.64420 |
0.8 | 0.33361 | 0.46054 | 0.66208 | 0.33393 | 0.46138 | 0.66683 | 0.33356 | 0.46042 | 0.66128 |
0.9 | 0.35222 | 0.48068 | 0.67871 | 0.35294 | 0.48254 | 0.68887 | 0.35210 | 0.48037 | 0.67675 |
1.0 | 0.37105 | 0.50053 | 0.69438 | 0.37256 | 0.50438 | 0.71455 | 0.37075 | 0.49979 | 0.68991 |
To use the code, first load the Mathematica package PerturbationIteration.m [23] using the command
In[2]:=Get[“PerturbationIteration.m”]; |
Proceeding with the two dimensional Lotka–Volterra system (23) as an example, call the function PerturbationIterationAlgorithm (which is part of the package):
In[3]: = PerturbationIterationAlgorithm[ |
{u′[t] == u[t] (b1 + a11 u[t] + a12 v[t]), |
v′[t] == v[t] (b2 + a21 u[t] + a22 v[t])}, {u[0] == α, |
v[0] == β}, {u, v}, t, 1, 1, 2] |
which will produce the solutions in (31) and go one more iteration. Similarly, results given in subsections 3.1, 3.2 and 3.3 of this paper can be reproduced by using our package.
The usage of the main function PerturbationIterationAlgorithm is as follows:
PerturbationIterationAlgorithm[ |
<equations>, |
<list of initial conditions>, |
<functions>, |
<independent variable>, |
<n: number of correction terms (integer) >, |
<m: number of terms included in the Taylor series expansion (integer) >, |
<number of iterations to be carried out (integer)>, |
<options>] |
where <options> can be Perturbation Parameter → <parameter>, IntroduceEpsilon → <True | False >, or GivenUZero → <list of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle u_{j\mbox{,}0}}
initial guess values>. One should keep in mind that n has to be smaller than or equal to m.
The default value of PerturbationParameter is ε. If set to another parameter, then this new parameter is used as the perturbation parameter. IntroduceEpsilon option is used for controlling the introduction of ε. If the system has the perturbation parameter already in place, then setting IntroduceEpsilon to False will skip introduction of the perturbation parameter. The default value of GivenUZero is set to Automatic, in which case the function automatically computes Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle u_{j\mbox{,}0}} . If GivenUZero is set to a user defined expression as GivenUZero ->{Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle u_{1\mbox{,}0}} ,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle u_{2\mbox{,}0}\mbox{,}} …} then computations continue using the initial guess values Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle u_{1\mbox{,}0}} ,Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle u_{2\mbox{,}0}\mbox{,}} ….
Further documentation and more examples about the package can be found in [23].
In this study, the perturbation–iteration method [12] and [13] is extended to the systems of first order differential equations and applied to the Lotka–Volterra equations. Contrary to the classical perturbation methods, small parameter assumption is not needed for the new perturbation–iteration method. In the study of one dimensional Lotka–Volterra equations, solutions arising from PIA(1,2) have better accuracy in comparison with those of PIA(1,1). Hence increasing the number of terms in Taylor series expansion results in a higher accuracy as in [24].
Also solutions of general multi-dimensional Lotka–Volterra equations without any small parameter are obtained using PIA(1,1). It is easy to see that these results cover the one-two and three dimensional cases.
Published on 11/04/17
Licence: Other
Are you one of the authors of this document?