Maple module for the computation
of symmetries and conservation laws
of differential equations

Alexei F. Cheviakov (A. Shevyakov)
University of Saskatchewan

  General Description

     Since September 2004, I have been developing software for analysis of point symmetries and conservation laws of any given system of Ordinary or Partial Differential Equations, with minimal human intervention. Maple pas been chosen as a symbolic platform.

     The GeM software is designed to automate generation of 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.

     ODE/PDE systems containing arbitrary functions and/or constants can be analyzed, and classes of functions for which additional symmetries / conservation laws occur can be isolated.

     GeM output (determining equations) is usually fed to Maple "rifsimp" (a highly stable routine for differential reduction) which simplifies determining equations (and performs case splits when the given system contains arbitrary functions and/or constants.)

     GeM also contains special routines to output computed symmetries as well as fluxes/densities of computed conservation laws.

     Licensing: The GEM module is free for all research or study purposes. However I ask that a proper reference is made in any work that uses it.

     Appropriate references:

  • A. Cheviakov, GeM software package for computation of symmetries and conservation laws of differential equations. Comp. Phys. Comm. 176 (2007), 48-61  [PDF]
  • A. Cheviakov, Symbolic Computation of Local Symmetries of Nonlinear and Linear Partial and Ordinary Differential Equations. Math.Comput.Sci. 4 (2010), 203-222 [PDF]
  • A. Cheviakov, Computation of fluxes of conservation laws, J. Eng. Math. 66 (2010), 153-173 [PDF]
  • A. Cheviakov, Symbolic Computation of Nonlocal Symmetries and Nonlocal Conservation Laws of Partial Differential Equations Using the GeM Package for Maple, Similarity and Symmetry Methods. Lecture Notes 165 in Applied and Computational Mechanics 73, Springer, 2014. [PDF]


  Current version: 032.12 *Hay River Island* <><


Maple version compatibility:

  • Maple 14-2015, tested

Current capabilities:

  • Input: any ODE/PDE system, may involve arbitrary constants and functions.
  • Automatic computation of differential consequences to necessary order.
  • Computation of local (point, contact and higher-order) symmetries.
  • Computation of multipliers of local conservation laws; intyegrating factors for ODEs.
  • Module can be used for computation of approximate symmetries.

Computation examples: (use "save as" when downloading)

Bugs/problems of GeM


  Maple version compatibility notes and GeM program run issues.
  1. It is highly recommended to use only Maple Classic input (not the 2D input).
  2. All examples using GeM routines essentially rely on the "rifsimp" routine of Maple. It is often handy to use Maple "pdsolve" to solve PDE systems, as shown in all online examples.
  3. "rifsimp" seems to be stable and correct in all versions of Maple (8 and above).

  4. "rifsimp casesplit". In classification problems, when "rifsimp(casesplit)" is used, Maple versions up to 11 yield different case trees for different runs of identically the same programs. This is due to the fact that sets are ordered depending on computer memory configuration. Starting from Maple 12, sets are ordered, and this issue seems to be resolved.
  5. Maple "pdsolve" issues. Though GeM does not depend on Maple pdsolve routine, it is often handy to use it to solve determining equations.
    1.  A number of bugs have been found in "pdsolve" over time. Maple versions 12 and 13 are known to have such bugs; the known ones have been corrected in ver.14.

    2. Starting from ver.14, Maple "pdsolve" has a special routine to compute special forms of lower-dimensional solution subspaces. It can often be handy in symmetry analysis. See DEtools[particularsol].
  Future plans:
Some time in the future, I plan to implement:
  • Adjoint symmetries/cosymmetries
  • Approximate symmetries and conservation laws
  • Computation of Frechet linearization and adjoint linearization of a given DE system
  • Symmetry computations for linear DE systems
  • Use of symmetries to generate invariant solutions
 Good luck!