Symbolic Computation of Exact Solutions of Nonlinear Evolution and Wave Equations by

advertisement
Symbolic Computation of Exact Solutions
of Nonlinear Evolution and Wave Equations
by
Wuning Zhuang
ii
A thesis submitted to the Faculty and the Board of Trustees of the Colorado School of Mines
in partial fulfillment of the requirements for the degree of Master of Science (Mathematics).
Golden, Colorado
Date
Signed:
Wuning Zhuang
Approved:
Dr. Willy A. Hereman
Thesis Advisor
Golden, Colorado
Date
Dr. Ardel Boes
Professor and Head,
Department of Mathematical and
Computer Sciences
æ
ABSTRACT
Hirota’s bilinear method for finding exact soliton solutions of nonlinear evolution and wave
equations is discussed and illustrated. The MACSYMA programs HIROTA SINGLE.MAX and
HIROTA SYSTEM.MAX are included. These programs automatically carry out the lengthy
algebraic computations for the symbolic calculation of one, two and three soliton solutions. The
programs also allow to test if four soliton solutions exist for both single bilinear equations and
systems of coupled bilinear equations. The MACSYMA programs are tested by constructing
exact solutions of various nonlinear partial differential equations from soliton theory, such as
the Korteweg-de Vries, the modified Korteweg-de Vries, the Kadomtsev-Petviashvili, and the
Boussinesq equations.
Abstract
æ
iv
CONTENTS
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2. Hirota’s Bilinear Method . . . . . . . . . . . .
2.1 The f -Function . . . . . . . . . . . . . .
2.2 The Bilinear Operator . . . . . . . . . .
2.3 The Bilinear Form of a Single Equation .
2.4 The Bilinear Form of a Coupled System
2.5 Hirota’s Direct Method . . . . . . . . . .
3
3
4
4
5
6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3. The Hirota Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1 Hirota’s Conditions and Soliton Solution for a Single Equation . . . . . . . . . . 10
3.2 Hirota’s Conditions and Soliton Solutions for Systems of Equations . . . . . . . 14
4. MACSYMA Programs for the Hirota Method . . . . .
4.1 Special Features Used in the Programs . . . . . .
4.2 The Algorithm of HIROTA SINGLE.MAX . . . .
4.3 The Batch Program for HIROTA SINGLE.MAX .
4.4 The Algorithm of HIROTA SYSTEM.MAX . . .
4.5 The Batch Program for HIROTA SYSTEM.MAX
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
16
16
17
19
19
21
5. Examples and Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.1 Test Results for Single Equations . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2 Test Results for Coupled Systems . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Appendix
34
A. Proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
A.1 The Proof of Hirota’s N-Soliton Condition . . . . . . . . . . . . . . . . . . . . . 35
Contents
vi
A.2 The Proof of the New Expressions for Hirota’s Operators . . . . . . . . . . . . . 37
B. Flowchart of HIROTA SINGLE.MAX . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
C. Table with Logical Combinations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
D. Program Codes and Test Output . . . . . . . . . . . . . .
D.1 HIROTA SINGLE.MAX . . . . . . . . . . . . . . . .
D.2 HIROTA SYSTEM.MAX . . . . . . . . . . . . . . .
D.3 Output of Test Cases . . . . . . . . . . . . . . . . . .
D.3.1 Korteweg-de-Vries (KdV) Equation . . . . . .
D.3.2 Kadomtsev-Petviashvili (KP) Equation . . . .
D.3.3 Modified Korteweg-de-Vries (mKdV) Equation
D.3.4 Higher Order Ito Coupled Bilinear Equations
D.3.5 Bilinear Equations with a Parameter . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
43
48
53
53
55
57
60
62
Contents
vii
I am especially grateful to my advisor, Dr. Willy Hereman, for suggesting this thesis
topic and for providing invaluable academic advice. I am deeply thankful to have been the
beneficiary of his knowledge and guidance. I would also like to thank the other members of
my thesis committee, Dr. Steven Pruess and Dr. Jack Cohen, for their careful reading and
most appreciated suggestions. Many thanks go to the faculty members of the Department of
Mathematical and Computer Sciences for their excellent courses which have been and will ever
be a solid foundation for my current and further research.
I greatly appreciate the generous financial aid from the Department of Mathematical and
Computer Sciences at the Colorado School of Mines, which has supported my graduate studies
over the past two years. Special thanks goes to Dr. Pruess for additional financial support
while completing this thesis.
I also gratefully acknowledge my aunt Ms. Elaine Lai for her kind help.
I dedicate this dissertation to my lovely wife Lixiu, a constant source of support and encouragement.
æ
1. INTRODUCTION
‘Solitons’ made their first appearance in the world of science with the beautiful report [1, 2]
on waves, presented by J. Scott Russell in 1844. While riding his horse along the EdinburghGlasgow canal in 1834 Russell observed “the great wave of translation” produced by a canal
barge. When the vessel suddenly stopped, a rounded, smooth and well-defined heap of water
rolled forward with great velocity. It continued its course along the channel for a couple of
miles without change in form or diminution of speed. The solitary wave, so-called because it
often occurs as a single localized entity, was born.
Despite some attempts by Scott Russell to guess at the analytical form for the peculiar
wave profile, his observation remained unexplained until 1895 when two Dutchmen, Korteweg
and de Vries [3], derived their now famous KdV equation for the propagation of one-directional
surface waves in shallow water.
The great discovery of the universal nature of the KdV equation and its remarkable properties was to await another 60 years. In 1955, at Los Alamos, Fermi, Pasta and Ulam [4] carried
out some numerical studies in an attempt to understand the energy distribution over various
wave modes in a nonlinear one-dimensional lattice, consisting of nonlinear springs and identical
masses. In contrast to what they expected, the nonlinear interactions between the modes did
not evenly distribute the energy throughout all the modes. The unexpected nature of their
results stimulated more work on nonlinear systems and also called for a mathematical explanation. In 1965, Norman Zabusky and Martin Kruskal discovered the ‘soliton’ property from
the results of the numerical simulations for the particle behavior observed in the Fermi-PastaUlam experiment. Remarkably enough the mathematical model for this apparently unrelated
problem led again to the KdV equation. Focusing on the possible interaction of two solitary
wave solutions, Zabusky and Kruskal noticed a remarkable phenomenon: Whereas during the
interaction two solitary pulses behaved in a most nonlinear way, they emerged from their collision with their former heights, widths and velocities. The only evidence of the interaction was
a phase shift whereby the larger solitary wave appeared to be ahead of the position it would
have been had it travelled alone with the smaller one behind. Solitary waves with this strange
particle-like behavior deserved a special name. The name soliton was chosen because of the
ending ‘on’ which is Greek for ‘particle’.
The recent history of the mathematics of solitons begins in 1967 with a remarkable discovery
by Gardner et al. [5] of an exact method for solving the initial problem of the Korteweg de Vries
equation. In essence, they reduced the nonlinear problem to a linear one, which was well-known
as the Sturm-Liouville eigenvalue problem for the Schrödinger operator. They also discussed
the properties of the exact solution describing the interaction of solitons. This method, which
now bears the name Inverse Scattering Transform, was later extended to a more general form
to be applicable to a wide class of nonlinear evolution and wave equations such as the modified
KdV equation, the nonlinear Schrödinger equation, the sine-Gordon equation, and many more
T-4162
2
[6, 7, 8, 9, 10].
In 1971, Hirota [11] developed an ingenious method for obtaining the exact multi-soliton
solutions of the KdV equation and derived an explicit expression for its N -soliton solution. An
elegant formulation of this method requires the use of bilinear operators, therefore it is called
Hirota’s bilinear method. Over the last decade this method has been shown to be applicable
to a large class of nonlinear evolution equations, including difference-differential and integrodifferential equations [12].
Hirota’s bilinear method, which is usually applied to completely integrable systems, is well
suited for partially integrable equations as well. One can indeed conjecture that all completely
integrable nonlinear evolution equations can be put into bilinear form. The converse is not
true: a bilinear form can also be constructed for many equations that are not integrable. In
particular, it is not true that any nonlinear evolution equation that can be written in bilinear
form, automatically has a N -soliton solution for any value of N . In fact, even the existence of
two-soliton solutions is nontrivial for a completely general bilinear equation. Hence, there is a
need for a straightforward algorithm to test whether or not an equation in bilinear form admits
a N -soliton solution; and if so for which values of N . A well-documented search for bilinear
equations admitting soliton solutions has been done by Ito [13] and Hietarinta [14, 15, 16, 17, 18].
Hirota’s bilinear method has been studied and used extensively. The fundamental idea
behind the method is to use some dependent variable transformation to put the nonlinear
evolution equation in a form where the new unknown function appears bilinearly. Once the
bilinear form of the equation is found, one introduces a formal perturbation expansion to
construct its solution step by step. If soliton solutions exist this expansion will always truncate
and the now finite series will lead to an exact solution.
The drawback of Hirota’s method is that it requires a great deal of elementary algebra
and calculus. These straightforward calculations can easily be performed with any symbolic
manipulation program, such as MACSYMA, REDUCE, MATHEMATICA, SCRATCHPAD,
MAPLE and DERIVE.
In this thesis, we present MACSYMA programs based on the algorithm of Hirota’s bilinear
method to carry out the symbolic calculation of one, two and three soliton solutions for both
a single bilinear equation and for a system of coupled bilinear equations. These symbolic
programs also allow testing to see if one, two, three and four soliton solutions exist, without
having to construct these solutions explicitly.
We also give some test results for well-known nonlinear PDEs such as the Korteweg-de
Vries, the Boussinesq, the Kadomtsev-Petviashvili, the Sawada-Kotera and the shallow water
wave equations [10, 14, 15, 18, 19].
With these programs in place one can now start a comprehensive search for nonlinear
evolution and wave equations that admit soliton solutions and therefore have some or all of the
remarkable properties shared by completely integrable nonlinear PDEs.
As of today, there are no other programs available that allow testing for the existence of
exact soliton solutions and allow their construction without direction by the user. æ
2. HIROTA’S BILINEAR METHOD
Hirota’s method has been one of the most successful direct techniques for constructing exact
solutions to various nonlinear partial differential equations from soliton theory. For a review of
other direct methods we refer to papers by Hereman [20] and Hereman and Takaoka [21].
The method also allows testing if a certain equation satisfies the necessary requirements to
admit solitary wave solutions and soliton solutions.
The drawback of Hirota’s method is that the bilinear form must be known. In other words,
the technique applies to any equation that can be written in bilinear form, either as a single
bilinear equation or as a system of coupled bilinear equations.
Once the bilinear form is obtained the method becomes algorithmic. Nothing is needed
beyond calculus and algebra. The calculations however become very lengthy and involved,
in particular for PDEs of high order or with highly nonlinear terms. The complexity of the
calculations also drastically increases with the type of soliton solution one desires to obtain.
Single soliton solutions are easy to calculate, even by hand, two and three soliton solutions are
barely manageable by hand. Four soliton solutions are at the limit of what a symbolic program
can do. Once the form of the two and three soliton solutions are known, their structure reveals
the form of higher soliton solutions. Using mathematical induction one can then prove whether
or not the hypothesized general solution satisfies the equation. This kind of conjecturing and
testing could be greatly assisted with any symbolic manipulation program.
Needless to say, this type of calculation is very suitable for a large scale symbolic manipulation program, such as MACSYMA, MATHEMATICA and REDUCE.
Here we only give a synopsis of the Hirota method which has been discussed in great detail
in a vast amount of literature on soliton theory [9, 10, 12, 22, 23].
In essence, 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.
2.1 The f -Function
Motivated both by the form of the N −soliton solution for the KdV, known from e.g. the Inverse
Scattering Transform Method [9], and by a transformation for the Burgers’ equation (i.e. the
Cole-Hopf transformation [9] that reduces the Burgers’ equation into the linear heat equation),
in 1971 Hirota defined a new function f as follows
u(x, t) = 2
∂ 2 ln f (x, t)
.
∂x2
(2.1)
T-4162
4
This change of dependent variable is quite often revealed by Painlevé analysis of the equation
[24, 25, 26, 27]. In many books [2, 7, 8, 18] this function f is now called the τ function because
not only does it serve as a means of generating soliton solutions, but it also plays a crucial role
in the theoretical framework behind Hirota’s method.
2.2 The Bilinear Operator
Hirota introduced the differential operator Dx , defined on ordered pairs of functions f (x) and
g(x), as follows
!
∂
∂
0 .
(2.2)
− 0 f (x) g(x )
Dx (f ·g) =
∂x ∂x
x0 =x
More generally, he defined
Dxm
Dtn (f ·g)
=
∂
∂
− 0
∂x ∂x
!m
∂
∂
− 0
∂t ∂t
!n
f (x, t) g(x , t )
0
0
,
(2.3)
x0 =x,t0 =t
for non-negative integers m and n. This type of differential operator is called a bilinear operator,
due to the obvious linearity in both its arguments. Bilinear operators Dyn , Dzn , etc. could be
defined in a similar way.
Let us look at how the operators act on simple functions. The following properties for the
bilinear operators in (2.2) and (2.3) are easily verified:
Dxm (f ·1) =
∂ mf
,
∂xm
(2.4)
Dxm (f ·g) = (−1)m Dxm (g·f ) ,
(2.5)
Dxm (f ·f ) = 0 ,
(2.6)
for m odd ,
Dxm Dtn (ek1 x−ω1 t ·ek2 x−ω2 t ) = (k1 − k2 )m (−ω1 + ω2 )n e(k1 +k2 )x−(ω1 +ω2 )t .
(2.7)
In particular, the last property will be very useful in the calculation of soliton solutions. Let
P (Dt , Dx ) be a polynomial in Dt and Dx . Then it follows from (2.4) and (2.7) that
P (Dx , Dt )(ek1 x−ω1 t ·ek2 x−ω2 t ) =
P (k1 −k2 , −ω1 +ω2 )
P (Dx , Dt )(e(k1 +k2 )x−(ω1 +ω2 )t ·1) .
P (k1 +k2 , −ω1 −ω2 )
(2.8)
These properties will be used extensively in the computer implementation of the Hirota method.
2.3 The Bilinear Form of a Single Equation
We take the Korteweg-de Vries (KdV) equation [19],
ut + 6uux + u3x = 0 ,
(2.9)
as the leading example to outline the Hirota procedure for a single equation.
Carrying out the dependent variable transformation
u(x, t) = 2
∂ 2 ln f (x, t)
,
∂x2
(2.10)
T-4162
5
and one integration with respect to x, allows us to replace (2.9) by
2
f fxt − fx ft + f f4x − 4fx f3x + 3f2x
=0.
(2.11)
This quadratic equation in f can then be written in bilinear form,
def
def
P (Dx , Dt )(f ·f ) = B(f ·f ) = Dx Dt + Dx4 (f ·f ) = 0 ,
(2.12)
where the new operator Dx and Dt are given in (2.2) and (2.3). P should be considered as a
polynomial in its arguments, B abbreviates the bilinear operator for the KdV equation.
Let us briefly consider some other examples of nonlinear PDEs with their bilinear representations.
For the Sawada-Kotera (SK) equation [19],
ut + 45u2 ux + 15ux uxx + 15uu3x + u5x = 0 ,
(2.13)
the dependent variable transformation (2.10) and one integration with respect to x yields
def
P (Dx , Dt )(f ·f ) = Dx Dt + Dx6 (f ·f ) = 0 .
(2.14)
For the Kadomtsev-Petviashvili (KP) equation [19],
(ut + 6uux + u3x )x + 3u2y = 0 ,
(2.15)
analogously, one would obtain
def
P (Dx , Dt , Dy )(f ·f ) = Dx Dt + Dx4 + 3Dy2 (f ·f ) = 0 ,
(2.16)
where Dy is defined in a similar way as Dx and Dt .
The shallow water wave (SW) equation [19],
uxxt + 3uut − 3ux
Z
x
ut dx − 2ux − ut = 0 ,
(2.17)
can also be transformed into bilinear form as
def
P (Dx , Dt )(f ·f ) = Dx3 Dt − Dx2 − Dx Dt (f ·f ) = 0 .
(2.18)
Many more single equations from soliton theory can be transformed into a single new equation
in bilinear form [12]. But not all!
2.4 The Bilinear Form of a Coupled System
Let us give an example of a famous soliton equation for which all attempts to derive a single
bilinear form fail. To obtain a bilinear representation for the so-called modified Korteweg-de
Vries (mKdV) equation [15],
ut + 6u2 ux + u3x = 0 ,
(2.19)
much more work is required and one will end up with a system of bilinear equations.
T-4162
6
Introducing a new function w by u = wx , (2.19) can be replaced by
wtx + 6wx2 wxx + w4x = 0 .
(2.20)
Next, we integrate with respect to x and we set the integration constant equal to zero. Thus,
wt + 2wx3 + w3x = 0 .
(2.21)
Changing the dependent variable in (2.21) according the transformation
G
w(x, t) = −2i arctan
F
(2.22)
leads to
(F 2 + G2 )[(Dx3 + Dt )(G·F )] − 3Dx (G·F )[Dx2 (F ·F + G·G)] = 0 .
(2.23)
Since we still have two arbitrary functions F and G we require that
(Dx3 + Dt )(G·F ) = 0 ,
Dx2 (F ·F + G·G) = 0 ,
(2.24)
(2.25)
or upon complex rotation via f = F + iG, g = F − iG, so that w = log(f /g), one obtains
def
(2.26)
def
(2.27)
P1 (Dx , Dt )(f ·g) = (Dx3 + Dt )(f ·g) = 0 ,
P2 (Dx , Dt )(f ·g) = Dx2 (f ·g) = 0 .
Various other single equations and, of course, systems of equations are transformable in terms
of a system of bilinear equations [9, 12, 13, 14, 15, 16, 17, 18].
2.5 Hirota’s Direct Method
Our task is now to solve the bilinear equation. To make matters clear, let us continue with
the KdV case in (2.12). Introducing a bookkeeping parameter , we look for a formal series
solution
∞
X
f =1+
n fn ,
(2.28)
n=1
for unknown functions f1 (x, t), f2 (x, t), etc.. Substituting (2.28) into (2.12) and equating to
zero the powers of , yields
O(0 )
O(1 )
O(2 )
O(3 )
O(4 )
:
:
:
:
:
B(1·1) = 0 ,
B(1·f1 + f1 ·1) = 0 ,
B(1·f2 + f1 ·f1 + f2 ·1) = 0 ,
B(1·f3 + f1 ·f2 + f2 ·f1 + f3 ·1) = 0 ,
B(1·f4 + f1 ·f3 + f2 ·f2 + f3 ·f1 + f4 ·1) = 0 ,

