PDEtools
Eta_k
construct a table-procedure that computes, on request, any prolongation of the infinitesimals of a symmetry generator
Calling Sequence
Parameters
Description
Examples
Eta_k(S, DepVars, options=value)
S
-
list with the infinitesimals of a symmetry generator or the corresponding infinitesimal generator operator
DepVars
function or list of functions indicating the dependent variables of the problem
expanded = ...
(optional) can be true or false (default); to expand or not the prolongation of the infinitesimals as opposed to returning just the table procedure that computes it
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
prolongation = ...
(optional) list with two operands: a positive integer identifying the dependent variable, and a list of them where the different numbers identify different independent variables and their amount indicates the prolongation order (see notation of D); default is 'all'
Given a list of infinitesimals of a symmetry generator, or the corresponding infinitesimal generator differential operator, the Eta_k command returns a table-procedure η that can compute any particular prolongation of the symmetry. By table-procedure it is meant a Maple table that however acts as a procedure: it takes n indices and works with them as a function of n parameter does - see the examples and also indexing functions for table. Eta_k also works with anticommutative variables set using the Physics package.
The key idea in the implementation of Eta_k is that constructing a procedure optimized for a given symmetry is faster and more economical in computational resources than actually computing one or many prolongations from a single generic procedure. The table-procedure returned by Eta_k can in turn compute any prolongation, and will do so without repeating operations - that is the meaning of optimized in the previous sentence.
The table procedure η returned by Eta_k can be indexed using independent and dependent variables in jet notation, or their respective numeric positions in the lists of independent and dependent variables (see GetIndepVars and GetDepVars), and correspondingly, the output will be in jetvariables or jetnumbers notation. For example, if u⁡x,t,v⁡x,t are the dependent variables, you can index the table η returned by Eta_k as in ηv,x,x,t, to receive the value of this prolongation in jetvariables notation. If you use jetnumbers, so the pair [1, 2] representing x,t as well as u,v, as in η2,1,1,2, the output will be in jetnumbers notation, equivalent to apply ToJet with option jetnotation = jetnumbers over the output of ηu,x,x,t. By using the option jetnotation - ..., where the right-hand-side could be jetvariables, jetvariableswithbrackets or jetODE, when indexing η with independent or dependent variables the output will appear in the jetnotation indicated.
Independent of this ability of returning a "prolongation procedure" without having in mind any particular prolongation, you can also specify to Eta_k the prolongation order using the optional argument prolongation=m,i,j,..., where m is a positive integer identifying a dependent variable and i,j,... is a list with the positions of independent variables, in which case that particular prolongation is returned, unexpanded; evaluating it further (for instance with eval) will automatically expand it. Or, if in addition to specifying the prolongation it is passed the optional argument expanded, then instead of the unexpanded form of the prolongation specified, the expanded form is returned.
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,declare,Eta_k,InfinitesimalGenerator,ToJet:
Consider the generic form of a list of infinitesimals of a PDE problem in - say - two independent and two dependent variables u(x, t), v(x, t): there are then two ξ infinitesimals associated to each the independent variables and two η infinitesimals associated to each of the dependent variables, as in
DepVars≔u,v⁡x,t
DepVars≔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
For illustration purposes consider also the infinitesimal generator operator corresponding to this list of infinitesimals
G≔InfinitesimalGenerator⁡S,DepVars
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
The table-procedure returned by Eta_k, able to compute any prolongation, is constructed instantly and without consuming any computational resources, equally from S or G
Η≔Eta_k⁡G,DepVars
Η≔η
This table output is always displayed as η. The prolongation of order "zero" of the first dependent infinitesimal, that is, the η infinitesimal associated to the dependent variable v⁡x,t is obtained by entering Ηv or Η1 and is just equal to ηv⁡x,t,u,v respectively written in jetvariables or jetnumbers notation
Ηu
ηu⁡x,t,u,v
Η1
The difference between jetvariables and jetnumbers is more evident when actually computing prolongations, for example for the first prolongation of ηv with respect to x
Ηv,x
−∂∂uξx⁡x,t,u,v⁢ux⁢vx−∂∂vξx⁡x,t,u,v⁢vx2−∂∂uξt⁡x,t,u,v⁢ux⁢vt−∂∂vξt⁡x,t,u,v⁢vx⁢vt+ux⁢∂∂uηv⁡x,t,u,v+vx⁢∂∂vηv⁡x,t,u,v−∂∂xξx⁡x,t,u,v⁢vx−∂∂xξt⁡x,t,u,v⁢vt+∂∂xηv⁡x,t,u,v
Η2,1
−∂∂uξx⁡x,t,u,v⁢u1⁢v1−∂∂vξx⁡x,t,u,v⁢v12−∂∂uξt⁡x,t,u,v⁢u1⁢v2−∂∂vξt⁡x,t,u,v⁢v1⁢v2+u1⁢∂∂uηv⁡x,t,u,v+v1⁢∂∂vηv⁡x,t,u,v−∂∂xξx⁡x,t,u,v⁢v1−∂∂xξt⁡x,t,u,v⁢v2+∂∂xηv⁡x,t,u,v
In this output (4.10) expressed using jetnumbers u represents u⁡x,t, u1 represents the derivative with respect to x, u1,1 the second derivative with respect to x and so on; the convention is the same one used by the Maple D differentiation operator.
On the other hand, in the output (4.9) expressed in jetvariables, u represents u⁡x,t, ux represents the derivative with respect to x, ux,x the second derivative with respect to x and so on; this convention is also used in all the symmetry commands of PDEtools, the declare command in the mathematical display of derivatives, and by the DifferentialAlgebra package.
To avoid redundant display in the following output use the declare facility, which will also make the derivatives be displayed compactly, indexed
declare⁡ξ,η⁡x,t,u,v
ξ⁡x,t,u,v⁢will now be displayed as⁢ξ
η⁡x,t,u,v⁢will now be displayed as⁢η
For example, the now compact display for ηv,x lines above is
−ξxu⁢ux⁢vx−ξxv⁢vx2−ξtu⁢ux⁢vt−ξtv⁢vx⁢vt+ux⁢ηvu+vx⁢ηvv−ξxx⁢vx−ξtx⁢vt+ηvx
There are three possible prolongations of order two for each of the ηu and ηv infinitesimals, these are: two times with respect to the first independent variable, ditto with respect to the second independent variable, and the mixed prolongation; for ηu these are
Ηu,x,x
−ξtv,v⁢ut⁢vx2−ξxv⁢ux⁢vx,x−ξtv⁢ut⁢vx,x−ξxv,v⁢ux⁢vx2−2⁢ξtv⁢ux,t⁢vx+2⁢ηuu,v⁢ux⁢vx−3⁢ξxu⁢ux⁢ux,x−2⁢ξxv⁢ux,x⁢vx−ξtu⁢ut⁢ux,x−2⁢ξtu⁢ux⁢ux,t−ξtu,u⁢ux2⁢ut−2⁢ξxu,v⁢ux2⁢vx+ηux,x−2⁢ξxv,x⁢ux⁢vx−2⁢ξtu,v⁢ux⁢ut⁢vx+2⁢vx⁢ηuv,x+2⁢ux⁢ηuu,x−2⁢ξxu,x⁢ux2+ηuv,v⁢vx2+ηuv⁢vx,x+ηuu,u⁢ux2+ηuu⁢ux,x−2⁢ξxx⁢ux,x−2⁢ξtx⁢ux,t−ξxu,u⁢ux3−ξtx,x⁢ut−ξxx,x⁢ux−2⁢ξtv,x⁢ut⁢vx−2⁢ξtu,x⁢ux⁢ut
Ηu,t,t
−2⁢ξxt,v⁢ux⁢vt−2⁢ξxt,u⁢ux⁢ut−ξxv,v⁢ux⁢vt2−ξtv⁢ut⁢vt,t−ξxv⁢ux⁢vt,t−ξtv,v⁢ut⁢vt2−2⁢ξtv⁢ut,t⁢vt−ξxu⁢ux⁢ut,t−3⁢ξtu⁢ut⁢ut,t−2⁢ξxv⁢ux,t⁢vt+2⁢ηuu,v⁢ut⁢vt−2⁢ξxu⁢ut⁢ux,t−ξxu,u⁢ux⁢ut2−ξtt,t⁢ut−ξxt,t⁢ux+2⁢vt⁢ηut,v+2⁢ut⁢ηut,u−2⁢ξtu,v⁢ut2⁢vt−2⁢ξtt,u⁢ut2+ηuv,v⁢vt2+ηuv⁢vt,t−2⁢ξtt⁢ut,t−2⁢ξxt⁢ux,t+ηuu⁢ut,t+ηuu,u⁢ut2−ξtu,u⁢ut3+ηut,t−2⁢ξxu,v⁢ux⁢ut⁢vt−2⁢ξtt,v⁢ut⁢vt
Ηu,x,t
−ξtt,x⁢ut−ξxt,u⁢ux2+ηut,u⁢ux−ξxt⁢ux,x+ηuu⁢ux,t−ξtt⁢ux,t−ξtu,x⁢ut2+ut⁢ηuu,x+vt⁢ηuv,x−ξtu,u⁢ux⁢ut2−ξtt,u⁢ux⁢ut+ηuu,u⁢ux⁢ut+ηuu,v⁢ux⁢vt−ξxu⁢ut⁢ux,x−ξxv⁢ux,x⁢vt−ξxt,x⁢ux−ξtu,v⁢ux⁢ut⁢vt−ξxu,v⁢ux⁢ut⁢vx−ξtv,v⁢ut⁢vx⁢vt−ξxv,v⁢ux⁢vx⁢vt−ξtv,x⁢ut⁢vt−ξxu,x⁢ux⁢ut−ξxv,x⁢ux⁢vt−ξtv⁢ux,t⁢vt−2⁢ξxu⁢ux⁢ux,t−2⁢ξtu⁢ut⁢ux,t−ξtu,v⁢ut2⁢vx−ξtt,v⁢ut⁢vx−ξxt,v⁢ux⁢vx+ηuu,v⁢ut⁢vx+ηut,x+ηut,v⁢vx+ηuv⁢vx,t−ξxx⁢ux,t−ξtx⁢ut,t+ηuv,v⁢vx⁢vt−ξtv⁢ut⁢vx,t−ξxv⁢ux⁢vx,t−ξxv⁢ux,t⁢vx−ξtv⁢ut,t⁢vx−ξtu⁢ux⁢ut,t−ξxu,u⁢ux2⁢ut−ξxu,v⁢ux2⁢vt
Note the compact display in the output above, due to the use of declare. To see the contents behind this compact display use show
show
∂2∂t∂xηu⁡x,t,u,v−∂2∂u∂vξx⁡x,t,u,v⁢ux2⁢vt−∂2∂t∂vξx⁡x,t,u,v⁢ux⁢vx+∂2∂u∂vηu⁡x,t,u,v⁢ut⁢vx+∂2∂v2ηu⁡x,t,u,v⁢vx⁢vt−∂2∂u2ξx⁡x,t,u,v⁢ux2⁢ut−∂2∂v∂xξx⁡x,t,u,v⁢ux⁢vt−∂2∂u∂vξt⁡x,t,u,v⁢ut2⁢vx−∂2∂t∂vξt⁡x,t,u,v⁢ut⁢vx−∂2∂u∂xξx⁡x,t,u,v⁢ux⁢ut−∂2∂v∂xξt⁡x,t,u,v⁢ut⁢vt+∂2∂u2ηu⁡x,t,u,v⁢ux⁢ut+∂2∂u∂vηu⁡x,t,u,v⁢ux⁢vt−∂2∂u2ξt⁡x,t,u,v⁢ux⁢ut2−∂2∂t∂uξt⁡x,t,u,v⁢ux⁢ut−∂2∂u∂xξt⁡x,t,u,v⁢ut2+ut⁢∂2∂u∂xηu⁡x,t,u,v+vt⁢∂2∂v∂xηu⁡x,t,u,v−∂2∂t∂xξx⁡x,t,u,v⁢ux+∂∂vηu⁡x,t,u,v⁢vx,t−∂∂xξx⁡x,t,u,v⁢ux,t−∂∂xξt⁡x,t,u,v⁢ut,t−∂∂tξx⁡x,t,u,v⁢ux,x+∂∂uηu⁡x,t,u,v⁢ux,t−∂∂tξt⁡x,t,u,v⁢ux,t−∂∂uξx⁡x,t,u,v⁢ut⁢ux,x−∂∂vξx⁡x,t,u,v⁢ux,x⁢vt−∂∂vξt⁡x,t,u,v⁢ux,t⁢vt−2⁢∂∂uξx⁡x,t,u,v⁢ux⁢ux,t−2⁢∂∂uξt⁡x,t,u,v⁢ut⁢ux,t−∂∂vξt⁡x,t,u,v⁢ut⁢vx,t−∂∂vξx⁡x,t,u,v⁢ux⁢vx,t−∂∂vξx⁡x,t,u,v⁢ux,t⁢vx−∂∂vξt⁡x,t,u,v⁢ut,t⁢vx−∂∂uξt⁡x,t,u,v⁢ux⁢ut,t−∂2∂t∂xξt⁡x,t,u,v⁢ut−∂2∂t∂uξx⁡x,t,u,v⁢ux2+∂2∂t∂uηu⁡x,t,u,v⁢ux+∂2∂t∂vηu⁡x,t,u,v⁢vx−∂2∂u∂vξt⁡x,t,u,v⁢ux⁢ut⁢vt−∂2∂u∂vξx⁡x,t,u,v⁢ux⁢ut⁢vx−∂2∂v2ξt⁡x,t,u,v⁢ut⁢vx⁢vt−∂2∂v2ξx⁡x,t,u,v⁢ux⁢vx⁢vt
It is sometimes possible to compactify these expressions a bit more by using, for instance, simplify,size or convert,horner.
You can also request a particular prolongation directly, either using jetvariables or jetnumbers notation, with or without the option expanded
Eta_k⁡S,DepVars,prolongation=u,x,t
ηu,x,t
Eta_k⁡S,DepVars,prolongation=u,x,t,expanded
−
0
Eta_k⁡S,DepVars,prolongation=1,1,2,expanded
−ξxt,x⁢u1−ξxx,v⁢u1⁢v2−ξxx,u⁢u1⁢u2−ξtx,v⁢u2⁢v2−ξtu,v⁢u1⁢u2⁢v2−ξxu,v⁢u1⁢u2⁢v1+ηuu,u⁢u1⁢u2+ηuu,v⁢u1⁢v2−ξxu⁢u2⁢u1,1−ξxv⁢u1,1⁢v2−ξtt,u⁢u1⁢u2+ηut,x+u2⁢ηux,u+v2⁢ηux,v−ξtt,x⁢u2+ηut,v⁢v1+ηuv⁢v1,2−ξxx⁢u1,2−ξtx⁢u2,2−ξtv,v⁢u2⁢v1⁢v2−ξxv,v⁢u1⁢v1⁢v2−ξtu,u⁢u1⁢u22−ξxu,v⁢u12⁢v2−ξxu,u⁢u12⁢u2−ξxv⁢u1⁢v1,2−ξxv⁢u1,2⁢v1−ξtv⁢u2,2⁢v1−ξtu⁢u1⁢u2,2+ηuv,v⁢v1⁢v2−ξtv⁢u2⁢v1,2+ηuu,v⁢u2⁢v1−ξxt,u⁢u12+ηut,u⁢u1−ξxt⁢u1,1+ηuu⁢u1,2−ξtt⁢u1,2−ξxt,v⁢u1⁢v1−ξtx,u⁢u22−ξtt,v⁢u2⁢v1−ξtu,v⁢u22⁢v1−2⁢ξtu⁢u2⁢u1,2−2⁢ξxu⁢u1⁢u1,2−ξtv⁢u1,2⁢v2
Re-expressing the output above in jetvariables notation instead of jetnumbers we get the same as from ηu,x,t in (4.15)
ToJet⁡,DepVars,notation=jetvariables−
The Eta_k command also works with anticommutative variables, natively, without using the approach explained in PerformOnAnticommutativeSystem.
with⁡Physics:
Set first θ and Q as suffixes for variables of type/anticommutative (see Setup)
Setup⁡anticommutativepre=Q,θ
* Partial match of 'anticommutativepre' against keyword 'anticommutativeprefix'
_______________________________________________________
anticommutativeprefix=Q,θ
A PDE system example with one unknown anticommutative function Q of four variables, two commutative and two anticommutative; to avoid redundant typing in the input that follows and redundant display of information on the screen, use PDEtools:-declare, and PDEtools:-diff_table, that also handles anticommutative variables by automatically using Physics:-diff when Physics is loaded
PDEtools:-declare⁡Q⁡x,y,θ1,θ2
Q⁡x,y,θ1,θ2⁢will now be displayed as⁢Q
q≔PDEtools:-diff_table⁡Q⁡x,y,θ1,θ2:
Now we can enter derivatives directly as the function's name indexed by the differentiation variables and see the display the same way; two PDEs
pde1≔qx,y,θ1+qx,y,θ2−qy,θ1,θ2=0
pde1≔Qx,y,θ1+Qx,y,θ2−Qy,θ1,θ2=0
pde2≔qθ1=0
pde2≔Qθ1=0
Set now the generic form of the infinitesimals for a PDE system like this one formed by pde[1] and pde[2]. For this purpose, we need anticommutative infinitesimals for the dependent variable Q and two of the independent variables, θ1 and θ2; we use here the capital Greek letters Ξ and Gamma for the anticommutative infinitesimal symmetry generators and ξ for the commutative ones
Setup⁡anticommutativepre=Gamma,Ξ,additionally
anticommutativeprefix=Γ,Q,Ξ,θ
S≔ξ1,ξ2,Ξ1,Ξ2,Gamma⁡x,y,θ1,θ2
S≔ξ1⁡x,y,θ1,θ2,ξ2⁡x,y,θ1,θ2,Ξ1⁡x,y,θ1,θ2,Ξ2⁡x,y,θ1,θ2,Γ⁡x,y,θ1,θ2
PDEtools:-declare⁡S
Γ⁡x,y,θ1,θ2⁢will now be displayed as⁢Γ
Ξ⁡x,y,θ1,θ2⁢will now be displayed as⁢Ξ
ξ⁡x,y,θ1,θ2⁢will now be displayed as⁢ξ
The corresponding InfinitesimalGenerator
InfinitesimalGenerator⁡S,q
f↦ξ1⁢ⅆfⅆx+ξ2⁢ⅆfⅆy+Ξ1⁢ⅆfⅆθ1+Ξ2⁢ⅆfⅆθ2+Γ⁢ⅆfⅆQ
The table-function that returns the prolongation of the infinitesimal for Q is computed with Eta_k, assign it here to the lowercase η to use more familiar notation
η≔Eta_k⁡S,q
η≔η
The first prolongations of η with respect to x and θ1
ηQ,x
Γx−ξ1x⁢Qx−ξ2x⁢Qy−Qθ1⁢Ξ1x−Qθ2⁢Ξ2x
ηQ,θ1
Γθ1+Qx⁢ξ1θ1+Qy⁢ξ2θ1−Qθ1⁢Ξ1θ1−Qθ2⁢Ξ2θ1
The second mixed prolongations of η with respect to x,y and x,θ1
ηQ,x,y
Γx,y−ξ1x,y⁢Qx−ξ2x,y⁢Qy−Qθ1⁢Ξ1x,y−Qθ2⁢Ξ2x,y−ξ1y⁢Qx,x−ξ2y⁢Qx,y−Qx,θ1⁢Ξ1y−Qx,θ2⁢Ξ2y−ξ1x⁢Qx,y−ξ2x⁢Qy,y−Qy,θ1⁢Ξ1x−Qy,θ2⁢Ξ2x
ηQ,x,θ1
Γx,θ1+Qx⁢ξ1x,θ1+Qy⁢ξ2x,θ1−Qθ1⁢Ξ1x,θ1−Qθ2⁢Ξ2x,θ1+Qx,x⁢ξ1θ1+Qx,y⁢ξ2θ1−Qx,θ1⁢Ξ1θ1−Qx,θ2⁢Ξ2θ1−Qx,θ1⁢ξ1x−Qy,θ1⁢ξ2x−Qθ1,θ2⁢Ξ2x
See Also
convert,horner
D
declare
Infinitesimals
Physics
Setup
simplify,size
ToJet
Download Help Document