NewSparseUnivariatePolynomial(R)

newpoly.spad line 1 [edit on github]

A post-facto extension for SUP in order to speed up operations related to pseudo-division and gcd for both SUP and, consequently, NSMP.

* : (%, %) -> %
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, NonNegativeInteger)
0 : () -> %
from AbelianMonoid
1 : () -> %
from MagmaWithUnit
= : (%, %) -> Boolean
from BasicType
D : % -> %
from DifferentialRing
D : (%, List(SingletonAsOrderedSet)) -> %
from PartialDifferentialRing(SingletonAsOrderedSet)
D : (%, List(SingletonAsOrderedSet), List(NonNegativeInteger)) -> %
from PartialDifferentialRing(SingletonAsOrderedSet)
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) -> %
from DifferentialRing
D : (%, SingletonAsOrderedSet) -> %
from PartialDifferentialRing(SingletonAsOrderedSet)
D : (%, SingletonAsOrderedSet, NonNegativeInteger) -> %
from PartialDifferentialRing(SingletonAsOrderedSet)
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, NonNegativeInteger)
characteristic : () -> NonNegativeInteger
from NonAssociativeRing
charthRoot : % -> Union(%, "failed") if R has CharacteristicNonZero or % has CharacteristicNonZero and R has PolynomialFactorizationExplicit
from PolynomialFactorizationExplicit
coefficient : (%, List(SingletonAsOrderedSet), List(NonNegativeInteger)) -> %
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
coefficient : (%, SingletonAsOrderedSet, NonNegativeInteger) -> %
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
coefficient : (%, NonNegativeInteger) -> R
from FreeModuleCategory(R, NonNegativeInteger)
coefficients : % -> List(R)
from FreeModuleCategory(R, NonNegativeInteger)
coerce : % -> % if R has CommutativeRing
from Algebra(%)
coerce : R -> %
from Algebra(R)
coerce : Fraction(Integer) -> % if R has RetractableTo(Fraction(Integer)) or R has Algebra(Fraction(Integer))
from Algebra(Fraction(Integer))
coerce : Integer -> %
from NonAssociativeRing
coerce : SingletonAsOrderedSet -> %
from CoercibleFrom(SingletonAsOrderedSet)
coerce : SparseUnivariatePolynomial(R) -> %
from CoercibleFrom(SparseUnivariatePolynomial(R))
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
coerce : % -> SparseUnivariatePolynomial(R)
from CoercibleTo(SparseUnivariatePolynomial(R))
commutator : (%, %) -> %
from NonAssociativeRng
composite : (%, %) -> Union(%, "failed") if R has IntegralDomain
from UnivariatePolynomialCategory(R)
composite : (Fraction(%), %) -> Union(Fraction(%), "failed") if R has IntegralDomain
from UnivariatePolynomialCategory(R)
conditionP : Matrix(%) -> Union(Vector(%), "failed") if % has CharacteristicNonZero and R has PolynomialFactorizationExplicit
from PolynomialFactorizationExplicit
construct : List(Record(k : NonNegativeInteger, c : R)) -> %
from IndexedProductCategory(R, NonNegativeInteger)
constructOrdered : List(Record(k : NonNegativeInteger, c : R)) -> %
from IndexedProductCategory(R, NonNegativeInteger)
content : (%, SingletonAsOrderedSet) -> % if R has GcdDomain
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
content : % -> R if R has GcdDomain
from FiniteAbelianMonoidRing(R, NonNegativeInteger)
convert : % -> InputForm if R has ConvertibleTo(InputForm) and SingletonAsOrderedSet has ConvertibleTo(InputForm)
from ConvertibleTo(InputForm)
convert : % -> Pattern(Float) if R has ConvertibleTo(Pattern(Float)) and SingletonAsOrderedSet has ConvertibleTo(Pattern(Float))
from ConvertibleTo(Pattern(Float))
convert : % -> Pattern(Integer) if R has ConvertibleTo(Pattern(Integer)) and SingletonAsOrderedSet has ConvertibleTo(Pattern(Integer))
from ConvertibleTo(Pattern(Integer))
degree : (%, List(SingletonAsOrderedSet)) -> List(NonNegativeInteger)
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
degree : % -> NonNegativeInteger
from AbelianMonoidRing(R, NonNegativeInteger)
degree : (%, SingletonAsOrderedSet) -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
differentiate : % -> %
from DifferentialRing
differentiate : (%, List(SingletonAsOrderedSet)) -> %
from PartialDifferentialRing(SingletonAsOrderedSet)
differentiate : (%, List(SingletonAsOrderedSet), List(NonNegativeInteger)) -> %
from PartialDifferentialRing(SingletonAsOrderedSet)
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), %) -> %
from UnivariatePolynomialCategory(R)
differentiate : (%, Mapping(R, R), NonNegativeInteger) -> %
from DifferentialExtension(R)
differentiate : (%, NonNegativeInteger) -> %
from DifferentialRing
differentiate : (%, SingletonAsOrderedSet) -> %
from PartialDifferentialRing(SingletonAsOrderedSet)
differentiate : (%, SingletonAsOrderedSet, NonNegativeInteger) -> %
from PartialDifferentialRing(SingletonAsOrderedSet)
differentiate : (%, Symbol) -> % if R has PartialDifferentialRing(Symbol)
from PartialDifferentialRing(Symbol)
differentiate : (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing(Symbol)
from PartialDifferentialRing(Symbol)
discriminant : (%, SingletonAsOrderedSet) -> % if R has CommutativeRing
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
discriminant : % -> R if R has CommutativeRing
from UnivariatePolynomialCategory(R)
divide : (%, %) -> Record(quotient : %, remainder : %) if R has Field
from EuclideanDomain
divideExponents : (%, NonNegativeInteger) -> Union(%, "failed")
from UnivariatePolynomialCategory(R)
elt : (%, %) -> %
from Eltable(%, %)
elt : (%, R) -> R
from Eltable(R, R)
elt : (Fraction(%), R) -> R if R has Field
from UnivariatePolynomialCategory(R)
elt : (%, Fraction(%)) -> Fraction(%) if R has IntegralDomain
from Eltable(Fraction(%), Fraction(%))
elt : (Fraction(%), Fraction(%)) -> Fraction(%) if R has IntegralDomain
from UnivariatePolynomialCategory(R)
euclideanSize : % -> NonNegativeInteger if R has Field
from EuclideanDomain
eval : (%, %, %) -> %
from InnerEvalable(%, %)
eval : (%, Equation(%)) -> %
from Evalable(%)
eval : (%, List(%), List(%)) -> %
from InnerEvalable(%, %)
eval : (%, List(Equation(%))) -> %
from Evalable(%)
eval : (%, List(SingletonAsOrderedSet), List(%)) -> %
from InnerEvalable(SingletonAsOrderedSet, %)
eval : (%, List(SingletonAsOrderedSet), List(R)) -> %
from InnerEvalable(SingletonAsOrderedSet, R)
eval : (%, SingletonAsOrderedSet, %) -> %
from InnerEvalable(SingletonAsOrderedSet, %)
eval : (%, SingletonAsOrderedSet, R) -> %
from InnerEvalable(SingletonAsOrderedSet, R)
expressIdealMember : (List(%), %) -> Union(List(%), "failed") if R has Field
from PrincipalIdealDomain
exquo : (%, %) -> Union(%, "failed") if R has EntireRing
from EntireRing
exquo : (%, R) -> Union(%, "failed") if R has EntireRing
from FiniteAbelianMonoidRing(R, NonNegativeInteger)
extendedEuclidean : (%, %) -> Record(coef1 : %, coef2 : %, generator : %) if R has Field
from EuclideanDomain
extendedEuclidean : (%, %, %) -> Union(Record(coef1 : %, coef2 : %), "failed") if R has Field
from EuclideanDomain
extendedResultant : (%, %) -> Record(resultant : R, coef1 : %, coef2 : %) if R has IntegralDomain

extendedResultant(a, b) returns [r, ca, cb] such that r is the resultant of a and b and r = ca * a + cb * b

extendedSubResultantGcd : (%, %) -> Record(gcd : %, coef1 : %, coef2 : %) if R has IntegralDomain

extendedSubResultantGcd(a, b) returns [g, ca, cb] such that g is a gcd of a and b in R^(-1) P and g = ca * a + cb * b

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 : (%, NonNegativeInteger, R, %) -> %
from FiniteAbelianMonoidRing(R, NonNegativeInteger)
gcd : (%, %) -> % if R has GcdDomain
from GcdDomain
gcd : List(%) -> % if R has GcdDomain
from GcdDomain
gcdPolynomial : (SparseUnivariatePolynomial(%), SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%) if R has GcdDomain
from GcdDomain
ground : % -> R
from FiniteAbelianMonoidRing(R, NonNegativeInteger)
ground? : % -> Boolean
from FiniteAbelianMonoidRing(R, NonNegativeInteger)
halfExtendedResultant1 : (%, %) -> Record(resultant : R, coef1 : %) if R has IntegralDomain

halfExtendedResultant1(a, b) returns [r, ca] such that extendedResultant(a, b) returns [r, ca, cb]

halfExtendedResultant2 : (%, %) -> Record(resultant : R, coef2 : %) if R has IntegralDomain

halfExtendedResultant2(a, b) returns [r, ca] such that extendedResultant(a, b) returns [r, ca, cb]

halfExtendedSubResultantGcd1 : (%, %) -> Record(gcd : %, coef1 : %) if R has IntegralDomain

halfExtendedSubResultantGcd1(a, b) returns [g, ca] such that extendedSubResultantGcd(a, b) returns [g, ca, cb]

halfExtendedSubResultantGcd2 : (%, %) -> Record(gcd : %, coef2 : %) if R has IntegralDomain

halfExtendedSubResultantGcd2(a, b) returns [g, cb] such that extendedSubResultantGcd(a, b) returns [g, ca, cb]

hash : % -> SingleInteger if R has Hashable
from Hashable
hashUpdate! : (HashState, %) -> HashState if R has Hashable
from Hashable
init : () -> % if R has StepThrough
from StepThrough
integrate : % -> % if R has Algebra(Fraction(Integer))
from UnivariatePolynomialCategory(R)
isExpt : % -> Union(Record(var : SingletonAsOrderedSet, exponent : NonNegativeInteger), "failed")
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
isPlus : % -> Union(List(%), "failed")
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
isTimes : % -> Union(List(%), "failed")
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
karatsubaDivide : (%, NonNegativeInteger) -> Record(quotient : %, remainder : %)
from UnivariatePolynomialCategory(R)
lastSubResultant : (%, %) -> % if R has IntegralDomain

lastSubResultant(a, b) returns resultant(a, b) if a and b has no non-trivial gcd in R^(-1) P otherwise the non-zero sub-resultant with smallest index.

latex : % -> String
from SetCategory
lazyPseudoDivide : (%, %) -> Record(coef : R, gap : NonNegativeInteger, quotient : %, remainder : %)

lazyPseudoDivide(a, b) returns [c, g, q, r] such that c^n * a = q*b +r and lazyResidueClass(a, b) returns [r, c, n] where n + g = max(0, degree(b) - degree(a) + 1).

lazyPseudoQuotient : (%, %) -> %

lazyPseudoQuotient(a, b) returns q if lazyPseudoDivide(a, b) returns [c, g, q, r]

lazyPseudoRemainder : (%, %) -> %

lazyPseudoRemainder(a, b) returns r if lazyResidueClass(a, b) returns [r, c, n]. This lazy pseudo-remainder is computed by means of the fmecg operation.

lazyResidueClass : (%, %) -> Record(polnum : %, polden : R, power : NonNegativeInteger)

lazyResidueClass(a, b) returns [r, c, n] such that r is reduced w.r.t. b and b divides c^n * a - r where c is leadingCoefficient(b) and n is as small as possible with the previous properties.

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
leadingCoefficient : % -> R
from IndexedProductCategory(R, NonNegativeInteger)
leadingMonomial : % -> %
from IndexedProductCategory(R, NonNegativeInteger)
leadingSupport : % -> NonNegativeInteger
from IndexedProductCategory(R, NonNegativeInteger)
leadingTerm : % -> Record(k : NonNegativeInteger, c : R)
from IndexedProductCategory(R, NonNegativeInteger)
leftPower : (%, NonNegativeInteger) -> %
from MagmaWithUnit
leftPower : (%, PositiveInteger) -> %
from Magma
leftRecip : % -> Union(%, "failed")
from MagmaWithUnit
linearExtend : (Mapping(R, NonNegativeInteger), %) -> R if R has CommutativeRing
from FreeModuleCategory(R, NonNegativeInteger)
listOfTerms : % -> List(Record(k : NonNegativeInteger, c : R))
from IndexedDirectProductCategory(R, NonNegativeInteger)
mainVariable : % -> Union(SingletonAsOrderedSet, "failed")
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
makeSUP : % -> SparseUnivariatePolynomial(R)
from UnivariatePolynomialCategory(R)
map : (Mapping(R, R), %) -> %
from IndexedProductCategory(R, NonNegativeInteger)
mapExponents : (Mapping(NonNegativeInteger, NonNegativeInteger), %) -> %
from FiniteAbelianMonoidRing(R, NonNegativeInteger)
minimumDegree : (%, List(SingletonAsOrderedSet)) -> List(NonNegativeInteger)
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
minimumDegree : % -> NonNegativeInteger
from FiniteAbelianMonoidRing(R, NonNegativeInteger)
minimumDegree : (%, SingletonAsOrderedSet) -> NonNegativeInteger
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
monicDivide : (%, %) -> Record(quotient : %, remainder : %)
from UnivariatePolynomialCategory(R)
monicDivide : (%, %, SingletonAsOrderedSet) -> Record(quotient : %, remainder : %)
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
monicModulo : (%, %) -> %

monicModulo(a, b) returns r such that r is reduced w.r.t. b and b divides a - r where b is monic.

monomial : (%, List(SingletonAsOrderedSet), List(NonNegativeInteger)) -> %
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
monomial : (%, SingletonAsOrderedSet, NonNegativeInteger) -> %
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
monomial : (R, NonNegativeInteger) -> %
from IndexedProductCategory(R, NonNegativeInteger)
monomial? : % -> Boolean
from IndexedProductCategory(R, NonNegativeInteger)
monomials : % -> List(%)
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
multiEuclidean : (List(%), %) -> Union(List(%), "failed") if R has Field
from EuclideanDomain
multiplyExponents : (%, NonNegativeInteger) -> %
from UnivariatePolynomialCategory(R)
multivariate : (SparseUnivariatePolynomial(%), SingletonAsOrderedSet) -> %
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
multivariate : (SparseUnivariatePolynomial(R), SingletonAsOrderedSet) -> %
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
nextItem : % -> Union(%, "failed") if R has StepThrough
from StepThrough
numberOfMonomials : % -> NonNegativeInteger
from IndexedDirectProductCategory(R, NonNegativeInteger)
one? : % -> Boolean
from MagmaWithUnit
opposite? : (%, %) -> Boolean
from AbelianMonoid
order : (%, %) -> NonNegativeInteger if R has IntegralDomain
from UnivariatePolynomialCategory(R)
patternMatch : (%, Pattern(Float), PatternMatchResult(Float, %)) -> PatternMatchResult(Float, %) if SingletonAsOrderedSet has PatternMatchable(Float) and R has PatternMatchable(Float)
from PatternMatchable(Float)
patternMatch : (%, Pattern(Integer), PatternMatchResult(Integer, %)) -> PatternMatchResult(Integer, %) if SingletonAsOrderedSet 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, NonNegativeInteger, %) -> %
from FiniteAbelianMonoidRing(R, NonNegativeInteger)
prime? : % -> Boolean if R has PolynomialFactorizationExplicit
from UniqueFactorizationDomain
primitiveMonomials : % -> List(%)
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
primitivePart : % -> % if R has GcdDomain
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
primitivePart : (%, SingletonAsOrderedSet) -> % if R has GcdDomain
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
principalIdeal : List(%) -> Record(coef : List(%), generator : %) if R has Field
from PrincipalIdealDomain
pseudoDivide : (%, %) -> Record(coef : R, quotient : %, remainder : %) if R has IntegralDomain
from UnivariatePolynomialCategory(R)
pseudoQuotient : (%, %) -> % if R has IntegralDomain
from UnivariatePolynomialCategory(R)
pseudoRemainder : (%, %) -> %
from UnivariatePolynomialCategory(R)
quo : (%, %) -> % if R has Field
from EuclideanDomain
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, NonNegativeInteger)
rem : (%, %) -> % if R has Field
from EuclideanDomain
resultant : (%, %, SingletonAsOrderedSet) -> % if R has CommutativeRing
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
resultant : (%, %) -> R if R has CommutativeRing
from UnivariatePolynomialCategory(R)
retract : % -> R
from RetractableTo(R)
retract : % -> Fraction(Integer) if R has RetractableTo(Fraction(Integer))
from RetractableTo(Fraction(Integer))
retract : % -> Integer if R has RetractableTo(Integer)
from RetractableTo(Integer)
retract : % -> SingletonAsOrderedSet
from RetractableTo(SingletonAsOrderedSet)
retract : % -> SparseUnivariatePolynomial(R)
from RetractableTo(SparseUnivariatePolynomial(R))
retractIfCan : % -> Union(R, "failed")
from RetractableTo(R)
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)
retractIfCan : % -> Union(SingletonAsOrderedSet, "failed")
from RetractableTo(SingletonAsOrderedSet)
retractIfCan : % -> Union(SparseUnivariatePolynomial(R), "failed")
from RetractableTo(SparseUnivariatePolynomial(R))
rightPower : (%, NonNegativeInteger) -> %
from MagmaWithUnit
rightPower : (%, PositiveInteger) -> %
from Magma
rightRecip : % -> Union(%, "failed")
from MagmaWithUnit
sample : () -> %
from AbelianMonoid
separate : (%, %) -> Record(primePart : %, commonPart : %) if R has GcdDomain
from UnivariatePolynomialCategory(R)
shiftLeft : (%, NonNegativeInteger) -> %
from UnivariatePolynomialCategory(R)
shiftRight : (%, NonNegativeInteger) -> %
from UnivariatePolynomialCategory(R)
sizeLess? : (%, %) -> Boolean if R has Field
from EuclideanDomain
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, NonNegativeInteger, SingletonAsOrderedSet)
squareFreePart : % -> % if R has GcdDomain
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
squareFreePolynomial : SparseUnivariatePolynomial(%) -> Factored(SparseUnivariatePolynomial(%)) if R has PolynomialFactorizationExplicit
from PolynomialFactorizationExplicit
subResultantGcd : (%, %) -> % if R has IntegralDomain
from UnivariatePolynomialCategory(R)
subResultantsChain : (%, %) -> List(%) if R has IntegralDomain

