Abstract

In this paper, optimal homotopy asymptotic method (OHAM) and its implementation on subinterval, called multistage optimal homotopy asymptotic method (MOHAM), are presented for solving linear and nonlinear systems of Volterra integral equations of the second kind. To illustrate these approaches two examples are presented. The results confirm the efficiency and ability of these methods for such equations. The results will be compared to find out which method is more accurate. Advantages of applying MOHAM are also illustrated.

1. Introduction

Integral equations, differential equations, integrodifferential equations, and system of such equations, linear and nonlinear, usually appeared in mathematical modeling of different phenomena in physics, biology, and engineering [14].

There are various numerical methods for finding approximate solutions of a system of integral equations and a system of integrodifferential equations such as differential transform method [5], Adomian decomposition method [6], modified homotopy perturbation method [79], homotopy perturbation method [10], block by block method [11], Galerkin method [12], rationalized Haar functions method [2, 3], Runge-Kutta method [13], homotopy analysis method [14], Tau method [15], and variational iteration method [16].

Moreover, Sezar et al. applied Chebyshev polynomial method and Taylor collocation method for systems of linear differential equations and integrodifferential equations [1, 17]. Yusufoglu employed homotopy pertubation method to solve a system of Fredholm–Volterra type integral equations [18].

One of the powerful and efficient methods for solving integral equations is OHAM. In this paper, we apply OHAM to solve systems of integral equations of the second kind. We will also consider a modified version of OHAM, that is called multistage optimal homotopy asymptotic method (MOHAM). This approach was introduced for the first time by Anakira et al. to approximate the solutions of differential equations with initial-values [19].

The organization of this research is as follows: in Section 2, OHAM and MOHAM are introduced. In Sections 3 and 4, applications of OHAM and MOHAM to system of Volterra integral equations of the second kind are explained, respectively. Section 5 is devoted to proving the convergence of OHAM. In section six, illustrative examples are presented, and conclusion appeared in the last section.

2. OHAM and MOHAM

The OHAM approach is usually applied to solve boundary value problems; say where and are linear and nonlinear functional operators, respectively. is a known function, is an unknown function, and is a boundary operator [2024].

According to OHAM we construct a homotopy for (1) as follows: where is an embedding parameter; , for , is a nonzero auxiliary function such that . For and we have , and , respectively. Thus, as increases from to , the solution varies from to the solution , where is an initial guess, for the solution, that satisfies the linear operator which is obtained from (2), for ;The auxiliary function is considered as the following power series in :where , are constants that will be determined later.

Let us consider the approximate solution, , as a power series about Substitution in (2) from (5) and equating the coefficients of the terms with identical powers of lead to governing equations of , , for , which starts from (3), followed bywhere is the coefficient of in the expansion of about the embedding parameter where is given by (5).

Studying the rate of convergence of the series (5) depends upon the auxiliary constants , . If the series (5) converges for , one has Then the th order approximation is as follows: Substitution of (10) into (1) results in the following expression for residual: If , then will be an exact solution and this, in general, does not happen especially in nonlinear problems. In order to find the optimal values of , , we apply least square minimization approach wherewhere and are two values, depending on the given problem. Knowing , , from (12), the approximate solution of order will be determined easily.

If the interval of changes of the time variable is long, then OHAM fails to reach accurate solutions.

MOHAM overcomes this shortcoming by partitioning the time interval, , into subintervals , where and OHAM will be applied over each subintervals. The solution at the last point, in each subinterval, denotes an initial approximation to the solution, over the next interval. The process will continue until we achieve the preassigned time,

Implementation of MOHAM is almost the same as OHAM, with some minor changes.

Equations (4), (10), (11), (12), and (13) change to (16), (17), (18), (20), and (19), respectively. Also, initial approximation in , , will be considered as In addition, deformation equation in each subinterval for , , will change to the following [19]:Moreover, auxiliary function will be generalized as follows:The length of the subinterval is apparently , and the number of subintervals is . Now, we consider derivatives of (19), with respect to , to zero. In fact we define , in each subinterval . Therefore, the convergence control parameters can be determined from the solution of the following system of equations:Approximate analytic solutions, on each subinterval, are as follows:

3. Application of OHAM to Systems of Volterra Integral Equations

In this section, we apply OHAM on the following system of Volterra integral equations: where andIn (22), is the kernel that is known, is given vector, and is an unknown vector function. Consider th equation of (22)Using aforementioned OHAM procedure results in the following sequential equations, for Using (11)–(13), we find ,

