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

Online Help

All Products    Maple    MapleSim


Overview of the LHPDO Object

 

Description

LHPDO Object Methods

Examples

Description

• 

The LHPDO object is designed and created to represent linear homogeneous partial differential operators (LHPDOs).

• 

There is a collection of methods that are available for a LHPDO object, including (i) method allowing the LHPDO object to act as an operator / function  (ii) methods for exploring properties of LHPDO (e.g. specification of domain and codomain). Some existing Maple builtins are extended for allowing LHPDO object.

• 

All methods of the LHPDO object become available only once a valid LHPDO object is constructed successfully. To construct a LHPDO object, see LieAlgebrasOfVectorFields[LHPDO].

• 

The LHPDO object is exported by the LieAlgebrasOfVectorFields package. See Overview of the LieAlgebrasOfVectorFields package for more detail.

• 

A LHPDO Delta acts as an operator on an m-tuple m1 of scalar expressions, mapping it to an s-tuple s0 of scalars. Thus the input to Delta is a list of m elements, and it returns a list of s elements.  Each component of Delta takes linear homogeneous combinations of derivatives of the inputs.

• 

The "independent variables" (with respect to which the inputs may be differentiated) may be accessed via the GetIndependents method. The integers m,s respectively are accessed via the GetDependentsCount and GetSystemCount methods. The inputs may be functions of some subset of the independent variables; the dependencies allowed for the inputs may be accessed via the GetDependencies method.

• 

After a LHPDO object Delta is successfully constructed, each method of Delta can be accessed by either the short form method(Delta, arguments) or the long form Delta:-method(Delta, arguments).

LHPDO Object Methods

• 

The most important method of an LHPDO object is that it can act as a differential operator. See LHPDO Object as Operator for more detail.

• 

After a LHPDO object is constructed, the following methods are available to extract its properties:

GetIndependents

GetDependentsCount

GetDependencies

GetSystemCount

• 

The following Maple builtins functions are extended so that they work for a LHPDO object: type, expand, has, hastype, indets, normal, simplify. See LHPDO Object Overloaded Builtins for more detail.

Examples

withLieAlgebrasOfVectorFields:

Construct a LHPDO object from some differential expressions, linear homogeneous with respect to ux,y,vx,y.

ΔLHPDOdiffux,y,xdiffvx,y,y,diffux,y,y+diffvx,y,x

Δu,v→xuyv,yu+xv

(1)

The operator Delta operates on an ordered pair of inputs (u,v) and returns an ordered pair of expressions:

Δ2xy,y2x2

0,0

(2)

Δfx,y,gx,y

xfx,yygx,y,yfx,y+xgx,y

(3)

GetIndependentsΔ

x,y

(4)

GetDependentsCountΔ

2

(5)

GetSystemCountΔ

2

(6)

GetDependenciesΔ

x,y,x,y

(7)

Build another operator U...

ULHPDOxcosa2+sina2diffux,t,t,t+xx1diffux,t,x,xx2diffux,t,x,x,indep=x,t,dep=u

Uu→xx1x2xxu+xcosa2+sina2ttu

(8)

Apply various Maple builtins to operator U, these have been extended to understand the LHPDO data type.

typeU,LHPDO

true

(9)

expandU

u→cosa2ttux+sina2ttuxxxxu

(10)

simplifyU

u→xxxu+ttu

(11)

indetsU,name

a,t,x

(12)

hastypeU,trig

true

(13)

hasU,u,v

false

(14)

See Also

LieAlgebrasOfVectorFields

LieAlgebrasOfVectorFields[LHPDO]

LHPDO as operator

GetIndependents

GetDependentsCount

GetSystemCount

GetDependencies

LHPDO Object overloaded builtins