O(n ) : B 
n
X
j=0
(2.29)
(2.30)
(2.31)
(2.32)
(2.33)

fj ·fn−j  = 0 ,
with f0 = 1 .
(2.34)
T-4162
7
Of course, (2.29) is trivially satisfied. This scheme is general whatever the explicit expression
of the bilinear operator B is. For the KdV equation the operator B is defined in (2.12).
It is well-known [9, 10] that if the original PDE admits a N -soliton solution then (2.28) will
truncate at level n = N , provided f1 is the sum of precisely N simple exponential terms. In
the sense that the series truncates, the Hirota method is very different from any traditional
perturbation expansion where the series would contain infinitely many terms.
The simplest solution of the KdV equation is the one soliton solution (N = 1) generated
from
f1 = exp θ = exp(kx − ω + δ) ,
where k, ω and δ are constant, equation (2.30) determines the dispersion law,
ω = k3 ,
(2.35)
and (2.31) allows to set f2 = 0. Consequently we can take fi = 0 for i > 2. Let = 1 and we
have
f = 1 + f1 = 1 + exp θ = 1 + exp(kx − ωt + δ) .
Now, substituting f in (2.10) with (2.35), we obtain
f fxx − fx2
∂ 2 ln f (x, t)
=
2
u(x, t) = 2
f2
∂x2
1 2
1
k sech2 (kx − k 3 t + δ) .
=
2
2
Denoting
1
k = K, we get
2
!
u = 2K 2 sech2 K(x − 4K 2 t + δ) ,
i. e. the pulse shaped solitary wave solution of the KdV equation.
To construct the two soliton solution (N = 2) of the KdV equation we start with
f1 = exp θ1 + exp θ2
= exp(k1 x − ω1 + δ1 ) + exp(k2 x − ω2 + δ2 ) ,
where ki , ωi and δi are constant and i = 1, 2, Again (2.30) determines the dispersion law
ωi = ki3 ,
i = 1, 2 .
(2.36)
The terms generated by B(f1 ·f1 ) in (2.31) justify the choice
f2 = a12 exp(θ1 + θ2 )
= a12 exp [(k1 + k2 ) x − (ω1 + ω2 ) t + (δ1 + δ2 )]
and (2.31) allows to calculate the constant a12 . With (2.36) one then obtains
a12 =
(k1 − k2 )2
.
(k1 + k2 )2
(2.37)
T-4162
8
Subsequently, (2.32) allows to verify that indeed f3 = 0, and (2.33) allows to take fi = 0 for
i > 3. Set = 1 in (2.28) to get
f = 1 + exp θ1 + exp θ2 + a12 exp(θ1 + θ2 ) ,
(2.38)
Upon substitution of f in (2.10), with (2.36) and upon selecting
c2i ki x−ωi t+∆i
for
i = 1, 2 ,
e =
e
ki
1 − 1 (θ̃1 +θ̃2 )
f˜ =
fe 2
where θ̃i = ki x − ωi t + ∆i ,
4
δi
we obtain
ũ(x, t) = 2
for i = 1, 2 ,
∂ 2 ln f˜(x, t)
∂ 2 ln f (x, t)
=
2
= u(x, t) .
∂x2
∂x2
!
If we now take
c2i
=
k2 + k1
ki for i = 1, 2, then
k 2 − k1
1
f˜(x, t) =
k2 − k1
θ̃1
θ̃2
θ̃1
θ̃2
k2 cosh cosh − k1 sinh sinh
2
2
2
2
!
,
and u(x, t) can be rewritten in a nice form as
∂ 2 ln f˜(x, t)
∂x2

