DifferentialPolynomialCategory(R, S, V, E)
dpolcat.spad line 175
[edit on github]
DifferentialPolynomialCategory is a category constructor specifying basic functions in an ordinary differential polynomial ring with a given ordered set of differential indeterminates. In addition, it implements defaults for the basic functions. The functions order and weight are extended from the set of derivatives of differential indeterminates to the set of differential polynomials. Other operations provided on differential polynomials are leader, initial, separant, differentialVariables, and isobaric?. Furthermore, if the ground ring is a differential ring, then evaluation (substitution of differential indeterminates by elements of the ground ring or by differential polynomials) is provided by eval. A convenient way of referencing derivatives is provided by the functions makeVariable. To construct a domain using this constructor, one needs to provide a ground ring R
, an ordered set S
of differential indeterminates, a ranking V
on the set of derivatives of the differential indeterminates, and a set E
of exponents in bijection with the set of differential monomials in the given differential indeterminates.
- * : (%, %) -> %
- from Magma
- * : (%, R) -> %
- from RightModule(R)
- * : (%, Fraction(Integer)) -> % if R has Algebra(Fraction(Integer))
- from RightModule(Fraction(Integer))
- * : (%, Integer) -> % if R has LinearlyExplicitOver(Integer)
- from RightModule(Integer)
- * : (R, %) -> %
- from LeftModule(R)
- * : (Fraction(Integer), %) -> % if R has Algebra(Fraction(Integer))
- from LeftModule(Fraction(Integer))
- * : (Integer, %) -> %
- from AbelianGroup
- * : (NonNegativeInteger, %) -> %
- from AbelianMonoid
- * : (PositiveInteger, %) -> %
- from AbelianSemiGroup
- + : (%, %) -> %
- from AbelianSemiGroup
- - : % -> %
- from AbelianGroup
- - : (%, %) -> %
- from AbelianGroup
- / : (%, R) -> % if R has Field
- from AbelianMonoidRing(R, E)
- 0 : () -> %
- from AbelianMonoid
- 1 : () -> %
- from MagmaWithUnit
- = : (%, %) -> Boolean
- from BasicType
- D : % -> % if R has DifferentialRing
- from DifferentialRing
- D : (%, V) -> %
- from PartialDifferentialRing(V)
- D : (%, V, NonNegativeInteger) -> %
- from PartialDifferentialRing(V)
- D : (%, List(V)) -> %
- from PartialDifferentialRing(V)
- D : (%, List(V), List(NonNegativeInteger)) -> %
- from PartialDifferentialRing(V)
- D : (%, List(Symbol)) -> % if R has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- D : (%, List(Symbol), List(NonNegativeInteger)) -> % if R has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- D : (%, Mapping(R, R)) -> %
- from DifferentialExtension(R)
- D : (%, Mapping(R, R), NonNegativeInteger) -> %
- from DifferentialExtension(R)
- D : (%, NonNegativeInteger) -> % if R has DifferentialRing
- from DifferentialRing
- D : (%, Symbol) -> % if R has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- D : (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- ^ : (%, NonNegativeInteger) -> %
- from MagmaWithUnit
- ^ : (%, PositiveInteger) -> %
- from Magma
- annihilate? : (%, %) -> Boolean
- from Rng
- antiCommutator : (%, %) -> %
- from NonAssociativeSemiRng
- associates? : (%, %) -> Boolean if R has EntireRing
- from EntireRing
- associator : (%, %, %) -> %
- from NonAssociativeRng
- binomThmExpt : (%, %, NonNegativeInteger) -> % if % has CommutativeRing
- from FiniteAbelianMonoidRing(R, E)
- characteristic : () -> NonNegativeInteger
- from NonAssociativeRing
- charthRoot : % -> Union(%, "failed") if % has CharacteristicNonZero and R has PolynomialFactorizationExplicit or R has CharacteristicNonZero
- from PolynomialFactorizationExplicit
- coefficient : (%, V, NonNegativeInteger) -> %
- from MaybeSkewPolynomialCategory(R, E, V)
- coefficient : (%, List(V), List(NonNegativeInteger)) -> %
- from MaybeSkewPolynomialCategory(R, E, V)
- coefficient : (%, E) -> R
- from AbelianMonoidRing(R, E)
- coefficients : % -> List(R)
- from FreeModuleCategory(R, E)
- coerce : % -> % if R has CommutativeRing
- from Algebra(%)
- coerce : R -> %
- from Algebra(R)
- coerce : S -> %
- from CoercibleFrom(S)
- coerce : V -> %
- from CoercibleFrom(V)
- coerce : Fraction(Integer) -> % if R has Algebra(Fraction(Integer)) or R has RetractableTo(Fraction(Integer))
- from Algebra(Fraction(Integer))
- coerce : Integer -> %
- from NonAssociativeRing
- coerce : % -> OutputForm
- from CoercibleTo(OutputForm)
- commutator : (%, %) -> %
- from NonAssociativeRng
- conditionP : Matrix(%) -> Union(Vector(%), "failed") if % has CharacteristicNonZero and R has PolynomialFactorizationExplicit
- from PolynomialFactorizationExplicit
- construct : List(Record(k : E, c : R)) -> %
- from IndexedProductCategory(R, E)
- constructOrdered : List(Record(k : E, c : R)) -> %
- from IndexedProductCategory(R, E)
- content : (%, V) -> % if R has GcdDomain
- from PolynomialCategory(R, E, V)
- content : % -> R if R has GcdDomain
- from FiniteAbelianMonoidRing(R, E)
- convert : % -> InputForm if V has ConvertibleTo(InputForm) and R has ConvertibleTo(InputForm)
- from ConvertibleTo(InputForm)
- convert : % -> Pattern(Float) if V has ConvertibleTo(Pattern(Float)) and R has ConvertibleTo(Pattern(Float))
- from ConvertibleTo(Pattern(Float))
- convert : % -> Pattern(Integer) if V has ConvertibleTo(Pattern(Integer)) and R has ConvertibleTo(Pattern(Integer))
- from ConvertibleTo(Pattern(Integer))
- degree : % -> E
- from AbelianMonoidRing(R, E)
- degree : (%, List(V)) -> List(NonNegativeInteger)
- from MaybeSkewPolynomialCategory(R, E, V)
- degree : (%, S) -> NonNegativeInteger
degree(p, s)
returns the maximum degree of the differential polynomial p
viewed as a differential polynomial in the differential indeterminate s
alone.
- degree : (%, V) -> NonNegativeInteger
- from MaybeSkewPolynomialCategory(R, E, V)
- differentialVariables : % -> List(S)
differentialVariables(p)
returns a list of differential indeterminates occurring in a differential polynomial p
.
- differentiate : % -> % if R has DifferentialRing
- from DifferentialRing
- differentiate : (%, V) -> %
- from PartialDifferentialRing(V)
- differentiate : (%, V, NonNegativeInteger) -> %
- from PartialDifferentialRing(V)
- differentiate : (%, List(V)) -> %
- from PartialDifferentialRing(V)
- differentiate : (%, List(V), List(NonNegativeInteger)) -> %
- from PartialDifferentialRing(V)
- differentiate : (%, List(Symbol)) -> % if R has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- differentiate : (%, List(Symbol), List(NonNegativeInteger)) -> % if R has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- differentiate : (%, Mapping(R, R)) -> %
- from DifferentialExtension(R)
- differentiate : (%, Mapping(R, R), NonNegativeInteger) -> %
- from DifferentialExtension(R)
- differentiate : (%, NonNegativeInteger) -> % if R has DifferentialRing
- from DifferentialRing
- differentiate : (%, Symbol) -> % if R has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- differentiate : (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing(Symbol)
- from PartialDifferentialRing(Symbol)
- discriminant : (%, V) -> % if R has CommutativeRing
- from PolynomialCategory(R, E, V)
- eval : (%, %, %) -> %
- from InnerEvalable(%, %)
- eval : (%, S, %) -> % if R has DifferentialRing
- from InnerEvalable(S, %)
- eval : (%, S, R) -> % if R has DifferentialRing
- from InnerEvalable(S, R)
- eval : (%, V, %) -> %
- from InnerEvalable(V, %)
- eval : (%, V, R) -> %
- from InnerEvalable(V, R)
- eval : (%, Equation(%)) -> %
- from Evalable(%)
- eval : (%, List(%), List(%)) -> %
- from InnerEvalable(%, %)
- eval : (%, List(S), List(%)) -> % if R has DifferentialRing
- from InnerEvalable(S, %)
- eval : (%, List(S), List(R)) -> % if R has DifferentialRing
- from InnerEvalable(S, R)
- eval : (%, List(V), List(%)) -> %
- from InnerEvalable(V, %)
- eval : (%, List(V), List(R)) -> %
- from InnerEvalable(V, R)
- eval : (%, List(Equation(%))) -> %
- from Evalable(%)
- exquo : (%, %) -> Union(%, "failed") if R has EntireRing
- from EntireRing
- exquo : (%, R) -> Union(%, "failed") if R has EntireRing
- from FiniteAbelianMonoidRing(R, E)
- factor : % -> Factored(%) if R has PolynomialFactorizationExplicit
- from UniqueFactorizationDomain
- factorPolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PolynomialFactorizationExplicit
- from PolynomialFactorizationExplicit
- factorSquareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PolynomialFactorizationExplicit
- from PolynomialFactorizationExplicit
- fmecg : (%, E, R, %) -> %
- from FiniteAbelianMonoidRing(R, E)
- gcd : (%, %) -> % if R has GcdDomain
- from GcdDomain
- gcd : List(%) -> % if R has GcdDomain
- from GcdDomain
- gcdPolynomial : (SparseUnivariatePolynomial(%), SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has GcdDomain
- from PolynomialFactorizationExplicit
- ground : % -> R
- from FiniteAbelianMonoidRing(R, E)
- ground? : % -> Boolean
- from FiniteAbelianMonoidRing(R, E)
- hash : % -> SingleInteger if R has Hashable and V has Hashable
- from Hashable
- hashUpdate! : (HashState, %) -> HashState if R has Hashable and V has Hashable
- from Hashable
- initial : % -> %
initial(p)
returns the leading coefficient when the differential polynomial p
is written as a univariate polynomial in its leader.
- isExpt : % -> Union(Record(var : V, exponent : NonNegativeInteger), "failed")
- from PolynomialCategory(R, E, V)
- isPlus : % -> Union(List(%), "failed")
- from PolynomialCategory(R, E, V)
- isTimes : % -> Union(List(%), "failed")
- from PolynomialCategory(R, E, V)
- isobaric? : % -> Boolean
isobaric?(p)
returns true
if every differential monomial appearing in the differential polynomial p
has same weight, and returns false
otherwise.
- latex : % -> String
- from SetCategory
- lcm : (%, %) -> % if R has GcdDomain
- from GcdDomain
- lcm : List(%) -> % if R has GcdDomain
- from GcdDomain
- lcmCoef : (%, %) -> Record(llcm_res : %, coeff1 : %, coeff2 : %) if R has GcdDomain
- from LeftOreRing
- leader : % -> V
leader(p)
returns the derivative of the highest rank appearing in the differential polynomial p
Note: an error occurs if p
is in the ground ring.
- leadingCoefficient : % -> R
- from IndexedProductCategory(R, E)
- leadingMonomial : % -> %
- from IndexedProductCategory(R, E)
- leadingSupport : % -> E
- from IndexedProductCategory(R, E)
- leadingTerm : % -> Record(k : E, c : R)
- from IndexedProductCategory(R, E)
- leftPower : (%, NonNegativeInteger) -> %
- from MagmaWithUnit
- leftPower : (%, PositiveInteger) -> %
- from Magma
- leftRecip : % -> Union(%, "failed")
- from MagmaWithUnit
- linearExtend : (Mapping(R, E), %) -> R if R has CommutativeRing
- from FreeModuleCategory(R, E)
- listOfTerms : % -> List(Record(k : E, c : R))
- from IndexedDirectProductCategory(R, E)
- mainVariable : % -> Union(V, "failed")
- from MaybeSkewPolynomialCategory(R, E, V)
- makeVariable : % -> Mapping(%, NonNegativeInteger) if R has DifferentialRing
makeVariable(p)
views p
as an element of a differential ring, in such a way that the n
-th derivative of p
may be simply referenced as z
.n
where z
:=
makeVariable(p
). Note: In the interpreter, z
is given as an internal map, which may be ignored.
- makeVariable : S -> Mapping(%, NonNegativeInteger)
makeVariable(s)
views s
as a differential indeterminate, in such a way that the n
-th derivative of s
may be simply referenced as z
.n
where z
:=
makeVariable(s
). Note: In the interpreter, z
is given as an internal map, which may be ignored.
- map : (Mapping(R, R), %) -> %
- from IndexedProductCategory(R, E)
- mapExponents : (Mapping(E, E), %) -> %
- from FiniteAbelianMonoidRing(R, E)
- minimumDegree : % -> E
- from FiniteAbelianMonoidRing(R, E)
- minimumDegree : (%, List(V)) -> List(NonNegativeInteger)
- from PolynomialCategory(R, E, V)
- minimumDegree : (%, V) -> NonNegativeInteger
- from PolynomialCategory(R, E, V)
- monicDivide : (%, %, V) -> Record(quotient : %, remainder : %)
- from PolynomialCategory(R, E, V)
- monomial : (%, V, NonNegativeInteger) -> %
- from MaybeSkewPolynomialCategory(R, E, V)
- monomial : (%, List(V), List(NonNegativeInteger)) -> %
- from MaybeSkewPolynomialCategory(R, E, V)
- monomial : (R, E) -> %
- from IndexedProductCategory(R, E)
- monomial? : % -> Boolean
- from IndexedProductCategory(R, E)
- monomials : % -> List(%)
- from MaybeSkewPolynomialCategory(R, E, V)
- multivariate : (SparseUnivariatePolynomial(%), V) -> %
- from PolynomialCategory(R, E, V)
- multivariate : (SparseUnivariatePolynomial(R), V) -> %
- from PolynomialCategory(R, E, V)
- numberOfMonomials : % -> NonNegativeInteger
- from IndexedDirectProductCategory(R, E)
- one? : % -> Boolean
- from MagmaWithUnit
- opposite? : (%, %) -> Boolean
- from AbelianMonoid
- order : % -> NonNegativeInteger
order(p)
returns the order of the differential polynomial p
, which is the maximum number of differentiations of a differential indeterminate, among all those appearing in p
.
- order : (%, S) -> NonNegativeInteger
order(p, s)
returns the order of the differential polynomial p
in differential indeterminate s
.
- patternMatch : (%, Pattern(Float), PatternMatchResult(Float, %)) -> PatternMatchResult(Float, %) if V has PatternMatchable(Float) and R has PatternMatchable(Float)
- from PatternMatchable(Float)
- patternMatch : (%, Pattern(Integer), PatternMatchResult(Integer, %)) -> PatternMatchResult(Integer, %) if V has PatternMatchable(Integer) and R has PatternMatchable(Integer)
- from PatternMatchable(Integer)
- plenaryPower : (%, PositiveInteger) -> % if R has CommutativeRing or R has Algebra(Fraction(Integer))
- from NonAssociativeAlgebra(%)
- pomopo! : (%, R, E, %) -> %
- from FiniteAbelianMonoidRing(R, E)
- prime? : % -> Boolean if R has PolynomialFactorizationExplicit
- from UniqueFactorizationDomain
- primitiveMonomials : % -> List(%)
- from MaybeSkewPolynomialCategory(R, E, V)
- primitivePart : % -> % if R has GcdDomain
- from PolynomialCategory(R, E, V)
- primitivePart : (%, V) -> % if R has GcdDomain
- from PolynomialCategory(R, E, V)
- recip : % -> Union(%, "failed")
- from MagmaWithUnit
- reducedSystem : Matrix(%) -> Matrix(R)
- from LinearlyExplicitOver(R)
- reducedSystem : Matrix(%) -> Matrix(Integer) if R has LinearlyExplicitOver(Integer)
- from LinearlyExplicitOver(Integer)
- reducedSystem : (Matrix(%), Vector(%)) -> Record(mat : Matrix(R), vec : Vector(R))
- from LinearlyExplicitOver(R)
- reducedSystem : (Matrix(%), Vector(%)) -> Record(mat : Matrix(Integer), vec : Vector(Integer)) if R has LinearlyExplicitOver(Integer)
- from LinearlyExplicitOver(Integer)
- reductum : % -> %
- from IndexedProductCategory(R, E)
- resultant : (%, %, V) -> % if R has CommutativeRing
- from PolynomialCategory(R, E, V)
- retract : % -> R
- from RetractableTo(R)
- retract : % -> S
- from RetractableTo(S)
- retract : % -> V
- from RetractableTo(V)
- retract : % -> Fraction(Integer) if R has RetractableTo(Fraction(Integer))
- from RetractableTo(Fraction(Integer))
- retract : % -> Integer if R has RetractableTo(Integer)
- from RetractableTo(Integer)
- retractIfCan : % -> Union(R, "failed")
- from RetractableTo(R)
- retractIfCan : % -> Union(S, "failed")
- from RetractableTo(S)
- retractIfCan : % -> Union(V, "failed")
- from RetractableTo(V)
- retractIfCan : % -> Union(Fraction(Integer), "failed") if R has RetractableTo(Fraction(Integer))
- from RetractableTo(Fraction(Integer))
- retractIfCan : % -> Union(Integer, "failed") if R has RetractableTo(Integer)
- from RetractableTo(Integer)
- rightPower : (%, NonNegativeInteger) -> %
- from MagmaWithUnit
- rightPower : (%, PositiveInteger) -> %
- from Magma
- rightRecip : % -> Union(%, "failed")
- from MagmaWithUnit
- sample : () -> %
- from AbelianMonoid
- separant : % -> %
separant(p)
returns the partial derivative of the differential polynomial p
with respect to its leader.
- smaller? : (%, %) -> Boolean if R has Comparable
- from Comparable
- solveLinearPolynomialEquation : (List(SparseUnivariatePolynomial(%)), SparseUnivariatePolynomial(%)) -> Union(List(SparseUnivariatePolynomial(%)), "failed") if R has PolynomialFactorizationExplicit
- from PolynomialFactorizationExplicit
- squareFree : % -> Factored(%) if R has GcdDomain
- from PolynomialCategory(R, E, V)
- squareFreePart : % -> % if R has GcdDomain
- from PolynomialCategory(R, E, V)
- squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PolynomialFactorizationExplicit
- from PolynomialFactorizationExplicit
- subtractIfCan : (%, %) -> Union(%, "failed")
- from CancellationAbelianMonoid
- support : % -> List(E)
- from FreeModuleCategory(R, E)
- totalDegree : % -> NonNegativeInteger
- from MaybeSkewPolynomialCategory(R, E, V)
- totalDegree : (%, List(V)) -> NonNegativeInteger
- from MaybeSkewPolynomialCategory(R, E, V)
- totalDegreeSorted : (%, List(V)) -> NonNegativeInteger
- from MaybeSkewPolynomialCategory(R, E, V)
- unit? : % -> Boolean if R has EntireRing
- from EntireRing
- unitCanonical : % -> % if R has EntireRing
- from EntireRing
- unitNormal : % -> Record(unit : %, canonical : %, associate : %) if R has EntireRing
- from EntireRing
- univariate : (%, V) -> SparseUnivariatePolynomial(%)
- from PolynomialCategory(R, E, V)
- univariate : % -> SparseUnivariatePolynomial(R)
- from PolynomialCategory(R, E, V)
- variables : % -> List(V)
- from MaybeSkewPolynomialCategory(R, E, V)
- weight : % -> NonNegativeInteger
weight(p)
returns the maximum weight of all differential monomials appearing in the differential polynomial p
.
- weight : (%, S) -> NonNegativeInteger
weight(p, s)
returns the maximum weight of all differential monomials appearing in the differential polynomial p
when p
is viewed as a differential polynomial in the differential indeterminate s
alone.
- weights : % -> List(NonNegativeInteger)
weights(p)
returns a list of weights of differential monomials appearing in differential polynomial p
.
- weights : (%, S) -> List(NonNegativeInteger)
weights(p, s)
returns a list of weights of differential monomials appearing in the differential polynomial p
when p
is viewed as a differential polynomial in the differential indeterminate s
alone.
- zero? : % -> Boolean
- from AbelianMonoid
- ~= : (%, %) -> Boolean
- from BasicType
IndexedDirectProductCategory(R, E)
CharacteristicNonZero
Module(Fraction(Integer))
FullyLinearlyExplicitOver(R)
NonAssociativeSemiRing
LeftModule(R)
BiModule(%, %)
ConvertibleTo(InputForm)
canonicalUnitNormal
Rng
CoercibleFrom(Integer)
TwoSidedRecip
FullyRetractableTo(R)
SemiRing
EntireRing
NonAssociativeAlgebra(Fraction(Integer))
unitsKnown
CoercibleFrom(V)
PatternMatchable(Float)
NonAssociativeSemiRng
RetractableTo(V)
noZeroDivisors
CoercibleFrom(R)
Magma
InnerEvalable(%, %)
SemiGroup
GcdDomain
IntegralDomain
LeftModule(%)
InnerEvalable(V, R)
NonAssociativeRing
UniqueFactorizationDomain
IndexedProductCategory(R, E)
PartialDifferentialRing(Symbol)
CharacteristicZero
Module(R)
FiniteAbelianMonoidRing(R, E)
Algebra(%)
DifferentialRing
BiModule(R, R)
RightModule(Fraction(Integer))
PartialDifferentialRing(V)
Algebra(R)
FreeModuleCategory(R, E)
RightModule(R)
NonAssociativeRng
MaybeSkewPolynomialCategory(R, E, V)
InnerEvalable(V, %)
LeftOreRing
CancellationAbelianMonoid
Comparable
RetractableTo(Integer)
SetCategory
LinearlyExplicitOver(R)
CommutativeRing
CommutativeStar
VariablesCommuteWithCoefficients
AbelianMonoid
MagmaWithUnit
RightModule(%)
AbelianProductCategory(R)
Hashable
CoercibleFrom(S)
RetractableTo(S)
Module(%)
CoercibleTo(OutputForm)
DifferentialExtension(R)
SemiRng
PolynomialCategory(R, E, V)
InnerEvalable(S, %)
LinearlyExplicitOver(Integer)
Monoid
PolynomialFactorizationExplicit
InnerEvalable(S, R)
Algebra(Fraction(Integer))
BasicType
Ring
RightModule(Integer)
AbelianMonoidRing(R, E)
AbelianSemiGroup
NonAssociativeAlgebra(%)
ConvertibleTo(Pattern(Float))
CoercibleFrom(Fraction(Integer))
LeftModule(Fraction(Integer))
PatternMatchable(Integer)
Evalable(%)
BiModule(Fraction(Integer), Fraction(Integer))
RetractableTo(Fraction(Integer))
RetractableTo(R)
ConvertibleTo(Pattern(Integer))
AbelianGroup
NonAssociativeAlgebra(R)