 Overview - Maple Help

Overview of the OneForm Object Description

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

 • There are two commands that construct a OneForm object:

 Construct a differential one-form from given components. Command for finding the differential df of function f, as a one-form. List of OneForm object methods

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

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

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

List of methods available for a OneForm object is available via the static exports of the object:

 > $\mathrm{exports}\left(\mathrm{OneForm},\mathrm{static}\right)$
 ${\mathrm{GetComponents}}{,}{\mathrm{GetSpace}}{,}{\mathrm{AreSameSpace}}{,}{\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)

Construction by direct specification...

 > $\mathrm{\omega }≔\mathrm{OneForm}\left(xyd\left[x\right]-{y}^{2}d\left[y\right]\right)$
 ${\mathrm{\omega }}{≔}{x}{}{y}{}{\mathrm{dx}}{-}{{y}}^{{2}}{}{\mathrm{dy}}$ (2)

Construction with Differential...

 > $\mathrm{df}≔\mathrm{Differential}\left({x}^{2}+{y}^{2}\right)$
 ${\mathrm{df}}{≔}{2}{}{x}{}{\mathrm{dx}}{+}{2}{}{y}{}{\mathrm{dy}}$ (3)

A OneForm is of type OneForm...

 > $\mathrm{type}\left(\mathrm{\omega },\mathrm{OneForm}\right)$
 ${\mathrm{true}}$ (4)

Extract data that make up a OneForm...

 > $\mathrm{GetSpace}\left(\mathrm{\omega }\right)$
 $\left[{x}{,}{y}\right]$ (5)
 > $\mathrm{GetComponents}\left(\mathrm{\omega }\right)$
 $\left[{x}{}{y}{,}{-}{{y}}^{{2}}\right]$ (6)

Component extraction...

 > $\mathrm{\omega }\left[x\right]$
 ${x}{}{y}$ (7)

 > $2\mathrm{\omega }+y\mathrm{df}$
 ${4}{}{x}{}{y}{}{\mathrm{dx}}$ (8)

A OneForm object acts as an operator (via contraction) on a VectorField object

 > $X≔\mathrm{VectorField}\left(-y\mathrm{D}\left[x\right]+x\mathrm{D}\left[y\right]\right)$
 ${X}{≔}{-}{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}}$ (9)
 > $\mathrm{\omega }\left(X\right)$
 ${-}{2}{}{x}{}{{y}}^{{2}}$ (10)

Overloaded Maple functions work as expected...

 > $\mathrm{has}\left(\mathrm{\omega },x\right)$
 ${\mathrm{true}}$ (11)
 > $\mathrm{hastype}\left(\mathrm{\omega },\mathrm{trig}\right)$
 ${\mathrm{false}}$ (12)