CharacteristicQ - Maple Help

PDEtools

 CharacteristicQ
 compute the characteristic of a point symmetry represented by its infinitesimals

 Calling Sequence CharacteristicQ(S, DepVars, 'options'='value')

Parameters

 S - a list with the infinitesimals of a symmetry generator or the corresponding infinitesimal generator operator DepVars - a function or a list of them indicating the dependent variables of the problem checktype = ... - optional - can be true (default) or false, to have or have not inserted a check-of-type for the arguments of the output procedure expanded = ... - optional - can be true or false (default), to have or have not expanded the sums entering the body of the output procedure 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

Description

 • The CharacteristicQ command computes the characteristic of a point symmetry represented by its infinitesimals or the corresponding infinitesimal generator operator. That is, for a PDE problem with n independent and m dependent variables, given a related list of infinitesimals $\left[{\mathrm{\xi }}_{1},\mathrm{...},{\mathrm{\xi }}_{n},{\mathrm{\eta }}_{1},\mathrm{...},{\mathrm{\eta }}_{m}\right]$, CharacteristicQ computes the procedure

$m\to {\mathrm{\eta }}_{m}-\sum _{j=1}^{n}x{i}_{j}\frac{ⅆ{u}_{m}}{ⅆ{x}_{j}}$

 where $m$ identifies a dependent variable.
 • The sum in the body of this operator returned by CharacteristicQ is not expanded unless explicitly requested using the optional argument expanded. Also, jetnotation is used in this operator and a check-of-type for the value of $m$ is automatically inserted unless explicitly requested otherwise with the optional arguments jetnotation = false and/or checktype = false - see the examples below.
 • To avoid having to remember the optional keywords, if you misspell a keyword, or 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{CharacteristicQ},\mathrm{InfinitesimalGenerator}\right)$
 $\left[{\mathrm{CharacteristicQ}}{,}{\mathrm{InfinitesimalGenerator}}\right]$ (1)

Consider a problem in two independent and two dependent variables u(x, t), v(x, t), and the generic form of infinitesimals for this type of problem

 > $F≔\left[u,v\right]\left(x,t\right)$
 ${F}{≔}\left[{u}{}\left({x}{,}{t}\right){,}{v}{}\left({x}{,}{t}\right)\right]$ (2)
 > $S≔\left[\mathrm{seq}\left(\mathrm{\xi }\left[j\right]\left(x,t,u,v\right),j=\left[x,t\right]\right),\mathrm{seq}\left(\mathrm{\eta }\left[j\right]\left(x,t,u,v\right),j=\left[u,v\right]\right)\right]$
 ${S}{≔}\left[{{\mathrm{\xi }}}_{{x}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){,}{{\mathrm{\xi }}}_{{t}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){,}{{\mathrm{\eta }}}_{{u}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){,}{{\mathrm{\eta }}}_{{v}}{}\left({x}{,}{t}{,}{u}{,}{v}\right)\right]$ (3)