subResultantsChain(a, b) returns the list of the non-zero sub-resultants of a and b sorted by increasing degree.

subtractIfCan : (%, %) -> Union(%, "failed")
from CancellationAbelianMonoid
support : % -> List(NonNegativeInteger)
from FreeModuleCategory(R, NonNegativeInteger)
totalDegree : % -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
totalDegree : (%, List(SingletonAsOrderedSet)) -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
totalDegreeSorted : (%, List(SingletonAsOrderedSet)) -> NonNegativeInteger
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
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 : (%, SingletonAsOrderedSet) -> SparseUnivariatePolynomial(%)
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
univariate : % -> SparseUnivariatePolynomial(R)
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
unmakeSUP : SparseUnivariatePolynomial(R) -> %
from UnivariatePolynomialCategory(R)
unvectorise : Vector(R) -> %
from UnivariatePolynomialCategory(R)
variables : % -> List(SingletonAsOrderedSet)
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
vectorise : (%, NonNegativeInteger) -> Vector(R)
from UnivariatePolynomialCategory(R)
zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

EntireRing

Ring

CoercibleFrom(SparseUnivariatePolynomial(R))

Algebra(%)

AbelianMonoidRing(R, NonNegativeInteger)

CancellationAbelianMonoid

CommutativeStar

