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
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
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
Usage
In[]:=
??PDESolitonSolutions
Out[]=
Examples
Examples
If you haven't already loaded the package, load it now.
The Burgers Equation
The Burgers Equation
The Korteweg-de Vries (KdV) Equation
The Korteweg-de Vries (KdV) Equation
In[]:=
kdveq:=u[x,t]+6u[x,t]u[x,t]+u[x,t]==0
∂
t
∂
x
∂
{x,3}
In[]:=
kdveq
Out[]=
(0,1)
u
(1,0)
u
(3,0)
u
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
(1,0)
u
(3,0)
u
The given PDE can be integrated 1 time(s) with respect to x.
After integration (if possible) the PDE becomes:
∫[x,t]x+3+[x,t]0
(0,1)
u
2
u[x,t]
(2,0)
u
The PDE can be homogenized with the transformation
u =
2-[x,t]+f[x,t][x,t]
2
(1,0)
f
(2,0)
f
2
f[x,t]
based on a Laurent series solution.
The resulting homogeneous equation has degree 2:
(0,1)
f
(1,0)
f
(1,1)
f
2
(2,0)
f
(1,0)
f
(3,0)
f
(4,0)
f
After substitution of the expansion
f = 1+Sum[epsilon^i*f[i][x,t], {i, 8}]
the homogenized PDE becomes:
epsilon[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]epsilon[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]-(1+epsilonf[1][x,t]+f[2][x,t]+f[3][x,t]+f[4][x,t]+f[5][x,t]+f[6][x,t]+f[7][x,t]+f[8][x,t])epsilon[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]-3+4epsilon[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]epsilon[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]-(1+epsilonf[1][x,t]+f[2][x,t]+f[3][x,t]+f[4][x,t]+f[5][x,t]+f[6][x,t]+f[7][x,t]+f[8][x,t])epsilon[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]0
(0,1)
f[1]
2
epsilon
(0,1)
f[2]
3
epsilon
(0,1)
f[3]
4
epsilon
(0,1)
f[4]
5
epsilon
(0,1)
f[5]
6
epsilon
(0,1)
f[6]
7
epsilon
(0,1)
f[7]
8
epsilon
(0,1)
f[8]
(1,0)
f[1]
2
epsilon
(1,0)
f[2]
3
epsilon
(1,0)
f[3]
4
epsilon
(1,0)
f[4]
5
epsilon
(1,0)
f[5]
6
epsilon
(1,0)
f[6]
7
epsilon
(1,0)
f[7]
8
epsilon
(1,0)
f[8]
2
epsilon
3
epsilon
4
epsilon
5
epsilon
6
epsilon
7
epsilon
8
epsilon
(1,1)
f[1]
2
epsilon
(1,1)
f[2]
3
epsilon
(1,1)
f[3]
4
epsilon
(1,1)
f[4]
5
epsilon
(1,1)
f[5]
6
epsilon
(1,1)
f[6]
7
epsilon
(1,1)
f[7]
8
epsilon
(1,1)
f[8]
2
epsilon[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]+[x,t]
(2,0)
f[1]
2
epsilon
(2,0)
f[2]
3
epsilon
(2,0)
f[3]
4
epsilon
(2,0)
f[4]
5
epsilon
(2,0)
f[5]
6
epsilon
(2,0)
f[6]
7
epsilon
(2,0)
f[7]
8
epsilon
(2,0)
f[8]
(1,0)
f[1]
2
epsilon
(1,0)
f[2]
3
epsilon
(1,0)
f[3]
4
epsilon
(1,0)
f[4]
5
epsilon
(1,0)
f[5]
6
epsilon
(1,0)
f[6]
7
epsilon
(1,0)
f[7]
8
epsilon
(1,0)
f[8]
(3,0)
f[1]
2
epsilon
(3,0)
f[2]
3
epsilon
(3,0)
f[3]
4
epsilon
(3,0)
f[4]
5
epsilon
(3,0)
f[5]
6
epsilon
(3,0)
f[6]
7
epsilon
(3,0)
f[7]
8
epsilon
(3,0)
f[8]
2
epsilon
3
epsilon
4
epsilon
5
epsilon
6
epsilon
7
epsilon
8
epsilon
(4,0)
f[1]
2
epsilon
(4,0)
f[2]
3
epsilon
(4,0)
f[3]
4
epsilon
(4,0)
f[4]
5
epsilon
(4,0)
f[5]
6
epsilon
(4,0)
f[6]
7
epsilon
(4,0)
f[7]
8
epsilon
(4,0)
f[8]
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-[x,t]+f[x,t][x,t]
2
(1,0)
f
(2,0)
f
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:
{f1+phi[1][x,t]}
corresponding to:
u
2(-+phi[1][x,t](1+phi[1][x,t]))
2
k[1]
2
phi[1][x,t]
2
k[1]
2
(1+phi[1][x,t])
After factoring the (simplest) solution:
u
2phi[1][x,t]
2
k[1]
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+xk[1]-t
delta[1]
2
1
2
1
2
3
k[1]
After factoring the (simplest) solution(s):
u
1
2
2
k[1]
2
Sech(delta[1]+xk[1]-t)
1
2
3
k[1]
Out[]=
u[x,t]
1
2
2
k[1]
2
Sech(delta[1]+xk[1]-t)
1
2
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],u[x,t]((+Cosh[delta[2]+xk[2]-t]-2+Cosh[delta[1]+xk[1]-t]+Cosh[delta[2]+xk[2]-t]++Cosh[delta[1]+xk[1]-t]-2k[1]Sinh[delta[1]+xk[1]-t]-2k[2]Sinh[delta[2]+xk[2]-t]))
1
2
2
k[1]
2
Sech(delta[1]+xk[1]-t)
1
2
3
k[1]
2
(k[1]+k[2])
4
k[1]
3
k[2]
4
k[1]
2
k[1]
2
k[2]
3
k[1]
2
k[1]
2
k[2]
3
k[2]
2
k[1]
2
k[2]
4
k[2]
3
k[1]
4
k[2]
3
k[2]
3
k[1]
3
k[1]
3
k[2]
2
Cosh(delta[1]+delta[2]+xk[1]-t+xk[2]-t)+Cosh(delta[1]-delta[2]+xk[1]-t-xk[2]+t)+2Cosh(delta[1]-delta[2]+xk[1]-t-xk[2]+t)k[1]k[2]+Cosh(delta[1]+delta[2]+xk[1]-t+xk[2]-t)+Cosh(delta[1]-delta[2]+xk[1]-t-xk[2]+t)-2k[1]k[2]Sinh(delta[1]+delta[2]+xk[1]-t+xk[2]-t)
1
2
3
k[1]
3
k[2]
2
k[1]
1
2
3
k[1]
3
k[2]
2
k[1]
1
2
3
k[1]
3
k[2]
1
2
3
k[1]
3
k[2]
2
k[2]
1
2
3
k[1]
3
k[2]
2
k[2]
1
2
3
k[1]
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
The Modified KdV Equation
Try to compute 1-soliton solutions:
KP equation (KP-II case)
KP equation (KP-II case)
Equation (1):
Compute 1-soliton solutions:
Compute 2-soliton solutions:
Compute 3-soliton solutions:
Scope and Limitations
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
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
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
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
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 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
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
by Willy Hereman and Unal Goktas
Wolfram Community, STAFF PICKS, August 7, 2023
https://community.wolfram.com/groups/-/m/t/2986172