computes the group invariant (point symmetry) solutions for a given PDE system - Maple Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Mathematics : Differential Equations : PDEtools : Symmetries : PDEtools/SimilaritySolutions

PDEtools[SimilaritySolutions] - computes the group invariant (point symmetry) solutions for a given PDE system

Calling Sequence

SimilaritySolutions(PDESYS, DepVars, S, 'options'='value')




a PDE, or a set of PDEs, or a list of PDEs; it can include ODEs and not differential equations



optional - may be required; a function or a list of them indicating the dependent variables of the problem



optional - a list with the functional form of the infinitesimals of a symmetry generator, or a list of lists of them

checkconsistency = ...


optional - can be true or false (default), to check the consistency of PDESYS before proceeding

closesystem = ...


optional - can be true or false (default), to derive and then include in PDESYS, explicitly, all its integrability conditions before computing the determining system for its symmetries

degreeofinfinitesimals = ...


optional - related to the option typeofsymmetry = polynomial, indicates the upper bound degree of the polynomial infinitesimals with respect to all or each of the dependent variables

dependency = ...


optional - indicates the dependency of the invariant solutions, as a number (of jet variables), a range of them, a name, or a set of dependencies each of which can be a set or list of variables or numbers

dependencyofinfinitesimals = ...


optional - same as dependency but for the infinitesimals with which the invariant solutions are constructed

HINT = ...


optional - a list with the functional form of the infinitesimals of a symmetry generator

reducedsystemsolver = ...


optional - can be pdsolve or SimilaritySolutions, specifies the command to be used to attempt solving the reduced PDESYS

removeredundant = ...


optional - can be true or false, to remove or not redundant solutions - which happen to be particular cases of more general solutions being returned together

simplifier = ...


optional - indicates the simplifier to be used instead of the default simplify/size

specialize_Fn = ...


optional - can be true, false (default), or a set of procedures, to specialize any arbitrary functions that may appear in the infinitesimals

split = ...


optional - can be true (default) or false, to split or not the list of infinitesimals into cases by specializing the integration constants _Cn

typeofsymmetry = ...


optional - can be any of pointlike (default), contact, evolutionary, or general, or any of polynomial or functionfield, or And(<kind>, <functionality>) where kind is any of the first three types mentioned and functionality is any of polynomial or functionfield, indicates the type of symmetry to be computed



Given a PDE problem (PDESYS), as an equation or a set or list of them, SimilaritySolutions computes the so-called similarity solutions of PDESYS; these are solutions derived from a 1-dimensional symmetry group admitted by PDESYS, by reducing the number of independent variables by one then attempting solving this reduced problem.


Similarity solutions are special cases of group invariant solutions that can be computed by reducing the number of independent variables by many in one go. Thus, if you are only interested in the PDE solutions, there is a difference to have in mind between these two solving approaches: computing similarity solutions requires computing additional symmetries for the reduced problem, after having reduced it, to further reduce the number of independent variables one at a time until obtaining an ODE problem, while that is not required when reducing the given PDE problem to an ODE problem in one go (i.e. reducing all but one of the independent variables in a single computational step) with InvariantSolutions.


Similarity solutions can also be computed interactively, step by step, by first computing the determining PDE system, next solving this system to obtain the infinitesimals, with them you compute an similarity transformation to reduce by one the number of independent variables of PDESYS, finally you solve the reduced system to change variables back resulting in the solutions for PDESYS. You can compute any of these steps respectively using the commands: DeterminingPDE, Infinitesimals, SimilarityTransformation and dchange.


If DepVars is not given, SimilaritySolutions will consider all the differentiated unknown functions in PDESYS as unknown of the problems. Specifying DepVars however permits not only restricting the unknowns in different ways but also specifying unknowns of the problems which do not appear differentiated in PDESYS.


To avoid having to remember the optional keywords, if you type the keyword misspelled, or just a portion of it, a matching against the correct keywords is performed, and when there is only one match, the input is automatically corrected.


Consider the wave equation in four dimensions to avoid redundant typing on input and on the display use diff_table and declare




ux&comma;y&comma;z&comma;twill now be displayed asu





You can compute the similarity solutions corresponding to all the point symmetries of pde[1] in one step by entering SimilaritySolutions(pde[1]); or better: check first the infinitesimals corresponding to point symmetries admitted by pde[1], then examine the different solutions and choose the more suitable one


_&xi;x&comma;y&comma;z&comma;t&comma;uwill now be displayed as_&xi;

_&eta;x&comma;y&comma;z&comma;t&comma;uwill now be displayed as_&eta;





These are the similarity solutions corresponding to the first list of infinitesimals in S[1]




You can test these results for correctness using the pdetest command




The approach by means of which SimilaritySolutions computes the solutions above consists of computing a similarity transformation that reduces the number of independent variables of the PDE system by one. For example, this is the similarity transformation




So this is the transformation to be used with dchange - the command for changing variables:




Solve now this PDE problem depending now on three variables (one less than pde[1])




Evaluate now TR at this solution for _φ4(_φ1, _φ2, _φ3) to obtain the solution of the original pde[1]




Verify this result




By default, SimilaritySolutions will specialize arbitrary functions _Fn... found in the infinitesimals before attempting a reduction of the number of independent variables. This is so because infinitesimals with arbitrary functions are difficult to use, the invariants necessary may result, in practice, impossible to compute. On the other hand, when those invariants can be computed, the corresponding invariant solution is more general without specializing these arbitrary functions. To handle the latter case use the specialize_Fn = false, or with any procedure of your choice on the right-hand-side. Here are two examples illustrating the two situations.

Consider the wave equation in two dimensions:





Infinitesimals for this PDE can be computed and involve arbitrary functions