! 2
k22 − k12  k2 cosech2 θ̃22 + k12 sech2 θ̃21 
.
2
(k2 coth θ̃2 − k1 tanh θ̃1 )2
u(x, t) = ũ(x, t) = 2
=
2
2
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 ) ,
(2.39)
i=1
where ki , ωi and δi are constants. Whereas (2.30) determines the dispersion law for the KdV
equation,
ωi = ki3 ,
i = 1, 2, 3 .
(2.40)
The terms generated by B(f1 ·f1 ) in (2.31) justify the choice
f2 =
=
+
+
a12
a12
a13
a23
exp(θ1 + θ2 ) + a13 exp(θ1 + θ3 ) + a23 exp(θ2 + θ3 )
exp [(k1 + k2 ) x − (ω1 + ω2 ) t + δ1 + δ2 ]
exp [(k1 + k3 ) x − (ω1 + ω3 ) t + δ1 + δ3 ]
exp [(k2 + k3 ) x − (ω2 + ω3 ) t + δ2 + δ3 ] ,
(2.41)
and (2.31) allows the calculation of the constants a12 , a13 and a23 . With (2.40) one obtains
(ki − kj )2
aij =
,
(ki + kj )2
i, j = 1, 2, 3 with i < j .
(2.42)
T-4162
9
Then, B(f1 ·f2 + f2 ·f1 ) in (2.32) motivates the particular solution
f3 = b123 exp(θ1 + θ2 + θ3 )
= b123 exp [(k1 +k2 +k3 )x−(ω1 +ω2 +ω3 )t+(δ1 +δ2 +δ3 )] ,
(2.43)
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
(2.44)
Subsequently, (2.33) allows us 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 (2.28), 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 ) ,
(2.45)
which upon substitution in (2.10) generates the well-known three soliton solution of (2.9). There
is no simple formula found for u(x, t) of the three soliton solution of KdV equation.
The construction of N -soliton solutions [9, 10, 14, 15, 16, 17, 18, 22, 23] 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.
Before we enter the arena of symbolic manipulation we will discuss the conditions under which
Hirota’s method can be applied and would lead to exact soliton solutions.
æ
3. THE HIROTA CONDITIONS
In this chapter we will use Hirota’s method to investigate whether or not a bilinear equation
(or system of bilinear equations) has the required properties to admit one, two or three soliton solutions. This type of testing inherently allows us to verify if an equation is completely
integrable, provided the bilinear form is known. Completely integrable means that the Inverse Scattering Transformation Method would be applicable and that the equation could be
linearized and therefore solved. The linear equations that result from the Inverse Scattering
Transform Method are integral equations of Gelfand-Levitan-Marchenko type. More details
about the connection between Hirota’s and the Inverse Scattering Transform methods can be
found in [28, 29].
3.1 Hirota’s Conditions and Soliton Solution for a Single Equation
Consider any bilinear equation of the form
P (Dx , Dt )(f ·f ) = 0 .
(3.1)
To obtain a single soliton solution we take
f = 1 + eθ ,
(3.2)
θ = kx − ωt + δ ,
(3.3)
with
and where k, ω and δ are constant parameters.
This f is a solution of (3.1), provided the parameters k and ω satisfy the dispersion relation,
P (k, −ω) = 0 .
(3.4)
It is obvious that the polynomial P in (3.1) must be even,
P (Dx , Dt ) = P (−Dx , −Dt ) ,
(3.5)
P (0, 0) = 0 .
(3.6)
and without a constant term,
A one and also a two-soliton solution can always be constructed for (3.1) if the conditions (3.5)
and (3.6) are satisfied. To obtain a two-soliton solution we start with
f = 1 + eθ1 + eθ2 + a12 eθ1 +θ2
(3.7)
T-4162
11
where
θi = ki x − ωi t + δi ,
i = 1, 2 .
(3.8)
For f to satisfy (3.1) the dispersion law (3.4) should hold for each pair (ki , ωi ) and coefficient
a12 should be chosen as
P (k1 − k2 , −ω1 + ω2 )
.
(3.9)
a12 = −
P (k1 + k2 , −ω1 − ω2 )
This technique of constructing a one and two-soliton solution works for all nonlinear equations
that can be cast in the bilinear form (3.1). Apart from (3.5) and (3.6) there are no further constraints on P . Furthermore, using the polynomial P gives a fast and elegant way of calculating
the coefficients a12 , without having to use the bilinear operator explicitly.
Let us now turn to the construction of the N -soliton solution and the related conditions for
P.
When the ansatz (3.7) is extended to three or more solitons we get stringent conditions for
the polynomial P . For the N -soliton solution, Hirota [23] starts with a generalization of (3.7)
and writes f in the form
f=
X


