Overview - Maple Help

Overview of the VFPDO Object

Description

 • The VFPDO object is designed and created to represent partial differential operators (PDO) that are applied to vector fields.
 • There is a collection of methods that are available for a VFPDO object, including (i) method allowing the VFPDO object to act as an operator / function  (ii) methods for exploring properties of VFPDO (e.g. specification of domain and codomain). Some existing Maple builtins are extended for allowing VFPDO object.
 • Methods of the VFPDO object become available only once a valid VFPDO object is constructed successfully. To construct a VFPDO object, see LieAlgebrasOfVectorFields[VFPDO].
 • The VFPDO object is exported by the LieAlgebrasOfVectorFields package. See Overview of the LieAlgebrasOfVectorFields package for more detail.
 • A VFPDO Delta acts as an operator on an $m$-tuple ($m\ge 1$) of scalar expressions, mapping it to an $s$-tuple ($s\ge 0$) of scalars.  Thus the input to Delta is a list of $m$ elements, and it returns a list of $s$ elements acting on a vector field of the same components.
 • The space where the vector field that the VFPDO object is operated on may be accessed via the GetSpace method.  The integers $m$, $s$ respectively are accessed via the GetSystemCount methods.
 • After a VFPDO 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).

VFPDO Object Methods

 • The following is a list of available methods for a VFPDO object.

 • A VFPDO object can also act as a differential operator. See VFPDO Object as Operator for more detail.
 • The following Maple builtins are extended to allow VFPDO object: has, hastype, indets, type. See VFPDO Object Overloaded Builtins for more detail.

Examples

 > $\mathrm{with}\left(\mathrm{LieAlgebrasOfVectorFields}\right):$
 > $X≔\mathrm{VectorField}\left(\mathrm{\xi }\left(x,y\right)\mathrm{D}\left[x\right]+\mathrm{\eta }\left(x,y\right)\mathrm{D}\left[y\right],\mathrm{space}=\left[x,y\right]\right)$
 ${X}{≔}{\mathrm{\xi }}{}\left({x}{,}{y}\right){}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{+}{\mathrm{\eta }}{}\left({x}{,}{y}\right){}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}$ (1)
 > $S≔\mathrm{LHPDE}\left(\left[\mathrm{diff}\left(\mathrm{\xi }\left(x,y\right),x\right)=0,\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),\mathrm{diff}\left(\mathrm{\eta }\left(x,y\right),y\right)=0\right],\mathrm{indep}=\left[x,y\right],\mathrm{dep}=\left[\mathrm{\xi },\mathrm{\eta }\right]\right)$
 ${S}{≔}\left[\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{\xi }}{}\left({x}{,}{y}\right){=}{0}{,}\frac{{{\partial }}^{{2}}}{{\partial }{{y}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{\xi }}{}\left({x}{,}{y}\right){=}{0}{,}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{\eta }}{}\left({x}{,}{y}\right){=}{-}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{\xi }}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{\eta }}{}\left({x}{,}{y}\right){=}{0}\right]{,}{\mathrm{indep}}{=}\left[{x}{,}{y}\right]{,}{\mathrm{dep}}{=}\left[{\mathrm{\xi }}{}\left({x}{,}{y}\right){,}{\mathrm{\eta }}{}\left({x}{,}{y}\right)\right]$ (2)
 > $L≔\mathrm{LAVF}\left(X,S\right)$
 ${L}{≔}\left[{\mathrm{\xi }}{}\left({x}{,}{y}\right){}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{+}{\mathrm{\eta }}{}\left({x}{,}{y}\right){}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}\right]\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{&where}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\left\{\left[\frac{{{\partial }}^{{2}}}{{\partial }{{y}}^{{2}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{\xi }}{}\left({x}{,}{y}\right){=}{0}{,}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{\xi }}{}\left({x}{,}{y}\right){=}{0}{,}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{\eta }}{}\left({x}{,}{y}\right){=}{-}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{\xi }}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{\eta }}{}\left({x}{,}{y}\right){=}{0}\right]\right\}$ (3)

Can easily build an VFPDO using a LAVF L.

 > $\mathrm{\Delta }≔\mathrm{VFPDO}\left(L\right)$
 ${\mathrm{\Delta }}{≔}{X}{→}\left[\frac{{\partial }}{{\partial }{y}}{}\left(\frac{{\partial }}{{\partial }{y}}{}{X}{}\left({x}\right)\right){,}\frac{{ⅆ}}{{ⅆ}{x}}{}{X}{}\left({x}\right){,}\frac{{\partial }}{{\partial }{x}}{}{X}{}\left({y}\right){+}\frac{{\partial }}{{\partial }{y}}{}{X}{}\left({x}\right){,}\frac{{ⅆ}}{{ⅆ}{y}}{}{X}{}\left({y}\right)\right]$ (4)
 > $\mathrm{GetSystemCount}\left(\mathrm{\Delta }\right)$
 ${4}$ (5)
 > $\mathrm{GetSpace}\left(\mathrm{\Delta }\right)$
 $\left[{x}{,}{y}\right]$ (6)
 > $\mathrm{AreSameSpace}\left(\mathrm{\Delta },L,X\right)$
 ${\mathrm{true}}$ (7)

It should kill rotations:

 > $R≔\mathrm{VectorField}\left(-\left(y-\mathrm{y0}\right)\mathrm{D}\left[x\right]+\left(x-\mathrm{x0}\right)\mathrm{D}\left[y\right],\mathrm{space}=\left[x,y\right]\right)$
 ${R}{≔}\left({-}{y}{+}{\mathrm{y0}}\right){}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{+}\left({x}{-}{\mathrm{x0}}\right){}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}$ (8)
 > $\mathrm{\Delta }\left(R\right)$
 $\left[{0}{,}{0}{,}{0}{,}{0}\right]$ (9)