GeM symbolic software package

GeM is an independently created symbolic software module for the computation of symmetries, conservation laws and related structures for partial and ordinary differential equations (PDE, ODE).

GeM uses Maple software coding capabilities and many functions it offers.

GeM is free for academic use.

I have been developing GeM software since 2004 as a tool for my own research, a set of routines for symbolic computation, classification, analysis, and output of point symmetries and conservation laws of any given system of ODEs or PDEs, with minimal human intervention. Since then, it has become a package that is available here, together with description and examples.

If you are interested in trying out/using GeM:

  • Refer to the Description
  • See Download section below
  • Find the most relevant Example and edit it to fit the needed computation
  • See Notes that address some technicalities one might come across

General description, reference, capabilities

GeM routies employ special symbolic notation to automate generation of symmetry/conservation law determining equations and related operations, in order to compute symmetries and conservation laws for any ODE/PDE system, generally without limitations in DE order and number of variables. Maple routines are used to simplify (rifsimp) and solve (dsolve, pdsolve) the resulting determining equations.

General context and routine description:

Features:

  • Input: any ODE/PDE system, may involve arbitrary constants and functions.
  • Automatic computation of differential consequences to necessary order.
  • Computation and splitting of determining equations for
    • symmetry components (point, contact, higher-order)
    • equivalence transformation components
    • conservation law multipliers

 GeM/Maple can be used to compute:

  • Total derivatives (Euler operators)
  • Expressions on and off of solution space of a DE system
  • Fluxes/densities of conservation laws of PDEs
  • Integrating factors and conserved quantities (first integrals) of ODEs
  • Global forms of symmetry groups
  • Equivalence transformations admitted by DE models
  • Classifications of point, contact and higher-order symmetries of ODEs and PDEs with respect to arbitrary constants/functions present in the model
  •  Adjoint symmetries
  • Approximate symmetries
  • Approximate conservation laws
  • Lagrangian density of variational models

GeM contains special routines to output and further manipulate the computed symmetries, fluxes/densities of conservation laws, etc.

While at this point in time, Maple software includes its own routies for symmetry/conservation law computations, in practice, they turn out not always sufficiently versatile, and are often less capable to treat complex models than GeM routines.

GeM has been tested to work with Maple versions 14 to 2022.

Bug reports/usability issues and additional feature requests. Please feel free to contact me by email listed on the Home page or using the email button below. I will try to respond as soon as I can.

Download

The GeM module is free for all research or study purposes. However I ask that proper references be made in any published work or teaching material that uses it.

Current GeM version: 032.12

Request the GeM Module as a Maple input file (.mpl) by email listed on the Home page or using the email button below.

  • Please email me from your University email address and mention your name and academic position. If you are a student or a postdoc, please ask your supervising faculty member to email me.

Supplementary special-purpose submodules (To download, right-click and use "Save file as" or alike)

Examples

Using Examples:

  • Use "save as" to download an .mw file with an example.
  • All examples are Maple Classic Worksheets (rather than Maple Documents with 2D input).
  • For simplicity of notation and work, it is recommended to:
    • use Classic Worksheets
    • in Maple Settings, select Maple input option (rather than 2D input); then Apply globally.

Required files (example files expect the GeM module, and if required, the special submodule files below, to be in the same folder with the .mw example file you wish to run). To download, right-click and use "Save file as" or alike.

Examples of computations using GeM/Maple (To download, right-click and use "Save file as" or alike)

  1. Point, local and nonlocal symmetries:
  2. Nontrivial symmetries of linear PDEs
  3. Equivalence transformations
  4.  Symmetry classification
  5. Conservation laws
    • Details in the presentation shev_cl_v01.pdf
    • Example 1: find conservcation laws of the nonlinear diffusion equation family holding for all nonlinearities cl_gen_diffusion.mw
    • Example 2: sample conservation laws of a linear diffusion equation cl_lin_diffusion.mw
    • Example 3: conservation laws of a nonlinear telegraph PDE system cl_tele.mw
    • Example 4: fractional-order conservation laws of a nonlinear short pulse equation cls_short_pulse.mw
    • Example 5: Conservation laws of the KdV equation with multipliers of differential order up to 10. Illustration of different methods of flux computation conslaw_10_kdv.mw
  6. Other:
    • Maple rifsimp  only works for differential polynomials.
    • Example: a work-around in the case when a PDE involves a non-polynomial (transcendental) functio: see symm_exp_heat.mws

Further notes on using GeM

  1. It is recommended to use Maple Classic input (not the 2D input).
     
  2. All the examples above that use GeM routines essentially rely on the Maple rifsimp routine for simplification of overdetermined systems of determining equations that arise, as well as for case splitting, where applicable. It is then often handy to use Maple pdsolve to solve PDE systems, as shown in all online examples.
     
  3. rifsimp is stable and works correctly in all versions of Maple (8 and above). The option mindim=1 forces rifsimp to output, among other information, the dimension of the solution set.
     
  4. rifsimp casesplit.
    In classification problems, when rifsimp(..., casesplit) is used, different Maple versions may yield different-looking case trees for identically the same code. This is due to the fact that sets were ordered differently in Maple 12, depending on computer memory configuration. Starting from Maple 12, sets are ordered, and this issue seems to be resolved.
     
  5. Maple pdsolve.
    While GeM does not depend on Maple pdsolve routine, the latter is highly useful as a solver for symmetry and conservation law determining equations. (For ordinary differential equations, one uses dsolve instead.)

    Maple pdsolve is known to not always return a general solution, and unless requested, would not indicate whether or not the solution returned is general.
    • When working with overdetermined systems of common symmetry/conservation law determining equations, it is sufficient to check if the number of free constants returned by pdsolve matches the solution dimension reported by rifsimp. (This verification route only works in the case of a finite-dimensional solution set.)
    • In other cases, one can use the following options:
      • 'generalsolution' in pdsolve
      • infolevel[pdsolve] := 3;
      • _Env_pdsolve_generalsolution := true (Physics Updates)
    • In complex cases, a general solution to a DE system cannot be obtained by dsolve or pdsolve using any method programmed therein. In such cases, one may try to seek particular solutions. Generally, in order to get special subfamilies of exact PDE solutions that might not be seen, or found, by a general pdsolve routine, one can use:
      • DEtools[particularsol] (for ordinary differential equations only)
      • PDEtools[PolynomialSolutions] - polynomial type solutions
      • PDEtools[FunctionFieldSolutions] - other types of particular solutions
      • PDEtools[InvariantSolutions] - symmetry invariant solutions
      • PDEtools[TWSolutions] - traveling wave solutions
    • One is invited to see Maple help on PDEtools for more information.