1 Proceedings 13th IMACS World Congress on

advertisement
1
Proceedings 13th IMACS World Congress on
Computation and Applied Mathematics, Dublin, July 22-26, 1991.
Eds.: R. vichnevetsky and J. J. H. Miller, Criterion Press, Dublin, Vol. 2, pp.
842-843 (1991).
A MACSYMA Program for the Hirota Method
W. Hereman and W. Zhuang
Abstract – Hirota’s method for finding soliton solutions of nonlinear evolution and
wave equations is briefly discussed and illustrated. A MACSYMA program that
automatically carries out the lengthy algebraic computations is included.
I. INTRODUCTION
Hirota’s direct method [1,2] allows to construct exact soliton solutions of nonlinear evolution and wave equations. The lengthy but straightforward calculations
inherent to this method can easily be performed with any symbolic manipulation
program. In this paper we present a sample program in MACSYMA to illustrate the
symbolic calculation of one, two and three soliton solutions of well-known nonlinear
PDEs such as the Korteweg-de Vries, the Boussinesq, the Kadomtsev-Petviashvili,
the Sawada-Kotera and the shallow water wave equations [1-5].
II.
THE HIROTA METHOD
Hirota’s method requires:
(i) a clever change of dependent variable,
(ii) the introduction of a novel differential operator,
(iii) a perturbation expansion to solve the resulting bilinear equation.
Details about the method can be found in almost any book on soliton theory [1-4],
here we merely outline the procedure.
Our leading example is the Korteweg-de Vries equation [1-4],
ut + 6uux + u3x = 0 .
(1)
Substitution of
∂ 2 ln f (x, t)
∂x2
into (1) and one integration with respect to x yields,
u(x, t) = 2
2
f fxt − fx ft + f f4x − 4fx f3x + 3f2x
=0 .
(2)
(3)
This quadratic equation in f can then be written in bilinear form,
def
B(f ·f ) = Dx Dt + Dx4 (f ·f ) = 0 .
(4)
2
where the new operator is given by
Dxm Dtn (f ·g)
= (∂x − ∂x ) (∂t − ∂t ) f (x, t) g(x , t )
0 m
0 n
0
0
.
(5)
x0 =x,t0 =t
Introducing a book keeping parameter , we look for a solution
f =1+
∞
X
n fn .
(6)
n=1
Substituting (6) into (4) and equating to zero the powers of , yields
O(0 ) : B(1·1) = 0 ,
(7)
1
(8)
2
(9)
3
(10)
O( ) : B(1·f1 + f1 ·1) = 0 ,
O( ) : B(1·f2 + f1 ·f1 + f2 ·1) = 0 ,
O( ) : B(1·f3 + f1 ·f2 + f2 ·f1 + f3 ·1) = 0 ,
4
O( ) : B(1·f4 + f1 ·f3 + f2 ·f2 + f3 ·f1 + f4 ·1) = 0 ,
O(n ) : B(
n
X
fj ·fn−j ) = 0 ,
with f0 = 1 ,
(11)
(12)
j=0
This scheme is general whatever the explicit expression of the bilinear operator B
is. For the KdV equation B is given in (4).
If the original PDE admits a N-soliton solution then (6) will truncate at level
n = N provided f1 is the sum of precisely N simple exponential terms. For
simplicity, consider the case of a three soliton solution (N = 3). Then,
f1 =
3
X
exp(θi ) =
i=1
3
X
exp (ki x − ωi t + δi ) ,
(13)
i=1
where ki , ωi and δi are constants. Of course, (7) is trivially satisfied, whereas (8)
determines the dispersion law,
ωi = ki3 ,
i = 1, 2, 3.
(14)
The terms generated by B(f1 , f1 ) in (9) justify the choice
f2 = a12 exp(θ1 + θ2 ) + a13 exp(θ1 + θ3 ) + a23 exp(θ2 + θ3 )
= a12 exp [(k1 + k2 ) x − (ω1 + ω2 ) t + δ1 + δ2 ]
+ a13 exp [(k1 + k3 ) x − (ω1 + ω3 ) t + δ1 + δ3 ]
+ a23 exp [(k2 + k3 ) x − (ω2 + ω3 ) t + δ2 + δ3 ] ,
(15)
and (9) allows to calculate the constants a12 , a13 and a23 . With (14) one obtains
aij =
(ki − kj )2
,
(ki + kj )2
i, j = 1, 2, 3.
(16)
3
Then, B(f1 ·f2 + f2 ·f1 ) in (10) motivates the particular solution
f3 = b123 exp(θ1 + θ2 + θ3 )
= b123 exp [(k1 + k2 + k3 )x − (ω1 + ω2 + ω3 )t + δ1 + δ2 + δ3 ],
(17)
and one calculates
b123 = a12 a13 a23 =
(k1 − k2 )2 (k1 − k3 )2 (k2 − k3 )2
.
(k1 + k2 )2 (k1 + k3 )2 (k2 + k3 )2
(18)
Subsequently, (11) allows to verify that indeed f4 = 0. In the sixth equation of the
scheme B(f2 ·f3 + f3 ·f2 ) should equal zero in order to assure that f5 = 0. If so, it
will be possible to take fi = 0 for i > 6. Finally setting = 1 in (6), we obtain
f
= 1 + exp θ1 + exp θ2 + exp θ3
+ a12 exp(θ1 + θ2 ) + a13 exp(θ1 + θ3 ) + a23 exp(θ2 + θ3 )
+ b123 exp(θ1 + θ2 + θ3 ) ,
(19)
which upon substitution in (2) generates the well-known three soliton solution of
(1).
The construction of N-soliton solutions [1-6] with N ≥ 3 is tedious and the
necessary algebraic simplifications and factorizations are bound to fail if carried out
by hand. Hence the need for a symbolic program that relieves us of the elaborate
calculations.
III. MACSYMA PROGRAM FOR THE HIROTA METHOD
This preliminary program calculates the one, two and three soliton solutions of
a fairly simple completely integrable PDE, provided it can be transformed into a
single bilinear equation for the new variable f . The program is written in such a
way that the extension for the N-soliton is straightforward. The structure should
also allow to ’translate’ it into the language of e.g. MATHEMATICA, MAPLE or
REDUCE. The user must select the value of N and also provide the bilinear operator B for the PDE.
/* MACSYMA program for the HIROTA METHOD */
writefile(”three soliton sawada kotera.out”);
n:3;
B(f,g):=Dxt[1,1](f,g)+Dx[6](f,g)$
showtime:true $
depends([f,g],[x,y,t])$
4
Dx[n](f,g):=sum((-1)∧(n-j)*n!*diff(f,x,j)*diff(g,x,n-j) /(j!*(n-j)!),j,0,n)$
Dy[n](f,g):=sum((-1)∧(n-j)*n!*diff(f,y,j)*diff(g,y,n-j) /(j!*(n-j)!),j,0,n)$
Dxt[m,n](f,g):=sum((-1)∧(m-j)*m!*sum((-1)∧(n-i)*n!*
diff(diff(f,x,j),t,i)*diff(diff(g,x,m-j),t,n-i)
/(i!*(n-i)!),i,0,n)/(j!*(m-j)!),j,0,m)$
for i:1 thru n do f[i]:0 $
f[1]:sum(exp(th(i,x,y,t)),i,1,n)$
gradef(th(i,x,y,t),0,k[i],l[i],-om[i])$
bonf1:expand(ev(B(1,f[1]),diff))$
bonf1:expand(ev(bonf1))$
for i:1 thru n do (eqone[i]:ratcoef(bonf1,exp(th(i,x,y,t)),1),
om[i]:factor(rhs(part(solve(eqone[i],om[i]),1))),
if n>1 then(tf[2]:sum(a[i,j]*exp(th(i,x,y,t))*exp(th(j,x,y,t)),j,i+1,n),
f[2]:ev(f[2]+tf[2])))$
om[1];
om[2];
om[3];
bonf2:expand(ev(b(1,f[2])+b(f[1],f[1])+b(f[2],1),diff))$
bonf2:expand(ev(bonf2))$
if n>1 then(for i:1 thru n do (for j:i+1 thru n do(
eqtwo[i,j]:ratcoef(bonf2,exp(th(i,x,y,t))*exp(th(j,x,y,t)),1),
a[i,j]:factor(rhs(part(solve(eqtwo[i,j],a[i,j]),1))),
if n>2 then(tf[3]:sum(b[i,j,k]*exp(th(i,x,y,t))*exp(th(j,x,y,t))*
exp(th(k,x,y,t)),k,j+1,n),
f[3]:ev(f[3]+tf[3])))))$
a[1,2];
a[1,3];
a[2,3];
bonf3:expand(ev(b(1,f[3])+b(f[1],f[2])+b(f[2],f[1])+b(f[3],1),diff))$
bonf3:expand(ev(bonf3))$
length(bonf3);
if n>2 then(for i:1 thru n do (for j:i+1 thru n do (for k:j+1 thru n
do(eqthree[i,j,k]:ratcoef(bonf3,exp(th(i,x,y,t))*exp(th(j,x,y,t))*
exp(th(k,x,y,t)),1),
b[i,j,k]:factor(rhs(part(solve(eqthree[i,j,k],b[i,j,k]),1)))))))$
f:1+sum(f[i],i,1,n);
b[1,2,3];
closefile();
quit();
5
IV. EXAMPLES AND TEST CASES
• For the KdV equation [1-6], ut + 6uux + u3x = 0, one uses (2) and
B(f, g) := Dxt[1, 1](f, g) + Dx[4](f, g). The output of the program confirmed
the results in (14), (16) and (18).
• For the Kadomtsev-Petviashvili equation [2-6],
(ut + 6uux + u3x )x + 3u2y = 0, one has u = 2 ∂x2 ln f (x, y, t) and
B(f, g) := Dxt[1, 1](f, g) + Dx[4](f, g) + 3 ∗ Dy[2](f, g). In this case
θi = ki x + li y − ωi t, and for simplicity we selected li = ki mi (i = 1, 2, 3).
Note: insert the line l[i] := k[i] ∗ m[i] at the beginning of the program.
We obtained ωi = ki (ki2 + 3m2i ), i = 1, 2, 3, and
aij =
(ki − kj − mi + mj )(ki − kj + mi − mj )
,
(ki + kj + mi − mj )(ki + kj − mi + mj )
i, j = 1, 2, 3.
(20)
The program could not calculate b123 = a12 a13 a23 in a reasonable amount of
time because the equation for b123 has 267 terms in exp(θ1 + θ2 + θ3 ).
• For the Boussinesq equation [1-6], u2t − u2x − 3(u2 )2x − u4x = 0,
one has again (2) and B(f, g) q
:= Dxt[0, 2](f, g) − Dx[2](f, g) − Dx[4](f, g).
The results then are ωi = −ki 1 + ki2 , i = 1, 2, 3, and
q
q
1 + ki2 1 + kj2 − 2ki2 + 3ki kj − 2kj2 − 1
aij = q
, i, j = 1, 2, 3.
q
1 + ki2 1 + kj2 − 2ki2 − 3ki kj − 2kj2 − 1
(21)
The program did also determine the explicit form of b123 = a12 a13 a23 .
• For the Sawada-Kotera equation [2,5,6],
ut + 45u2 ux + 15ux u2x + 15uu3x + u5x = 0, one has (2) and
B(f, g) := Dxt[1, 1](f, g) + Dx[6](f, g). Furthermore, ωi = ki5 , i = 1, 2, 3.
The coefficients are given by
aij
=
=
(ki − kj )2 (ki2 − ki kj + kj2 )
(ki + kj )2 (ki2 + ki kj + kj2 )
(ki − kj )3 (ki3 + kj3 )
(ki + kj )3 (ki3 − kj3 )
b123 = a12 a13 a23 .
,
i, j = 1, 2, 3 ,
(22)
(23)
6
• For the shallow water
wave equation [5],
R
uxxt + 3uut − 3ux x ut dx0 − ux − ut = 0, one uses u = ∂x2 ln f and
B(f, g) := Dxt[3, 1](f, g) − Dx[2](f, g) − Dxt[1, 1](f, g).
The program calculated that
ωi =
aij
=
ki
,
(1 + ki )(1 − ki )
i = 1, 2, 3,
(ki − kj )2 (ki2 − ki kj + kj2 − 3)
(ki + kj )2 (ki2 + ki kj + kj2 − 3)
,
(24)
i, j = 1, 2, 3.
(25)
The program could not determine b123 = a12 a13 a23 due to the large number
of terms in f3 .
Hirota’s bilinear operators used in these examples, Dxt[m, n](f, g), Dx[n](f, g),
and Dy[n](f, g) are defined in the program itself.
REFERENCES
[1]
R. Hirota, in: Bäcklund Transformations, the Inverse Scattering Method,
Solitons, and Their Applications, Lecture Notes in Mathematics 515, ed.
R.M. Miura, Springer-Verlag, Berlin, 1976, pp. 40-68.
[2]
R. Hirota, in: Solitons, Topics in Physics 17, eds. R.K. Bullough and P.J.
Caudrey, Springer-Verlag, Berlin, 1980, pp. 157-76.
[3]
M.J. Ablowitz and H. Segur, Solitons and the Inverse Scattering, SIAM Studies
in Applied Mathematics 4, SIAM, Philadelphia, 1981.
[4]
P.G. Drazin and R.S. Johnson, Solitons:
University Press, Cambridge, 1989.
[5]
J. Hietarinta, A search for bilinear equations passing Hirota’s three-soliton
condition, Parts I-IV, J. Math. Phys. 28, 1732-42, 1987; ibid. 2094-101,
1987; ibid. 2586-92, 1987; ibid. 29 628-35, 1988.
[6]
J. Hietarinta, in: Partially Integrable Evolution Equations in Physics,
Proceedings of the Summer School for Theoretical Physics, Les Houches,
France, March 21-28, 1989, eds: R. Conte and N. Boccara, Kluwer Academic
Publishers, pp. 459-78, 1990.
an introduction, Cambridge
Download