ExteriorCalculus

coordSymbols : () -> List Symbol
 coordSymbols()$M returns a list of the coordinates as symbols. This
 is useful, for example, if the differential operators "D" are to be
 used.
coordVector : () -> Vector X
 coordVector()$M returns a list of the coordinates in the space
 M=DFORM(Ring,Coordinates).
zeroForms : () -> Vector DRC
 zeroForms()$M returns a vector of the basis zero forms, i.e. the
 coordinates.
oneForms : () -> Vector DRC
 oneForms()$M returns a vector of the basis one forms, i.e. the
 differentials of the coordinate functions.
zero : () -> DRC
 zero()$M gives the zero form, i.e. 0@DeRhamComplex.
one : () -> DRC
 one()$M gives 1@DeRhamComplex, i.e. "1" as a differential form. This
 is useful to intern elements of the function ring (just multiply them
 by  one()$DFORM).
d : X -> DRC
 d computes the total differential of a function.
d : DRC -> DRC
 d(form)$M computes the exterior derivative and is just an
 abbreviation for the fucntion "exteriorDifferential"
 defined in the domain "DeRhamComplex".
d : VDRC -> VDRC
 d computes the exterior derivative of each component.
d : MDRC -> MDRC
 d computes the exterior derivative of each component.
_* : (VDRC,VDRC) -> DRC
 w1*w2 computes the sum of the exterior products
 w1_i * w2_i, where w1,w2 are differential forms.
indices : INT -> List LINT
 indices(m)$M returns a list of elements which are oredered lists
 of integers representing the the m-element subsets of {1..n}.
basisForms : INT -> List DRC
 basisForms()$M returns a list of all base forms in the
 space M=DFORM(Ring,Coordinates).
generators : List DRC
 generators() returns the list of basis one forms. Same as
 the function basisForms(1).
vectorField : SYM -> Vector X
 vectorField(V) creates a vector (actually a list) whose
 components are given by V[j](x[1],...,x[n]), j=1..n,
 whereby "x" are the space coordinates (possibly not the
 same symbol).
scalarField : SYM -> X
 scalarField(s) creates a scalar function s(x[1],...,[n]),
 whereby "x" are the space coordinates (possibly not the
 same symbol).
covectorField : SYM -> Vector DRC
 covectorField(Y) creates a covector (actually a list)
 whose components are given by w[j](x[1],...,x[n]),
 j=1..n.
zeroForm : SYM -> DRC
 zeroForm(s) creates a zero form with symbol "s". This
 is the same as scalarField(s)*one().
volumeForm : () -> DRC
 volumeForm(g) returns the volume form with respect to
 the (pseudo-) metric "g".
proj : (NNI,DRC) -> DRC
 proj(p,form) yields the projection to homogeneous terms of degree p
coefficients : (NNI,DRC) -> List X
 coefficients(p,form) returns a list of the coefficients of
 the p-forms in the argument 
.
degrees : (DRC,List NNI) -> List NNI
 degrees(form,[]) returns a list of the degrees in .
dual : DRC -> DRC
 dual(form) returns the conjugate form, i.e. the Hodge star
 with respect to the standard metric.
dot : (SMR, Vector X, Vector X) -> X
 dot(g,u,v) computes the scalar product of two vectors with
 respect to the metric g, i.e. (u,g * w) = g(u,v).
dot : (DRC,DRC) -> X
 dot(form,form) computes the inner product of two differential forms
 with respect to the standard metric (i.e. g=unit matrix).
dot : (SMR,DRC,DRC) -> X
 dot(g,form,form) computes the inner product of two differential forms
 with  respect to the metric g.
atomizeBasisTerm : DRC -> List DRC
 atomizeBasisTerm  returns a list of the generators (atoms),
 i.e. [dx,dy,du] if given a basis term dx*dy*du, for example.
interiorProduct : (VX,DRC) -> DRC
 interiorProduct(v,form) calculates the interior product i_X(a) of
 the vector field X with the differential form a.
