Eta_k - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


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

Calling Sequence

Eta_k(S, DepVars, 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 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'

Description

• 

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 ux,t,vx,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.

Examples

withPDEtools,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

DepVarsu,vx,t

DepVarsux,t,vx,t

(1)

Sseqξjx,t,u,v,j=x,t,seqηjx,t,u,v,j=u,v

Sξxx,t,u,v,ξtx,t,u,v,ηux,t,u,v,ηvx,t,u,v

(2)

For illustration purposes consider also the infinitesimal generator operator corresponding to this list of infinitesimals

GInfinitesimalGeneratorS,DepVars

Gf→ξxx,t,u,vxf+ξtx,t,u,vtf+ηux,t,u,vuf+ηvx,t,u,vvf

(3)

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_kG,DepVars

Ηη

(4)

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 vx,t is obtained by entering Ηv or Η1 and is just equal to ηvx,t,u,v respectively written in jetvariables or jetnumbers notation

Ηu

ηux,t,u,v

(5)

Η1

ηux,t,u,v

(6)

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ξxx,t,u,vuxvxvξxx,t,u,vvx2uξtx,t,u,vuxvtvξtx,t,u,vvxvt+uxuηvx,t,u,v+vxvηvx,t,u,vxξxx,t,u,vvxxξtx,t,u,vvt+xηvx,t,u,v

(7)

Η2,1

uξxx,t,u,vu1v1vξxx,t,u,vv12uξtx,t,u,vu1v2vξtx,t,u,vv1v2+u1uηvx,t,u,v+v1vηvx,t,u,vxξxx,t,u,vv1xξtx,t,u,vv2+xηvx,t,u,v

(8)

In this output (4.10) expressed using jetnumbers u represents ux,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 ux,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,vwill now be displayed asξ

ηx,t,u,vwill now be displayed asη

(9)

For example, the now compact display for ηv,x lines above is

Ηv,x

ξxuuxvxξxvvx2ξtuuxvtξtvvxvt+uxηvu+vxηvvξxxvxξtxvt+ηvx

(10)

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,vutvx2ξxvuxvx,xξtvutvx,xξxv,vuxvx22ξtvux,tvx+2ηuu,vuxvx3ξxuuxux,x2ξxvux,xvxξtuutux,x2ξtuuxux,tξtu,uux2ut2ξxu,vux2vx+ηux,x2ξxv,xuxvx2ξtu,vuxutvx+2vxηuv,x+2uxηuu,x2ξxu,xux2+ηuv,vvx2+ηuvvx,x+ηuu,uux2+ηuuux,x2ξxxux,x2ξtxux,tξxu,uux3ξtx,xutξxx,xux2ξtv,xutvx2ξtu,xuxut

(11)

Ηu,t,t

2ξxt,vuxvt2ξxt,uuxutξxv,vuxvt2ξtvutvt,tξxvuxvt,tξtv,vutvt22ξtvut,tvtξxuuxut,t3ξtuutut,t2ξxvux,tvt+2ηuu,vutvt2ξxuutux,tξxu,uuxut2ξtt,tutξxt,tux+2vtηut,v+2utηut,u2ξtu,vut2vt2ξtt,uut2+ηuv,vvt2+ηuvvt,t2ξttut,t2ξxtux,t+ηuuut,t+ηuu,uut2ξtu,uut3+ηut,t2ξxu,vuxutvt2ξtt,vutvt

(12)

Ηu,x,t

ξtt,xutξxt,uux2+ηut,uuxξxtux,x+ηuuux,tξttux,tξtu,xut2+utηuu,x+vtηuv,xξtu,uuxut2ξtt,uuxut+ηuu,uuxut+ηuu,vuxvtξxuutux,xξxvux,xvtξxt,xuxξtu,vuxutvtξxu,vuxutvxξtv,vutvxvtξxv,vuxvxvtξtv,xutvtξxu,xuxutξxv,xuxvtξtvux,tvt2ξxuuxux,t2ξtuutux,tξtu,vut2vxξtt,vutvxξxt,vuxvx+ηuu,vutvx+ηut,x+ηut,vvx+ηuvvx,tξxxux,tξtxut,t+ηuv,vvxvtξtvutvx,tξxvuxvx,tξxvux,tvxξtvut,tvxξtuuxut,tξxu,uux2utξxu,vux2vt

(13)

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

2txηux,t,u,v2uvξxx,t,u,vux2vt2tvξxx,t,u,vuxvx+2uvηux,t,u,vutvx+2v2ηux,t,u,vvxvt2u2ξxx,t,u,vux2ut2vxξxx,t,u,vuxvt2uvξtx,t,u,vut2vx2tvξtx,t,u,vutvx2uxξxx,t,u,vuxut2vxξtx,t,u,vutvt+2u2ηux,t,u,vuxut+2uvηux,t,u,vuxvt2u2ξtx,t,u,vuxut22tuξtx,t,u,vuxut2uxξtx,t,u,vut2+ut2uxηux,t,u,v+vt2vxηux,t,u,v2txξxx,t,u,vux+vηux,t,u,vvx,txξxx,t,u,vux,txξtx,t,u,vut,ttξxx,t,u,vux,x+uηux,t,u,vux,ttξtx,t,u,vux,tuξxx,t,u,vutux,xvξxx,t,u,vux,xvtvξtx,t,u,vux,tvt2uξxx,t,u,vuxux,t2uξtx,t,u,vutux,tvξtx,t,u,vutvx,tvξxx,t,u,vuxvx,tvξxx,t,u,vux,tvxvξtx,t,u,vut,tvxuξtx,t,u,vuxut,t2txξtx,t,u,vut2tuξxx,t,u,vux2+2tuηux,t,u,vux+2tvηux,t,u,vvx2uvξtx,t,u,vuxutvt2uvξxx,t,u,vuxutvx2v2ξtx,t,u,vutvxvt2v2ξxx,t,u,vuxvxvt

(14)

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_kS,DepVars,prolongation=u,x,t

ηu,x,t

(15)

ξtt,xutξxt,uux2+ηut,uuxξxtux,x+ηuuux,tξttux,tξtu,xut2+utηuu,x+vtηuv,xξtu,uuxut2ξtt,uuxut+ηuu,uuxut+ηuu,vuxvtξxuutux,xξxvux,xvtξxt,xuxξtu,vuxutvtξxu,vuxutvxξtv,vutvxvtξxv,vuxvxvtξtv,xutvtξxu,xuxutξxv,xuxvtξtvux,tvt2ξxuuxux,t2ξtuutux,tξtu,vut2vxξtt,vutvxξxt,vuxvx+ηuu,vutvx+ηut,x+ηut,vvx+ηuvvx,tξxxux,tξtxut,t+ηuv,vvxvtξtvutvx,tξxvuxvx,tξxvux,tvxξtvut,tvxξtuuxut,tξxu,uux2utξxu,vux2vt

(16)

Eta_kS,DepVars,prolongation=u,x,t,expanded

ξtt,xutξxt,uux2+ηut,uuxξxtux,x+ηuuux,tξttux,tξtu,xut2+utηuu,x+vtηuv,xξtu,uuxut2ξtt,uuxut+ηuu,uuxut+ηuu,vuxvtξxuutux,xξxvux,xvtξxt,xuxξtu,vuxutvtξxu,vuxutvxξtv,vutvxvtξxv,vuxvxvtξtv,xutvtξxu,xuxutξxv,xuxvtξtvux,tvt2ξxuuxux,t2ξtuutux,tξtu,vut2vxξtt,vutvxξxt,vuxvx+ηuu,vutvx+ηut,x+ηut,vvx+ηuvvx,tξxxux,tξtxut,t+ηuv,vvxvtξtvutvx,tξxvuxvx,tξxvux,tvxξtvut,tvxξtuuxut,tξxu,uux2utξxu,vux2vt

(17)

0

(18)

Eta_kS,DepVars,prolongation=1,1,2,expanded

ξxt,xu1ξxx,vu1v2ξxx,uu1u2ξtx,vu2v2ξtu,vu1u2v2ξxu,vu1u2v1+ηuu,uu1u2+ηuu,vu1v2ξxuu2u1,1ξxvu1,1v2ξtt,uu1u2+ηut,x+u2ηux,u+v2ηux,vξtt,xu2+ηut,vv1+ηuvv1,2ξxxu1,2ξtxu2,2ξtv,vu2v1v2ξxv,vu1v1v2ξtu,uu1u22ξxu,vu12v2ξxu,uu12u2ξxvu1v1,2ξxvu1,2v1ξtvu2,2v1ξtuu1u2,2+ηuv,vv1v2ξtvu2v1,2+ηuu,vu2v1ξxt,uu12+ηut,uu1ξxtu1,1+ηuuu1,2ξttu1,2ξxt,vu1v1ξtx,uu22ξtt,vu2v1ξtu,vu22v12ξtuu2u1,22ξxuu1u1,2ξtvu1,2v2

(19)

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

0

(20)

The Eta_k command also works with anticommutative variables, natively, without using the approach explained in PerformOnAnticommutativeSystem.

withPhysics:

Set first θ and Q as suffixes for variables of type/anticommutative (see Setup)

Setupanticommutativepre=Q,θ

* Partial match of 'anticommutativepre' against keyword 'anticommutativeprefix'

_______________________________________________________

anticommutativeprefix=Q,θ

(21)

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:-declareQx,y,θ1,θ2

Qx,y,θ1,θ2will now be displayed asQ

(22)

qPDEtools:-diff_tableQx,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

pde1qx,y,θ1+qx,y,θ2qy,θ1,θ2=0

pde1Qx,y,θ1+Qx,y,θ2Qy,θ1,θ2=0

(23)

pde2qθ1=0

pde2Qθ1=0

(24)

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

Setupanticommutativepre=Gamma,Ξ,additionally

* Partial match of 'anticommutativepre' against keyword 'anticommutativeprefix'

_______________________________________________________

anticommutativeprefix=Γ,Q,Ξ,θ

(25)

Sξ1,ξ2,Ξ1,Ξ2,Gammax,y,θ1,θ2

Sξ1x,y,θ1,θ2,ξ2x,y,θ1,θ2,Ξ1x,y,θ1,θ2,Ξ2x,y,θ1,θ2,Γx,y,θ1,θ2

(26)

PDEtools:-declareS

Γx,y,θ1,θ2will now be displayed asΓ

Ξx,y,θ1,θ2will now be displayed asΞ

ξx,y,θ1,θ2will now be displayed asξ

(27)

The corresponding InfinitesimalGenerator

InfinitesimalGeneratorS,q

fξ1ⅆfⅆx+ξ2ⅆfⅆy+Ξ1ⅆfⅆθ1+Ξ2ⅆfⅆθ2+ΓⅆfⅆQ

(28)

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_kS,q

ηη

(29)

The first prolongations of η with respect to x and  θ1

ηQ,x

Γxξ1xQxξ2xQyQθ1Ξ1xQθ2Ξ2x

(30)

ηQ,θ1

Γθ1+Qxξ1θ1+Qyξ2θ1Qθ1Ξ1θ1Qθ2Ξ2θ1

(31)

The second mixed prolongations of η with respect to x,y and  x,θ1

ηQ,x,y

Γx,yξ1x,yQxξ2x,yQyQθ1Ξ1x,yQθ2Ξ2x,yξ1yQx,xξ2yQx,yQx,θ1Ξ1yQx,θ2Ξ2yξ1xQx,yξ2xQy,yQy,θ1Ξ1xQy,θ2Ξ2x

(32)

ηQ,x,θ1

Γx,θ1+Qxξ1x,θ1+Qyξ2x,θ1Qθ1Ξ1x,θ1Qθ2Ξ2x,θ1+Qx,xξ1θ1+Qx,yξ2θ1Qx,θ1Ξ1θ1Qx,θ2Ξ2θ1Qx,θ1ξ1xQy,θ1ξ2xQθ1,θ2Ξ2x

(33)

See Also

convert,horner

D

declare

Infinitesimals

PDEtools

Physics

Setup

simplify,size

ToJet