By default CharacteristicQ returns, fast, an operator in its most abstract form, with a test-type for the value of $m$ and not expanded; essentially, nothing is actually computed until you need it

 > $Q≔\mathrm{CharacteristicQ}\left(S,F\right)$
 ${Q}{≔}{m}{::}{\mathrm{satisfies}}{}\left({m}{↦}{m}{::}{\mathrm{Typesetting}}{:-}{\mathrm{_Hold}}{}\left(\left[{'}{\mathrm{posint}}{'}\right]\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\mathbf{and}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{m}{\le }{2}\right){↦}{{\mathrm{\eta }}}_{{m}}{-}{\mathrm{add}}{}\left({{\mathrm{\xi }}}_{{j}}{\cdot }{\mathrm{diff}}{}\left({{y}}_{{m}}{,}{{X}}_{{j}}\right){,}{j}{=}{1}{..}{2}\right)$ (4)

This resulting characteristic is a function that can then be applied to an integer as large as the number of dependent variables of the problem, in this case two

 > $Q\left(1\right)$
 ${{\mathrm{\eta }}}_{{u}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){-}{{\mathrm{\xi }}}_{{x}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){}{{u}}_{{x}}{-}{{\mathrm{\xi }}}_{{t}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){}{{u}}_{{t}}$ (5)
 > $Q\left(2\right)$
 ${{\mathrm{\eta }}}_{{v}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){-}{{\mathrm{\xi }}}_{{x}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){}{{v}}_{{x}}{-}{{\mathrm{\xi }}}_{{t}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){}{{v}}_{{t}}$ (6)

You can instead request to CharacteristicQ for the sum in the mapping to be expanded before returning, or to avoid the check of type of the value of $m$

 > $\mathrm{CharacteristicQ}\left(S,F,\mathrm{expanded},\mathrm{checktype}=\mathrm{false}\right)$
 ${m}{↦}{{\mathrm{\eta }}}_{{m}}{-}{{\mathrm{\xi }}}_{{x}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){\cdot }{\mathrm{diff}}{}\left({{y}}_{{m}}{,}{x}\right){-}{{\mathrm{\xi }}}_{{t}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){\cdot }{\mathrm{diff}}{}\left({{y}}_{{m}}{,}{t}\right)$ (7)

Instead of passing the symmetry as a list of infinitesimals you can also pass the corresponding infinitesimal generator operator. You construct this operator with InfinitesimalGenerator

 > $G≔\mathrm{InfinitesimalGenerator}\left(S,F\right)$
 ${G}{≔}{f}{→}{{\mathrm{ξ}}}_{{x}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){}\left(\frac{{\partial }}{{\partial }{x}}{}{f}\right){+}{{\mathrm{ξ}}}_{{t}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){}\left(\frac{{\partial }}{{\partial }{t}}{}{f}\right){+}{{\mathrm{η}}}_{{u}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){}\left(\frac{{\partial }}{{\partial }{u}}{}{f}\right){+}{{\mathrm{η}}}_{{v}}{}\left({x}{,}{t}{,}{u}{,}{v}\right){}\left(\frac{{\partial }}{{\partial }{v}}{}{f}\right)$ (8)

This is the same output as (4.4)

 > $\mathrm{CharacteristicQ}\left(G,F\right)$
 ${m}{::}{\mathrm{satisfies}}{}\left({m}{↦}{m}{::}{\mathrm{Typesetting}}{:-}{\mathrm{_Hold}}{}\left(\left[{'}{\mathrm{posint}}{'}\right]\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\mathbf{and}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{m}{\le }{2}\right){↦}{{\mathrm{\eta }}}_{{m}}{-}{\mathrm{add}}{}\left({{\mathrm{\xi }}}_{{j}}{\cdot }{\mathrm{diff}}{}\left({{y}}_{{m}}{,}{{X}}_{{j}}\right){,}{j}{=}{1}{..}{2}\right)$ (9)

To request the output in function instead of jet notation use

 > $\mathrm{Qf}≔\mathrm{CharacteristicQ}\left(S,F,\mathrm{expanded},\mathrm{checktype}=\mathrm{false},\mathrm{jetnotation}=\mathrm{false}\right)$
 ${\mathrm{Qf}}{≔}{m}{↦}{{\mathrm{\eta }}}_{{m}}{-}{{\mathrm{\xi }}}_{{x}}{}\left({x}{,}{t}{,}{u}{}\left({x}{,}{t}\right){,}{v}{}\left({x}{,}{t}\right)\right){\cdot }{\mathrm{diff}}{}\left({{y}}_{{m}}{,}{x}\right){-}{{\mathrm{\xi }}}_{{t}}{}\left({x}{,}{t}{,}{u}{}\left({x}{,}{t}\right){,}{v}{}\left({x}{,}{t}\right)\right){\cdot }{\mathrm{diff}}{}\left({{y}}_{{m}}{,}{t}\right)$ (10)

Compare for instance this output with the output of $Q\left(1\right)$

 > $\mathrm{Qf}\left(1\right)$
 ${{\mathrm{\eta }}}_{{u}}{}\left({x}{,}{t}{,}{u}{}\left({x}{,}{t}\right){,}{v}{}\left({x}{,}{t}\right)\right){-}{{\mathrm{\xi }}}_{{x}}{}\left({x}{,}{t}{,}{u}{}\left({x}{,}{t}\right){,}{v}{}\left({x}{,}{t}\right)\right){}\left(\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{t}\right)\right){-}{{\mathrm{\xi }}}_{{t}}{}\left({x}{,}{t}{,}{u}{}\left({x}{,}{t}\right){,}{v}{}\left({x}{,}{t}\right)\right){}\left(\frac{{\partial }}{{\partial }{t}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}{,}{t}\right)\right)$ (11)