Details of the VectorCalculus package - Maple Programming Help

Home : Support : Online Help : Mathematics : Vector Calculus : VectorCalculus/Details

Details of the VectorCalculus package

Description

 • This help page contains detailed information about the VectorCalculus package. For basic information on this package, see the Overview of the VectorCalculus Package help page.
 • The VectorCalculus package comes with a large set of predefined coordinate systems, and all computations in the package can be carried out in any of these coordinate systems. For a complete list of the predefined coordinate systems, see Coordinates.  There is also a facility for adding your own coordinate system and using that new coordinate system for your computations (see AddCoordinates).
 • For examples using the VectorCalculus package, see the VectorCalculus Example Worksheet.
 • The VectorCalculus and LinearAlgebra packages supersede the deprecated linalg package. For information on migrating linalg code to the new packages, see the LinearAlgebra Migration Worksheet.

Accessing VectorCalculus Package Commands

 • Each command in the VectorCalculus package can be accessed by using either the long form or the short form of the command name in the command calling sequence.
 As the underlying implementation of the VectorCalculus package is a module, it is also possible to use the form VectorCalculus:-command to access a command from the package. For more information,  see Module Members.

List of VectorCalculus Package Commands

 The following is a list of available commands.

 To display the help page for a particular VectorCalculus command, see Getting Help with a Command in a Package.

Vectors and Vector Fields

 The basic objects on which the commands in the VectorCalculus package operate are the four principal Vector data structures, including vector fields (or Vector-valued procedures), and scalar functions.
 Maple distinguishes between four different types of Vector data structures: free Vectors, position Vectors, rooted Vectors and vector fields:
 - Free Vectors carry a coordinate system attribute and a set of coordinates, which define the tip of the vector when based at the origin. They are generally used to represent points, curves and surfaces. These Vectors are constructed using the Vector command.
 - Position Vectors carry a coordinate system attribute and a list of components. The components of a position Vector are interpreted using transformations to Cartesian coordinates. Position Vectors are Cartesian Vectors rooted at the origin. These Vectors are constructed using the PositionVector command.
 - Rooted Vectors carry a space attribute which equates to a VectorSpace module. This module defines the coordinate system and the base point (or root point) of the Vector. The components of a rooted Vector are coefficients to the unit vectors, which are obtained by differentiating the coordinate transformation equations. Rooted Vectors are used to represent direction and magnitude. These Vectors are constructed using the RootedVector command.
 - Vector fields carry a coordinate system and a vectorfield attribute. This should be interpreted as a function that assigns a vector to each possible set of input parameters. Most routines in the VectorCalculus package that operate on vector fields also accept a Vector-valued operator; in this case, the output is generally an operator. Vector fields are constructed using the VectorField command.
 In Cartesian coordinates, free Vectors, position Vectors, and rooted Vectors can be used interchangeably in most situations.
 Note: Free Vectors, position Vectors, and rooted Vectors are never interpreted as constant vector fields by the VectorCalculus package commands. Vector fields and the other Vectors cannot be used interchangeably.
 By default, Vectors and vector fields created by commands from the VectorCalculus package are displayed using basis format, that is, as a sum of scalar multiples of basis vectors.  Vector fields are visually distinguished in this format by displaying an overbar above each basis vector. For more information on Vector display formats, see BasisFormat.

Examples

 > $\mathrm{with}\left(\mathrm{VectorCalculus}\right):$
 > $\mathrm{TangentVector}\left(⟨t,{t}^{2},{t}^{3}⟩,t\right)$
 $\left[\begin{array}{c}{1}\\ {2}{}{t}\\ {3}{}{{t}}^{{2}}\end{array}\right]$ (1)
 > $\mathrm{ArcLength}\left(⟨2\mathrm{cos}\left(t\right),2\mathrm{sin}\left(t\right)⟩,t=0..2\mathrm{\pi }\right)$
 ${4}{}{\mathrm{\pi }}$ (2)
 > $\mathrm{SetCoordinates}\left(\mathrm{cartesian}\left[x,y,z\right]\right)$
 ${{\mathrm{cartesian}}}_{{x}{,}{y}{,}{z}}$ (3)
 > $F≔\mathrm{VectorField}\left(⟨\frac{x}{{x}^{2}+{y}^{2}+{z}^{2}},\frac{y}{{x}^{2}+{y}^{2}+{z}^{2}},\frac{z}{{x}^{2}+{y}^{2}+{z}^{2}}⟩\right)$
 ${F}{≔}\left(\frac{{x}}{{{x}}^{{2}}{+}{{y}}^{{2}}{+}{{z}}^{{2}}}\right){\stackrel{{_}}{{e}}}_{{x}}{+}\left(\frac{{y}}{{{x}}^{{2}}{+}{{y}}^{{2}}{+}{{z}}^{{2}}}\right){\stackrel{{_}}{{e}}}_{{y}}{+}\left(\frac{{z}}{{{x}}^{{2}}{+}{{y}}^{{2}}{+}{{z}}^{{2}}}\right){\stackrel{{_}}{{e}}}_{{z}}$ (4)
 > $\mathrm{ScalarPotential}\left(F\right)$
 $\frac{{\mathrm{ln}}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}{+}{{z}}^{{2}}\right)}{{2}}$ (5)