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

diffξxx,t,u,v,uuxvxdiffξxx,t,u,v,vvx2diffξtx,t,u,v,uuxvtdiffξtx,t,u,v,vvxvt+uxdiffηvx,t,u,v,u+vxdiffηvx,t,u,v,vdiffξxx,t,u,v,xvxdiffξtx,t,u,v,xvt+diffηvx,t,u,v,x

(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

diffdiffηux,t,u,v,x,xdiffdiffξxx,t,u,v,u,uux3+diffdiffηux,t,u,v,u,uux2+diffηux,t,u,v,uux,x2diffξxx,t,u,v,xux,x2diffξtx,t,u,v,xux,t+diffdiffηux,t,u,v,v,vvx2+diffηux,t,u,v,vvx,x+2uxdiffdiffηux,t,u,v,u,x+2vxdiffdiffηux,t,u,v,v,xdiffdiffξxx,t,u,v,x,xuxdiffdiffξtx,t,u,v,x,xut2diffdiffξxx,t,u,v,u,xux2diffξtx,t,u,v,uutux,x2diffξtx,t,u,v,uuxux,t2diffξtx,t,u,v,vux,tvxdiffdiffξxx,t,u,v,v,vuxvx2diffdiffξtx,t,u,v,v,vutvx2diffξxx,t,u,v,vuxvx,xdiffξtx,t,u,v,vutvx,x2diffdiffξxx,t,u,v,u,vux2vxdiffdiffξtx,t,u,v,u,uux2ut+2diffdiffηux,t,u,v,u,vuxvx3diffξxx,t,u,v,uuxux,x2diffξxx,t,u,v,vux,xvx2diffdiffξxx,t,u,v,v,xuxvx2diffdiffξtx,t,u,v,u,xuxut2diffdiffξtx,t,u,v,v,xutvx2diffdiffξtx,t,u,v,u,vuxutvx

(11)

Ηu,t,t

diffdiffηux,t,u,v,t,t+diffdiffηux,t,u,v,u,uut22diffξxx,t,u,v,tux,t+diffηux,t,u,v,uut,t2diffξtx,t,u,v,tut,t+diffdiffηux,t,u,v,v,vvt2+diffηux,t,u,v,vvt,t2diffdiffξtx,t,u,v,t,uut2+2utdiffdiffηux,t,u,v,t,u+2vtdiffdiffηux,t,u,v,t,vdiffdiffξxx,t,u,v,t,tuxdiffdiffξtx,t,u,v,t,tutdiffdiffξtx,t,u,v,u,uut3diffξxx,t,u,v,vuxvt,tdiffξtx,t,u,v,vutvt,t2diffdiffξxx,t,u,v,t,uuxut2diffdiffξxx,t,u,v,t,vuxvt2diffdiffξtx,t,u,v,t,vutvtdiffdiffξxx,t,u,v,u,uuxut22diffdiffξtx,t,u,v,u,vut2vt+2diffdiffηux,t,u,v,u,vutvt2diffξxx,t,u,v,uutux,t2diffξxx,t,u,v,vux,tvtdiffξxx,t,u,v,uuxut,t3diffξtx,t,u,v,uutut,t2diffξtx,t,u,v,vut,tvtdiffdiffξxx,t,u,v,v,vuxvt2diffdiffξtx,t,u,v,v,vutvt22diffdiffξxx,t,u,v,u,vuxutvt

(12)

Ηu,x,t

diffdiffηux,t,u,v,t,xdiffdiffξxx,t,u,v,u,uux2utdiffdiffξxx,t,u,v,u,vux2vtdiffdiffξtx,t,u,v,u,uuxut2diffdiffξtx,t,u,v,t,uuxut+diffdiffηux,t,u,v,u,uuxut+diffdiffηux,t,u,v,u,vuxvtdiffξxx,t,u,v,uutux,xdiffξxx,t,u,v,vux,xvt2diffξxx,t,u,v,uuxux,t2diffξtx,t,u,v,uutux,tdiffξtx,t,u,v,vux,tvtdiffdiffξtx,t,u,v,u,vut2vxdiffdiffξxx,t,u,v,t,vuxvxdiffdiffξtx,t,u,v,t,vutvx+diffdiffηux,t,u,v,u,vutvx+diffdiffηux,t,u,v,v,vvxvtdiffξxx,t,u,v,vuxvx,tdiffdiffξxx,t,u,v,u,xuxutdiffdiffξxx,t,u,v,v,xuxvtdiffdiffξtx,t,u,v,v,xutvtdiffξtx,t,u,v,vutvx,tdiffξxx,t,u,v,vux,tvxdiffξtx,t,u,v,uuxut,tdiffξtx,t,u,v,vut,tvxdiffdiffξxx,t,u,v,t,uux2+diffdiffηux,t,u,v,t,uuxdiffξxx,t,u,v,tux,x+diffηux,t,u,v,uux,tdiffξtx,t,u,v,tux,t+diffdiffηux,t,u,v,t,vvx+diffηux,t,u,v,vvx,tdiffξxx,t,u,v,xux,tdiffξtx,t,u,v,xut,tdiffdiffξtx,t,u,v,u,xut2+utdiffdiffηux,t,u,v,u,x+vtdiffdiffηux,t,u,v,v,xdiffdiffξxx,t,u,v,t,xuxdiffdiffξtx,t,u,v,t,xutdiffdiffξtx,t,u,v,v,vutvxvtdiffdiffξtx,t,u,v,u,vuxutvtdiffdiffξxx,t,u,v,u,vuxutvxdiffdiffξxx,t,u,v,v,vuxvxvt

(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,v+vt2vxηux,t,u,v2txξxx,t,u,vux2txξtx,t,u,vut2tuξxx,t,u,vux2+2tuηux,t,u,vux+2tvηux,t,u,vvx2uxξtx,t,u,vut2+ut2uxηux,t,u,v2v2ξtx,t,u,vutvxvt2uvξtx,t,u,vuxutvt2uvξxx,t,u,vuxutvx2v2ξxx,t,u,vuxvxvtuξxx,t,u,vutux,xvξxx,t,u,vux,xvt2uξxx,t,u,vuxux,t2uξtx,t,u,vutux,tvξtx,t,u,vux,tvtvξxx,t,u,vuxvx,tvξtx,t,u,vutvx,tvξxx,t,u,vux,tvxuξtx,t,u,vuxut,tvξtx,t,u,vut,tvxtξxx,t,u,vux,x+uηux,t,u,vux,ttξtx,t,u,vux,t+vηux,t,u,vvx,txξxx,t,u,vux,txξtx,t,u,vut,t2vxξtx,t,u,vutvt2vxξxx,t,u,vuxvt2uxξxx,t,u,vuxut+2v2ηux,t,u,vvxvt2tvξtx,t,u,vutvx+2uvηux,t,u,vutvx2tvξxx,t,u,vuxvx2uvξtx,t,u,vut2vx2u2ξtx,t,u,vuxut22tuξtx,t,u,vuxut+2u2ηux,t,u,vuxut+2uvηux,t,u,vuxvt2u2ξxx,t,u,vux2ut2uvξxx,t,u,vux2vt

(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)

diffdiffηux,t,u,v,t,xdiffdiffξxx,t,u,v,u,uux2utdiffdiffξxx,t,u,v,u,vux2vtdiffdiffξtx,t,u,v,u,uuxut2diffdiffξtx,t,u,v,t,uuxut+diffdiffηux,t,u,v,u,uuxut+diffdiffηux,t,u,v,u,vuxvtdiffξxx,t,u,v,uutux,xdiffξxx,t,u,v,vux,xvt2diffξxx,t,u,v,uuxux,t2diffξtx,t,u,v,uutux,tdiffξtx,t,u,v,vux,tvtdiffdiffξtx,t,u,v,u,vut2vxdiffdiffξxx,t,u,v,t,vuxvxdiffdiffξtx,t,u,v,t,vutvx+diffdiffηux,t,u,v,u,vutvx+diffdiffηux,t,u,v,v,vvxvtdiffξxx,t,u,v,vuxvx,tdiffdiffξxx,t,u,v,u,xuxutdiffdiffξxx,t,u,v,v,xuxvtdiffdiffξtx,t,u,v,v,xutvtdiffξtx,t,u,v,vutvx,tdiffξxx,t,u,v,vux,tvxdiffξtx,t,u,v,uuxut,tdiffξtx,t,u,v,vut,tvxdiffdiffξxx,t,u,v,t,uux2+diffdiffηux,t,u,v,t,uuxdiffξxx,t,u,v,tux,x+diffηux,t,u,v,uux,tdiffξtx,t,u,v,tux,t+diffdiffηux,t,u,v,t,vvx+diffηux,t,u,v,vvx,tdiffξxx,t,u,v,xux,tdiffξtx,t,u,v,xut,tdiffdiffξtx,t,u,v,u,xut2+utdiffdiffηux,t,u,v,u,x+vtdiffdiffηux,t,u,v,v,xdiffdiffξxx,t,u,v,t,xuxdiffdiffξtx,t,u,v,t,xutdiffdiffξtx,t,u,v,v,vutvxvtdiffdiffξtx,t,u,v,u,vuxutvtdiffdiffξxx,t,u,v,u,vuxutvxdiffdiffξxx,t,u,v,v,vuxvxvt

(16)

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

diffdiffηux,t,u,v,t,xdiffdiffξxx,t,u,v,u,uux2utdiffdiffξxx,t,u,v,u,vux2vtdiffdiffξtx,t,u,v,u,uuxut2diffdiffξtx,t,u,v,t,uuxut+diffdiffηux,t,u,v,u,uuxut+diffdiffηux,t,u,v,u,vuxvtdiffξxx,t,u,v,uutux,xdiffξxx,t,u,v,vux,xvt2diffξxx,t,u,v,uuxux,t2diffξtx,t,u,v,uutux,tdiffξtx,t,u,v,vux,tvtdiffdiffξtx,t,u,v,u,vut2vxdiffdiffξxx,t,u,v,t,vuxvxdiffdiffξtx,t,u,v,t,vutvx+diffdiffηux,t,u,v,u,vutvx+diffdiffηux,t,u,v,v,vvxvtdiffξxx,t,u,v,vuxvx,tdiffdiffξxx,t,u,v,u,xuxutdiffdiffξxx,t,u,v,v,xuxvtdiffdiffξtx,t,u,v,v,xutvtdiffξtx,t,u,v,vutvx,tdiffξxx,t,u,v,vux,tvxdiffξtx,t,u,v,uuxut,tdiffξtx,t,u,v,vut,tvxdiffdiffξxx,t,u,v,t,uux2+diffdiffηux,t,u,v,t,uuxdiffξxx,t,u,v,tux,x+diffηux,t,u,v,uux,tdiffξtx,t,u,v,tux,t+diffdiffηux,t,u,v,t,vvx+diffηux,t,u,v,vvx,tdiffξxx,t,u,v,xux,tdiffξtx,t,u,v,xut,tdiffdiffξtx,t,u,v,u,xut2+utdiffdiffηux,t,u,v,u,x+vtdiffdiffηux,t,u,v,v,xdiffdiffξxx,t,u,v,t,xuxdiffdiffξtx,t,u,v,t,xutdiffdiffξtx,t,u,v,v,vutvxvtdiffdiffξtx,t,u,v,u,vuxutvtdiffdiffξxx,t,u,v,u,vuxutvxdiffdiffξxx,t,u,v,v,vuxvxvt

(17)

0

(18)

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

diffdiffηux,t,u[],v[],t,xdiffdiffξxx,t,u[],v[],t,u[]u12+diffdiffηux,t,u[],v[],t,u[]u1diffξxx,t,u[],v[],tu1,1+diffηux,t,u[],v[],u[]u1,2diffξtx,t,u[],v[],tu1,2+diffdiffηux,t,u[],v[],t,v[]v1+diffηux,t,u[],v[],v[]v1,2diffξxx,t,u[],v[],xu1,2diffξtx,t,u[],v[],xu2,2diffdiffξtx,t,u[],v[],x,u[]u22+u2diffdiffηux,t,u[],v[],x,u[]+v2diffdiffηux,t,u[],v[],x,v[]diffdiffξxx,t,u[],v[],t,xu1diffdiffξtx,t,u[],v[],t,xu2diffdiffξtx,t,u[],v[],u[],v[]u1u2v2diffdiffξxx,t,u[],v[],u[],v[]u1u2v1diffdiffξxx,t,u[],v[],v[],v[]u1v1v2diffdiffξtx,t,u[],v[],v[],v[]u2v1v2diffξtx,t,u[],v[],v[]u2v1,2diffξxx,t,u[],v[],v[]u1,2v1diffξtx,t,u[],v[],u[]u1u2,2diffξtx,t,u[],v[],v[]u2,2v1diffdiffξxx,t,u[],v[],u[],u[]u12u2dif