(N )
N
X
X
exp  Aij µi µj +
µi θ i  ,
µ=0,1
i<j
(3.10)
i=1
P
where the θi are as in (3.8) for i = 1, 2, . . . , N . The summation µ=0,1 is over all combinations of
P(N )
µ1 = 0, 1, µ2 = 0, 1, . . . , µN = 0, 1. The summation i<j stands for all possible combinations
under the condition 0 < i < j ≤ N . For example, for N = 3, (3.10) will be given by
f =1
+ eθ1 + eθ2 +
µ1 = 0 µ1 = 1 µ1 = 0
µ2 = 0 µ2 = 0 µ2 = 1
µ3 = 0 µ3 = 0 µ3 = 0
eθ3 + a12 eθ1 +θ2 + a13 eθ1 +θ3 + a23 eθ2 +θ3 + b123 eθ1 +θ2 +θ3 ,
µ1 = 0 µ1 = 1
µ1 = 1
µ1 = 0
µ1 = 1
µ 2 = 0 µ2 = 1
µ2 = 0
µ2 = 1
µ2 = 1
µ3 = 1 µ3 = 0
µ3 = 1
µ3 = 1
µ3 = 1
where under each term we gave the corresponding µ values and where
aij = exp Aij
and
b123 = a12 a13 a23 .
When (3.10) is substituted into (3.1) we get at first order in eθ the condition (3.4) for the
constants ki , ωi , i = 1, 2, . . . , N . The constants aij or equivalently Aij are determined at
second order in eθ by the analog of (3.9),
aij = exp Aij = −
P (ki − kj , −ωi + ωj )
,
P (ki + kj , −ωi − ωj )
i<j.
(3.11)
At higher orders, Hirota [23] obtained the conditions
S[P, n] =
X
σ=±1
×
(n)
Y
i<j
P
n
X
i=1
σi ki , −
n
X
!
σi ωi
i=1
P (σi ki − σj kj , −σi ωi + σj ωj )σi σj = 0
(3.12)
T-4162
12
P
for each n = 2, 3, . . . , N . Where σ=±1 indicates the summation over all possible combinations
Q(n)
of σ1 = ±1, σ2 = ±1, . . . , σn = ±1 and i<j means the product over all possible combinations
of n elements under the condition i < j, and all ki , ωi subject to (3.4). Since it is essential to
the bilinear transformation method, the explicit proof of the N -soliton condition (3.12) is given
in Appendix A. For n = 2 the condition (3.12) is satisfied automatically provided that (3.5)
holds. The first nontrivial condition (3.12) occurs for n = N = 3.
Example:
For the KdV equation the bilinear form is (2.12), hence the polynomial is
P (Dx , Dt ) = Dx Dt + Dx4 .
(3.13)
So we can verify the conditions (3.5) and (3.6) immediately
P (−Dx , −Dt ) =
=
=
P (0, 0) =
(−Dx )(−Dt ) + (−Dx )4
Dx Dt + Dx4
P (Dx , Dt ) ,
0.
A two soliton solution can always be constructed, starting with
f = 1 + eθ1 + eθ2 + a12 eθ1 +θ2 ,
where
θi = ki x − ωi t + δi ,
i = 1, 2 .
Let
P (ki , −ωi ) = 0 ,
i = 1, 2 ,
or
ki (−ωi ) + ki4 = 0 ,
i = 1, 2 ,
from which the dispersion relation of the KdV follows
ωi = ki3 ,
i = 1, 2 .
Furthermore, according to (3.11),
P (k1 − k2 , −ω1 + ω2 )
P (k1 + k2 , −ω1 − ω2 )
(k1 − k2 )(−ω1 + ω2 ) + (k1 − k2 )4
= −
.
(k1 + k2 )(−ω1 − ω2 ) + (k1 + k2 )4
a12 = −
Substitution of the dispersion relation (3.14) and simplification yields
(k1 − k2 )(−k13 + k22 ) + (k1 + k2 )4
(k1 + k2 )(−k13 − k23 ) + (k1 + k2 )4
(k1 − k2 )(−k13 + k23 + (k1 − k2 )3
= −
(k1 + k2 )(−k13 − k23 + (k1 + k2 )3
a12 = −
(3.14)
T-4162
13
(k1 − k2 )(−k13 + k23 + k13 − 3k12 k2 + 3k1 k22 − k23 )
(k1 + k2 )(−k13 − k23 + k13 + 3k12 k2 + 3k1 k22 + k23 )
(k1 − k2 )(−3k12 k2 + 3k1 k22 )
= −
(k1 + k2 )(3k12 k2 + 3k1 k22 )
(k1 − k2 )2
=
.
(k1 + k2 )2
= −
For the three soliton solution condition (n = N = 3), we need to verify that S[P, 3] = 0,
this means that
S[P, 3] =
X
σ=±1
×
(3)
Y
P
3
X
i=1
σi ki , −
3
X
!
σi ωi
i=1
P (σi ki − σj kj , −σi ωi + σj ωj )σi σj
(3.15)
i<j
=
X
P (σ1 k1 + σ2 k2 + σ3 k3 , −σ1 ω1 − σ2 ω2 − σ3 ω3 )
σ=±1
×
×
×
=
×
+
×
+
×
+
×
+
×
+
×
+
×
+
×
P (σ1 k1 − σ2 k2 , −σ1 ω1 + σ2 ω2 )σ1 σ2
P (σ1 k1 − σ3 k3 , −σ1 ω1 + σ3 ω3 )σ1 σ3
P (σ2 k2 − σ3 k3 , −σ2 ω2 + σ3 ω3 )σ2 σ3
P (k1 + k2 + k3 , −ω1 − ω2 − ω3 )P (k1 − k2 , −ω1 + ω2 )
P (k1 − k3 , −ω1 + ω3 )P (k2 − k3 , −ω2 + ω3 )
P (k1 + k2 − k3 , −ω1 − ω2 + ω3 )P (k1 − k2 , −ω1 + ω2 )
[−P (k1 + k3 , −ω1 − ω3 )][−P (k2 + k3 , −ω2 − ω3 )]
P (k1 − k2 + k3 , −ω1 + ω2 − ω3 )[−P (k1 + k2 , −ω1 − ω2 )]
P (k1 − k3 , −ω1 + ω3 )[−P (−k2 − k3 , ω2 + ω3 )]
P (k1 − k2 − k3 , −ω1 + ω2 + ω3 )[−P (k1 + k2 , −ω1 − ω2 )]
[−P (k1 + k3 , −ω1 − ω3 )]P (−k2 + k3 , ω2 − ω3 )
P (−k1 + k2 + k3 , +ω1 − ω2 − ω3 )[−P (−k1 − k2 , ω1 + ω2 )]
[−P (−k1 − k3 , ω1 + ω3 )]P (k2 − k3 , −ω2 + ω3 )
P (−k1 + k2 − k3 , ω1 − ω2 + ω3 )[−P (−k1 − k2 , ω1 + ω2 )]
P (−k1 + k3 , ω1 − ω3 )[−P (k2 + k3 , −ω2 − ω3 )]
P (−k1 − k2 + k3 , +ω1 + ω2 − ω3 )P (−k1 + k2 , ω1 − ω2 )
[−P (−k1 − k3 , ω1 + ω3 )][−P (−k2 − k3 , ω2 + ω3 )]
P (−k1 − k2 − k3 , ω1 + ω2 + ω3 )P (−k1 + k2 , ω1 − ω2 )
P (−k1 + k3 , ω1 − ω3 )P (−k2 + k3 , ω2 − ω3 ),
should vanish identically irrespective of the values of all the ki ’s and the ωi ’s.
One can use the MACSYMA program HIROTA SINGLE.MAX to check the three soliton
condition (3.15) for the KdV bilinear equation (2.12) and to construct the three soliton solution.
Here we list the results: S[P, 3] = 0, and
f = 1 + eθ1 + eθ2 + eθ3 + a12 eθ1 +θ2 + a13 eθ1 +θ3 + a23 eθ2 +θ3 + b123 eθ1 +θ2 +θ3 ,
T-4162
14
with
θi = ki x − ωi t + δi ,
ωi = ki3 ,
i = 1, 2, 3 ,
i = 1, 2, 3 ,
and with coefficients
aij =
(ki − kj )2
,
(ki + kj )2
i, j = 1, 2, 3
for i < j ,
b123 = a12 a13 a23
(k1 − k2 )2 (k1 − k3 )2 (k2 − k3 )2
.
=
(k1 + k2 )2 (k1 + k3 )2 (k2 + k3 )2
(3.16)
3.2 Hirota’s Conditions and Soliton Solutions for Systems of Equations
Recall that the system of bilinear equations for the mKdV is given by
P1 (Dx , Dt )(f ·g) = 0 ,
P2 (Dx , Dt )(f ·g) = 0 ,
(3.17)
(3.18)
where P1 is an odd polynomial in Dx , Dt and P2 is even in Dx , Dt , but without constant term,
i.e.
Pi (−Dx , −Dt ) = (−1)i Pi (Dx , Dt ) ,
P2 (0, 0) = 0 .
i = 1, 2 ,
(3.19)
(3.20)
As soon as the above simple conditions are met, a one and two soliton solution can be obtained.
For the one-soliton solution we take
f = 1 + eθ ,
g = 1 − eθ ,
(3.21)
(3.22)
θ = kx − ωt + δ .
(3.23)
with
Substituting f and g into the coupled bilinear equations (3.17) and (3.18), it is easy to show
that k and ω must satisfy the dispersion relation
P1 (k, −ω) = 0 .
(3.24)
A two soliton solution can always be constructed via the obvious generalization
f = 1 + eθ1 + eθ2 + a12 eθ1 +θ2 ,
g = 1 − eθ1 − eθ2 + a012 eθ1 +θ2 ,
(3.25)
(3.26)
where
θi = ki x − ωi t + δi ,
i = 1, 2 ,
(3.27)
T-4162
15
and
P1 (ki , −ωi ) = 0 ,
i = 1, 2 .
(3.28)
We substituted (3.25) and (3.26) into (3.17) and (3.18) and also used (3.27) and (3.28). We
found that (3.25) and (3.26) will be a solution of (3.17) and (3.18) if a12 and a012 are given by
a012 = a12 =
P2 (k1 − k2 , −ω1 + ω2 )
.
P2 (k1 + k2 , −ω1 − ω2 )
(3.29)
In [18] it is shown that the N -soliton solution of the system (3.17) and (3.18), will follow from
f=
X


(N )
N
X
X
iπ
exp  Aij µi µj +
µi (θi + ) ,
µ=0,1
g=
X
i<j
(3.30)
2
i=1


(N )
N
X
X
iπ
exp  Aij µi µj +
µi (θi − ) ,
µ=0,1
i<j
(3.31)
2
i=1
where the θi are given in (3.27). The parameters ki and ωi must again satisfy the dispersion
relation (3.28) while the Aij are determined as in (3.29),
P2 (ki − kj , −ωi + ωj )
,
P2 (ki + kj , −ωi − ωj )
aij = exp Aij =
i<j.
(3.32)
At higher orders (N ≥ 3), there are two conditions [18] for the polynomials Pi , here i = 1, 2,
namely,
Sodd [P1 , P2 , n] =
X
P1
σ=±1
×
(n)
Y
n
X
σi ki , −
n
X
!
σi ωi
i=1
i=1
n
X
π
σi
sin
2
i=1
!
P2 (σi ki − σj kj , −σi ωi + σj ωj ) = 0 ,
(3.33)
i<j
Seven [P2 , n] =
X
σ=±1
×
(n)
Y
P2
n
X
i=1
σi ki , −
n
X
i=1
!
σi ωi
n
X
π
cos
σi
2
i=1
P2 (σi ki − σj kj , −σi ωi + σj ωj ) = 0 ,
!
(3.34)
i<j
for each n = 2, 3, . . . , N and all ki , ωi subject to (3.28). The proof of the N -soliton conditions
for a coupled equations is similar to the proof of the N -soliton condition for a single equation
as given in Appendix A.
æ
4. MACSYMA PROGRAMS FOR THE HIROTA METHOD
In this Chapter we discuss some of the features used in the symbolic programs HIROTA SINGLE.MAX
and HIROTA SYSTEM.MAX that carry out the calculations for Hirota’s algorithm to construct
multi-soliton solutions.
The symbolic programs calculates the one, two and three soliton solutions of a fairly simple
PDE. The basic requirement is that the PDE can be transformed into either a single bilinear
equation for the new variable f or a system of two coupled bilinear equations for new variables
f and g. Even for the latter type some restrictions apply: the coupled system must be of mKdV
type.
The current version of the program HIROTA SYSTEM.MAX can not handle equations
such as the nonlinear Schrödinger equation, the sine-Gordon equation, etc., which all lead to
different types of coupled systems. The development of a computer program that calculates
soliton solutions of an entire family of coupled bilinear systems would make an interesting topic
for further study.
The programs are written in such a way that the extension for the N -soliton is straightforward. The structure of the programs should also allow to ‘translate’ them into the languages
of e.g. MATHEMATICA, MAPLE or REDUCE.
The programs require little interaction from the user, who must provide the bilinear operator(s) for the original PDE and specify which soliton solution (one, two or three) should
be calculated. The user can also control the execution of the condition and comparision tests
discussed below.
A flowchart of the program HIROTA SINGLE.MAX, i.e. the MACSYMA program for a single bilinear equation, is given in Appendix B. The flowchart for the program HIROTA SYSTEM.MAX
is similar.
4.1 Special Features Used in the Programs
There is no need to use the definitions (2.2) and (2.3) for the Hirota operators Dxn and Dxm Dtn .
Instead one can use the following equivalent but much simpler expressions:
Dxn (f ·g)
=
n
X
(−1)(n−j) n! ∂ j f ∂ n−j g
j=0
Dxm Dtn (f ·g) =
j!(n − j)! ∂xj ∂xn−j
m X
n
X
(−1)(m+n−j−i) m!
j=0 i=0
j!(m − j)!
,
n!
∂ i+j f ∂ n+m−i−j g
.
i!(n − i)! ∂ti ∂xj ∂tn−i ∂xm−j
(4.1)
(4.2)
The observant reader will recognize these as the Leibniz formula for the derivatives of
products, up to an alteration in signs. We show in Appendix A that the above formulae are
equivalent with Hirota’s bilinear operators defined in Chapter 2.
T-4162
17
Nowhere in the program do we use the explicit forms of exponentials. Instead we introduce
∂h(x, t)
∂h(x, t)
= kh(x, t) and
= −ωh(x, t). These
the functions h(x, t) with the properties
∂x
∂t
partial derivatives will be assigned to the function h via the gradef command in MACSYMA.
This trick avoids long expressions involving sums and products of exponentials.
The implementation of Hirota’s perturbation scheme given in (2.29)-(2.34) is nontrivial.
Due to memory and space limitations, terms of (2.32) have to be calculated separately and
added up after necessary simplifications. In other words, MACSYMA can not handle the
lengthy expressions resulting from applying the bilinear operator on sums of pairs of functions
occurring in (2.32).
For complicated equations MACSYMA can no longer handle all the terms needed to test
the existence of a four soliton solution. For example, for the KdV equation the test for the
existence of a three soliton solution involves verification that the sum of 8 × 52 × 3 × 9 = 11232
terms vanishes. Similarly for a four soliton solution to exist the algorithm requires checking
whether or not the sum of 16 × 52 × 6 × 9 = 44928 terms vanishes. The computer (VAX 8600)
can still handle that case! For the same reason only the test for the existence of a three and
four soliton solution are included in the programs. More efficient ways to test the existence of
solitons are under investigation.
4.2 The Algorithm of HIROTA SINGLE.MAX
There are 14 blocks (functions) in the program HIROTA SINGLE.MAX.
We will discuss them briefly.
• Block 1: commentinter(name).
This block gives a friendly interface.
• Block 2: dispersion(P,check coefficients,n,name).
It calculates the dispersion relation for each of the wave numbers ki and angular frequencies ωi via the polynomial P , i.e. P (k, −ω) = 0.
• Block 3: condition 4soliton(P).
It tests the condition for the existence of a four soliton solution based on Hirota’s condition
S[P, 4]. If the polynomial P satisfies the condition, then the block returns TRUE else
FALSE.
• Block 4: condition 3soliton(P).
It tests the condition for the existence of a three soliton solution via Hirota’s condition
S[P, 3]. If the polynomial P satisfies the condition, then the block returns TRUE else
FALSE.
• Block 5: condition 1 2soliton(P).
It tests the condition for the existence of one and two soliton solutions via Hirota’s
condition, i.e. it verifies whether P is an even function without constant term. If the
polynomial P satisfies these conditions, then the block returns TRUE else FALSE.
T-4162
18
• Block 6: construct 2soliton(B,n).
This block constructs the function f2 and finds the coefficient aij via Hirota’s bilinear
operator.
• Block 7: construct 3soliton(B,n).
This block constructs the function f3 and finds the coefficient b123 via Hirota’s bilinear
operator.
• Block 8: a ij(P).
This block calculates the coefficient aij via the polynomial form.
• Block 9: check a().
This block compares the coefficients aij which are now calculated by the two methods. If
the coefficients are equal, it returns TRUE else FALSE.
• Block 10: b 123(P).
This block calculates the coefficient b123 via the polynomial form.
• Block 11: check b().
This block verifies equality of the coefficients b123 which are now calculated with the two
different methods. If the coefficients are the same, its returns TRUE else FALSE.
• Block 12: hirota op(B).
This block defines the Hirota’s operators Dxn and Dxm Dtn by (4.1) and (4.2). The operator
Dyn is also defined in this block and furthermore this block determines the polynomial P
corresponding to the bilinear operator B.
• Block 13: hirota(B,name,N,test for 3soliton,check coefficients, test for 4soliton).
This block is the main program. B stands for the bilinear operator B(f, g) for the given
PDE.
The user can assign a ‘name’ to the PDE, e.g. name: Korteweg de Vries equation.
The N refers to the N -soliton solution the user wants to calculate. N is either one, two
or three.
If test for 3soliton is TRUE then Hirota’s condition for the existence of the three soliton
solution will be tested. If test for 3soliton is set to FALSE then that test will be skipped.
One sets check coefficients to TRUE or FALSE. If TRUE, the program will verify whether
or not the coefficients aij and b123 , which are calculated first via the polynomial form,
coincide with the corresponding coefficients obtained via Hirota’s bilinear operator.
• Block 14: output(N).
This block outputs the function f for the N -soliton solution. The solution u(x, t) of
the original PDE is then obtained via the transformation formula relating f and u. For
∂ 2 ln f (x, t)
instance, for the KdV equation one has u(x, t) = 2
.
∂x2
T-4162
19
4.3 The Batch Program for HIROTA SINGLE.MAX
In a batch file the user must provide the bilinear operator B, give a name for the PDE, select the
value of N (either 1, 2 or 3), and set the Boolean variables test for 3soliton, check coefficients
and test for 4soliton to TRUE or FALSE.
Obviously the verification of coefficients is only relevant for N > 1, so there are twenty
possible logical combinations, as given in Table C.1 in Appendix C.
As an example we give the batch program we used for the construction of the three soliton
solution for the KdV equation.
writefile(”test kdv.out”)$
loadfile(”hirota single.lsp”)$
N:3$
B(f,g):=Dxt[1,1](f,g)+Dx[4](f,g)$
name:Korteweg de Vries$
hirota(B,name,N,true,true,true)$
closefile()$
quit()$
We decided to compile the program HIROTA SINGLE.MAX to improve the speed. The compiled version HIROTA SINGLE.LSP is obtained via the save command in MACSYMA (see
the MACSYMA manual [30]).
4.4 The Algorithm of HIROTA SYSTEM.MAX
There are 14 blocks (functions) in the program HIROTA SYSTEM.MAX.
• Block 1: commentinter(name).
This block gives a friendly interface.
• Block 2: dispersion(P1,check coefficients,n,name).
It calculates the dispersion relation for each of the wave numbers ki and angular frequencies ωi via the polynomial P1 , i.e. P1 (k, −ω) = 0.
• Block 3: condition 4soliton(P1,P2).
It tests the condition for the existence of a four soliton solution via Hirota’s conditions
Seven [P2 , 4] and Sodd [P1 , P2 , 4]. If the polynomials P1 and P2 satisfy the conditions, then
the block returns TRUE else FALSE.
• Block 4: condition 3soliton(P1,P2).
It tests the condition for the existence of a three soliton solution by Hirota’s conditions
Seven [P2 , 3] and Sodd [P1 , P2 , 3]. If the polynomials P1 and P2 satisfy the conditions, then
the block returns TRUE else FALSE.
• Block 5: condition 1 2soliton(P1,P2).
This block tests the conditions for the existence of the one and two soliton solutions
via Hirota’s condition, i.e. it simply verifies whether P1 is odd function and P2 is even
T-4162
20
function without constant term. If the polynomials P1 and P2 satisfy these conditions,
then the block returns TRUE else FALSE.
• Block 6: construct 2soliton(B2,n).
This block constructs the functions f2 and g2 and finds the coefficient aij via Hirota’s
bilinear operator.
• Block 7: construct 3soliton(B1,n). This block constructs the functions f3 and g3 and
finds the coefficient b123 via Hirota’s bilinear operator.
• Block 8: a ij(P2).
This block calculates the coefficient aij via the polynomial form.
• Block 9: check a().
This block compares the coefficients aij which are now calculated by the two methods. If
the coefficients are equal, it returns TRUE else FALSE.
• Block 10: b 123(P2).
This block calculates the coefficient b123 via the polynomial form.
• Block 11: check b().
This block verifies equality of the coefficients b123 which are now calculated via two methods. If the coefficients are the same, it returns TRUE else FALSE.
• Block 12: hirota op(B1,B2).
This block defines the Hirota’s operators Dxn and Dxm Dtn by (4.1) and (4.2). The operator
Dyn is also defined in this block and furthermore it determines the polynomials P1 and P2
corresponding to the bilinear operators B1 and B2.
• Block 13:
hirota(B1,B2,name,N,test for 3soliton,check coefficients, test for 4soliton).
This block is the main program. The symbols B1 and B2 stand for the bilinear operators
B1(f, g) and B2(f, g) for the PDE. The operator B1 should be an odd operator and B2
should be an even operator without constant term.
The user can give a ’name’ to the PDE, e.g. name: modified Korteweg de Vries equation.
The N refers to the N -soliton solution the user wants to calculate. N is either one, two
or three.
If test for 3soliton is TRUE then Hirota’s conditions for the existence of the three soliton
solution will be tested. If test for 3soliton is FALSE then that test will be skipped.
One sets check coefficients to TRUE or FALSE. If TRUE, the program will verify whether
or not the coefficients aij and b123 , which are calculated first via the polynomial form,
coincide with the corresponding coefficients obtained via Hirota’s bilinear operators.
• Block 14: output(N).
This block returns the functions f and g for the N -soliton solution.
T-4162
21
4.5 The Batch Program for HIROTA SYSTEM.MAX
For the coupled system, the batch program is similar to the one for a single equation. But the
user must provide two bilinear operators B1 and B2, the first one must be odd, the second one
even without constant term.
Here is the batch program we used for the construction of the 3-soliton solution for the mKdV
equation.
writefile(”test mkdv.out”)$
loadfile(”hirota system.lsp”)$
N:3$
B1(f,g):=Dxt[0,1](f,g)+Dx[3](f,g)$
B2(f,g):=Dx[2](f,g)$
name:modified Korteweg de Vries$
hirota(B1,B2,name,N,true,true,true)$
closefile()$
quit()$
æ
5. EXAMPLES AND TEST CASES
The programs HIROTA SINGLE.MAX and HIROTA SYSTEM.MAX have been thoroughly
tested. We did a search in the literature to find soliton equations that were known to admit
three soliton solutions. We also tested some equations that do not satisfy the criteria for
admitting a two and/or three soliton solution.
In this Chapter we give the results for the test examples. Unless stated otherwise we selected
N = 3, and the variables test for 3soliton, check coefficients and test for 4soliton were set to
TRUE. For some of the examples the actual computer output is listed in Appendix D.
5.1 Test Results for Single Equations
We used the program HIROTA SINGLE.MAX to test the examples below. For one soliton
solutions the function f is
f = 1 + exp θ ,
for two soliton solutions the function f is given by
f = 1 + exp θ1 + exp θ2 + a12 exp(θ1 + θ2 ) ,
for three soliton solutions one has
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 ) .
In all the cases we calculated the coefficients aij and b123 in two different ways, via the polynomial form and via the bilinear operator, and found that the coefficients were equal.
• For the KdV equation (2.9),
ut + 6uux + u3x = 0 ,
the bilinear operator [14, 19] is
B(f, g) = Dxt[1, 1](f, g) + Dx[4](f, g)
There exists a four soliton solution. In the expansion we use θi = ki x − ωi t + δi , where the
wave number and the angular frequency depend on each other via the dispersion relation
ω = k 3 . The coefficients of the three soliton solution are
(ki − kj )2
,
aij =
(ki + kj )2
i, j = 1, 2, 3 and i < j ,
T-4162
and
b123 = a12 a13 a23
23
(k1 − k2 )2 (k1 − k3 )2 (k2 − k3 )2
.
=
(k1 + k2 )2 (k1 + k3 )2 (k2 + k3 )2
The output of the program confirmed the results in (2.40), (2.42) and (2.44).
• For the Sawada-Kotera equation (SK) (2.13),
ut + 45u2 ux + 15ux u2x + 15uu3x + u5x = 0 ,
the bilinear operator [19] is
B(f, g) = Dxt[1, 1](f, g) + Dx[6](f, g) .
There is a four soliton solution. In the expansion θi = ki x − ωi t + δi . The dispersion
relation is given by ω = k 5 . The coefficients in the three soliton solution are
aij =
=
b123
(ki − kj )2 (ki2 − ki kj + kj2 )
(ki + kj )2 (ki2 + ki kj + kj2 )
(ki − kj )3 (ki3 + kj3 )
, i, j = 1, 2, 3 and i < j ,
(ki + kj )3 (ki3 − kj3 )
= a12 a13 a23
(k1 − k2 )3 (k13 + k23 )(k1 − k3 )3 (k13 + k33 )(k2 − k3 )3 (k23 + k33 )
=
.
(k1 + k2 )3 (k13 − k23 )(k1 + k3 )3 (k13 − k33 )(k2 + k3 )3 (k23 − k33 )
• For the seventh-order KdV equation, the bilinear operator for equation (b·1) in [13] with
n = 3 is
B(f, g) = Dxt[1, 1](f, g) + Dx[8](f, g) .
There is a two soliton solution but no three soliton solution. In the expansion θi =
ki x − ωi t + δi with ω = k 7 . The coefficient of the two soliton solution is
a12 =
(k1 − k2 )2 (k12 − k1 k2 + k22 )
.
(k1 + k2 )2 (k12 + k1 k2 + k22 )
• For the modified fifth-order KdV equation, the bilinear operator of equation (b·2) in [13]
is
B(f, g) = Dxt[3, 1](f, g) + Dx[6](f, g) .
There is a two soliton solution but no three soliton solution. In the expansion θi =
ki x − ωi t + δi . The dispersion relation is ω = k 3 and the coefficient in the two soliton
solution is
(k1 − k2 )4
a12 =
.
(k1 + k2 )4
T-4162
24
• For the bilinear operator (b·4) in [13],
B(f, g) = Dxt[1, 1](f, g) + Dxt[2, 2](f, g) ,
there is a two soliton solution but no three soliton solution. In the expansion θi =
1
ki x − ωi t + δi and the dispersion relation is ω = . The coefficient of the two soliton
k
solution is
(k1 − k2 )2 (k12 − k1 k2 + k22 )
a12 = −
.
(k1 + k2 )2 (k12 + k1 k2 + k22 )
• For the bilinear operator (b·6) in [13],
B(f, g) = Dxt[0, 2](f, g) + Dxt[3, 1](f, g) ∓ Dy[2](f, g) ,
there exists a two soliton solution but no three soliton
√ solution.3 In the expansion θi =
k 6 ±4l2 −k
ki x − ωi t + li y + δi . The dispersion relation is ω=−
. The coefficient of the
2
two soliton solution is
a12=
3k1k2 (k2K2 −k1K2 −k2K1 +k1K1 −k24 −k14 +k1k23 +k13k2 )+K1K2 −k13k23 ∓4l1l2
,
3k1k2 (k2K2 +k1K2 +k2K1 +k1K1 −k24 −k14 −k1k23 −k13k2 )+K1K2 −k13k23 ∓4l1l2
where we used the abbreviations Ki =
q
ki6 ±4li2 , i = 1, 2 .
• For the bilinear operator (b·8) in [13],
B(f, g) = Dx[2](f, g) − Dxt[0, 2](f, g) − Dxt[2, 2](f, g) ,
there exists a two soliton solution but no three soliton solution. In the expansion θi =
1
ki x − ωi t + δi with the dispersion relation ω = − √ 2
. The coefficient of the two soliton
k +1
solution is given by
a12=
2k22 K1K2 −4k1 k2 K1K2 +2k12 K1K2 +2K1K2 −k1 k23 +2k12 k22 −k13 k2 −2k1 k2 −2
,
2k22 K1K2 +4k1 k2 K1K2 +2k12 K1K2 +2K1K2 +k1 k23 +2k12 k22 +k13 k2 +2k1 k2 −2
where Ki =
q
ki2 +1, i = 1, 2 .
• For the bilinear operator (b·9) in [13],
B(f, g) = Dxt[0, 2](f, g) + Dx[6](f, g) ,
there exists a two soliton solution but no three soliton solution.√In the expansion θi =
ki x − ωi t + δi and the dispersion relation is ω = −ik 3 with i = −1. The coefficient of
the two soliton solution is
a12 =
(k1 − k2 )2 (2k12 − k1 k2 + 2k22 )
.
(k1 + k2 )2 (2k12 + k1 k2 + 2k22 )
T-4162
25
• For the Kadomtsev-Petviashvili equation (2.15),
(ut + 6uux + u3x )x + 3u2y = 0 ,
the bilinear operator [18, 19] reads
B(f, g) = Dxt[1, 1](f, g) + Dx[4](f, g) + 3∗Dy[2](f, g) .
In this case we got a result only for test for 4soliton set to FALSE, due to space and
memory limitations of MACSYMA on a VAX 8600. There is a three soliton solution. In
3l2 + k 4
, and for the
this case θi = ki x + li y − ωi t. We obtain the dispersion relation ω =
k
coefficients of the three soliton solution:
aij =
(ki lj − ki kj2 − li kj + ki2 kj )(ki lj + ki kj2 − li kj − ki2 kj )
, i, j = 1, 2, 3 , i < j ,
(ki lj − ki kj2 − li kj − ki2 kj )(ki lj + ki kj2 − li kj + ki2 kj )
and
b123 = a12 a13 a23 .
• For the Boussinesq equation [19, 23]
u2t − u2x − 3(u2 )2x − u4x = 0 ,
the bilinear operator is
B(f, g) = Dxt[0, 2](f, g) − Dx[2](f, g) − Dx[4](f, g) .
There is a four soliton solution.
√ In the expansion we use θi = ki x−ωi t+δi . The dispersion
relation is given by ω = −k 1 + k 2 . The coefficients in the three soliton solution are
q
q
aij = q
q
1 + ki2 1 + kj2 − 2ki2 + 3ki kj − 2kj2 − 1
1 + ki2 1 + kj2 − 2ki2 − 3ki kj − 2kj2 − 1
,
i, j = 1, 2, 3 and i < j ,
and
b123 = a12 a13 a23 .
In this case we got a result only for check coefficients set to FALSE, partly due to the fact
that the dispersion relation is irrational and partly due to space and memory limitations
of MACSYMA on a VAX 8600. So, we only calculated the coefficients aij and b123 via the
polynomial form. One way to remove the square root in a formula is by a uniformization
transformation. The procedure is as follows: in the dispersion relation
√
ω = −k 1 + k 2 ,
one puts
1
1
r−
2
r
k=
.
T-4162
Then
26
1 1
ω=
− r2 .
4 r2
We have not yet implemented this option into our programs. The goal is to have this
uniformization process in an automated form. Should the program detect the appearance
√
in the dispersion law, it should warn the user that it will try to perform a
of a
uniformization transformation or request a suitable substitution if it does not succeed
finding one by itself.
• For the shallow water wave equation [19],
uxxt + 3uut − 3ux
Z
x
ut dx0 − ux − ut = 0 ,
the bilinear operator is
B(f, g) = Dxt[3, 1](f, g) − Dx[2](f, g) − Dxt[1, 1](f, g) .
In this case we got a result only for test for 4soliton set to FALSE, due to space and
memory limitations of MACSYMA on a VAX 8600. There is a three soliton solution. In
k
this case θi = ki x − ωi t + δi . We obtain the dispersion relation ω =
and
(1 + k)(1 − k)
for the coefficients of the three soliton solution:
(ki − kj )2 (ki2 − ki kj + kj2 − 3)
aij =
, i, j = 1, 2, 3 and i < j ,
(ki + kj )2 (ki2 + ki kj + kj2 − 3)
b123 = a12 a13 a23
(k1 −k2 )2 K12 (k1 −k3 )2 K13 (k2 −k3 )2 K23
=
,
(k1 +k2 )2 L12 (k1 +k3 )2 L13 (k2 +k3 )2 L23
where we used the abbreviations Kij = ki2 − ki kj + kj2 − 3 and Lij = ki2 + ki kj + kj2 − 3 ,
for i, j = 1, 2, 3 with i < j.
5.2 Test Results for Coupled Systems
For all the cases below, the two soliton solution is generated by
f = 1 + i exp θ1 + i exp θ2 − a12 exp(θ1 + θ2 ) ,
g = 1 − i exp θ1 − i exp θ2 − a12 exp(θ1 + θ2 ) ,
(5.1)
and the three soliton solution by
f =
−
−
g =
−
+
1 + i exp θ1 + i exp θ2 + i exp θ3
a12 exp(θ1 + θ2 ) − a13 exp(θ1 + θ3 ) − a23 exp(θ2 + θ3 )
ib123 exp(θ1 + θ2 + θ3 ) ,
1 − i exp θ1 − i exp θ2 − i exp θ3
a12 exp(θ1 + θ2 ) − a13 exp(θ1 + θ3 ) − a23 exp(θ2 + θ3 )
i b123 exp(θ1 + θ2 + θ3 ) .
For all cases tested, the coefficients aij and b123 calculated via both methods were the same.
T-4162
27
• For the modified Korteweg-de Vries equation (2.19),
vt + 6v 2 vx + v3x = 0 ,
the bilinear system [15] is
B1(f, g) = Dxt[0, 1](f, g) + Dx[3](f, g) ,
B2(f, g) = Dx[2](f, g) .
There is a four soliton solution. In the expansion θi = ki x − ωi t + δi and the dispersion
relation is ω = k 3 . The coefficients of the three soliton solution are
aij =
(ki − kj )2
,
(ki + kj )2
and
b123 = a12 a13 a23 =
i, j = 1, 2, 3 and i < j ,
(k1 − k2 )2 (k1 − k3 )2 (k2 − k3 )2
.
(k1 + k2 )2 (k1 + k3 )2 (k2 + k3 )2
• For the fifth-order modified Korteweg-de Vries equation, the bilinear system (b·11) in [13]
with n = 2 reads
B1(f, g) = Dxt[0, 1](f, g) + Dx[5](f, g) ,
B2(f, g) = Dx[2](f, g) ,
and there is a four soliton solution. In the expansion θi = ki x − ωi t + δi . The dispersion
relation is ω = k 5 and the coefficients of the three soliton solution are
aij =
(ki − kj )2
,
(ki + kj )2
and
b123 = a12 a13 a23 =
i, j = 1, 2, 3 and i < j ,
(k1 − k2 )2 (k1 − k3 )2 (k2 − k3 )2
.
(k1 + k2 )2 (k1 + k3 )2 (k2 + k3 )2
• For the seventh-order modified Korteweg-de Vries equation, the bilinear system (b·11) in
[13] with n = 3 is
B1(f, g) = Dxt[0, 1](f, g) + Dx[7](f, g) ,
B2(f, g) = Dx[2](f, g) ,
and there exists a four soliton solution. In the expansion θi = ki x − ωi t + δi and the
dispersion relation reads ω = k 7 . The coefficients of the three soliton solution are
(ki − kj )2
aij =
,
(ki + kj )2
and
b123 = a12 a13 a23
i, j = 1, 2, 3 and i < j ,
(k1 − k2 )2 (k1 − k3 )2 (k2 − k3 )2
=
.
(k1 + k2 )2 (k1 + k3 )2 (k2 + k3 )2
T-4162
28
• For the ninth-order modified Korteweg-de Vries equation, the bilinear system (b·11) in
[13] with n = 4 is
B1(f, g) = Dxt[0, 1](f, g) + Dx[9](f, g) ,
B2(f, g) = Dx[2](f, g) ,
and the program confirms that there is a two soliton solution but no three soliton solution.
In the expansion θi = ki x − ωi t + δi where ω = k 9 . The coefficient of the two soliton
solution is
(k1 − k2 )2
a12 =
.
(k1 + k2 )2
• For yet another type of a high-order modified Korteweg-de Vries equation, the bilinear
system (b·12) in [13] is
B1(f, g) = Dxt[0, 1](f, g) + Dx[3](f, g) ,
B2(f, g) = Dx[4](f, g) .
There is a two soliton solution but no three soliton solution. In the expansion θi =
ki x − ωi t + δi and the dispersion relation is given by ω = k 3 . The coefficient of the two
soliton solution is
(k1 − k2 )4
.
a12 =
(k1 + k2 )4
• For the Bäcklund transformation associated with the equation that models shallow water
waves, the bilinear system (b·13) in [13] is
B1(f, g) = Dxt[0, 1](f, g) + Dx[1](f, g) − Dx[2, 1](f, g) ,
B2(f, g) = Dx[2](f, g) .
There is a four soliton solution. In the expansion θi = ki x − ωi t + δi with ω = −
The coefficients of the three soliton solution are
aij =
(ki − kj )2
,
(ki + kj )2
and
b123 = a12 a13 a23
i, j = 1, 2, 3 and i < j ,
(k1 − k2 )2 (k1 − k3 )2 (k2 − k3 )2
=
.
(k1 + k2 )2 (k1 + k3 )2 (k2 + k3 )2
• For the bilinear system (b·14) in [13] ,
B1(f, g) = Dxt[0, 1](f, g) + Dx[1](f, g) − Dxt[2, 1](f, g) ,
B2(f, g) = Dxt[1, 1](f, g) ,
k2
k
.
−1
T-4162
29
there is a four soliton solution. In the expansion θi = ki x − ωi t + δi with the dispersion
k
. The coefficients of the three soliton solution are
relation ω = − 2
k −1
aij =
(ki − kj )2 (ki kj + 1)
,
(ki + kj )2 (ki kj − 1)
i, j = 1, 2, 3 and i < j ,
and
b123 = a12 a13 a23
(k1 − k2 )2 (k1 − k3 )2 (k2 − k3 )2 (k1 k2 + 1) (k1 k3 + 1) (k2 k3 + 1)
.
=
(k1 + k2 )2 (k1 + k3 )2 (k2 + k3 )2 (k1 k2 − 1) (k1 k3 − 1) (k2 k3 − 1)
• For the bilinear system (b·15) in [13] with n = 1 ,
B1(f, g) = Dxt[0, 1](f, g) + Dx[3](f, g) ,
B2(f, g) = Dxt[1, 1](f, g) + Dx[4](f, g) ,
there is a four soliton solution. In the expansion θi = ki x − ωi t + δi . The dispersion
relation is ω = k 3 and the coefficients are
(ki − kj )2
aij = −
,
(ki + kj )2
and
b123
i, j = 1, 2, 3 and i < j ,
(k1 − k2 )2 (k1 − k3 )2 (k2 − k3 )2
=−
.
(k1 + k2 )2 (k1 + k3 )2 (k2 + k3 )2
• For the bilinear system (b·15) in [13] with n = 2 ,
B1(f, g) = Dxt[0, 1](f, g) + Dx[5](f, g) ,
B2(f, g) = Dxt[1, 1](f, g) + Dx[6](f, g) ,
there exists a two soliton solution but there is no three soliton solution. In the expansion
θi = ki x − ωi t + δi . The dispersion relation is ω = k 5 and the two soliton solution has the
coefficient
(k1 − k2 )2 (k12 − k1 k2 + k22 )
.
a12 =
(k1 + k2 )2 (k12 + k1 k2 + k22 )
• For the bilinear system (b·16) in [13] with n = 1 ,
B1(f, g) = Dxt[0, 1](f, g) + Dx[3](f, g) ,
B2(f, g) = Dxt[0, 2](f, g) + Dxt[3, 1](f, g) ,
there is a four soliton solution. In the expansion θi = ki x − ωi t + δi with ω = k 3 . The
coefficients of the three soliton solution are
(ki − kj )2 (ki2 + ki kj + kj2 )
aij = −
,
(ki + kj )2 (ki2 − ki kj + kj2 )
i, j = 1, 2, 3 and i < j ,
T-4162
and
30
(k1 − k2 )2 (k1 − k3 )2 (k2 − k3 )2 K12 K13 K23
b123 = −
.
(k1 + k2 )2 (k1 + k3 )2 (k2 + k3 )2 L12 L13 L23
Where we used the abbreviations Kij = ki2 + ki kj + kj2 and Lij = ki2 − ki kj + kj2 , for
i, j = 1, 2, 3 with i < j .
• For the bilinear system (b·16) in [13] with n = 2 ,
B1(f, g) = Dxt[0, 1](f, g) + Dx[5](f, g) ,
B2(f, g) = Dxt[0, 2](f, g) + Dxt[5, 1](f, g) ,
there exists a two soliton solution but there is no three soliton solution. In the expansion
θi = ki x − ωi t + δi with ω = k 5 . The coefficient of the two soliton solution is
a12 =
(k1 − k2 )2 (k12 − k1 k2 + k22 )(k14 + k13 k2 + k12 k22 + k1 k23 + k24 )
.
(k1 + k2 )2 (k12 + k1 k2 + k22 )(k14 − k13 k2 + k12 k22 − k1 k23 + k24 )
• For the bilinear system with a parameter a ,
B1(f, g) = Dxt[0, 1](f, g) + Dx[3](f, g) ,
B2(f, g) = Dxt[1, 1](f, g) + a ∗ Dx[4](f, g) ,
there exists a two soliton solution. For a three soliton solution to exist,
72(a − 1)a(2a + 1)k1 k2 k3 (k1 − k2 )2(k1 + k2 )2(k1 − k3 )2(k1 + k3 )2(k2 − k3 )2(k2 + k3 )2 = 0
should be satisfied. From this result, we can see that there is a at least a three soliton
solution if the parameter a equals 1, 0 or 21 . This is a very useful feature of the program
since it allows determination of the values of parameters for which the condition is satisfied. In practice, this could used in a search for integrable equations. In the expansion
θi = ki x − ωi t + δi with ω = k 3 . The coefficient of the two soliton solution is
a12 =
(k1 − k2 )2 (ak12 − k12 − 2ak1 k2 − k1 k2 + ak22 − k22 )
.
(k1 + k2 )2 (ak12 − k12 + 2ak1 k2 + k1 k2 + ak22 − k22 )
One could now carry on with either one of the above special values for parameter a
and test if there exists a four soliton solution. Or one could construct the three soliton
solutions for the original equation with a = 1, 0 or 21 .
æ
6. CONCLUSION
In this thesis we developed two symbolic programs, both written in MACSYMA syntax, for the
construction of soliton solutions. The algorithm of both programs is based on Hirota’s bilinear
method which allows to construct multiple-soliton solutions of nonlinear evolution and wave
equations, provided a bilinear representation of the equations is known. The first program
allows to construct one, two and three soliton solutions of a single bilinear equation; the second
one carries out similar computations for a bilinear system. Both programs also allow to test for
the existence of up to four soliton solutions. The programs have been tested on many equations
from soliton theory, including well-known single equations and systems.
It is conjectured that every nonlinear PDE that admits a four soliton solution is completely
integrable. In that sense the symbolic computation of soliton solutions plays a significant role
in testing the integrability of nonlinear PDEs. Presently, there are no other programs available
to test for the existence of exact soliton solutions or to construct these solutions explicitly.
The computer implementation of Hirota’s bilinear method, is made considerably easier by
introducing an equivalent but simpler expression for Hirota’s bilinear operators Dxn and Dxm Dtn .
To avoid ‘exponential’ expression swell during the calculations, the exponentials are abbreviated
by functions h(x, t) which have inherently all the needed properties of exponentials.
Since the computations are symbolic, bilinear operators can have undetermined parameters. The symbolic programs allows to determine the values of these parameters for which the
equations will admit soliton solutions, and thus be completely integrable.
It is possible to develop new symbolic programs that calculate soliton solutions of a large
family of single and/or coupled bilinear equations. With these programs in place, one could
start a comprehensive search for nonlinear evolution and wave equations that have soliton
solutions. The design of such a program and the investigation of general bilinear forms (using
this software) would be an interesting topic for further research.
æ
BIBLIOGRAPHY
[1] Scott Russell, J. Report on Waves. In: Rept. Fourteenth Meeting of the British Assoc. for
Science, London: John Murray, 1844, 311-90
[2] Newell, A. C. The History of the Soliton. In: J. Appl. Mech. 105 (1983): 1127-37.
[3] Korteweg, D. J., and DeVries, G. On the Change of Form of Long Waves Advancing in
a Rectangular Canal, and on a New Type of Long Stationary Waves. In: Phil. Mag. 39
(1895): 422-443.
[4] Fermi, A., Pasta, J., and Ulam, S. Studies of Nonlinear Problems, I. In: Los Alamos
Report LA 1940 (1955).
[5] Gardner, C. S., Greene, J. M., Kruskal, M. D., and Miura, R. M. Method for Solving the
Korteweg-deVries Equation. In: Phys. Rev. Lett. 19 (1967): 1095-97.
[6] Dodd, R. K., Eilbeck, J. C., Gibbon, J. D., and Morris, H. C. Solitons and Nonlinear Wave
Equations. New York: Academic Press, 1982.
[7] Whitham, G. B. Linear and Nonlinear Waves. New York: A Wiley-Interscience Publication,
1974.
[8] Newell, A. C. Solitons in Mathematics and Physics. Philadelphia: SIAM, 1985.
[9] Drazin, P. G., and Johnson, R. S. Solitons: an introduction, Cambridge: Cambridge
University Press, 1989.
[10] Ablowitz, M. J., and Segur, H. Solitons and the Inverse Scattering. In: SIAM Studies in
Applied Mathematics 4. Philadelphia: SIAM, 1981.
[11] Hirota, R., Exact Solution of the Korteweg De Viries Equation for Multiple Collisions of
Solitons. In: Phys. Rev. Lett. 27 (1971) 1192-94.
[12] Matsuno, Y. Bilinear Transformation Method. Orlando: Academic Press, 1984.
[13] Ito, M. An Extension of Nonlinear Evolution Equations of the K-dV (mK-dV) Type to
Higher Orders. In: 49 (1980): 771-78.
[14] Hietarinta, J. A Search for Bilinear Equations Passing Hirota’s Three-Soliton Condition,
Part I. In: J. Math. Phys. 28 (1987): 1732-42.
[15] Hietarinta, J. A Search for Bilinear Equations Passing Hirota’s Three-Soliton Condition,
Part II. In: J. Math. Phys. 28, (1987): 2094-101.
T-4162
33
[16] Hietarinta, J. A Search for Bilinear Equations Passing Hirota’s Three-Soliton Condition,
Part III. In: J. Math. Phys. 28 (1987): 2586-92.
[17] Hietarinta, J. A Search for Bilinear Equations Passing Hirota’s Three-Soliton Condition,
Part IV. In: J. Math. Phys. 29 (1988): 628-35.
[18] Hietarinta, J. Hirota’s Bilinear Method and Partial Integrability. In: Partially Integrable
Evolution Equations in Physics, ed. R. Conte and N. Boccara, (1990): 459-78. Proceedings
of the Summer School for Theoretical Physics, Les Houches, France, March 21-28, 1989,
Kluwer Academic Publishers, Doctrecht.
[19] Hereman, W., and Zhuang, W. A MACSYMA Program for the Hirota Method. In: 13th
World Congress on Computation and Applied Mathematics, Vol. 2, ed. R. Vichnevetsky
and J. J. H. Miller, (1991): 842-43. IMACS’91, Dublin, Ireland.
[20] Hereman, W., Banerjee, P. P., Korpel, A., and Assanto, G. Exact Solitary Wave Solutions
of Non-linear Evolution and Wave Equations Using a Direct Algebraic Method. In: J. Phys.
A: Math. Gen. 19 (1986): 607-28.
[21] Hereman, W., and Takaoka, M. Solitary Wave Solutions of Nonlinear Evolution and Wave
Equations Using a Direct Method and MACSYMA. In: J. Phys. A: Math. Gen. 23 (1990):
4805-22.
[22] Hirota, R. Bäcklund Transformations, the Inverse Scattering Method, Solitons, and Their
Applications. In: Lecture Notes in Mathematics 515, ed. R.M. Miura, 40-68. Berlin:
Springer-Verlag, 1976.
[23] Hirota, R. Solitons. In: Topics in Physics 17, Ed. R.K. Bullough and P.J. Caudrey, 157-76.
Berlin: Springer-Verlag, 1980.
[24] Hereman, W. Application of a MACSYMA Program for the Painlevé Test to the FitzhughNagumo Equation. In: Partially Integrable Evolution Equations in Physics, ed. R. Conte,
and N. Boccara, (1990): 585-88. Kluwer Academic Publishers, Doctrecht.
[25] Nozaki, K. Hirota’s Method and the Singular Manifold Expansion. In: J. Phys. Soc. Jpn.
56 (1987): 3052-54.
[26] Newell, A. C., Tabor, M., and Zeng, Y. B. A Unified Approach to Painlevé Expansions.
In: Physica 29D (1987): 1-68.
[27] Steeb, W. H., and Euler, N. Nonlinear Evolution Equations and Painlevé Test. Singapore:
World Scientific, 1988.
[28] Gibbon, J. D., Radmore, P., Tabor, M. and Wood, D. The Painlevé Test and Hirota’s
Method. In: Stud. in Appl. Math. 72 (1985): 39-63.
[29] Rosales, R. Exact Solitons of Some Nonlinear Evolution Equations. In: Stud. in Appl.
Math. 59 (1978): 117-151.
[30] Symbolics, Inc. MACSYMA Reference Manual, Version 13. Cambridge: Symbolics, 1988.
æ
APPENDIX
A. PROOFS
In this Appendix we give the explicit proofs of formulae (3.12), (4.1) and (4.2) in the text.
A.1 The Proof of Hirota’s N-Soliton Condition
For the bilinear representation of a PDE,
P (Dx , Dt )(f ·f ) = 0,
(A.1)
the polynomial P is supposed to be even P (Dx , Dt ) = P (−Dx , −Dt ) and without a constant
term P (0, 0) = 0.
The general N -soliton solution is


(N )
N
X
X
exp  Aij µi µj +
µi θ i  ,
X
f=
µ=0,1
i<j
(A.2)
i=1
where
θi = ki x − ωi t + δi ,
i = 1, 2, . . . , N,
(A.3)
and where the constants ki , ωi must satisfy the dispersion relation
P (ki , −ωi ) = 0 ,
i = 1, 2, . . . , N.
(A.4)
Furthermore,
aij = exp Aij = −
P (ki − kj , −ωi + ωj )
,
P (ki + kj , −ωi − ωj )
i<j.
(A.5)
For a three soliton solution to exist, one requires that
S[P, n] =
X
σ=±1
×
(n)
Y
P
n
X
i=1
σi ki , −
n
X
!
σi ωi
i=1
(σi ki − σj kj , −σi ωi + σj ωj )σi σj = 0,
(A.6)
i<j
P
for each n = 2, . . . , N . Where σ=±1 indicates the summation over all possible combinations
Q(n)
of σ1 = ±1, σ2 = ±1, . . . , σn = ±1 and i<j means the product over all possible combinations
of n elements under the condition i < j.
T-4162
36
Proof: Substituting (A.2) into (A.1) and using (2.7) yields
X
X
P
µ=0,1 µ0 =0,1
N
X
(µi −
µ0i )ki , −
i=1
N
X
!
(µi −
µ0i )ωi
i=1


(N )
N
X
X
× exp  (µi + µ0i )θi + (µi µj − µ0i µ0j )Aij  = 0,
i=1
(A.7)
i<j
where P is given by (A.1). Let the coefficient of the factor


n
m
X
X
exp  θi + 2
θi 
i=1
(A.8)
i=n+1
on the left-hand side of (A.7) be G. It follows that
G =
X
X
N
X
0
cond(µ, µ )P
µ=0,1 µ0 =0,1
(µi −
µ0i )ki , −
i=1
N
X
!
(µi −
µ0i )ωi
i=1


(N )
X
× exp  (µi µj − µ0i µ0j )Aij  ,
(A.9)
i<j
where the notation cond(µ, µ0 ) means that summations over µ and µ0 are taken under the
following conditions:
µj + µ0j = 1
µj = µ0j = 1
µj = µ0j = 0
for
for
for
j = 1, 2, . . . , n ,
j = n + 1, n + 2, . . . , m ,
j = m + 1, m + 2, . . . , N .
(A.10)
Defining the variable
σj = µj − µ0j ,
(A.11)
using (A.10) and setting Aij = 0 for i ≥ j, we then have
(N )
X
(µi µj + µ0i µ0j )Aij
i<j
=
N X
N
X
(µi µj + µ0i µ0j )Aij
i=1 j=1

n X
n
n
m
n
N
X
X
X
X
X
= 
+
+
i=1 j=1
+
m X
n
X
i=1 j=n+1
i=n+1 j=1
+
N
X
m
X
+
n
X
i=m+1 j=1
i=1 j=m+1
m
X
i=n+1 j=n+1
+
N
X
N
X
+
m
X
i=m+1 j=n+1
N
X
i=n+1 j=m+1
+
N
X
N
X
i=m+1 j=m+1

 (µi µj + µ0 µ0 )Aij
i j
T-4162
37

n X
n
m X
n
m
X
X
X
= 
+
+
i=1 j=1
n
X
i=n+1 j=1
m
X
i=n+1 j=n+1
m X
n
X
(µi µj + µ0i µ0j )Aij +
=
i,j=1
n X
=
i,j=1
m
X
+

 (µi µj + µ0 µ0 )Aij
i j
Aij +
i=n+1 j=1
m
X
Aij
i,j=n+1
1
1
(1 + σi )(1 + σj ) + (1 − σi )(1 − σj ) Aij
4
4
n
X
Aij +
i=n+1 j=1
n
X
m
X
Aij
i,j=n+1
m X
n
m
X
X
1
(1 + σi σj )Aij +
Aij +
Aij
i=n+1 j=1
i,j=n+1
i,j=1 2
=
(n)
X
1
=
i<j
2
(1 + σi σj )Aij +
m X
n
X
Aij +
i=n+1 j=1
m
X
Aij .
(A.12)
i,j=n+1
Since σi and σj take the values +1 or −1 for 1 ≤ i, j ≤ n, regarding (A.10) and (A.11), we
obtain, from the relations P (k, −ω) = P (−k, ω) and as a consequence of (A.5),
P (σi ki − σj kj , −σi ωi + σj ωj )
1
σi σj .
exp (1 + σi σj )Aij = −
2
P (ki + kj , −ωi − ωj )
(A.13)
Substituting (A.11), (A.12) and (A.13) into (A.9) yields
G=c
X
P
σ=±1
n
X
σi ki , −
n
X
σi ωi
i=1
i=1
! (n)
Y
P (σi ki − σj kj , −σi ωi + σj ωj )σi σj ,
(A.14)
i<j
where c is a constant that is independent of the summation indices σ1 , σ2 , . . . , σN . If we can
verify the identity
X
σ=±1
P
n
X
σi ki , −
i=1
n
X
σi ωi
i=1
! (n)
Y
P (σi ki − σj kj , −σi ωi + σj ωj )σi σj = 0
(A.15)
i<j
for n = 2, . . . , N , then (A.2) is an exact solution of the bilinear equation (A.1). The above
identity is nothing else then S[P, n] = 0; this completes the proof.
A.2 The Proof of the New Expressions for Hirota’s Operators
Hirota’s operators Dxn (f ·g) and Dxm Dtn (f ·g) given in (2.2) and (2.3) can be written as
Dxn (f ·g) =
n
X
(−1)(n−j) n! ∂ j f ∂ n−j g
j=0
Dxm Dtn (f ·g) =
j!(n − j)! ∂xj ∂xn−j
m X
n
X
(−1)(m+n−j−i) m!
j=0 i=0
j!(m − j)!
,
n!
∂ i+j f ∂ n+m−i−j g
.
i!(n − i)! ∂ti ∂xj ∂tn−i ∂xm−j
These expressions were used in the algorithms of the two programs.
(A.16)
(A.17)
T-4162
38
Proof: We will prove (A.16) by mathematical induction. The formula (A.17) can be proven
in a similar way.
We first try to show that
∂
∂
− 0
∂x ∂x
!n
(f (x)·g(x0 )) =
n
X
(−1)(n−j) n! ∂ j f (x) ∂ n−j g(x0 )
j=0
∂x0
∂xj
j!(n − j)!
n−j
.
(A.18)
,
(A.19)
For n = 1,
∂
∂f (x)
∂g(x0 )
∂
− 0 (f (x)·g(x0 )) =
·g(x0 ) − f (x)·
∂x ∂x
∂x
∂x0
!
=
1
X
(−1)(1−j) 1! ∂ j f (x) ∂ 1−j g(x0 )
j=0
j!(1 − j)!
∂x0
∂xj
1−j
(A.18) obviously holds. If we assume (A.18) to be true for n − 1, then
∂
∂
− 0
∂x ∂x
!n−1
(f (x)·g(x0 )) =
n−1
X
j=0
(−1)(n−1−j) (n − 1)! ∂ j f (x) ∂ n−1−j g(x0 )
.
j!(n − 1 − j)!
∂xj ∂x0 n−1−j
Using (A.20), we have
∂
∂x
−
=
=
∂
∂x0
n−1
X
=
j=0
−
n−1
X
j=0
=
n−1
X
j=0
=
n−1
X
j=1
n
+
!
∂
∂
− 0
∂x ∂x
!n−1
(f (x)·g(x0 ))
! n−1
X (−1)(n−1−j) (n − 1)! ∂ j f (x) ∂ n−1−j g(x0 )
j!(n − 1 − j)!
j=0
(−1)(n−1−j) (n − 1)!
j!(n − 1 − j)!
∂x0
∂xj
n−1−j
∂ j+1 f (x) ∂ n−1−j g(x0 )
∂xj+1 ∂x0 n−1−j
!
(−1)(n−1−j) (n − 1)! ∂ j+1 f (x) ∂ n−1−j g(x0 )
j!(n − 1 − j)!
∂xj+1 ∂x0 n−1−j
(−1)(n−1−j) (n − 1)! ∂ j f (x) ∂ n−j g(x0 )
j!(n − 1 − j)!
∂xj ∂x0 n−j
n
X
(−1)(n−j) (n − 1)! ∂ j f (x) ∂ n−j g(x0 )
j=1
+
(f (x)·g(x )) =
∂ j f (x) ∂ n−j g(x0 )
∂xj ∂x0 n−j
n−1
X
∂
∂
− 0
∂x ∂x
0
∂
∂
− 0
∂x ∂x
j=0
−
!n
(j − 1)!(n − j)!
∂xj
∂x0
n−j
(−1)(n−j) (n − 1)! ∂ j f (x) ∂ n−j g(x0 )
j!(n − 1 − j)!
∂xj ∂x0 n−j
(−1)(n−j) (n − 1)! (−1)(n−j) (n − 1)!
+
(j − 1)!(n − j)!
j!(n − 1 − j)!
∂ f (x)
∂ n g(x0 )
n
+
(−1)
f
(x)
∂xn
∂x0 n
!
∂ j f (x) ∂ n−j g(x0 )
∂xj ∂x0 n−j
(A.20)
T-4162
=
n−1
X
j=1
n
39
(−1)(n−j) n! ∂ j f (x) ∂ n−j g(x0 )
j!(n − j)! ∂xj ∂x0 n−j
∂ f (x)
∂ n g(x0 )
n
+
(−1)
f
(x)
∂xn
∂x0 n
n
(n−j)
j
X (−1)
n! ∂ f (x) ∂ n−j g(x0 )
=
.
∂xj ∂x0 n−j
j=0 j!(n − j)!
+
Thus, (A.18) is true for all n = 1, 2, . . . . Setting x0 = x, we have
Dxn (f ·g) =
n
X
(−1)(n−j) n! ∂ j f (x) ∂ n−j g(x)
j=0
æ
j!(n − j)!
∂xj
∂xn−j
.
B. FLOWCHART OF HIROTA SINGLE.MAX
æ
T-4162
Fig. B.1: Flowchart of HIROTA SINGLE.MAX
41
C. TABLE WITH LOGICAL COMBINATIONS
In this Appendix we give the table with the logical combinations for the Boolean variables that
can be selected in the batch files.
æ
Tab. C.1: Logical Combinations of batch files
D. PROGRAM CODES AND TEST OUTPUT
In this Appendix we give code of the programs HIROTA SINGLE.MAX and HIROTA SYSTEM.MAX
and some MACSYMA output of the test cases.
D.1 HIROTA SINGLE.MAX
T-4162
44
T-4162
45
T-4162
46
T-4162
47
T-4162
D.2 HIROTA SYSTEM.MAX
48
T-4162
49
T-4162
50
T-4162
51
T-4162
52
T-4162
D.3 Output of Test Cases
D.3.1 Korteweg-de-Vries (KdV) Equation
53
T-4162
54
T-4162
D.3.2 Kadomtsev-Petviashvili (KP) Equation
55
T-4162
56
T-4162
.
D.3.3 Modified Korteweg-de-Vries (mKdV) Equation
57
T-4162
58
T-4162
59
T-4162
D.3.4 Higher Order Ito Coupled Bilinear Equations
60
T-4162
61
T-4162
D.3.5 Bilinear Equations with a Parameter
62
T-4162
63
T-4162
æ
64
Download