## Abstract

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.

## Keywords

Perturbation method; Perturbation–iteration method; Symbolic computation; Lotka–Volterra equations; Systems of first order differential equations

## 1. Introduction

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  can deal with weakly nonlinear systems due to the small parameter assumption. To overcome this limitation, methods such as the linearized perturbation method , the Lindstedt–Poincaré method with modified frequency expansion , the multiple-scale Lindstedt–Poincaré method  and the parameter expanding method  were developed. Also methods such as the Adomian decomposition method , the variational iteration method , and the homotopy analysis method  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  linearized the nonlinear terms by substitution of iterative solution functions from previous iteration results, Mickens’ iteration procedure  was for specific problems, and variational iteration method  was used to solve boundary value problems.

Recently, the perturbation–iteration method, which gives valuable solutions for strongly nonlinear problems  and  has been developed. In , 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 , variational iteration method , homotopy analysis method , and optimal parametric iteration method  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.

## 2. Perturbation–iteration method for systems of first order differential equations

In this section, the perturbation–iteration method, described in  and , 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:

 $F_{k}({\overset {\cdot }{u}}_{k}{\mbox{,}}u_{j}{\mbox{,}}\epsilon {\mbox{,}}t)=$$0{\mbox{,}}\quad j=1{\mbox{,}}2{\mbox{,}}\ldots {\mbox{,}}K{\mbox{,}}\quad k=$$1{\mbox{,}}2{\mbox{,}}\ldots {\mbox{,}}K{\mbox{,}}$
(1)

where uj are the dependent variables, t is the independent variable, K   is the number of dependent variables, ${\textstyle \epsilon }$ is the artificially introduced small parameter and the dot stands for the derivative. Reconsider Eq. (1) in the following iterative form:

 $F_{k}({\overset {\cdot }{u}}_{k{\mbox{,}}n+1}{\mbox{,}}u_{j{\mbox{,}}n+1}{\mbox{,}}\epsilon {\mbox{,}}t)=$$0{\mbox{,}}$
(2)

where the subscript n expresses the number of iterations completed in the procedure. More clearly, the system of equations is given below

 $F_{1}=F_{1}({\overset {\cdot }{u}}_{1}{\mbox{,}}u_{1}{\mbox{,}}u_{2}{\mbox{,}}\ldots {\mbox{,}}u_{K}{\mbox{,}}\epsilon {\mbox{,}}t)$ $F_{2}=F_{2}({\overset {\cdot }{u}}_{2}{\mbox{,}}u_{1}{\mbox{,}}u_{2}{\mbox{,}}\ldots {\mbox{,}}u_{K}{\mbox{,}}\epsilon {\mbox{,}}t)$ $\vdots$ $F_{K}=F_{K}({\overset {\cdot }{u}}_{K}{\mbox{,}}u_{1}{\mbox{,}}u_{2}{\mbox{,}}\ldots {\mbox{,}}u_{K}{\mbox{,}}\epsilon {\mbox{,}}t){\mbox{.}}$
(3)

Next, define the following iterative perturbation series:

 $u_{j{\mbox{,}}n+1}=u_{j{\mbox{,}}n}+\epsilon u_{j{\mbox{,}}n}^{c}{\mbox{,}}$
(4)

Taylor series expansion of equation (1) is given as follows:

 $F_{k}=\sum _{m=0}^{M}{\frac {1}{m!}}{\left[{\left({\frac {d}{d\epsilon }}\right)}^{m}F_{k}\right]}_{\epsilon =0}{\epsilon }^{m}{\mbox{,}}\quad k=$$1{\mbox{,}}2\ldots \ldots .K$
(5)

with the derivative operator defined as follows:

 ${\frac {d}{d\epsilon }}={\frac {\partial {\overset {\cdot }{u}}_{k{\mbox{,}}n+1}}{\partial \epsilon }}{\frac {\partial }{\partial {\overset {\cdot }{u}}_{k{\mbox{,}}n+1}}}+$$\sum _{j=1}^{K}\left({\frac {\partial u_{j{\mbox{,}}n+1}}{\partial \epsilon }}{\frac {\partial }{\partial u_{j{\mbox{,}}n+1}}}\right)+$${\frac {\partial }{\partial \epsilon }}{\mbox{.}}$
(6)

