 Overview - Maple Help

Overview of the LHPDE Object Description

 • The LHPDE object is designed and created to represent a collection of linear homogeneous PDEs (LHPDEs) in both rif-reduced or non-rif-reduced form.
 • There are collections of methods that are available for a LHPDE object, including (i) methods for exploring properties of LHPDEs system such as solution dimension, (ii) utility methods for manipulating DEs system (e.g. rif-reducing the DEs system, solving DEs,..), and (iii) exploring relationship between solution spaces of two LHPDE objects. Some Maple existing builtins are extended for allowing LHPDE object.
 • All methods of the LHPDE object become available only once a valid LHPDE object is constructed successfully. To construct a LHPDE object, see LieAlgebrasOfVectorFields[LHPDE].
 • The LHPDE object is the main Maple object exported by the LieAlgebrasOfVectorFields package. See Overview of the LieAlgebrasOfVectorFields package for more detail.
 • A LHPDE object is mathematically represented by the minimum of three data attributes: the "DEs system", the "independent variables" and the "dependent variables". These data attributes can be accessed via the GetSystem, GetIndependents and GetDependents methods.
 • To represent a LHPDEs system that is in rif-reduced form with respect to a given ranking, a LHPDE object has two additional data attributes: a boolean variable "inRifReducedForm" and the "ranking". These two attributes can be accessed via the IsRifReduced and GetRanking methods.
 • After a LHPDE object S is successfully constructed, each method in S can be accessed by either the short form method(S, arguments) or the long form S:-method(S, arguments). LHPDE Object Methods

 • After a LHPDE object is constructed, the following methods are available:

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

 > $\mathrm{with}\left(\mathrm{LieAlgebrasOfVectorFields}\right):$
 > $\mathrm{Typesetting}:-\mathrm{Settings}\left(\mathrm{userep}=\mathrm{true}\right):$
 > $\mathrm{Typesetting}:-\mathrm{Suppress}\left(\left[\mathrm{\xi }\left(x,y\right),\mathrm{\eta }\left(x,y\right),u\left(x,y\right),v\left(x,y\right)\right]\right):$
 > $S≔\mathrm{LHPDE}\left(\left[\mathrm{diff}\left(\mathrm{\xi }\left(x,y\right),y,y\right)=0,\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),x\right)+\mathrm{diff}\left(\mathrm{\xi }\left(x,y\right),y\right)=0,\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),y\right)=0,\mathrm{diff}\left(\mathrm{\xi }\left(x,y\right),x\right)=0\right]\right)$
 ${S}{≔}\left[{{\mathrm{\xi }}}_{{y}{,}{y}}{=}{0}{,}{{\mathrm{\eta }}}_{{x}}{+}{{\mathrm{\xi }}}_{{y}}{=}{0}{,}{{\mathrm{\eta }}}_{{y}}{=}{0}{,}{{\mathrm{\xi }}}_{{x}}{=}{0}\right]{,}{\mathrm{indep}}{=}\left[{x}{,}{y}\right]{,}{\mathrm{dep}}{=}\left[{\mathrm{\eta }}{,}{\mathrm{\xi }}\right]$ (1)

Inserting option static gives a list of exports that are available for S as a LHPDE object.

 > $\mathrm{exports}\left(S,'\mathrm{static}'\right)$
 ${\mathrm{type}}{,}{\mathrm{convert}}{,}{\mathrm{normal}}{,}{\mathrm{expand}}{,}{\mathrm{simplify}}{,}{\mathrm{indets}}{,}{\mathrm{has}}{,}{\mathrm{hastype}}{,}{\mathrm{GetIndependents}}{,}{\mathrm{GetDependents}}{,}{\mathrm{GetSystem}}{,}{\mathrm{GetRanking}}{,}{\mathrm{SetIDBasis}}{,}{\mathrm{GetIDBasis}}{,}{\mathrm{Copy}}{,}{\mathrm{Augment}}{,}{\mathrm{SolutionDimension}}{,}{\mathrm{IsFiniteType}}{,}{\mathrm{IsTrivial}}{,}{\mathrm{ParametricDerivatives}}{,}{\mathrm{OrderOfInvolution}}{,}{\mathrm{IsRifReduced}}{,}{\mathrm{IsTotalDegreeRanking}}{,}{\mathrm{AreSameSpace}}{,}{\mathrm{AreSame}}{,}{\mathrm{RifReduce}}{,}{\mathrm{ReducedForm}}{,}{\mathrm{AdjustDependencies}}{,}{\mathrm{Intersection}}{,}{\mathrm{VectorSpaceSum}}{,}{\mathrm{EliminationSystem}}{,}{\mathrm{IsSubspace}}{,}{\mathrm{DChange}}{,}{\mathrm{dchange}}{,}{\mathrm{LHSolve}}{,}{\mathrm{initialdata}}{,}{\mathrm{InitialData}}{,}{\mathrm{ModulePrint}}{,}{\mathrm{ModuleCopy}}{,}{\mathrm{ModuleApply}}$ (2)

