ORIGINAL ARTICLE: Willy Hereman, Unal Goktas. Symbolic computation of solitary wave solutions and solitons through homogenization of degree. DOI: https://doi.org/10.48550/arXiv.2307.08888
Article Abstract: A simplified version of Hirota’s method for the computation of solitary waves and solitons of nonlinear PDEs is presented. A change of dependent variable transforms the PDE into an equation that is homogeneous of degree. Solitons are then computed using a perturbation-like scheme involving linear and nonlinear operators in a finite number of steps. The method is applied to a class of fifth-order KdV equations due to Lax, Sawada-Kotera, and Kaup-Kupershmidt. The method works for non-quadratic homogeneous equations for which the bilinear form might not be known. Furthermore, homogenization of degree allows one to compute solitary wave solutions of nonlinear PDEs that do not have solitons. Examples include the Fisher and FitzHugh-Nagumo equations, and a combined KdV-Burgers equation. When applied to a wave equation with a cubic source term, one gets a bi-soliton solution describing the coalescence of two wavefronts. The method is largely algorithmic and is implemented in Mathematica.

About the Package: PDESolitonSolutions

Nonlinear partial differential equations (PDEs) possess a number of remarkable properties reflecting their rich mathematical structure. Such properties include the Painleve property, nontrivial prolongation and bi-Hamiltonian structures, soliton solutions, Lax pairs, Backlund transformations, symmetries and conservation laws. These properties reveal the adequacy of PDEs as models for physical relevant phenomena. The search for these intrinsic properties becomes more attractive due to the availability of CAS such as Mathematica. Indeed, Mathematica is well suited and often necessary tool to perform the computations inherent in the investigation of integrability.
PDESolitonSolutions is a collection of Mathematica functions addressing computations of soliton solutions in analyzing nonlinear PDEs. A description of the simplified Hirota method and code is given in the accompanying paper: W. Hereman, U. Goktas, Symbolic computation of solitary wave solutions and solitons through homogenization of degree, Proceedings Conference on Nonlinear and Modern Mathematical Physics (NMMP-2022), Springer Proceedings in Mathematics and Statistics, 60pp, submitted (2023). This paper is available on the ArXiv.
A complete set of mathematical definitions and the concepts used in the package and this manual are beyond the scope of this document. For the formal definitions of the concepts and the theory behind the functions in the PDESolitonSolutions package, consult the references given in the References section (below). In this manual, a basic knowledge of Mathematica is assumed. For further information on Mathematica, consult the standard Mathematica references by Wolfram Research, Inc.

Loading the Package

To access all of the functions in PDESolitonSolutions, all you need to do is to load the file PDESolitonSolutions.m by typing the following line in a Mathematica notebook:
Set the directory so that Mathematica knows where to get the code. For example :
In[]:=
(*SetDirectory["C:\\Users\\gokta\\Dropbox\\Homogenization-Paper-2022\\Homogenization-code-UG"]*)
In[]:=
SetDirectory["C:\\data\\talks\\talks22\\Homogenization-code-UG"]
Load the package. The command below will generate two lines of messages.
In[]:=
Get["PDESolitonSolutions_July10_2023.m"]
Loading Package PDESolitonSolutions.m of July 10, 2023.
Package PDESolitonSolutions.m of July 10, 2023 is successfully loaded.

Usage

In[]:=
??PDESolitonSolutions
Out[]=
Symbol
PDESolitonSolutions[pde, u, vars: {x, ___}, t, R, opts] computes theN-soliton solutions for N = 1, .., R, with integer R < = 3, of the givenpartial differential equation (pde).PDESolitonSolutions[pde, u, vars: {x, ___}, t, {N}, opts] computes onlythe N-soliton solution where N < = 3, of the given partial differentialequation (pde).PDESolitonSolutions[pde, u, vars: {x, ___}, t, {min, max}, opts] computesthe N-soliton solutions where 1 <= min <= N <= max <= 3, of the givenpartial differential equation (pde).x is understood as the space variable and t as the time variable.u is understood as the dependent variable of the pde.Equations with including and up to 3-dimensional space variables are allowed.
Options
BoundForOrderOfLogarithmicDerivative4…(5 total)
Attributes
{Protected,ReadProtected}
Full Name
Integrability`PDESolitonSolutions`PDESolitonSolutions
​

Examples

If you haven't already loaded the package, load it now.

The Burgers Equation


The Korteweg-de Vries (KdV) Equation