additiveValuation

ConvertibleTo(Pattern(Float))

LinearlyExplicitOver(Integer)

SemiGroup

Eltable(R, R)

Hashable

VariablesCommuteWithCoefficients

IndexedProductCategory(R, NonNegativeInteger)

RightModule(R)

Monoid

DifferentialExtension(R)

CoercibleFrom(SingletonAsOrderedSet)

LeftModule(%)

BiModule(Fraction(Integer), Fraction(Integer))

FreeModuleCategory(R, NonNegativeInteger)

Algebra(R)

RetractableTo(SingletonAsOrderedSet)

Module(%)

FiniteAbelianMonoidRing(R, NonNegativeInteger)

LeftOreRing

CoercibleTo(SparseUnivariatePolynomial(R))

noZeroDivisors

ConvertibleTo(InputForm)

SemiRing

NonAssociativeAlgebra(%)

SetCategory

CharacteristicNonZero

NonAssociativeSemiRing

PolynomialFactorizationExplicit

TwoSidedRecip

EuclideanDomain

CoercibleFrom(Fraction(Integer))

NonAssociativeRing

Eltable(%, %)

InnerEvalable(SingletonAsOrderedSet, R)

MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

NonAssociativeRng

MagmaWithUnit

BiModule(R, R)

Comparable

