PDEtools - Maple Programming Help

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

PDEtools

 CanonicalCoordinates
 compute canonical coordinates for a given symmetry

 Calling Sequence CanonicalCoordinates(S, DepVars, NewVars, CanVar, options=value)

Parameters

 S - list with the infinitesimals of a symmetry generator or the corresponding infinitesimal generator operator DepVars - function or list of functions indicating the (old) dependent variables of the problem NewVars - (optional) function or list of functions representing the new dependent variables (canonical coordinates) CanVar - (optional) the name of the dependent variable with respect to which canonical coordinates are to be computed 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 $\left(\mathrm{simplify/size}@\mathrm{simplify}\right)@\mathrm{combine}$

Description

 • Given a list with the infinitesimals of a symmetry generator, or the corresponding infinitesimal generator differential operator, the CanonicalCoordinates command computes a transformation from the dependent and independent variables of the problem to the canonical coordinates of the symmetry. This is the change of variables transforming the given list of infinitesimals into one consisting of zeros but for one element equal to 1. The corresponding transformed infinitesimal generator is thus of the form

$f\to \frac{\partial }{\partial {u}_{j}}f$

 where ${u}_{j}$ is a canonical dependent variable for a problem with $m$ dependent variables.
 • There exist thus $m$ different sets of canonical coordinates leading to infinitesimals generators of the form above with different ${u}_{j}$. To choose among them use Canvars to tell the name of the dependent variable of the problem with respect to which the canonical variables are computed. Canvars is not required when there is only one dependent variable.
 • When there is only one dependent variable, DepVars and NewVars can be represented by a function; otherwise they must be a list of functions representing dependent variables. If NewVars are not given, CanonicalCoordinates will generate a list of globals to represent the canonical coordinates.
 • Optionally, a simplifier can be specified to be used instead of the default which is the composition of simplify and combine followed by a simplification in size.
 • 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.

Examples

 > $\mathrm{with}\left(\mathrm{PDEtools},\mathrm{CanonicalCoordinates},\mathrm{ChangeSymmetry},\mathrm{InfinitesimalGenerator}\right)$
 $\left[{\mathrm{CanonicalCoordinates}}{,}{\mathrm{ChangeSymmetry}}{,}{\mathrm{InfinitesimalGenerator}}\right]$ (1)

Consider a PDE problem with two independent variables and one dependent variable, $u\left(x,t\right)$, and consider the list of infinitesimals of a symmetry group

 > $S≔\left[{\mathrm{_ξ}}_{x}=x,{\mathrm{_ξ}}_{t}=1,{\mathrm{_η}}_{u}=u\right]$
 ${S}{:=}\left[{{\mathrm{_ξ}}}_{{x}}{=}{x}{,}{{\mathrm{_ξ}}}_{{t}}{=}{1}{,}{{\mathrm{_η}}}_{{u}}{=}{u}\right]$ (2)

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

 > $G≔\mathrm{InfinitesimalGenerator}\left(S,u\left(x,t\right)\right)$
 ${G}{:=}{f}{→}{x}{}\left(\frac{{\partial }}{{\partial }{x}}{}{f}\right){+}\frac{{\partial }}{{\partial }{t}}{}{f}{+}{u}{}\left(\frac{{\partial }}{{\partial }{u}}{}{f}\right)$ (3)

In canonical coordinates -say $\left\{r,s,v\left(r,s\right)\right\}$ - the infinitesimals of this symmetry are $\left[{\mathrm{_ξ}}_{r}=0,{\mathrm{_ξ}}_{s}=0,{\mathrm{_η}}_{v}=1\right]$. The transformation from the original variables $\left\{t,x,u\left(x,t\right)\right\}$ to the canonical coordinates $\left\{r,s,v\left(r,s\right)\right\}$ is obtained via

 > $\mathrm{CanonicalCoordinates}\left(S,u\left(x,t\right),v\left(r,s\right)\right)$
 $\left\{{r}{=}{-}{\mathrm{ln}}{}\left({x}\right){+}{t}{,}{s}{=}\frac{{u}{}\left({x}{,}{t}\right)}{{x}}{,}{v}{}\left({r}{,}{s}\right){=}{\mathrm{ln}}{}\left({x}\right)\right\}$ (4)

