PDEtools - Maple Programming Help

Online Help

All Products    Maple    MapleSim

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





computes the differential invariants associated to a given list of symmetries directly from their CharacteristicQ


Calling Sequence




Calling Sequence

CharacteristicQInvariants(S, DepVars, options=value)




the infinitesimals of a symmetry generator or the corresponding infinitesimal generator operator, or a list of n of them representing an n-dimensional group of symmetries



a function or a list of them indicating the dependent variables of the problem

jetnotation = ...


(optional) can be true (default, the notation found in S), false, jetvariables, jetvariableswithbrackets, jetnumbers or jetODE; to respectively return or not using the different jet notations available

simplifier = ...


(optional) indicates the simplifier to be used; default is simplify/size



Given a list with the infinitesimals of a symmetry generator, or the corresponding infinitesimal generator operator, or a list of n of these lists or operators possibly representing an n-dimensional symmetry group, CharacteristicQInvariants returns a sequence of mathematical expressions Φk simultaneously invariant under all the Gj symmetry generators (1jn) related to the given n infinitesimals. That is, the Φk are functions of the independent and dependent variables of the problem (DepVars), not involving their partial derivatives, and satisfy GjΦk=0 for all j and k, where the number k depends on the problem. The objects returned are thus differential invariants of order zero.


The same objects can be computed also with the Invariants command of PDEtools. Their computation using CharacteristicQInvariants however is simpler: the invariants are computed directly from the CharacteristicQ associated to each symmetry, thus requiring solving PDE systems where each PDE involved depends on one variable less than the ones used by Invariants, obtained directly from the InfinitesimalGenerator.


Note: In the multidimensional case, depending on the infinitesimals given, the problem may have no solution.


Optionally, a simplifier can be specified to be used instead of the default which is simplify/size. For that purpose, use the optional argument simplifier = .... By default, the output of CharacteristicQInvariants is in jet notation. You can change this by passing the optional argument jetnotation = false.


The invariants returned by CharacteristicQInvariants can also be used as optional arguments for the group InvariantSolutions command when computing solutions to PDE systems.


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 a PDE problem with two independent variables and one dependent variable, u(x, t), and consider the list of infinitesimals of a symmetry group

S := [_xi[x] = x, _xi[t] = 1, _eta[u] = u];



In the input above you can also enter the symmetry S without infinitesimals' labels, as in x,1,u. The corresponding infinitesimal generator is

G := InfinitesimalGenerator(S, u(x,t));



The invariants for this symmetry are

Phi := CharacteristicQInvariants(S, u(x,t));



where in the input above you can also pass G instead of S. To verify that these are differential invariants of order zero, construct first the InfinitesimalGenerator, then apply it to an arbitrary function of the objects returned by CharacteristicQInvariants, FΦ

G := InfinitesimalGenerator(S, u(x,t), prolongation = 1, expanded);






It is possible to request the output to be in function notation instead of jetvariables jet notation, or in any other existing jet notation, for those purposes use the optional argument jetnotation = ...

CharacteristicQInvariants(S, u(x,t), jetnotation = jetvariableswithbrackets);



CharacteristicQInvariants(S, u(x,t), jetnotation = false);



Alternatively, you can also switch the notation back and forth using FromJet and ToJet.

See Also