In[]:=
kdveq:=
∂
t
u[x,t]+6u[x,t]
∂
x
u[x,t]+
∂
{x,3}
u[x,t]==0
In[]:=
kdveq
Out[]=
(0,1)
u
[x,t]+6u[x,t]
(1,0)
u
[x,t]+
(3,0)
u
[x,t]0
Compute 1-soliton solutions:
In[]:=
kdvsoliton1=PDESolitonSolutions[kdveq,u,{x},t,{1},PrintInformation->True]
Constructing solitary wave or soliton solutions for the PDE:
(0,1)
u
[x,t]+6u[x,t]
(1,0)
u
[x,t]+
(3,0)
u
[x,t]0
The given PDE can be integrated 1 time(s) with respect to x.
After integration (if possible) the PDE becomes:
∫
(0,1)
u
[x,t]x+3
2
u[x,t]
+
(2,0)
u
[x,t]0
The PDE can be homogenized with the transformation
u =
2-
2
(1,0)
f
[x,t]
+f[x,t]
(2,0)
f
[x,t]
2
f[x,t]
based on a Laurent series solution.
The resulting homogeneous equation has degree 2:
(0,1)
f
[x,t]
(1,0)
f
[x,t]-f[x,t]
(1,1)
f
[x,t]-3
2
(2,0)
f
[x,t]
+4
(1,0)
f
[x,t]
(3,0)
f
[x,t]-f[x,t]
(4,0)
f
[x,t]0
After substitution of the expansion
f = 1+Sum[epsilon^i*f[i][x,t], {i, 8}]
the homogenized PDE becomes:
epsilon
(0,1)
f[1]
[x,t]+
2
epsilon
(0,1)
f[2]
[x,t]+
3
epsilon
(0,1)
f[3]
[x,t]+
4
epsilon
(0,1)
f[4]
[x,t]+
5
epsilon
(0,1)
f[5]
[x,t]+
6
epsilon
(0,1)
f[6]
[x,t]+
7
epsilon
(0,1)
f[7]
[x,t]+
8
epsilon
(0,1)
f[8]
[x,t]epsilon
(1,0)
f[1]
[x,t]+
2
epsilon
(1,0)
f[2]
[x,t]+
3
epsilon
(1,0)
f[3]
[x,t]+
4
epsilon
(1,0)
f[4]
[x,t]+
5
epsilon
(1,0)
f[5]
[x,t]+
6
epsilon
(1,0)
f[6]
[x,t]+
7
epsilon
(1,0)
f[7]
[x,t]+
8
epsilon
(1,0)
f[8]
[x,t]-(1+epsilonf[1][x,t]+
2
epsilon
f[2][x,t]+
3
epsilon
f[3][x,t]+
4
epsilon
f[4][x,t]+
5
epsilon
f[5][x,t]+
6
epsilon
f[6][x,t]+
7
epsilon
f[7][x,t]+
8
epsilon
f[8][x,t])epsilon
(1,1)
f[1]
[x,t]+
2
epsilon
(1,1)
f[2]
[x,t]+
3
epsilon
(1,1)
f[3]
[x,t]+
4
epsilon
(1,1)
f[4]
[x,t]+
5
epsilon
(1,1)
f[5]
[x,t]+
6
epsilon
(1,1)
f[6]
[x,t]+
7
epsilon
(1,1)
f[7]
[x,t]+
8
epsilon
(1,1)
f[8]
[x,t]-3
2
epsilon
(2,0)
f[1]
[x,t]+
2
epsilon
(2,0)
f[2]
[x,t]+
3
epsilon
(2,0)
f[3]
[x,t]+
4
epsilon
(2,0)
f[4]
[x,t]+
5
epsilon
(2,0)
f[5]
[x,t]+
6
epsilon
(2,0)
f[6]
[x,t]+
7
epsilon
(2,0)
f[7]
[x,t]+
8
epsilon
(2,0)
f[8]
[x,t]
+4epsilon
(1,0)
f[1]
[x,t]+
2
epsilon
(1,0)
f[2]
[x,t]+
3
epsilon
(1,0)
f[3]
[x,t]+
4
epsilon
(1,0)
f[4]
[x,t]+
5
epsilon
(1,0)
f[5]
[x,t]+
6
epsilon
(1,0)
f[6]
[x,t]+
7
epsilon
(1,0)
f[7]
[x,t]+
8
epsilon
(1,0)
f[8]
[x,t]epsilon
(3,0)
f[1]
[x,t]+
2
epsilon
(3,0)
f[2]
[x,t]+
3
epsilon
(3,0)
f[3]
[x,t]+
4
epsilon
(3,0)
f[4]
[x,t]+
5
epsilon
(3,0)
f[5]
[x,t]+
6
epsilon
(3,0)
f[6]
[x,t]+
7
epsilon
(3,0)
f[7]
[x,t]+
8
epsilon
(3,0)
f[8]
[x,t]-(1+epsilonf[1][x,t]+
2
epsilon
f[2][x,t]+
3
epsilon
f[3][x,t]+
4
epsilon
f[4][x,t]+
5
epsilon
f[5][x,t]+
6
epsilon
f[6][x,t]+
7
epsilon
f[7][x,t]+
8
epsilon
f[8][x,t])epsilon
(4,0)
f[1]
[x,t]+
2
epsilon
(4,0)
f[2]
[x,t]+
3
epsilon
(4,0)
f[3]
[x,t]+
4
epsilon
(4,0)
f[4]
[x,t]+
5
epsilon
(4,0)
f[5]
[x,t]+
6
epsilon
(4,0)
f[6]
[x,t]+
7
epsilon
(4,0)
f[7]
[x,t]+
8
epsilon
(4,0)
f[8]
[x,t]0
Verifying that the perturbation scheme terminates. Be patient!
Verifying that the perturbation scheme terminates. Be patient!
Verifying that the perturbation scheme terminates. Be patient!
Verifying that the perturbation scheme terminates. Be patient!
Verifying that the perturbation scheme terminates. Be patient!
Verifying that the perturbation scheme terminates. Be patient!
Verifying that the perturbation scheme terminates. Be patient!
Verifying that the perturbation scheme terminates. Be patient!
Verifying that the perturbation scheme terminates. Be patient!
A candidate for a solitary (or one-soliton) solution is
f = 1+phi[1][x,t]
While computing these solutions, the replacement rules {{omega[i_]
3
k[i]
}}
and the transformation:
u =
2-
2
(1,0)
f
[x,t]
+f[x,t]
(2,0)
f
[x,t]
2
f[x,t]
were used.
With phi[i][x,t] = Exp[delta[i]+xk[i]-tomega[i]],
one gets the following solution(s) for f:
{f1+phi[1][x,t]}
corresponding to:
u
2(-
2
k[1]
2
phi[1][x,t]
+
2
k[1]
phi[1][x,t](1+phi[1][x,t]))
2
(1+phi[1][x,t])

