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

Online Help

All Products    Maple    MapleSim


PDEtools

  

SymmetryGauge

  

transform the generator of symmetry transformation to the indicated "gauge"

 

Calling Sequence

Parameters

Description

Examples

Compatibility

Calling Sequence

SymmetryGauge(S, DepVars, options=value)

Parameters

S

-

list with the infinitesimals of a symmetry transformation, or its corresponding infinitesimal generator differential operator

DepVars

-

function or list of them indicating the dependent variables of the problem

differentialorder = ...

-

(optional) indicates the differential order of the dependency of the arbitrary functions introduced by SymmetryGauge; its default value is the prolongation

expanded = ...

-

(optional) true or false (default); related to output = operator, specifies whether to expand, within the operator, the prolongation of the infinitesimals, as opposed to returning just the table procedure that computes it

jetnotation = ...

-

(optional) true (default, the notation found in S), false, jetnumbers, jetvariables, jetvariableswithbrackets or jetODE; to respectively return or not using the different jet notations available

output = ...

-

(optional) list or operator; specifies whether the output should be a list of infinitesimals or its corresponding infinitesimal generator differential operator

prolongation = ...

-

(optional) positive integer indicating the desired prolongation order of the commutator; default is the prolongation order found in the given S

xi = ...

-

(optional) algebraic expression or a list of them, indicating the desired algebraic value for the (independent) infinitesimals

eta = ...

-

(optional) algebraic expression or a list of them, indicating the desired algebraic value for the (dependent) infinitesimals

Description

• 

The SymmetryGauge command receives a symmetry and returns it rewritten in its most general form, by introducing as many arbitrary functions as the number of independent variables. The dependent variables of the problem must be specified as a function or a list of functions.

• 

When an optional indication of the desired "gauge" is given, as in ξ=... or η=..., before returning, the symmetry is "gauged" to satisfy that indication by adjusting the values of the arbitrary functions of the most general form of the symmetry.

• 

The symmetry can be passed as a list of symmetry infinitesimals, or as its equivalent infinitesimal generator operator. Accordingly, the output will be a list or an operator. To override this behavior use the optional argument output = ..., where the right-hand side can be list or operator.

• 

When the input symmetry is passed as an infinitesimal generator operator, or the optional argument output = operator is used, the formulas in the body of the operator returned are not expanded (for details, see the discussion in InfinitesimalGenerator). To receive them in expanded form pass the optional argument expanded.

• 

For a problem with n independent and m dependent variables, a list of infinitesimal components of a symmetry contains n (the ξ) components and m (the η) components. To specify the gauge of the symmetry returned by SymmetryGauge, only one at a time of the optional arguments ξ=... or η=..., can be specified, and the right-hand side is expected as an algebraic expression or a list of them, representing the values of the ξ or η components to appear in the returned symmetry.

  

When the right-hand side of ξ=... or η=... is an algebraic expression, all the corresponding infinitesimals, that is n (for ξ=...), or m (for η=...), where n and m are, respectively, the number of independent and dependent variables, are returned with that value. When the right-hand side is a list (ξ=... or η=...), if one or many of the elements are the word arbitrary, then the corresponding infinitesimal will be returned in the most general form. Also, when the right-hand side is a list, there cannot be more than n (for ξ=...) or m (for η=...) elements in the list. When the lists are passed with less than n or m elements, the remaining ones are assumed to be arbitrary in that they will appear in the returned symmetry in its most general form, in terms of arbitrary functions.

• 

The prolongation value of the returned symmetry is the prolongation value of the input symmetry unless specified otherwise with the option prolongation = k, where k is a non-negative integer.

• 

The dependency of the arbitrary functions introduced by SymmetryGauge consists of the independent and dependent variables, as well as all their partial derivatives up to order k, where k is the prolongation, unless otherwise indicated using the optional argument differentialorder = N, here N is a non-negative integer.

• 

The jet notation used in the output is the one of the input symmetry S unless indicated otherwise using the option jetnotation = ... where the right-hand side is any of jetnumbers', jetODE, jetvariables or jetvariableswithbrackets; for details about the available jet notations see ToJet.

• 

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:

Consider the list of infinitesimals corresponding to a symmetry transformation where there are two independent and one dependent variables, ux,t

S_ξx=1,_ξt=t,_ηu=u

S_ξx=1,_ξt=t,_ηu=u

(1)

The general form of a 2nd order PDE admitting this symmetry is computed using InvariantEquation

PDEInvariantEquationS,ux,t,order=2,name=Λ

* Partial match of 'name' against keyword 'arbitraryfunctionname'

PDEΛtux,t,tⅇx,ux,tⅇx,2txux,t,xux,tⅇx,2t2ux,tⅇx,2x2ux,tⅇx

(2)

We particularize here the form of PDE for illustration purposes below:

pdeisolateop1,PDE=subsop1=NULL,PDE,diffux,t,x,x

pde2x2ux,t=Λtux,t,tⅇx,ux,tⅇx,2txux,t,xux,tⅇx,2t2ux,tⅇxⅇx

(3)

Now, the general form of the symmetry S is computed with SymmetryGauge via

S1SymmetryGaugeS,ux,t

S1_ξx=f__1x,t,u+1,_ξt=f__2x,t,u+t,_ηu=f__1x,t,uux+f__2x,t,uut+u