RetractableTo(R)

NonAssociativeAlgebra(R)

FullyRetractableTo(R)

CommutativeRing

PrincipalIdealDomain

unitsKnown

AbelianSemiGroup

Rng

canonicalUnitNormal

LeftModule(Fraction(Integer))

PatternMatchable(Float)

LeftModule(R)

RightModule(Integer)

CoercibleFrom(R)

UnivariatePolynomialCategory(R)

Evalable(%)

NonAssociativeAlgebra(Fraction(Integer))

FullyLinearlyExplicitOver(R)

PartialDifferentialRing(SingletonAsOrderedSet)

LinearlyExplicitOver(R)

NonAssociativeSemiRng

GcdDomain

CharacteristicZero

RetractableTo(SparseUnivariatePolynomial(R))

PartialDifferentialRing(Symbol)

Algebra(Fraction(Integer))

IntegralDomain

AbelianGroup

Eltable(Fraction(%), Fraction(%))

InnerEvalable(SingletonAsOrderedSet, %)

DifferentialRing

BasicType

AbelianProductCategory(R)

CoercibleFrom(Integer)

AbelianMonoid

PatternMatchable(Integer)

CoercibleTo(OutputForm)

BiModule(%, %)

PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

IndexedDirectProductCategory(R, NonNegativeInteger)

RetractableTo(Fraction(Integer))

StepThrough

SemiRng

RightModule(Fraction(Integer))

Module(R)

InnerEvalable(%, %)

UniqueFactorizationDomain

ConvertibleTo(Pattern(Integer))

Module(Fraction(Integer))

RightModule(%)

RetractableTo(Integer)

Magma