JetLazyFunction(JB, D)
jet.spad line 5448
[edit on github]
JetLazyFunction takes as argument a domain in JetBundleFunctionCategory and returns another domain in the same category. This domain has basically the same properties as the argument domain, but there is a lazy evaluation mechanism for derivatives. This means that differentiations are not immediately performed. Instead a pointer is established to the function to be differentiated. Only when the exact value of the derivative is needed, the differentiation is executed. Special care is taken for leading derivatives and jet variables to avoid as much as possible the need to evaluate expressions. This entails that the result of jetVariables
may contain spurious variables. Furthermore many functions in JetLazyFunction destructively change their arguments. This affects, however, only their internal representation, not the value obtained after full evaluation.
- * : (%, %) -> %
- from Magma
- * : (D, %) -> %
d*exp
is provided mainly for internal use, as basically all calculations should be performed within JetLazyFunction.
- * : (Integer, %) -> %
- from AbelianGroup
- * : (NonNegativeInteger, %) -> %
- from AbelianMonoid
- * : (PositiveInteger, %) -> %
- from AbelianSemiGroup
- + : (%, %) -> %
- from AbelianSemiGroup
- - : % -> %
- from AbelianGroup
- - : (%, %) -> %
- from AbelianGroup
- 0 : () -> %
- from AbelianMonoid
- 1 : () -> %
- from MagmaWithUnit
- = : (%, %) -> Boolean
- from BasicType
- D : (%, List(Symbol)) -> %
- from PartialDifferentialRing(Symbol)
- D : (%, List(Symbol), List(NonNegativeInteger)) -> %
- from PartialDifferentialRing(Symbol)
- D : (%, Symbol) -> %
- from PartialDifferentialRing(Symbol)
- D : (%, Symbol, NonNegativeInteger) -> %
- from PartialDifferentialRing(Symbol)
- P : List(NonNegativeInteger) -> %
- from JetBundleFunctionCategory(JB)
- P : NonNegativeInteger -> %
- from JetBundleFunctionCategory(JB)
- P : (PositiveInteger, List(NonNegativeInteger)) -> %
- from JetBundleFunctionCategory(JB)
- P : (PositiveInteger, NonNegativeInteger) -> %
- from JetBundleFunctionCategory(JB)
- U : () -> %
- from JetBundleFunctionCategory(JB)
- U : PositiveInteger -> %
- from JetBundleFunctionCategory(JB)
- X : () -> %
- from JetBundleFunctionCategory(JB)
- X : PositiveInteger -> %
- from JetBundleFunctionCategory(JB)
- ^ : (%, NonNegativeInteger) -> %
- from MagmaWithUnit
- ^ : (%, PositiveInteger) -> %
- from Magma
- annihilate? : (%, %) -> Boolean
- from Rng
- antiCommutator : (%, %) -> %
- from NonAssociativeSemiRng
- associates? : (%, %) -> Boolean
- from EntireRing
- associator : (%, %, %) -> %
- from NonAssociativeRng
- autoReduce : List(%) -> List(%)
- from JetBundleFunctionCategory(JB)
- characteristic : () -> NonNegativeInteger
- from NonAssociativeRing
- class : % -> NonNegativeInteger
- from JetBundleFunctionCategory(JB)
- coerce : % -> %
- from Algebra(%)
- coerce : D -> %
coerce(d)
coerces an element of D
into the new domain. This includes the calculation of its leading derivative and its jet variables.
- coerce : JB -> %
- from JetBundleFunctionCategory(JB)
- coerce : Integer -> %
- from NonAssociativeRing
- coerce : % -> D
coerce(exp)
retracts an element to the base domain D
. This looses all information about its leading derivative and its jet variables and requires complete evaluation of the expression.
- coerce : % -> OutputForm
- from CoercibleTo(OutputForm)
- collect : % -> %
collect(exp)
"collects" former lazy terms which have been meanwhile evaluated.
- commutator : (%, %) -> %
- from NonAssociativeRng
- const? : % -> Boolean
- from JetBundleFunctionCategory(JB)
- dSubst : (%, JB, %) -> %
- from JetBundleFunctionCategory(JB)
- denominator : % -> %
- from JetBundleFunctionCategory(JB)
- differentiate : (%, JB) -> %
- from JetBundleFunctionCategory(JB)
- differentiate : (%, List(Symbol)) -> %
- from PartialDifferentialRing(Symbol)
- differentiate : (%, List(Symbol), List(NonNegativeInteger)) -> %
- from PartialDifferentialRing(Symbol)
- differentiate : (%, Symbol) -> %
- from PartialDifferentialRing(Symbol)
- differentiate : (%, Symbol, NonNegativeInteger) -> %
- from PartialDifferentialRing(Symbol)
- dimension : (List(%), SparseEchelonMatrix(JB, %), NonNegativeInteger) -> NonNegativeInteger
- from JetBundleFunctionCategory(JB)
- eqRep? : (%, %) -> Boolean
eqRep?(x, y)
compares the representations of x
and y
without any evaluation. Thus it is much weaker than =
and cannot decide equality of the evaluated expressions.
- eval : % -> %
eval(exp)
explicitly evaluates all terms in exp
. exp
is destructively altered.
- eval1 : % -> %
eval1(exp)
explicitly evaluates the next term in exp
. exp
is destructively altered.
- exquo : (%, %) -> Union(%, "failed")
- from EntireRing
- extractSymbol : SparseEchelonMatrix(JB, %) -> SparseEchelonMatrix(JB, %)
- from JetBundleFunctionCategory(JB)
- formalDiff : (%, List(NonNegativeInteger)) -> %
- from JetBundleFunctionCategory(JB)
- formalDiff : (%, PositiveInteger) -> %
- from JetBundleFunctionCategory(JB)
- formalDiff : (List(%), PositiveInteger) -> List(%)
- from JetBundleFunctionCategory(JB)
- formalDiff2 : (%, PositiveInteger, SparseEchelonMatrix(JB, %)) -> Record(DPhi : %, JVars : List(JB))
- from JetBundleFunctionCategory(JB)
- formalDiff2 : (List(%), PositiveInteger, SparseEchelonMatrix(JB, %)) -> Record(DSys : List(%), JVars : List(List(JB)))
- from JetBundleFunctionCategory(JB)
- freeOf? : (%, JB) -> Boolean
- from JetBundleFunctionCategory(JB)
- gcd : (%, %) -> %
- from GcdDomain
- gcd : List(%) -> %
- from GcdDomain
- gcdPolynomial : (SparseUnivariatePolynomial(%), SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
- from GcdDomain
- getNotation : () -> Symbol
- from JetBundleFunctionCategory(JB)
- ground? : % -> Boolean
ground(exp)
is true
, if exp
contains only fully evaluated parts.
- jacobiMatrix : List(%) -> SparseEchelonMatrix(JB, %)
- from JetBundleFunctionCategory(JB)
- jacobiMatrix : (List(%), List(List(JB))) -> SparseEchelonMatrix(JB, %)
- from JetBundleFunctionCategory(JB)
- jetVariables : % -> List(JB)
- from JetBundleFunctionCategory(JB)
- latex : % -> String
- from SetCategory
- lcm : (%, %) -> %
- from GcdDomain
- lcm : List(%) -> %
- from GcdDomain
- lcmCoef : (%, %) -> Record(llcm_res : %, coeff1 : %, coeff2 : %)
- from LeftOreRing
- leadingDer : % -> JB
- from JetBundleFunctionCategory(JB)
- leftPower : (%, NonNegativeInteger) -> %
- from MagmaWithUnit
- leftPower : (%, PositiveInteger) -> %
- from Magma
- leftRecip : % -> Union(%, "failed")
- from MagmaWithUnit
- numDepVar : () -> PositiveInteger
- from JetBundleFunctionCategory(JB)
- numIndVar : () -> PositiveInteger
- from JetBundleFunctionCategory(JB)
- numerator : % -> %
- from JetBundleFunctionCategory(JB)
- one? : % -> Boolean
- from MagmaWithUnit
- opposite? : (%, %) -> Boolean
- from AbelianMonoid
- order : % -> NonNegativeInteger
- from JetBundleFunctionCategory(JB)
- orderDim : (List(%), SparseEchelonMatrix(JB, %), NonNegativeInteger) -> NonNegativeInteger
- from JetBundleFunctionCategory(JB)
- plenaryPower : (%, PositiveInteger) -> %
- from NonAssociativeAlgebra(%)
- recip : % -> Union(%, "failed")
- from MagmaWithUnit
- reduceMod : (List(%), List(%)) -> List(%)
- from JetBundleFunctionCategory(JB)
- retract : % -> JB
- from RetractableTo(JB)
- retractIfCan : % -> Union(JB, "failed")
- from RetractableTo(JB)
- rightPower : (%, NonNegativeInteger) -> %
- from MagmaWithUnit
- rightPower : (%, PositiveInteger) -> %
- from Magma
- rightRecip : % -> Union(%, "failed")
- from MagmaWithUnit
- sample : () -> %
- from AbelianMonoid
- setNotation : Symbol -> Void
- from JetBundleFunctionCategory(JB)
- simpMod : (List(%), List(%)) -> List(%)
- from JetBundleFunctionCategory(JB)
- simpMod : (List(%), SparseEchelonMatrix(JB, %), List(%)) -> Record(Sys : List(%), JM : SparseEchelonMatrix(JB, %), Depend : Union("failed", List(List(NonNegativeInteger))))
- from JetBundleFunctionCategory(JB)
- simpOne : % -> %
- from JetBundleFunctionCategory(JB)
- simplify : (List(%), SparseEchelonMatrix(JB, %)) -> Record(Sys : List(%), JM : SparseEchelonMatrix(JB, %), Depend : Union("failed", List(List(NonNegativeInteger))))
- from JetBundleFunctionCategory(JB)
- solveFor : (%, JB) -> Union(%, "failed")
- from JetBundleFunctionCategory(JB)
- sortLD : List(%) -> List(%)
- from JetBundleFunctionCategory(JB)
- statistics : () -> Void
statistics()
prints a statistic on the use of the lazy evaluation mechanism. It displays the number of lazy differentiations performed and how many of them had to be executed explicitly later on.
- subst : (%, JB, %) -> %
- from JetBundleFunctionCategory(JB)
- subtractIfCan : (%, %) -> Union(%, "failed")
- from CancellationAbelianMonoid
- symbol : List(%) -> SparseEchelonMatrix(JB, %)
- from JetBundleFunctionCategory(JB)
- unit? : % -> Boolean
- from EntireRing
- unitCanonical : % -> %
- from EntireRing
- unitNormal : % -> Record(unit : %, canonical : %, associate : %)
- from EntireRing
- zero? : % -> Boolean
- from AbelianMonoid
- ~= : (%, %) -> Boolean
- from BasicType
IntegralDomain
noZeroDivisors
SetCategory
RightModule(%)
RetractableTo(JB)
Monoid
GcdDomain
AbelianMonoid
Algebra(%)
CancellationAbelianMonoid
MagmaWithUnit
Module(%)
BasicType
LeftModule(%)
JetBundleFunctionCategory(JB)
LeftOreRing
PartialDifferentialRing(Symbol)
CommutativeRing
Magma
NonAssociativeRing
SemiGroup
NonAssociativeRng
BiModule(%, %)
CoercibleFrom(JB)
AbelianGroup
AbelianSemiGroup
CommutativeStar
NonAssociativeSemiRing
Rng
NonAssociativeAlgebra(%)
unitsKnown
Ring
SemiRng
EntireRing
NonAssociativeSemiRng
lazyRepresentation
CoercibleTo(OutputForm)
SemiRing
TwoSidedRecip