PDEtools
CharacteristicQ
compute the characteristic of a point symmetry represented by its infinitesimals
Calling Sequence
Parameters
Description
Examples
CharacteristicQ(S, DepVars, 'options'='value')
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
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 ξ1,...,ξn,η1,...,ηm, CharacteristicQ computes the procedure
m→ηm−∑j=1nx⁢ij⁢ⅆ⁢umⅆ⁢xj
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.
with⁡PDEtools,CharacteristicQ,InfinitesimalGenerator
CharacteristicQ,InfinitesimalGenerator
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≔u,v⁡x,t
F≔u⁡x,t,v⁡x,t
S≔seq⁡ξj⁡x,t,u,v,j=x,t,seq⁡ηj⁡x,t,u,v,j=u,v
S≔ξx⁡x,t,u,v,ξt⁡x,t,u,v,ηu⁡x,t,u,v,ηv⁡x,t,u,v
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≔CharacteristicQ⁡S,F
Q≔m::satisfies⁡m↦m::ℤ+andm≤2↦ηm−add⁡ξj⋅diff⁡ym,Xj,j=1..2
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⁡1
ηu⁡x,t,u,v−ξx⁡x,t,u,v⁢ux−ξt⁡x,t,u,v⁢ut
Q⁡2
ηv⁡x,t,u,v−ξx⁡x,t,u,v⁢vx−ξt⁡x,t,u,v⁢vt
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
CharacteristicQ⁡S,F,expanded,checktype=false
m↦ηm−ξx⁡x,t,u,v⋅diff⁡ym,x−ξt⁡x,t,u,v⋅diff⁡ym,t
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≔InfinitesimalGenerator⁡S,F
G≔f→ξx⁡x,t,u,v⁢∂∂x⁢f+ξt⁡x,t,u,v⁢∂∂t⁢f+ηu⁡x,t,u,v⁢∂∂u⁢f+ηv⁡x,t,u,v⁢∂∂v⁢f
This is the same output as (4.4)
CharacteristicQ⁡G,F
m::satisfies⁡m↦m::ℤ+andm≤2↦ηm−add⁡ξj⋅diff⁡ym,Xj,j=1..2
To request the output in function instead of jet notation use
Qf≔CharacteristicQ⁡S,F,expanded,checktype=false,jetnotation=false
Qf≔m↦ηm−ξx⁡x,t,u⁡x,t,v⁡x,t⋅diff⁡ym,x−ξt⁡x,t,u⁡x,t,v⁡x,t⋅diff⁡ym,t
Compare for instance this output with the output of Q⁡1
Qf⁡1
ηu⁡x,t,u⁡x,t,v⁡x,t−ξx⁡x,t,u⁡x,t,v⁡x,t⁢∂∂xu⁡x,t−ξt⁡x,t,u⁡x,t,v⁡x,t⁢∂∂tu⁡x,t
See Also
InfinitesimalGenerator
infinitesimals
ToJet
Download Help Document