Calculating derivatives at ε = 0 and substituting Eq. (6) into Eq. (5) yields

 $F_{k}=\sum _{m=0}^{M}{\frac {1}{m!}}{\left\{{\left({\overset {\cdot }{u}}_{k{\mbox{,}}n}^{c}{\frac {\partial }{\partial {\overset {\cdot }{u}}_{k{\mbox{,}}n+1}}}+\sum _{j=1}^{K}u_{j{\mbox{,}}n}^{c}{\frac {\partial }{\partial u_{j{\mbox{,}}n+1}}}+{\frac {\partial }{\partial \epsilon }}\right)}^{m}F_{k}\right\}}_{\epsilon =0}{\epsilon }^{m}=$$0{\mbox{,}}\quad k=1{\mbox{,}}2\ldots \ldots .K$
(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.

## 3. Application to Lotka–Volterra problems

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 ,  and . In the more general framework one can study the following multidimensional Lotka–Volterra system:

 ${\frac {{du}_{k}}{dt}}=u_{k}\left(b_{k}+\sum _{j=1}^{K}a_{kj}u_{j}\right){\mbox{,}}\quad \quad u_{k}(0)=$$c_{k}{\mbox{,}}\quad k=1{\mbox{,}}2{\mbox{,}}\ldots {\mbox{,}}K{\mbox{,}}$
(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.

### 3.1. One dimensional system (K = 1)

One dimensional Lotka–Volterra equation, known as the Verhulst equation , describes the behavior of population in time of one species competing for a given finite source of food:

 ${\frac {du}{dt}}=u(b+au){\mbox{,}}\quad b>0{\mbox{,}}\quad a<0{\mbox{,}}\quad u(0)>0{\mbox{.}}$
(9)

The exact solution of (9) is

 $u(t)={\begin{array}{ll}{\frac {{be}^{bt}}{{\frac {b+au(0)}{u(0)}}-{ae}^{bt}}}{\mbox{,}}&b\quad \not =\quad 0\\{\frac {u(0)}{1-au(0)t}}{\mbox{,}}&b=0{\mbox{.}}\end{array}}$
(10)

Approximate solutions of Eq. (9) will be obtained using two different perturbation–iteration algorithms by taking M = 1 and M = 2.

#### 3.1.1. Perturbation iteration method with first order derivatives in the Taylor series expansion PIA(1,1)

First rewrite Eqs. (9) and (3) in the following form:

 $F_{1}={\overset {\cdot }{u}}_{1{\mbox{,}}n+1}-{bu}_{1{\mbox{,}}n+1}-$$\epsilon {au}_{1{\mbox{,}}n+1}^{2}=0{\mbox{,}}$
(11)

 $u_{1{\mbox{,}}n+1}=u_{1{\mbox{,}}n}+\epsilon u_{1{\mbox{,}}n}^{c}{\mbox{,}}$
(12)

where ε is artificially introduced as a small parameter. Reorganizing Eq. (7) for Eq. (9) yields

 ${\frac {{du}_{1{\mbox{,}}n}^{c}}{dt}}+{\frac {\partial F_{1}/\partial u_{n+1}}{\partial F_{1}/\partial {\overset {\cdot }{u}}_{n+1}}}u_{1{\mbox{,}}n}^{c}=$$-{\frac {\epsilon F_{1}}{\partial F_{1}/\partial {\overset {\cdot }{u}}_{n+1}}}-$${\frac {\partial F_{1}/\partial \epsilon }{\partial F_{1}/\partial {\overset {\cdot }{u}}_{n+1}}}{\mbox{,}}$
(13)

where the derivatives are

 ${F_{1}}_{\epsilon =0}={\overset {\cdot }{u}}_{n}-{bu}_{n}{\mbox{,}}\quad {\frac {\partial F_{1}}{\partial u_{n+1}}}_{\epsilon =0}=$$-b{\mbox{,}}\quad {\frac {\partial F_{1}}{\partial {\overset {\cdot }{u}}_{n+1}}}_{\epsilon =0}=$$1{\mbox{,}}\quad {\frac {\partial F_{1}}{\partial \epsilon }}_{\epsilon =0}=$$-a\quad u_{n}^{2}{\mbox{.}}$
(14)

Finally, the iteration equation is obtained by substituting (14) into (13) and setting ε = 1:

 ${\frac {{du}_{1{\mbox{,}}n}^{c}}{dt}}-{bu}_{1{\mbox{,}}n}^{c}=$$-{\overset {\cdot }{u}}_{1{\mbox{,}}n}+{bu}_{1{\mbox{,}}n}+$${au}_{1{\mbox{,}}n}^{2}{\mbox{.}}$
(15)

One can take the initially assumed function as follows:

 $u_{1{\mbox{,}}0}=\alpha e^{bt}{\mbox{,}}$
(16)

which satisfy the initial condition exactly.

Starting with the above initial function, first ${\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:

 $u_{1{\mbox{,}}1}=\alpha {\mbox{e}}^{bt}+{\frac {{\alpha }^{2}a}{b}}{\mbox{e}}^{bt}(e^{bt}-$$1){\mbox{,}}$
(17)
 $u_{1{\mbox{,}}2}=\alpha {\mbox{e}}^{bt}+{\frac {{\alpha }^{2}a{\mbox{e}}^{bt}({\mbox{e}}^{bt}-1)}{b}}+$${\frac {{\alpha }^{3}a^{2}{\mbox{e}}^{bt}{\left({\mbox{e}}^{bt}-1\right)}^{2}}{b^{2}}}+$${\frac {{\alpha }^{4}a^{3}{\mbox{e}}^{bt}{\left({\mbox{e}}^{bt}-1\right)}^{3}}{3b^{3}}}{\mbox{.}}$
(18)

#### 3.1.2. Perturbation iteration method with second order derivatives in the Taylor series expansion PIA(1,2)

Taking up to second order derivative terms in the Taylor series expansion leads to the iteration formula:

 ${\frac {{du}_{1{\mbox{,}}n}^{c}}{dt}}-(b+2{au}_{1{\mbox{,}}n})u_{1{\mbox{,}}n}^{c}=$$-{\overset {\cdot }{u}}_{1{\mbox{,}}n}+{bu}_{1{\mbox{,}}n}+$${au}_{1{\mbox{,}}n}^{2}{\mbox{.}}$
(19)

Using the same initial guess function ${\textstyle u_{1{\mbox{,}}0}=\alpha e^{bt}{\mbox{,}}}$ one can obtain the first iteration solution:

 $u_{1{\mbox{,}}1}={\frac {\alpha }{2}}e^{bt}\left(1+e^{{\frac {2\alpha a}{b}}(e^{bt}-1)}\right){\mbox{,}}$
(20)

The second and third iteration solutions are as follows:

 $u_{1{\mbox{,}}2}={\frac {\alpha {\mbox{e}}^{bt-{\frac {2a\alpha }{b}}}}{8}}\left(3{\mbox{e}}^{\frac {2a\alpha }{b}}+\right.$$\left.4{\mbox{e}}^{\frac {2a\alpha {\mbox{e}}^{bt}}{b}}+\right.$$\left.{\mbox{e}}^{\frac {2\alpha a(2{\mbox{e}}^{bt}-1)}{b}}-\right.$$\left.{\frac {4\alpha a}{b}}{\mbox{e}}^{\frac {2\alpha a{\mbox{e}}^{bt}}{b}}({\mbox{e}}^{bt}-\right.$$\left.1)\right){\mbox{,}}$
(21)
 $u_{1{\mbox{,}}3}={\frac {1}{384}}{\mbox{e}}^{bt-{\frac {6a\alpha }{b}}}\alpha 117{\mbox{e}}^{\frac {6a\alpha }{b}}+$$15{\mbox{e}}^{\frac {6a{\mbox{e}}^{bt}\alpha }{b}}+161{\mbox{e}}^{\frac {2a(2+{\mbox{e}}^{bt})\alpha }{b}}+$$90{\mbox{e}}^{\frac {2a(1+2{\mbox{e}}^{bt})\alpha }{b}}+$${\mbox{e}}^{\frac {2a(-1+4{\mbox{e}}^{bt})\alpha }{b}}$ $-{\frac {12a}{b}}{\mbox{e}}^{\frac {2a{\mbox{e}}^{bt}\alpha }{b}}(-$$1+{\mbox{e}}^{bt})(20{\mbox{e}}^{\frac {4a\alpha }{b}}+$${\mbox{e}}^{\frac {4a{\mbox{e}}^{bt}\alpha }{b}}+12{\mbox{e}}^{\frac {2a(1+{\mbox{e}}^{bt})\alpha }{b}})\alpha$ $+{\frac {24{\alpha }^{2}a^{2}}{b^{2}}}{\mbox{e}}^{\frac {2a(1+{\mbox{e}}^{bt})\alpha }{b}}{\left(-1+{\mbox{e}}^{bt}\right)}^{2}\left(5{\mbox{e}}^{\frac {2a\alpha }{b}}+\right.$$\left.2{\mbox{e}}^{\frac {2a{\mbox{e}}^{bt}\alpha }{b}}\right){\mbox{.}}$
(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.

### 3.2. Two dimensional system (system with two species, K = 2)

Two dimensional Lotka–Volterra system was first proposed by Lotka  and Volterra  without knowing each other’s work. The following two dimensional competitive Lotka–Volterra equation models a pair of species competing for a common resource:

 ${\frac {{du}_{1}}{dt}}=u_{1}(b_{1}+a_{11}u_{1}+a_{12}u_{2}){\mbox{,}}u_{1}(0)=$$\alpha {\mbox{,}}$ ${\frac {{du}_{2}}{dt}}=u_{2}(b_{2}+a_{21}u_{1}+a_{22}u_{2}){\mbox{,}}u_{2}(0)=$$\beta {\mbox{,}}$
(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:

 $F_{1}={\overset {\cdot }{u}}_{1{\mbox{,}}n+1}-u_{1{\mbox{,}}n+1}(b_{1}+$$\epsilon a_{11}u_{1{\mbox{,}}n+1}+\epsilon a_{12}u_{2{\mbox{,}}n+1})=$$0$ $F_{2}={\overset {\cdot }{u}}_{2{\mbox{,}}n+1}-u_{2{\mbox{,}}n+1}(b_{2}+$$\epsilon a_{21}u_{1{\mbox{,}}n+1}+\epsilon a_{22}u_{2{\mbox{,}}n+1})=$$0{\mbox{.}}$
(24)

Setting K = 2 and M = 1, transforms Eq. (7) into the following:

 $F_{1}\cong {F_{1}}_{\epsilon =0}+{\left\{\left[{\overset {\cdot }{u}}_{1{\mbox{,}}n}^{c}{\frac {\partial }{\partial {\overset {\cdot }{u}}_{1{\mbox{,}}n+1}}}+u_{1{\mbox{,}}n}^{c}{\frac {\partial }{\partial u_{1{\mbox{,}}n+1}}}+u_{2{\mbox{,}}n}^{c}{\frac {\partial }{\partial u_{2{\mbox{,}}n+1}}}+{\frac {\partial }{\partial \epsilon }}\right]F_{1}\right\}}_{\epsilon =0}\epsilon =$$0$ $F_{2}\cong {F_{2}}_{\epsilon =0}+{\left\{\left[{\overset {\cdot }{u}}_{2{\mbox{,}}n}^{c}{\frac {\partial }{\partial {\overset {\cdot }{u}}_{2{\mbox{,}}n+1}}}+u_{2{\mbox{,}}n}^{c}{\frac {\partial }{\partial u_{2{\mbox{,}}n+1}}}+u_{1{\mbox{,}}n}^{c}{\frac {\partial }{\partial u_{1{\mbox{,}}n+1}}}+{\frac {\partial }{\partial \epsilon }}\right]F_{2}\right\}}_{\epsilon =0}\epsilon =$$0$
(25)

with

 ${F_{1}}_{\epsilon =0}={\overset {\cdot }{u}}_{1{\mbox{,}}n}-$$b_{1}u_{1{\mbox{,}}n}{\mbox{,}}\quad {F_{2}}_{\epsilon =0}=$${\overset {\cdot }{u}}_{2{\mbox{,}}n}-b_{2}u_{2{\mbox{,}}n}{\mbox{,}}\quad {\frac {\partial F_{1}}{\partial {\overset {\cdot }{u}}_{1{\mbox{,}}n+1}}}_{\epsilon =0}=$$1{\mbox{,}}\quad {\frac {\partial F_{2}}{\partial {\overset {\cdot }{u}}_{2{\mbox{,}}n+1}}}_{\epsilon =0}=$$1{\mbox{,}}$ ${\frac {\partial F_{1}}{\partial u_{1{\mbox{,}}n+1}}}_{\epsilon =0}=$$-b_{1}{\mbox{,}}\quad {\frac {\partial F_{1}}{\partial u_{2{\mbox{,}}n+1}}}_{\epsilon =0}=$$0{\mbox{,}}\quad {\frac {\partial F_{1}}{\partial \epsilon }}_{\epsilon =0}=$$-a_{11}u_{1{\mbox{,}}n}^{2}-a_{12}u_{1{\mbox{,}}n}u_{2{\mbox{,}}n}{\mbox{,}}$ ${\frac {\partial F_{2}}{\partial \epsilon }}_{\epsilon =0}=$$-a_{22}u_{2{\mbox{,}}n}^{2}-a_{21}u_{1{\mbox{,}}n}u_{2{\mbox{,}}n}{\mbox{,}}\quad {\frac {\partial F_{2}}{\partial u_{2{\mbox{,}}n+1}}}_{\epsilon =0}=$$-b_{2}{\mbox{,}}\quad {\frac {\partial F_{2}}{\partial u_{1{\mbox{,}}n+1}}}_{\epsilon =0}=$$0{\mbox{.}}$
(26)

Substituting (26) into (25) leads to the final form of the iteration equation:

 ${\overset {\cdot }{u}}_{1{\mbox{,}}n}^{c}-b_{1}u_{1{\mbox{,}}n}^{c}=$$a_{11}u_{1{\mbox{,}}n}^{2}+a_{12}u_{1{\mbox{,}}n}u_{2{\mbox{,}}n}-$${\overset {\cdot }{u}}_{1{\mbox{,}}n}+b_{1}u_{1{\mbox{,}}n}{\mbox{,}}$ ${\overset {\cdot }{u}}_{2{\mbox{,}}n}^{c}-b_{2}u_{2{\mbox{,}}n}^{c}=$$a_{22}u_{2{\mbox{,}}n}^{2}+a_{21}u_{1{\mbox{,}}n}u_{2{\mbox{,}}n}-$${\overset {\cdot }{u}}_{2{\mbox{,}}n}+b_{2}u_{2{\mbox{,}}n}{\mbox{.}}$
(27)

As Eq. (4) become:

 $u_{1{\mbox{,}}n+1}=u_{1{\mbox{,}}n}+u_{1{\mbox{,}}n}^{c}{\mbox{,}}$ $u_{2{\mbox{,}}n+1}=u_{2{\mbox{,}}n}+u_{2{\mbox{,}}n}^{c}{\mbox{,}}$
(28)

taking

 $u_{1{\mbox{,}}0}=\alpha e^{b_{1}t}{\mbox{,}}\quad u_{2{\mbox{,}}0}=$$\beta e^{b_{2}t}{\mbox{,}}$
(29)

as an initial approximation satisfying the initial conditions leads to the following:

 $u_{1{\mbox{,}}0}^{c}={\frac {{\alpha }^{2}a_{11}{\mbox{e}}^{{tb}_{1}}(-1+{\mbox{e}}^{{tb}_{1}})}{b_{1}}}+$${\frac {\alpha \beta a_{12}{\mbox{e}}^{{tb}_{1}}(-1+{\mbox{e}}^{{tb}_{2}})}{b_{2}}}{\mbox{,}}$ $u_{2{\mbox{,}}0}^{c}={\frac {\alpha \beta a_{21}{\mbox{e}}^{{tb}_{2}}(-1+{\mbox{e}}^{{tb}_{1}})}{b_{1}}}+$${\frac {{\beta }^{2}a_{22}{\mbox{e}}^{{tb}_{2}}(-1+{\mbox{e}}^{{tb}_{2}})}{b_{2}}}{\mbox{,}}$
(30)

as correction terms. Combining (29) and (30) in (28) yields the first iteration solutions:

 $u_{1{\mbox{,}}1}=\alpha {\mbox{e}}^{{tb}_{1}}+{\frac {{\alpha }^{2}a_{11}{\mbox{e}}^{{tb}_{1}}(-1+{\mbox{e}}^{{tb}_{1}})}{b_{1}}}+$${\frac {\alpha \beta a_{12}{\mbox{e}}^{{tb}_{1}}(-1+{\mbox{e}}^{{tb}_{2}})}{b_{2}}}{\mbox{,}}$ $u_{2{\mbox{,}}1}=\beta {\mbox{e}}^{{tb}_{2}}+{\frac {\alpha \beta a_{21}{\mbox{e}}^{{tb}_{2}}(-1+{\mbox{e}}^{{tb}_{1}})}{b_{1}}}+$${\frac {{\beta }^{2}a_{22}{\mbox{e}}^{{tb}_{2}}(-1+{\mbox{e}}^{{tb}_{2}})}{b_{2}}}{\mbox{.}}$
(31)

For briefness, higher iteration results are not given here, but numerical results of those are given in numerical comparison tables.

### 3.3. Three dimensional system (system with three species, K = 3)

The three dimensional Lotka–Volterra system models population dynamics of three competitive species in an ecosystem :

 ${\frac {{du}_{1}}{dt}}=u_{1}(b_{1}+a_{11}u_{1}+a_{12}u_{2}+a_{13}u_{3}){\mbox{,}}\quad u_{1}(0)=$$\alpha {\mbox{,}}$ ${\frac {{du}_{2}}{dt}}=u_{2}(b_{2}+a_{21}u_{1}+a_{22}u_{2}+a_{23}u_{3}){\mbox{,}}\quad u_{2}(0)=$$\beta {\mbox{,}}$ ${\frac {{du}_{3}}{dt}}=u_{3}(b_{3}+a_{31}u_{1}+a_{32}u_{2}+a_{33}u_{3}){\mbox{,}}\quad u_{3}(0)=$$\gamma {\mbox{.}}$
(32)

Using ${\textstyle u_{1{\mbox{,}}0}=\alpha {\mbox{e}}^{b_{1}t}{\mbox{,}}}$${\textstyle u_{2{\mbox{,}}0}=\beta {\mbox{e}}^{b_{2}t}{\mbox{,}}}$${\textstyle u_{3{\mbox{,}}0}=\gamma {\mbox{e}}^{b_{3}t}}$ as initial functions, approximate solutions after the first iteration are as follows:

 $u_{1{\mbox{,}}1}=\alpha {\mbox{e}}^{{tb}_{1}}+{\frac {{\alpha }^{2}a_{11}{\mbox{e}}^{{tb}_{1}}(-1+{\mbox{e}}^{{tb}_{1}})}{b_{1}}}+$${\frac {\alpha \beta a_{12}{\mbox{e}}^{{tb}_{1}}(-1+{\mbox{e}}^{{tb}_{2}})}{b_{2}}}+$${\frac {\alpha \gamma a_{13}{\mbox{e}}^{{tb}_{1}}(-1+{\mbox{e}}^{{tb}_{3}})}{b_{3}}}{\mbox{,}}$
(33)
 $u_{2{\mbox{,}}1}=\beta {\mbox{e}}^{{tb}_{2}}+{\frac {\alpha \beta a_{21}{\mbox{e}}^{{tb}_{2}}(-1+{\mbox{e}}^{{tb}_{1}})}{b_{1}}}+$${\frac {{\beta }^{2}a_{22}{\mbox{e}}^{{tb}_{2}}(-1+{\mbox{e}}^{{tb}_{2}})}{b_{2}}}+$${\frac {\beta \gamma a_{23}{\mbox{e}}^{{tb}_{2}}(-1+{\mbox{e}}^{{tb}_{3}})}{b_{3}}}{\mbox{,}}$
(34)
 $u_{3{\mbox{,}}1}=\gamma {\mbox{e}}^{{tb}_{3}}+{\frac {\alpha \gamma a_{31}{\mbox{e}}^{{tb}_{3}}(-1+{\mbox{e}}^{{tb}_{1}})}{b_{1}}}+$${\frac {\beta \gamma a_{32}{\mbox{e}}^{{tb}_{3}}(-1+{\mbox{e}}^{{tb}_{2}})}{b_{2}}}+$${\frac {{\gamma }^{2}a_{33}{\mbox{e}}^{{tb}_{3}}(-1+{\mbox{e}}^{{tb}_{3}})}{b_{3}}}{\mbox{.}}$
(35)

For second and higher iteration solutions, the parameters have to be set to values.

### 3.4. Multi-dimensional Lotka–Volterra Equations

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:

 $F_{k}={\overset {\cdot }{u}}_{k{\mbox{,}}n+1}-u_{k{\mbox{,}}n+1}\left(b_{k}+\right.$$\left.\epsilon \sum _{j=1}^{K}a_{kj}u_{j{\mbox{,}}n+1}\right)=$$0{\mbox{.}}$
(36)

For m = 1, the terms included in Eq. (7) are as follows:

 ${F_{k}}_{\epsilon =0}={\overset {\cdot }{u}}_{k{\mbox{,}}n}-$$b_{k}u_{k{\mbox{,}}n}{\mbox{,}}{\frac {\partial F_{k}}{\partial {\overset {\cdot }{u}}_{k{\mbox{,}}n+1}}}_{\epsilon =0}=$$1{\mbox{,}}\quad {\frac {\partial F_{k}}{\partial u_{k{\mbox{,}}n+1}}}_{\epsilon =0}=$$-b_{k}{\mbox{,}}\quad {\frac {\partial F_{k}}{\partial \epsilon }}_{\epsilon =0}=$$-\sum _{j=1}^{K}a_{kj}u_{k{\mbox{,}}n}u_{j{\mbox{,}}n}{\mbox{.}}$
(37)

Hence substituting these terms in Eq. (7) yields

 ${\overset {\cdot }{u}}_{k{\mbox{,}}n}^{c}-b_{k}u_{k{\mbox{,}}n}^{c}=$$-{\overset {\cdot }{u}}_{k{\mbox{,}}n}+b_{k}u_{k{\mbox{,}}n}+$$\sum _{j=1}^{K}a_{kj}u_{k{\mbox{,}}n}u_{j{\mbox{,}}n}{\mbox{.}}$
(38)

Integrating Eq. (38) gives the following:

 $u_{k{\mbox{,}}n}^{c}=e^{b_{k}t}\left(-\int e^{-b_{k}t}{\overset {\cdot }{u}}_{k{\mbox{,}}n}dt+\right.$$\left.\int e^{-b_{k}t}b_{k}u_{k{\mbox{,}}n}+\int e^{-b_{k}t}\sum _{j=1}^{K}a_{kj}u_{k{\mbox{,}}n}u_{j{\mbox{,}}n}dt+\right.$$\left.c_{n}\right){\mbox{,}}$
(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:

 $u_{k{\mbox{,}}n+1}=u_{k{\mbox{,}}n}+e^{b_{k}t}\left(-\int e^{-b_{k}t}{\overset {\cdot }{u}}_{k{\mbox{,}}n}dt+\right.$$\left.\int e^{-b_{k}t}b_{k}u_{k{\mbox{,}}n}+\int e^{-b_{k}t}\sum _{j=1}^{K}a_{kj}u_{k{\mbox{,}}n}u_{j{\mbox{,}}n}dt+\right.$$\left.c_{n}\right){\mbox{.}}$
(40)

## 4. Numerical results and comparisons

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.

Table 1. Comparisons of perturbation–iteration solutions of (9) with exact solution  (a = −3, b = 1 and α = 0.1).
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.

Table 2. Comparisons of perturbation–iteration solutions of (23) with numerical solutions  (b1 = 0.1, a11 = −0.0014, a12 = −0.0012, b2 = 0.08, a21 = −0.0009, a22 = −0.001, α = 4 and β = 10).
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.

Table 3. Comparisons of perturbation–iteration solutions of (32) with numerical solutions  (b1 = 1, a11 = −1, a12 = −0.1, a13 = −0.1, b2 = 1, a21 = −0.1, a22 = −1, a23 = −0.1, b3 = 1, a31 = −0.1, a32 = −0.1, a33 = −1, α = 0.2, β = 0.3, γ = 0.5).
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

## 5. The mathematica package

To use the code, first load the Mathematica package PerturbationIteration.m  using the command

 In:=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: = PerturbationIterationAlgorithm[ {u′[t] == u[t] (b1 + a11 u[t] + a12 v[t]), v′[t] == v[t] (b2 + a21 u[t] + a22 v[t])}, {u == α, v == β}, {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[ , , , , , , , ]

where <options> can be Perturbation Parameter → <parameter>, IntroduceEpsilon → <True | False >, or GivenUZero → <list of ${\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 ${\textstyle u_{j{\mbox{,}}0}}$. If GivenUZero is set to a user defined expression as GivenUZero ->{${\textstyle u_{1{\mbox{,}}0}}$,${\textstyle u_{2{\mbox{,}}0}{\mbox{,}}}$…} then computations continue using the initial guess values ${\textstyle u_{1{\mbox{,}}0}}$,${\textstyle u_{2{\mbox{,}}0}{\mbox{,}}}$….

Further documentation and more examples about the package can be found in .

## 6. Concluding remarks

In this study, the perturbation–iteration method  and  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 .

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.

### Document information Published on 12/04/17

Licence: Other

### Document Score 0

Views 70
Recommendations 0 