(4)

Verify that S1 is also a symmetry of pde

SymmetryTestS1,pde

0

(5)

Note the presence of arbitrary functions in S1; there are as many as the number of independent variables. SymmetryGauge works by adding to the given symmetry a symmetry that is always admitted (so-called trivial), which by itself, alone, is useless for solving purposes, but when combined with a useful symmetry it permits rewriting the useful given symmetry in different manners. To see the trivial symmetry being added use the corresponding Library command:

PDEtools:-Library:-ConstructTrivialSymmetry_F1,_F2,u,x,t,jetnotation=jetvariables

f__1x,t,u,f__2x,t,u,f__1x,t,uux+f__2x,t,uut

(6)

The input of SymmetryGauge can also be the infinitesimal generator operator corresponding to S, in which case the output of SymmetryGauge will also be an operator

GInfinitesimalGeneratorS,ux,t

Gf→xf+ttf+uuf

(7)

SymmetryGaugeG,ux,t

f→addξxjxjf,j=1..2+addηumumf,m=1..1

(8)

To see this output in expanded form use the option expanded

SymmetryGaugeG,ux,t,expanded

f→_F1x,t,u+1xf+_F2x,t,u+ttf+_F1x,t,uux+_F2x,t,uut+uuf

(9)

So the output of SymmetryGauge is a differential operator operator when the input (here G) is an operator, and it is a list when the symmetry is entered as a list. You can override this default using the option output = ...

SymmetryGaugeG,ux,t,output=list

_ξx=f__1x,t,u+1,_ξt=f__2x,t,u+t,_ηu=f__1x,t,uux+f__2x,t,uut+u

(10)

The prolongation order of the symmetry returned is by default the one of the given symmetry, but can also be requested to be different using the optional argument prolongation = n, where n is a positive integer

SymmetryGaugeG,ux,t,expanded,prolongation=1

f→_F1x,t,u,ux,ut+1xf+_F2x,t,u,ux,ut+ttf+_F1x,t,u,ux,utux+_F2x,t,u,ux,utut+uuf+_F1x,t,u,ux,utux,x+_F2x,t,u,ux,utux,t+uxuxf+_F1x,t,u,ux,utux,t+_F2x,t,u,ux,utut,tutf

(11)

To request the output in a different notation, for instance jetnumbers (see ToJet), use the optional argument jetnotation = ...; you can also indicate the left-hand side of the optional argument with just part of the keyword and a match is performed against the keywords understood by SymmetryGauge; this input illustrate both things

SymmetryGaugeG,ux,t,expanded,prolongation=1,notation=jetnumbers

f→_F1x,t,u[],u1,u2+1xf+_F2x,t,u[],u1,u2+ttf+_F1x,t,u[],u1,u2u1+_F2x,t,u[],u1,u2u2+u[]u[]f+_F1x,t,u[],u1,u2u1,1+_F2x,t,u[],u1,u2u1,2+u1u1f+_F1x,t,u[],u1,u2u1,2+_F2x,t,u[],u1,u2u2,2u2f

(12)

To request the dependency of the arbitrary functions to be different than the prolongation value use the differentialorder = ... optional argument

SymmetryGaugeG,ux,t,expanded,prolongation=1,order=0

* Partial match of 'order' against keyword 'differentialorder'

f→_F1x,t,u+1xf+_F2x,t,u+ttf+_F1x,t,uux+_F2x,t,uut+uuf+ux,x_F1x,t,u+ux,t_F2x,t,u+uxuxf+ux,t_F1x,t,u+ut,t_F2x,t,uutf

(13)

To rewrite the symmetry in evolutionary form use the _xi = 0 optional argument

S0_xiSymmetryGaugeS,ux,t,ξ=0

S0_xi_ξx=0,_ξt=0,_ηu=tut+uux

(14)

Verify that S0_xi is a symmetry of pde

SymmetryTestS0_xi,pde

0

(15)

Compare with the gauge where _eta = 0

S0_etaSymmetryGaugeS,ux,t,η=0

S0_eta_ξx=f__2x,t,uut+uuxux,_ξt=f__2x,t,u+t,_ηu=0

(16)

SymmetryTestS0_eta,pde

0

(17)

You can indicate the value of each of the infinitesimals, passing the right-hand side of the specification as a list

SymmetryGaugeS,ux,t,ξ=0,1

_ξx=0,_ξt=1,_ηu=ux+t+1ut+u

(18)

When within a list only one of the infinitesimals is specified, the other remains arbitrary

SymmetryGaugeS,ux,t,ξ=0

_ξx=0,_ξt=f__2x,t,u+t,_ηu=f__2x,t,uut+uux

(19)

To specify that only the second one should be gauged, but not the first one, you can use

SymmetryGaugeS,ux,t,ξ=arbitrary,0

_ξx=f__1x,t,u+1,_ξt=0,_ηu=f__1x,t,uuxtut+u

(20)

Compatibility

• 

The PDEtools[SymmetryGauge] command was introduced in Maple 15.

• 

For more information on Maple 15 changes, see Updates in Maple 15.

See Also

InfinitesimalGenerator

InvariantEquation

Library

PDEtools

SymmetryTest

ToJet