lieDerivative : (VX,DRC) -> DRC
 lieDerivative(v,form) calculates the Lie derivative L_X(a) of the
 differential form a with respect to the vector field X.
genericMetric : SYM -> SMR
 genericMetric(symbol) return a square matrix whose elements
 are basic operators of the form symbol[i,j](x,y,..). The
 indices are covariant.
genericInverseMetric : SYM -> SMR
 genericInverseMetric(symbol) return a square matrix whose elements
 are basic operators of the form symbol[i,j](x,y,...). The indices
 are contravariant.
hodgeStar : (SMR,DRC) -> DRC
 hodgeStar(g,form) computes the Hodge dual of the differential form
 with respect to a metric g.
invHodgeStar : (SMR,DRC) -> DRC
 invHodgeStar(g,form) denotes the inverse of hodgeStar.
codifferential : (SMR,DRC) -> DRC
 codifferential(g,x), also known as "delta", computes the
 co-differential of a form.
hodgeLaplacian : (SMR,DRC) -> DRC
 hodgeLaplacian(g,x) also known as "Laplace-de Rham operator" is
 defined on any manifold equipped with a (pseudo-) Riemannian
 metric and is given by d codifferential(g,x)+ codifferential(g, d x).
 Note that in the Euclidean case hodgeLaplacian = - Laplacian.
volumeForm : SMR -> DRC
 volumeForm(g) returns the volume form with respect to
 the (pseudo-) metric "g".
s : SMR -> X
 s(g) determines the sign of determinant(g) and is related to the
 signature of g (n=p+q,t=p-q,s=(-)^(n-t)/2 => s=(-)^q).
dotg : (SMR,DRC,DRC)->X --temp (alternative method)
 dotg(squareMatrix,form,form) returns the dot product of two
 forms with respect to the metric given by squareMatrix.
convert : Matrix X -> MDRC
 convert a matrix whose elements belong to the base ring to a
 matrix with the same elements as memebrs of DeRhamComplex.
retract : MDRC -> Matrix X
 retract a matrix whose elements belong to DeRhamComplex to a
 matrix with the same elements as memebrs of the base ring. This
 is of course only possible if the degree of all the forms is
 zero.
frameVectors : SMR -> List Vector X
 frameVectors(A), A in GL(n), returns a list of the frame vectors
 g=A*e, where e is the standard frame e_1,...,e_n.
movingFrame : SMR -> Matrix X
 movingFrame(A), A in GL(n), returns a matrix whose rows are the
 frame vectors (see frameVectors(A)).
sigma : SMR -> MDRC
 sigma(A), A in GL(n), returns the basis one forms of the corresponding
 moving frame (see movingFrame(A)).
Omega : SMR -> MDRC
 Omega(A), A in GL(n), returns the basis connection forms of the
 corresponding moving frame (see movingFrame(A)).
Gramian : SMR -> MDRC
 Gramian(A), A in GL(n), returns the Gramian of the corresponding
 moving frame (see movingFrame(A)) with respect to the Euclidean
 scalar product.
Gramian : (SMR, SMR) -> MDRC
 Gramian(A), A in GL(n), returns the Gramian of the corresponding
 moving frame (see movingFrame(A)) with respect to the bilinear
 form (u,g*v).
getDRC : Type
 getDRC() returns the associated DeRhamComplex
getTerms : DRC -> List(TERM)
 getTerms(x) returns x in the form of a list of records
 of coefficient and ExtAlgBasis.
makeForm : List(TERM) -> DRC
 makeForm(lt) returns a form from a list of terms.
getDRCvarList : Any -> List Symbol
 getDRCvarList() returns
jacobiMatrix : Vector X -> MDRC
 jacobiMatrix(f) returns the Jacobi matrix of f:X-X.
substCoeffs : (DRC, List Equation X) -> DRC
 substCoeffs(x,[a=b,...]) substitutes b for a in all coefficients,