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