computes transformations reducing by k the number of independent variables of PDE systems admitting a given k-dimensional symmetry group
InvariantTransformation(S, DepVars, NewVars, '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 functions indicating the dependent variables of the problem
optional - a function or a list of functions representing the new dependent variables
jetnotation = ...
(optional) can be false (default), jetvariables, jetvariableswithbrackets, jetnumbers or jetODE; to respectively return or not using the different jet notations available
<options> = ...
the optional arguments accepted by InvariantSolutions
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, InvariantTransformation command computes a transformation from the dependent and independent variables of the problem to variables that reduces the number of independent variables of PDESYS by one, or optionally by as many as indicated in the optional argument reduceinonego = n, where n is a positive integer; this option is valid when the first argument is a list of symmetries representing a multidimensional symmetry group.
When there is only one dependent variable, DepVars and NewVars can be functions; otherwise they must be a list of functions representing dependent variables. If NewVars are not given, InvariantTransformation will generate a list of globals to represent them.
By default, InvariantTransformation returns using function notation. It is sometimes convenient to have this output expressed in one of the jet notations available. For that purpose use ToJet or the optional argument jetnotation = ... where the right-hand-side is any of true, jetODE, jetvariables or withoutbrackets. For more information, see jet notations.
Optionally you can also pass a list of invariants or a list of lists of invariants instead of lists of infinitesimals, using the optional argument invariants = .... You can also specify a simplifier, or the dependency of the solutions expected to be obtained using these transformations; all these options are the same ones explained in the help page for InvariantSolutions.
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.
with(PDEtools, InvariantTransformation, ChangeSymmetry, InfinitesimalGenerator);
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 labels for the infinitesimals, as in x,1,u, or use the corresponding infinitesimal generator
G := InfinitesimalGenerator(S, u(x,t));
A PDESYS is invariant under the transformations generated by G in that G⁡PDESYS=0, where in this formula G represents the prolongation necessary to act on PDESYS (see InfinitesimalGenerator).
The transformation and its inverse, from the original variables t,x,u⁡x,t to new coordinates, say r,s,v⁡r,s, that reduces by one the number of independent variables of a PDE system invariant under G above is obtained via
InvariantTransformation(S, u(x,t), v(r,s));
where in the above you can equally pass G instead of S. To express this transformation using jet notation use
InvariantTransformation(S, u(x,t), v(r, s), jetnotation);
InvariantTransformation(S, u(x,t), v(r, s), jetnotation = jetnumbers);
jet notation: [1 = x, 2 = t, 3 = r, 4 = s]
That this transformation reduces the number of independent variables of any PDE system invariant, under G above, is visible in the fact that it transforms the infinitesimals into 0,1,0; to verify this you can use ChangeSymmetry
TR, NewVars := (4), map(lhs, (4));
ChangeSymmetry(TR, S, u(x,t), NewVars);
So to this list of infinitesimals corresponds, written in terms of v⁡r,s, this infinitesimal generator
Any PDESYS invariant under G will also be invariant under the operator above, that is, PDESYS will be independent of s after you change variables in it using TR computed with SimilarityTransformation above.
If the new variables - here v⁡r,s - are not indicated, variables prefixed by the underscore _ to represent the new variables are introduced
Download Help Document
What kind of issue would you like to report? (Optional)