In the input above, instead of $S$ you can also pass the symmetry without infinitesimals' labels, as in $\left[x,1,u\right]$. You can also pass the infinitesimal generator differential operator $G$ as first argument instead of the list of infinitesimals $S$

 > $\mathrm{CanonicalCoordinates}\left(G,u\left(x,t\right),v\left(r,s\right)\right)$
 $\left\{{r}{=}{-}{\mathrm{ln}}{}\left({x}\right){+}{t}{,}{s}{=}\frac{{u}{}\left({x}{,}{t}\right)}{{x}}{,}{v}{}\left({r}{,}{s}\right){=}{\mathrm{ln}}{}\left({x}\right)\right\}$ (5)

Solving now for $\left\{t,x,u\left(x,t\right)\right\}$ you can change variables in the infinitesimals $S$ or its corresponding differential operator $G$ using ChangeSymmetry, achieving the expected form $\left[{\mathrm{_ξ}}_{r}=0,{\mathrm{_ξ}}_{s}=0,{\mathrm{_η}}_{v}=1\right]$

 > $\mathrm{solve}\left(,\left\{x,t,u\left(x,t\right)\right\}\right)$
 $\left\{{t}{=}{r}{+}{v}{}\left({r}{,}{s}\right){,}{x}{=}{{ⅇ}}^{{v}{}\left({r}{,}{s}\right)}{,}{u}{}\left({x}{,}{t}\right){=}{s}{}{{ⅇ}}^{{v}{}\left({r}{,}{s}\right)}\right\}$ (6)
 > $\mathrm{ChangeSymmetry}\left(,S,u\left(x,t\right)\right)$
 $\left[{{\mathrm{_ξ}}}_{{r}}{=}{0}{,}{{\mathrm{_ξ}}}_{{s}}{=}{0}{,}{{\mathrm{_η}}}_{{v}}{=}{1}\right]$ (7)
 > $\mathrm{ChangeSymmetry}\left(,G,u\left(x,t\right)\right)$
 ${f}{→}\frac{{\partial }}{{\partial }{v}}{}{f}$ (8)

If $v\left(r,s\right)$ is not indicated, variables prefixed by the underscore _ to represent the canonical variables are introduced

 > $\mathrm{CanonicalCoordinates}\left(S,u\left(x,t\right)\right)$
 $\left\{{\mathrm{_t1}}{=}{-}{\mathrm{ln}}{}\left({x}\right){+}{t}{,}{\mathrm{_t2}}{=}\frac{{u}{}\left({x}{,}{t}\right)}{{x}}{,}{\mathrm{_u1}}{}\left({\mathrm{_t1}}{,}{\mathrm{_t2}}\right){=}{\mathrm{ln}}{}\left({x}\right)\right\}$ (9)

To obtain the output in any particular jet notation, useful to perform computations with objects of type, name, e.g., differentiation with respect to a function but represented by a name, use the jetnotation option; compare for instance the output (4.5) with the following output

 > $\mathrm{CanonicalCoordinates}\left(S,u\left(x,t\right),v\left(r,s\right),\mathrm{jetnotation}\right)$
 $\left\{{r}{=}{-}{\mathrm{ln}}{}\left({x}\right){+}{t}{,}{s}{=}\frac{{u}}{{x}}{,}{v}{=}{\mathrm{ln}}{}\left({x}\right)\right\}$ (10)
 > $\mathrm{CanonicalCoordinates}\left(S,u\left(x,t\right),v\left(r,s\right),\mathrm{jetnotation}=\mathrm{jetvariableswithbrackets}\right)$
 $\left\{{r}{=}{-}{\mathrm{ln}}{}\left({x}\right){+}{t}{,}{s}{=}\frac{{{u}}_{{[}{]}}}{{x}}{,}{{v}}_{{[}{]}}{=}{\mathrm{ln}}{}\left({x}\right)\right\}$ (11)