Overview - Maple Help

Overview of the VectorField Object

Description

 • The VectorField object is designed and created to represent a vector field as a mathematical object. It can be queried for basic properties of a vector field, and can be used in computing vector field arithmetic, Lie derivatives and Lie brackets. A VectorField object can also act as an operator.
 • Some existing Maple builtins have been overloaded so that they work for a VectorField object.
 • All methods of the VectorField object become available only once a valid VectorField object is constructed successfully. See LieAlgebrasOfVectorFields[VectorField] command for more detail about constructing a VectorField object.
 • The VectorField object is one of the main Maple objects exported by the VectorField package. See Overview of the VectorField package for more detail.
 • For a space with coordinates $\left({x}_{1},{x}_{2},\dots ,{x}_{n}\right)$ a vector field $X$ is an expression of the form $X=\sum _{i=0}^{n}{\mathrm{\xi }}^{i}\left({x}_{1},{x}_{2},\dots ,{x}_{n}\right)\cdot \frac{a}{{x}^{i}}$. The ${\mathrm{\xi }}^{i}$ are referred to as components, and ${x}_{1},{x}_{2},\dots ,{x}_{n}$  are referred as space. Therefore, a VectorField object is mathematically represented by two data attributes: "components" and "space". The data attributes of a VectorField object can be accessed via the GetComponents and GetSpace methods.
 • After a VectorField object X is successfully constructed, each method in the VectorField object can be accessed by either the short form method(X, arguments) or the long form X:-method(X, arguments).

VectorField Object Methods

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

 • A VectorField object can also act as a derivation operator. See VectorField Object as Derivation Operator for more detail.
 • The following arithmetic operators (=, +, -, ?[]) are overloaded for use on VectorField object. See VectorField Object Operator Methods for more detail.
 • The following Maple builtins functions are extended so that they work for a VectorField object: type, expand, has, hastype, indets, map, normal, simplify, subs. See VectorField Object Overloaded Builtins for more detail.

Examples

 > $\mathrm{with}\left(\mathrm{LieAlgebrasOfVectorFields}\right):$

Inserting option static gives a list of exports of the VectorField object.

 > $\mathrm{exports}\left(\mathrm{VectorField},'\mathrm{static}'\right)$
 ${\mathrm{GetComponents}}{,}{\mathrm{GetSpace}}{,}{\mathrm{AreSameSpace}}{,}{\mathrm{LieDerivative}}{,}{\mathrm{Commutator}}{,}{\mathrm{LieBracket}}{,}{\mathrm{dchange}}{,}{\mathrm{DChange}}{,}{\mathrm{=}}{,}{\mathrm{+}}{,}{\mathrm{-}}{,}{\mathrm{*}}{,}{\mathrm{?\left[\right]}}{,}{\mathrm{map}}{,}{\mathrm{subs}}{,}{\mathrm{normal}}{,}{\mathrm{expand}}{,}{\mathrm{simplify}}{,}{\mathrm{indets}}{,}{\mathrm{has}}{,}{\mathrm{hastype}}{,}{\mathrm{type}}{,}{\mathrm{ModuleType}}{,}{\mathrm{ModulePrint}}{,}{\mathrm{ModuleCopy}}$ (1)

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

 > $\mathrm{Tx}≔\mathrm{VectorField}\left(\mathrm{D}\left[x\right],\mathrm{space}=\left[x,y\right]\right)$
 ${\mathrm{Tx}}{≔}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}$ (3)

Retrieve data attributes of R

 > $\mathrm{GetComponents}\left(R\right),\mathrm{GetSpace}\left(R\right)$
 $\left[{-}{y}{,}{x}\right]{,}\left[{x}{,}{y}\right]$ (4)

Vector field arithmetic

 > $R-2\mathrm{Tx}$
 $\left({-}{2}{-}{y}\right){}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{+}{x}{}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}$ (5)

Vector field acting as a derivation operator

 > $R\left({x}^{2}\right)$
 ${-}{2}{}{y}{}{x}$ (6)
 > $\mathrm{LieBracket}\left(R,\mathrm{Tx}\right)$
 ${-}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}$ (7)
 > $\mathrm{map}\left(z↦f\left(x\right)\cdot z,R\right)$
 ${-}{f}{}\left({x}\right){}{y}{}\frac{{\partial }}{{\partial }{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{+}{f}{}\left({x}\right){}{x}{}\frac{{\partial }}{{\partial }{y}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}$ (8)
 > $\mathrm{type}\left(R,'\mathrm{VectorField}'\right)$
 ${\mathrm{true}}$ (9)

Compatibility

 • The Overview of the VectorField Object command was introduced in Maple 2020.