Overview of the LHPDO Object
Description
LHPDO Object Methods
Examples
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 m≥1 of scalar expressions, mapping it to an s-tuple s≥0 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).
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.
with⁡LieAlgebrasOfVectorFields:
Construct a LHPDO object from some differential expressions, linear homogeneous with respect to u⁡x,y,v⁡x,y.
Δ≔LHPDO⁡diff⁡u⁡x,y,x−diff⁡v⁡x,y,y,diff⁡u⁡x,y,y+diff⁡v⁡x,y,x
Δ≔u,v→∂∂x⁢u−∂∂y⁢v,∂∂y⁢u+∂∂x⁢v
The operator Delta operates on an ordered pair of inputs (u,v) and returns an ordered pair of expressions:
Δ⁡2⁢x⁢y,y2−x2
0,0
Δ⁡f⁡x,y,g⁡x,y
∂∂xf⁡x,y−∂∂yg⁡x,y,∂∂yf⁡x,y+∂∂xg⁡x,y
GetIndependents⁡Δ
x,y
GetDependentsCount⁡Δ
2
GetSystemCount⁡Δ
GetDependencies⁡Δ
x,y,x,y
Build another operator U...
U≔LHPDO⁡x⁢cos⁡a2+sin⁡a2⁢diff⁡u⁡x,t,t,t+x⁢x−1⁢diff⁡u⁡x,t,x,x−x2⁢diff⁡u⁡x,t,x,x,indep=x,t,dep=u
U≔u→x⁢x−1−x2⁢∂∂x⁢∂∂x⁢u+x⁢cos⁡a2+sin⁡a2⁢∂∂t⁢∂∂t⁢u
Apply various Maple builtins to operator U, these have been extended to understand the LHPDO data type.
type⁡U,LHPDO
true
expand⁡U
u→cos⁡a2⁢∂∂t⁢∂∂t⁢u⁢x+sin⁡a2⁢∂∂t⁢∂∂t⁢u⁢x−x⁢∂∂x⁢∂∂x⁢u
simplify⁡U
u→x⁢−∂∂x⁢∂∂x⁢u+∂∂t⁢∂∂t⁢u
indets⁡U,name
a,t,x
hastype⁡U,trig
has⁡U,u,v
false
See Also
LieAlgebrasOfVectorFields
LieAlgebrasOfVectorFields[LHPDO]
LHPDO as operator
LHPDO Object overloaded builtins
Download Help Document