Knowing these parameters, an approximate solution, of order , will be determined.

4. Application of MOHAM to Systems of Volterra Integral Equations

In this section, we apply MOHAM to (22). This procedure leads to the following sequence of equations, for In addition, by using (18)–(20), we find , , ,

Knowing that the values are parameters, the approximate solution of order will be determined.

5. Convergence of the OHAM

There are two proofs presented in [19, 20] that have some oversight. The following proof covers these shortcoming.

Theorem 1. If series (9) convergences to where is produced by (3), (6), and (7), then is the exact solution of (1).

Proof. Since the seriesconverges; it holdsThe left hand-side of (7) satisfiesAccording to (29), we have Since the operator is linear, from (30), we have ThenEquation (32) can be written as follows:If the , , chosen properly, then (33) leads to (1).

6. Numerical Examples

In this section, two systems of Volterra integral equations of the second kind, a linear and a nonlinear, will be solved to show the efficiency of both OHAM and MOHAM. The results of applying OHAM and MOHAM will be compared. Matlab package is used to carry out computations, with double precision.

Example 1. let us consider the following linear system of Volterra integral equations of the second kind, with exact solutions and .The following aforementioned OHAM procedure results inReplacement of the first, second, third, and forth terms in , , results in Using the same technique as presented by (11)–(13), we find , , and , , as follows:Substituting the values of , , , and , , and , into (37) and (38), one obtainsTo derive a solution to (34), for , by MOHAM, we consider the following initial approximation:Now, consider the auxiliary function , as the following:where , , , , are still unknown.
Regarding (17), the first-order approximate solution, for , is as follows: whereSubstitution of (44) and (45) into (43), regarding (41) and using (18)–(20), determines the residual and the functional , and for , respectivelyMinimization condition requiredParameters that control the convergence, , , , , are presented in Table 1, by considering , , and , for up to
By substituting the values of the control parameters ’s into (44) and (45), one obtainsExpressions of the solution of the other interval are too long, that is why they are not presented here. Interested readers can calculate the solutions by the program appeared in Appendix A.
First-order MOHAM approximate solutions and three-order OHAM approximate solutions can be compared with exact solutions in Tables 2 and 3, and plots are presented in Figures 1 and 2.
Absolute errors for OHAM and MOHAM are plotted in Figures 3 and 4.
Exact , OHAM , and MOHAM stand for exact solution of , the solution of by OHAM, and solution of by MOHAM, respectively.

Example 2. let us consider the following nonlinear system of Volterra integral equations of the second kind, with the exact solutions and . Following the procedure in Example 1, we haveParameters that control the convergence, , , , are presented in Table 4, by considering , , , for up to
Therefore, the approximate solutions can be written in the following form:Due to the long expressions of the solutions on other intervals, the results are not reported, but related programs will be appeared in Appendix B.
First-order MOHAM approximate solution and three-order OHAM approximate solution can be compared with an exact solution in Tables 5 and 6, and plots are presented in Figures 5 and 6.
Absolute errors for OHAM and MOHAM are plotted in Figures 7 and 8.

7. Conclusion and Discussion

In this paper, two well known approaches, OHAM, and MOHAM, have been applied for solving linear and nonlinear systems of Volterra integral equations of the second kind. The results of applying these two approaches are presented in Tables and are plotted in Figures. Tables 3 and 6 show the absolute errors of applying OHAM and MOHAM at some selected points. Comparing numerical results, reveal that MOHAM is more accurate than OHAM, especially for the points farther from the initial point. Moreover MOHAM is very efficient and convenient to use for finding approximation solution for system of Volterra integral equations of the second kind.

Appendix

A. Example 1