After factoring the (simplest) solution:
u
2
2
k[1]
phi[1][x,t]
2
(1+phi[1][x,t])

Substituting phi[i] = Exp[delta[i]+xk[i]-tomega[i]]
as well as omega[i] and (if applicable), k[i]..., delta[i], one gets:
u
2
delta[1]+xk[1]-t
3
k[1]

2
k[1]
2
1+
delta[1]+xk[1]-t
3
k[1]



After factoring the (simplest) solution(s):
u
2
delta[1]+xk[1]+t
3
k[1]

2
k[1]
2

t
3
k[1]

+
delta[1]+xk[1]



In terms of hyperbolic (or other special) functions:
u
1
2
2
k[1]
2
Sech
delta[1]
2
+
1
2
xk[1]-
1
2
t
3
k[1]


After factoring the (simplest) solution(s):
u
1
2
2
k[1]
2
Sech
1
2
(delta[1]+xk[1]-t
3
k[1]
)

Out[]=
u[x,t]
1
2
2
k[1]
2
Sech
1
2
(delta[1]+xk[1]-t
3
k[1]
)

In[]:=
kdveq/.DSolve`DSolveToPureFunction[kdvsoliton1]//Simplify
Out[]=
{True}
Compute 1 and 2-soliton solutions:
In[]:=
kdvsoliton1and2=PDESolitonSolutions[kdveq,u,{x},t,2]
Out[]=
u[x,t]
1
2
2
k[1]
2
Sech
1
2
(delta[1]+xk[1]-t
3
k[1]
)
,u[x,t](
2
(k[1]+k[2])
(
4
k[1]
+Cosh[delta[2]+xk[2]-t
3
k[2]
]
4
k[1]
-2
2
k[1]
2
k[2]
+Cosh[delta[1]+xk[1]-t
3
k[1]
]
2
k[1]
2
k[2]
+Cosh[delta[2]+xk[2]-t
3
k[2]
]
2
k[1]
2
k[2]
+
4
k[2]
+Cosh[delta[1]+xk[1]-t
3
k[1]
]
4
k[2]
-2k[1]
3
k[2]
Sinh[delta[1]+xk[1]-t
3
k[1]
]-2
3
k[1]
k[2]Sinh[delta[2]+xk[2]-t
3
k[2]
]))
2
Cosh
1
2
(delta[1]+delta[2]+xk[1]-t
3
k[1]
+xk[2]-t
3
k[2]
)
2
k[1]
+Cosh
1
2
(delta[1]-delta[2]+xk[1]-t
3
k[1]
-xk[2]+t
3
k[2]
)
2
k[1]
+2Cosh
1
2
(delta[1]-delta[2]+xk[1]-t
3
k[1]
-xk[2]+t
3
k[2]
)k[1]k[2]+Cosh
1
2
(delta[1]+delta[2]+xk[1]-t
3
k[1]
+xk[2]-t
3
k[2]
)
2
k[2]
+Cosh
1
2
(delta[1]-delta[2]+xk[1]-t
3
k[1]
-xk[2]+t
3
k[2]
)
2
k[2]
-2k[1]k[2]Sinh
1
2
(delta[1]+delta[2]+xk[1]-t
3
k[1]
+xk[2]-t
3
k[2]
)

Compute only the 2-soliton solution:
Compute only the 3-soliton solution:
Test the first solution:
Test the second solution:
Test the third solution:

The Modified KdV Equation

Try to compute 1-soliton solutions:

KP equation (KP-II case)

Equation (1):
Compute 1-soliton solutions:
Compute 2-soliton solutions:
Compute 3-soliton solutions:

Scope and Limitations

PDESolitonSolutions can handle equations that are polynomial in the dependent variables. Up to three space variables and one time variable are allowed.

Acknowledgements

We gratefully acknowledge Wuning Zhuang (Master student) who helped with early implementations of the Hirota method in Macsyma and Mathematica, and Ameina Nuseir (Ph.D. student) who first computed the soliton solutions of the Kaup-Kuperschmidt equation. We also thank Andrew Cook (REU student) who helped write Mathematica code for the simplified Hirota method. Thanks to M. Trott (Wolfram Research, Inc.) for many valuable comments and suggestions. The National Science Foundation (USA) is thanked for the support in development of this package.

References

◼
  • W. Hereman and A. Nuseir, Symbolic Methods to Construct Exact Solutions of Nonlinear Partial Differential Equations, Mathematics and Computers in Simulation, 43, 13-27 (1997).
  • ◼
  • W. Hereman and U. Goktas, Symbolic computation of solitary wave solutions and solitons through homogenization of degree, Proceedings Conference on Nonlinear and Modern Mathematical Physics (NMMP-2022), Springer Proceedings in Mathematics and Statistics, 60pp (2023), submitted.
  • Contact Information

    For information about the features of PDESolitonSolutions, or in case of trouble, contact Unal Goktas (ugoktas@tamu.edu) or Willy Hereman (whereman@mines.edu). Authors will greatly appreciate hearing your comments about the PDESolitonSolutions package. Please acknowledge the paper and code if you use it in research projects.
    Refer to the paper as follows: W. Hereman and U. Goktas, Symbolic computation of solitary wave solutions and solitons through homogenization of degree, Proceedings Conference on Nonlinear and Modern Mathematical Physics (NMMP-2022), Springer Proceedings in Mathematics and Statistics, 60pp (2023), submitted.
    Refer to the code as follows: U. Goktas and W. Hereman, PDESolitonSolutions.m: A Mathematica package for the symbolic computation of solitary wave and soliton solutions of polynomial nonlinear PDEs using a simplified version of Hirota’s method. Dept. Appl. Math. Stat., Colorado School of Mines, Golden, Colorado (2023). https://inside.mines.edu/~whereman

    © Copyright Notice

    Copyright © by Unal Goktas ((Department of Computer Science and Engineering, Texas A&M University, College Station, Texas, USA) and Willy Hereman (Department of Mathematical and Computer Sciences, Colorado School of Mines, Golden, Colorado, USA). No part of the PDESolitonSolutions package can be sold or reproduced without written consent of the authors. Wolfram Research, Inc. (Champaign, Illinois, USA) is the holder of the copyright to the Mathematica software system.

    CITE THIS NOTEBOOK

    Symbolic computation of solitary wave solutions and solitons through homogenization of degree​
    by Willy Hereman and Unal Goktas​
    Wolfram Community, STAFF PICKS, August 7, 2023
    ​https://community.wolfram.com/groups/-/m/t/2986172