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

Online Help

All Products    Maple    MapleSim


liesymm

  

determine

  

Find the determining equations for the isovectors of a PDE

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

determine(forms, Vname)

determine(eqns, Vname, fcns, Extd)

Parameters

forms

-

list or set of differential forms

eqns

-

list or set of partial differential equations

Vname

-

name for constructing the names of the components of the isovector

fcns

-

list of functions and the dependent variables For example, u(t,x).

Extd

-

name or list of names for constructing the extended variable names

Description

• 

This routine is part of the liesymm package and is loaded via with(liesymm).

• 

Given a set of differential forms and a name V this routine constructs the determining equations for the isovectors which are generators of the invariance group (isogroup) of the differential equations.  These form a coupled set of linear first order differential equations for the components [V1,...,Vn].

• 

If differential equations are given directly to determine() then the required differential forms are constructed automatically using makeforms(). Additional arguments are used to identify the dependent and independent variables (e.g. ut,x), and to describe the extended variables.

• 

If a set of forms is provided it must be closed. A method of automatically closing is provided through the routine close().

• 

The components of the isovector V correspond to [wedgeset(0)]. Thus if [wedgeset(0)] = [x, y, z, w, p] then V1 corresponds to x, V2 to y, and so forth. This order can be established any time prior to using determine() by specifying the coordinates in the desired order as the arguments to setup().

• 

The determining equations are constructed using an unevaluated Diff() and aliases for each of the components ( V1,...,Vn ). This is to suppress the functional arguments and to compress output.  To force the unevaluated Diff() to evaluate, use value().

Examples

withliesymm:

The Heat equation

equDiffht,x,x,x=Diffht,x,t

equ2x2ht,x=tht,x

(1)

determineequ,V,ht,x,p,q

2h2V1t,x,h=0,xhV1t,x,h=hV2t,x,h,2x2V1t,x,h=2xV2t,x,h+tV1t,x,h,2h2V2t,x,h=0,2x2V2t,x,h=2xhV3t,x,h+tV2t,x,h,2h2V3t,x,h=2xhV2t,x,h,2x2V3t,x,h=tV3t,x,h,hV1t,x,h=0,xV1t,x,h=0

(2)

or directly from the forms.

setupt,x,h,p,q

t,x,h,p,q

(3)

f1dupdtqdx

f1pdtqdx

(4)

f2pdxdtdqdt

f2dqdtpdtdx

(5)

closef1,f2

pdtqdx,dqdtpdtdx,dpdtdqdx

(6)

determine,V

2h2V2t,x,h=0,xhV2t,x,h=2h2V1t,x,hp+2h2V3t,x,h,xhV3t,x,h=pxhV1t,x,h,hV1t,x,h=0,hV2t,x,h=0,tV3t,x,h=0,xV3t,x,h=0

(7)

See Also

liesymm

liesymm[&mod]

liesymm[close]

liesymm[hasclosure]

liesymm[makeforms]

liesymm[setup]

liesymm[wsubs]

with