jet.spad line 37 [edit on github]
JetBundleCategory provides basic data structures and procedures for jet bundles. Nearly all necessary functions are implemented already here. Only the representation and functions which directly access it must be implemented in a domain. Two notations of derivatives are supported. Default is multi-index notation, where the i
-th entry of the index denotes the number of differentiations taken with respect to x^i
. In repeated index notation each entry i
in the index denotes a differentiation with respect to x^i
. The choice affects, however, only in- and output. Internally, multi-index notation is used throughout.
1
generates the special "jet variable" 1, which is needed for the representation of linear functions.
jv1 > jv2
checks whether jv1
is greater than jv2
in the internal ordering.
P(ind)
generates the derivative of the only dependent variable wrt
the index ind
.
P(i)
generates the i
-
th derivative of the only dependent variable wrt
the only independent variable.
P(i, ind)
generates the derivative of the i
-
th dependent variable wrt
the index ind
. Whether ind
is interpreted as multi-index or as repeated index depends on the chosen notation.
P(i, j)
generates the j
-
th derivative of the i
-
th independent variable wrt
the only independent variable.
Pm(i, ind)
is like P(i, ind)
but ind
is always a multi-index.
Pr(i, ind)
is like P(i, ind)
but ind
is always a repeated index.
U()
generates the only dependent variable.
U(i)
generates the i
-
th dependent variable.
X()
generates the only independent variable.
X(i)
generates the i
-
th independent variable.
allRepeated(ind)
returns a list of all possible realizations of a given multi-index as repeated index.
class(jv)
yields the class of the jet variable jv
(Class of multi-index for derivative, 0 else).
class(ind)
yields the class of the multi-index ind
(Position for first non-vanishing entry).
derivativeOf?(jv1, jv2)
checks whether jv1
is a derivative of jv2
. In this case, the difference of their multi-indices is returned. Otherwise, an empty list is returned.
differentiate(jv, i)
differentiates jv
wrt
the i
-
th independent variable.
dimJ(q)
computes the (fibre) dimension of the q
-
th order jet bundle.
dimS(q)
computes dimension of SqT
x
VE (= number of derivatives of order q
).
getNotation()
shows the currently used notation.
index(jv)
yields number of the jet variable jv
.
integrate(jv, i)
is like integrateIfCan(jv, i)
but yields an error, if the integration is not possible.
integrate(jv, i)
integrated jv
wrt
the i
-
th independent variable, if possible.
m2r(ind)
transforms a multi-index into a repeated index.
multiIndex(jv)
returns the multi-index of the jet variable jv
.
name(jv)
yields the name of the jet variable jv
.
numDepVar
returns the number of dependent variables.
numIndVar
returns the number of independent variables.
one?(jv)
checks whether the jet variables jv
is the special variable 1.
order(jv)
yields the order of the jet variable jv
(Order as derivative).
r2m(ind)
transforms a repeated index into a multi-index.
repeatedIndex(jv)
returns the multi-index of the jet variable jv
in repeated index notation.
setNotation(s)
chooses the notation used for derivatives. Returns the old value.
type(jv)
yields the type (Const, Indep, Dep, Deriv
) of the jet variable jv
.
variables(q)
computes the list of all jet variables up to order q
.
variables(q, c)
computes all jet variables of order q
whose class is greater than or equal to c
.
weight(jv)
assigns each jet variable a unique integer reflecting its position in the internal ordering. The variable with the greater weight is also greater in this ordering.