clear; clc; format long g; close allT=1; dt=0.02; tt=0:dt:T; tic%h=0.2;%u1exact=@(x)exp(x);u2exact=@(x)exp(-x);ttt=0:h:T; alfa1=0; alfa2=0; v=5;options = optimoptions('fsolve', 'Display', 'off','Algorithm', 'trust-region-dogleg',...'MaxFunEvals',1e6,'MaxIter',1000,'TolFun',1e-10,'TolX',1e-10);syms x t c1 c2 c3u10=alfa1; u20=alfa2;H1=c1+ c2x+c32;h1=1-(2)/2; h2=1+(2)/2;for i=1:length(ttt)-1f10=subs(u10,x,t); f20=texp(t)subs(u20,x,t); f30=texp(-t)subs(u10,x,t); f40=subs(u20,x,t);f1=f10+f20;f2=f30+f40;in1=int(f1,t,0,x );u11=H1 ( u10 -h1 -in1 );in2=int(f2,t,0,x );u21=H1 ( u20 -h2 +in2 );ut1=u10+u11; ut2=u20+u21;g1=subs(ut1,x,t); g2=subs(ut2,x,t);ig1=g1+texp(t)g2; int1=int(ig1,t,0,x);R1=ut1-h1-int1;I1=vpa(R2,v);I11=int(I1,x,ttt(i),ttt(i+1));J1=vpa( I11, v);fprintf('∖n∖n J1(x) = %s, ∖n',char((vpa(J1,v))) );ig2=texp-t)g1+g2; int2=int(ig2,t,0,x);R2=ut2-h2+int2;I2=vpa(R2,v);I21=int(I2,x,ttt(i),ttt(i+1));J2=vpa( I21, v);fprintf('∖n∖n J2(x) = %s, ∖n',char((vpa(J2,v))) );J11 = vpa(diff(J1,c1),v);J12 = vpa(diff(J1,c2),v);J13 = vpa(diff(J1,c3),v);J21 = vpa(diff(J2,c1),v);J22 = vpa(diff(J2,c2),v);J23 = vpa(diff(J2,c3),v);global dJ11 dJ12 dJ13 dJ21 dJ22 dJ23;dJ11=@(c1,c2,c3)eval(char(J11)); dJ12=@(c1,c2,c3)eval(char(J12)); dJ13=@(c1,c2,c3)eval(char(J13));dJ21=@(c1,c2,c3)eval(char(J21)); dJ22=@(c1,c2,c3)eval(char(J22)); dJ23=@(c1,c2,c3)eval(char(J23));options = optimoptions('fsolve', 'Display', 'off','Algorithm', 'trust-region-dogleg',...'MaxFunEvals',1e6,'MaxIter',1000,'TolFun',1e-10,'TolX',1e-10);cc1=fsolve(@Sifun1,,options);cc2=fsolve(@Sifun2,,options);fprintf('∖n∖n∖n∖t∖t∖t∖t∖t∖tc11 = %1.10f,∖n∖n ∖t∖t∖t∖t∖t∖tc12 = %1.10f,∖n∖n ∖t∖t∖t∖t∖t∖tc13 = %1.10f,∖n∖n',cc1(1),cc1(2),cc1(3));fprintf('∖n∖n∖n∖t∖t∖t∖t∖t∖tc21 = %1.10f,∖n∖n ∖t∖t∖t∖t∖t∖tc22 = %1.10f,∖n∖n ∖t∖t∖t∖t∖t∖tc23 = %1.10f, ∖n∖n',cc2(1),cc2(2),cc2(3));u1=( subs( ut1,[c1,c2,c3],[cc1(1),cc1(2),cc1(3)] ) );u2=( subs( ut2,[c1,c2,c3],[cc2(1),cc2(2),cc2(3)] ) );fprintf('∖n∖n u1(%g) = %s, ∖n',ttt(i),char(vpa(u1,v)) );fprintf('∖n∖n u2(%g) = %s, ∖n',ttt(i),char(vpa(u2,v)) );yy1=@(x)eval(char(u1));yy2=@(x)eval(char(u2));yy=@(x)eval(char(u));mt=ttt(i):dt:ttt(i+1);for j=1:length(mt)yyn1(j)=yy1(mt(j));yyn2(j)=yy2(mt(j));y1exn(j)=u1exact(mt(j));y2exn(j)=u2exact(mt(j));endyapp=yyn1; yapp=yyn2; yex=y1exn; yex=y2exn;u10=u1; u20=u2;endyapprox1=yapp; yapprox2=yapp; yexact1=yex; yexact2=yex;for i=2:length(ttt)-1yapprox1=[yapprox1,yapp(2:end)];yapprox2=[yapprox2,yapp(2:end)];yexact1=[yexact1,yex(2:end)];yexact2=[yexact2,yex(2:end)];endth=0:0.1:T; er1=abs(yexact1-yapprox1); er2=abs(yexact2-yapprox2);for i=1:length(th)k(i)=round(th(i)/dt)+1;endL='t', 'Exact1', 'Exact2', ' MOHAM1', ' MOHAM2', 'Error1', 'Error2';table(th',yexact1(k)', yexact2(k)', yapprox1(k)', yapprox2(k)',er1(k)',er2(k) ','VariableNames',L)figure('Units','characters','Name','p1','Position',);plot(tt,yexact1,'linewidth',2);hold on;plot(tt,yapprox1,'o','MarkerSize',8); grid on; grid minor; axis tight;xlabel('x','fontweight','Bold');legend('u_1 Exact solution','u_1 MOHAM solution', 'Location','northwest');set( gca, 'fontname', 'Euclid', 'fontsize',12 );figure('Units','characters','Name', 'p2', 'Position',);plot(tt,yexact2,'linewidth',2);hold on;plot(tt,yapprox2,'o','MarkerSize',8); grid on; grid minor; axis tight;xlabel('x','fontweight','Bold');legend('u_2 Exact solution','u_2 MOHAM solution', 'Location', 'northwest');set( gca, 'fontname', 'Euclid', 'fontsize',12 );figure('Units','characters','Name','Error1', 'Position',);plot(tt,er1,'linewidth',2);grid on; grid minor; axis tight; xlabel('x','fontweight', 'Bold');ch=ylabel('u_1 Absolute Error', 'fontweight', 'Bold');set( gca, 'fontname', 'Euclid','fontsize',12 );figure('Units','characters','Name','Error2', 'Position',);plot(tt,er2,'linewidth',2);grid on; grid minor; axis tight; xlabel('x', 'fontweight', 'Bold');ch=ylabel('u_1 Absolute Error','fontweight','Bold');set( gca, 'fontname', 'Euclid', 'fontsize',12 );save moham yexact1 yexact2 yapprox1 yapprox2 er1 er2 tt

B. Example 2

clear; clc; format long g; close allT=1; dt=0.02; tt=0:dt:T; tic%h=0.2;%u1exact=@(x)x;u2exact=@(x)x;ttt=0:h:T; alfa1=0; alfa2=0; v=6;options = optimoptions('fsolve','Display', 'off','Algorithm', 'trust-region-dogleg',...'MaxFunEvals',1e6,'MaxIter',1000,'TolFun',1e-10,'TolX',1e-10);syms x t c1 c2 c3u10=alfa1; u20=alfa2;H1=c1+ c2x+c32;h1=x-2; h2=x-(2/2)-(3/3);for i=1:length(ttt)-1f10=subs(u10,x,t); f20=subs(u20,x,t); f30=f12;f1=f10+f20;in1=int(f1,t,0,x );u11=H1( u10 -h1 -in1 );f2=f30+f20;in2=int(f2,t,0,x );u21=H1( u20 -h2 -in2 );ut1=u10+u11; ut2=u20+u21;g1=subs(ut1,x,t); g2=subs(ut2,x,t); g3=g2;ig1=g1+g2; int1=int(ig1,t,0,x);R1=ut1-h1-int1;I1=vpa(R2,v);I11=int(I1,x,ttt(i),ttt(i+1));J1=vpa( I11, v);fprintf('∖n∖n J1(x) = %s, ∖n',char((vpa(J1,v))) );ig2=g2+g3; int2=int(ig2,t,0,x);R2=ut2-h2-int2;I2=vpa(R2,v);I21=int(I2,x,ttt(i),ttt(i+1));J2=vpa( I21, v);fprintf('∖n∖n J2(x) = %s, ∖n',char((vpa(J2,v))) );J11 = vpa(diff(J1,c1),v);J12 = vpa(diff(J1,c2),v);J13 = vpa(diff(J1,c3),v);J21 = vpa(diff(J2,c1),v);J22 = vpa(diff(J2,c2),v);J23 = vpa(diff(J2,c3),v);global dJ11 dJ12 dJ13 dJ21 dJ22 dJ23;dJ11=@(c1,c2,c3)eval(char(J11)); dJ12=@(c1,c2,c3)eval(char(J12)); dJ13=@(c1,c2,c3)eval(char(J13));dJ21=@(c1,c2,c3)eval(char(J21)); dJ22=@(c1,c2,c3)eval(char(J22)); dJ23=@(c1,c2,c3)eval(char(J23));options = optimoptions('fsolve', 'Display', 'off','Algorithm', 'trust-region-dogleg',...'MaxFunEvals',1e6,'MaxIter',1000,'TolFun',1e-10,'TolX',1e-10);cc1=fsolve(@Sifun1,,options);cc2=fsolve(@Sifun2,,options);fprintf('∖n∖n∖n∖t∖t∖t∖t∖t∖tc11 = %1.10f,∖n∖n ∖t∖t∖t∖t∖t∖tc12 = %1.10f,∖n∖n ∖t∖t∖t∖t∖t∖tc13 = %1.10f,∖n∖n',cc1(1),cc1(2),cc1(3));fprintf('∖n∖n∖n∖t∖t∖t∖t∖t∖tc21 = %1.10f,∖n∖n ∖t∖t∖t∖t∖t∖tc22 = %1.10f,∖n∖n ∖t∖t∖t∖t∖t∖tc23 = %1.10f, ∖n∖n',cc2(1),cc2(2),cc2(3));u1=( subs( ut1,[c1,c2,c3],[cc1(1),cc1(2),cc1(3)] ) );u2=( subs( ut2,[c1,c2,c3],[cc2(1),cc2(2),cc2(3)] ) );fprintf('∖n∖n u1(%g) = %s, ∖n',ttt(i),char(vpa(u1,v)) );fprintf('∖n∖n u2(%g) = %s, ∖n',ttt(i),char(vpa(u2,v)) );yy1=@(x)eval(char(u1));yy2=@(x)eval(char(u2));yy=@(x)eval(char(u));mt=ttt(i):dt:ttt(i+1);for j=1:length(mt)yyn1(j)=yy1(mt(j));yyn2(j)=yy2(mt(j));y1exn(j)=u1exact(mt(j));y2exn(j)=u2exact(mt(j));endyapp=yyn1; yapp=yyn2; yex=y1exn; yex=y2exn;u10=u1; u20=u2;endyapprox1=yapp; yapprox2=yapp; yexact1=yex; yexact2=yex;for i=2:length(ttt)-1yapprox1=[yapprox1,yapp(2:end)];yapprox2=[yapprox2,yapp(2:end)];yexact1=[yexact1,yex(2:end)];yexact2=[yexact2,yex(2:end)];endth=0:0.1:T; er1=abs(yexact1-yapprox1); er2=abs(yexact2-yapprox2);for i=1:length(th)k(i)=round(th(i)/dt)+1;endL='t', 'Exact1', 'Exact2', ' MOHAM1', ' MOHAM2', 'Error1', 'Error2';table(th', yexact1(k)', yexact2(k)', yapprox1(k)', yapprox2(k)',er1(k)',er2(k)', 'VariableNames',L)figure('Units', 'characters', 'Name', 'p1', 'Position',);plot(tt,yexact1,'linewidth',2);hold on;plot(tt,yapprox1,'o','MarkerSize',8); grid on; grid minor; axis tight;xlabel('x', 'fontweight', 'Bold');legend('u_1 Exact solution', 'u_1 MOHAM solution', 'Location', 'northwest');set( gca, 'fontname', 'Euclid', 'fontsize',12 );figure('Units', 'characters', 'Name', 'p2', 'Position',);plot(tt,yexact2,'linewidth',2);hold on;plot(tt,yapprox2,'o','MarkerSize',8); grid on; grid minor; axis tight;xlabel('x', 'fontweight', 'Bold');legend('u_2 Exact solution', 'u_2 MOHAM solution', 'Location', 'northwest');set( gca, 'fontname', 'Euclid', 'fontsize',12 );figure('Units', 'characters', 'Name', 'Error1', 'Position',);plot(tt,er1,'linewidth',2);grid on; grid minor; axis tight; xlabel('x', 'fontweight', 'Bold');ch=ylabel('u_1 Absolute Error', 'fontweight', 'Bold');set( gca, 'fontname', 'Euclid', 'fontsize',12 );figure('Units', 'characters', 'Name', 'Error2', 'Position',);plot(tt,er2,'linewidth',2);grid on; grid minor; axis tight; xlabel('x', 'fontweight', 'Bold');ch=ylabel('u_1 Absolute Error', 'fontweight', 'Bold');set( gca, 'fontname', 'Euclid', 'fontsize',12 );save moham yexact1 yexact2 yapprox1 yapprox2 er1 er2 tt

Data Availability

No data were used to support this study.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of the paper.