Basic properties of S can be got:

 > $\mathrm{GetSystem}\left(S\right)$
 $\left[{{\mathrm{\xi }}}_{{y}{,}{y}}{=}{0}{,}{{\mathrm{\eta }}}_{{x}}{+}{{\mathrm{\xi }}}_{{y}}{=}{0}{,}{{\mathrm{\eta }}}_{{y}}{=}{0}{,}{{\mathrm{\xi }}}_{{x}}{=}{0}\right]$ (3)
 > $\mathrm{GetIndependents}\left(S\right)$
 $\left[{x}{,}{y}\right]$ (4)
 > $\mathrm{GetDependents}\left(S\right)$
 $\left[{\mathrm{\eta }}{,}{\mathrm{\xi }}\right]$ (5)
 > $Q≔\mathrm{RifReduce}\left(S\right)$
 ${Q}{≔}\left[{{\mathrm{\xi }}}_{{y}{,}{y}}{=}{0}{,}{{\mathrm{\eta }}}_{{x}}{=}{-}{{\mathrm{\xi }}}_{{y}}{,}{{\mathrm{\xi }}}_{{x}}{=}{0}{,}{{\mathrm{\eta }}}_{{y}}{=}{0}\right]{,}{\mathrm{indep}}{=}\left[{x}{,}{y}\right]{,}{\mathrm{dep}}{=}\left[{\mathrm{\eta }}{,}{\mathrm{\xi }}\right]$ (6)

For a LHPDE object that is being reduced, we can find more information about the solution space of Q:

 > $\mathrm{SolutionDimension}\left(Q\right)$
 ${3}$ (7)
 > $\mathrm{ParametricDerivatives}\left(Q\right)$
 $\left[{\mathrm{\xi }}{,}{\mathrm{\eta }}{,}{{\mathrm{\xi }}}_{{y}}\right]$ (8)
 > $R≔\mathrm{Copy}\left(Q,\left[u,v\right]\right)$
 ${R}{≔}\left[{{v}}_{{y}{,}{y}}{=}{0}{,}{{u}}_{{x}}{=}{-}{{v}}_{{y}}{,}{{v}}_{{x}}{=}{0}{,}{{u}}_{{y}}{=}{0}\right]{,}{\mathrm{indep}}{=}\left[{x}{,}{y}\right]{,}{\mathrm{dep}}{=}\left[{u}{,}{v}\right]$ (9)

Q and R should regard as same LHPDEs system in the sense that they have same partial differential operator forms.

 > $\mathrm{AreSame}\left(Q,R,\mathrm{criteria}="sameOperator"\right)$
 ${\mathrm{true}}$ (10)

We can simplify the dependency of their dependent variables, for example, a new LHPDE object R1 is constructed with minimal dependencies.

 > $\mathrm{R1}≔\mathrm{AdjustDependencies}\left(R,\mathrm{dep}="least"\right)$
 ${\mathrm{R1}}{≔}\left[\frac{{{ⅆ}}^{{2}}}{{ⅆ}{{y}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({y}\right){=}{0}{,}\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{u}{}\left({x}\right){=}{-}\frac{{ⅆ}}{{ⅆ}{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{v}{}\left({y}\right)\right]{,}{\mathrm{indep}}{=}\left[{x}{,}{y}\right]{,}{\mathrm{dep}}{=}\left[{u}{}\left({x}\right){,}{v}{}\left({y}\right)\right]$ (11)

A partial depended LHPDE object R1 has no trouble to be manipulated. For example, solving it..

 > $\mathrm{LHSolve}\left(\mathrm{R1}\right)$
 $\left[{u}{}\left({x}\right){=}{-}{\mathrm{_C1}}{}{x}{+}{\mathrm{_C3}}{,}{v}{}\left({y}\right){=}{\mathrm{_C1}}{}{y}{+}{\mathrm{_C2}}\right]$ (12)
 > $\mathrm{AreSameSpace}\left(S,Q,R,\mathrm{R1}\right)$
 ${\mathrm{true}}$ (13)