computes a transformation reducing by one the number of independent variables of PDE systems possessing a given symmetry
SimilarityTransformation(S, DepVars, NewVars, 'options'='value')
a list with the infinitesimals of a symmetry generator or the corresponding infinitesimal generator operator
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 true (same as jetvariables), false (default), jetvariables, jetvariableswithbrackets, jetnumbers or jetODE; to respectively return or not using the different jet notations available
simplifier = ...
optional - indicates the simplifier to be used instead of the default simplify/size
Given a list with the infinitesimals S of a generator of symmetry transformations leaving invariant a PDE system (PDESYS), or the corresponding infinitesimal generator differential operator, the SimilarityTransformation command computes a transformation that reduces by one the number of independent variables of PDESYS. The output consists of a sequence of two sets respectively containing the transformation and inverse transformation equations.
These similarity transformations are special cases of group invariant transformations able to reduce the number of independent variables by many in one go, computed with the InvariantTransformation command.
The process of computing similarity transformations implies computing the invariants associated to the given infinitesimals. The typical formulation of these transformations in textbooks, however, sometimes avoids those wordings and instead presents these transformations as the introduction of variables ψ and φk, where k=n+m−1 and n and m are, respectively, the number of independent and dependent variables of the problem, such that the infinitesimals of the symmetry generator used to construct the transformation assume the form ...⁢ξr=1,...,η1=0,...,ηm=0, where 0≤r ≤n. Hence, by applying this similarity transformation to any PDE invariant under S you obtain a PDE not depending on the rth independent variable to which corresponds ξr=1 - see the examples below.
When there is only one dependent variable, DepVars and NewVars can be a function; otherwise they must be a list of functions representing dependent variables. If NewVars are not given, SimilarityTransformation will generate a list of globals to represent them.
You can optionally specify a simplifier, to be used instead of the default which is simplify/size, as well as requesting the output to be in jet notation by respectively using the optional arguments simplifier = ... and jetnotation. Note that the option simplifier = ... can be used not just to "simplify" the output but also to post-process this output in the way you want, for instance using a procedure written by you, to discard, change or do what you find necessary with the transformation.
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, SimilarityTransformation, ChangeSymmetry, InfinitesimalGenerator);
Consider a PDE problem, for example PDESYS, with two independent variables and one dependent variable, u⁡x,t, and consider the list of infinitesimals of a symmetry group assumed to be admitted by PDESYS
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));
We say that PDESYS is invariant under the transformations generated by G in that G(PDESYS) = 0 were in this formula G represents the prolongation necessary to act on PDESYS (see InfinitesimalGenerator). The similarity transformation relating the original variables t,x,u⁡x,t to new variables - 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
ITR, TR := SimilarityTransformation(S, u(x,t), v(r,s));
Note these transformation sets are returned with v⁡r,s ↦v⁡r, making explicit that the unknown of the problem you obtain when you change variables does not depend on s.
To express these transformations using jet notation use
SimilarityTransformation(S, u(x,t), v(r, s), jetnotation);
SimilarityTransformation(S, u(x,t), v(r, s), jetnotation = jetnumbers);
jet notation: [1 = x, 2 = t, 3 = r]
That this transformation TR reduces the number of independent variables of any PDE system invariant under G above is visible in the fact that it transforms the given infinitesimals _ξx=x,_ξt=1,_ηu=u (for t,x,u⁡x,t) into _ξr=0,_ξs=1,_ηv=0 (for r,s,v⁡r,s). To verify this you can use ChangeSymmetry
NewVars := map(lhs, ITR);
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 r after you change variables in it using TR computed with SimilarityTransformation lines above.
If the new variables, here v⁡r,s, are not indicated, variables _ψ and _phi[k] prefixed by an underscore _ to represent the new variables are introduced
Download Help Document
What kind of issue would you like to report? (Optional)