UnivariatePolynomialCategory(R)

polycat.spad line 804 [edit on github]

The category of univariate polynomials over a ring R. No particular model is assumed - implementations can be either sparse or dense.

* : (%, %) -> %
from Magma
* : (%, R) -> %
from RightModule(R)
* : (%, Fraction(Integer)) -> % if R has Algebra(Fraction(Integer))
from RightModule(Fraction(Integer))
* : (%, Integer) -> % if R has LinearlyExplicitOver(Integer) and R has Ring
from RightModule(Integer)
* : (R, %) -> %
from LeftModule(R)
* : (Fraction(Integer), %) -> % if R has Algebra(Fraction(Integer))
from LeftModule(Fraction(Integer))
* : (Integer, %) -> % if R has AbelianGroup or % has AbelianGroup
from AbelianGroup
* : (NonNegativeInteger, %) -> %
from AbelianMonoid
* : (PositiveInteger, %) -> %
from AbelianSemiGroup
+ : (%, %) -> %
from AbelianSemiGroup
- : % -> % if R has AbelianGroup or % has AbelianGroup
from AbelianGroup
- : (%, %) -> % if R has AbelianGroup or % has AbelianGroup
from AbelianGroup
/ : (%, R) -> % if R has Field
from AbelianMonoidRing(R, NonNegativeInteger)
0 : () -> %
from AbelianMonoid
1 : () -> % if R has SemiRing
from MagmaWithUnit
= : (%, %) -> Boolean
from BasicType
D : % -> % if R has Ring
from DifferentialRing
D : (%, List(SingletonAsOrderedSet)) -> % if R has Ring
from PartialDifferentialRing(SingletonAsOrderedSet)
D : (%, List(SingletonAsOrderedSet), List(NonNegativeInteger)) -> % if R has Ring
from PartialDifferentialRing(SingletonAsOrderedSet)
D : (%, List(Symbol)) -> % if R has PartialDifferentialRing(Symbol) and R has Ring
from PartialDifferentialRing(Symbol)
D : (%, List(Symbol), List(NonNegativeInteger)) -> % if R has PartialDifferentialRing(Symbol) and R has Ring
from PartialDifferentialRing(Symbol)
D : (%, Mapping(R, R)) -> % if R has Ring
from DifferentialExtension(R)
D : (%, Mapping(R, R), NonNegativeInteger) -> % if R has Ring
from DifferentialExtension(R)
D : (%, NonNegativeInteger) -> % if R has Ring
from DifferentialRing
D : (%, SingletonAsOrderedSet) -> % if R has Ring
from PartialDifferentialRing(SingletonAsOrderedSet)
D : (%, SingletonAsOrderedSet, NonNegativeInteger) -> % if R has Ring
from PartialDifferentialRing(SingletonAsOrderedSet)
D : (%, Symbol) -> % if R has PartialDifferentialRing(Symbol) and R has Ring
from PartialDifferentialRing(Symbol)
D : (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing(Symbol) and R has Ring
from PartialDifferentialRing(Symbol)
^ : (%, NonNegativeInteger) -> % if R has SemiRing
from MagmaWithUnit
^ : (%, PositiveInteger) -> %
from Magma
annihilate? : (%, %) -> Boolean if R has Ring
from Rng
antiCommutator : (%, %) -> %
from NonAssociativeSemiRng
associates? : (%, %) -> Boolean if R has EntireRing
from EntireRing
associator : (%, %, %) -> % if R has Ring
from NonAssociativeRng
binomThmExpt : (%, %, NonNegativeInteger) -> % if % has CommutativeRing
from FiniteAbelianMonoidRing(R, NonNegativeInteger)
characteristic : () -> NonNegativeInteger if R has Ring
from NonAssociativeRing
charthRoot : % -> Union(%, "failed") if % has CharacteristicNonZero and R has PolynomialFactorizationExplicit or R has CharacteristicNonZero
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 Algebra(Fraction(Integer)) or R has RetractableTo(Fraction(Integer))
from Algebra(Fraction(Integer))
coerce : Integer -> % if R has Ring or R has RetractableTo(Integer)
from NonAssociativeRing
coerce : SingletonAsOrderedSet -> % if R has SemiRing
from CoercibleFrom(SingletonAsOrderedSet)
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
commutator : (%, %) -> % if R has Ring
from NonAssociativeRng
composite : (%, %) -> Union(%, "failed") if R has IntegralDomain

composite(p, q) returns h if p = h(q), and "failed" no such h exists.

composite : (Fraction(%), %) -> Union(Fraction(%), "failed") if R has IntegralDomain

composite(f, q) returns h if f = h(q), and "failed" is no such h exists.

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 R has Ring and SingletonAsOrderedSet has ConvertibleTo(Pattern(Float))
from ConvertibleTo(Pattern(Float))
convert : % -> Pattern(Integer) if R has ConvertibleTo(Pattern(Integer)) and R has Ring 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 : % -> % if R has Ring
from DifferentialRing
differentiate : (%, List(SingletonAsOrderedSet)) -> % if R has Ring
from PartialDifferentialRing(SingletonAsOrderedSet)
differentiate : (%, List(SingletonAsOrderedSet), List(NonNegativeInteger)) -> % if R has Ring
from PartialDifferentialRing(SingletonAsOrderedSet)
differentiate : (%, List(Symbol)) -> % if R has PartialDifferentialRing(Symbol) and R has Ring
from PartialDifferentialRing(Symbol)
differentiate : (%, List(Symbol), List(NonNegativeInteger)) -> % if R has PartialDifferentialRing(Symbol) and R has Ring
from PartialDifferentialRing(Symbol)
differentiate : (%, Mapping(R, R)) -> % if R has Ring
from DifferentialExtension(R)
differentiate : (%, Mapping(R, R), %) -> % if R has Ring

differentiate(p, d, x') extends the R-derivation d to an extension D in R[x] where Dx is given by x', and returns Dp.

differentiate : (%, Mapping(R, R), NonNegativeInteger) -> % if R has Ring
from DifferentialExtension(R)
differentiate : (%, NonNegativeInteger) -> % if R has Ring
from DifferentialRing
differentiate : (%, SingletonAsOrderedSet) -> % if R has Ring
from PartialDifferentialRing(SingletonAsOrderedSet)
differentiate : (%, SingletonAsOrderedSet, NonNegativeInteger) -> % if R has Ring
from PartialDifferentialRing(SingletonAsOrderedSet)
differentiate : (%, Symbol) -> % if R has PartialDifferentialRing(Symbol) and R has Ring
from PartialDifferentialRing(Symbol)
differentiate : (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing(Symbol) and R has Ring
from PartialDifferentialRing(Symbol)
discriminant : (%, SingletonAsOrderedSet) -> % if R has CommutativeRing
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
discriminant : % -> R if R has CommutativeRing

discriminant(p) returns the discriminant of the polynomial p.

divide : (%, %) -> Record(quotient : %, remainder : %) if R has Field
from EuclideanDomain
divideExponents : (%, NonNegativeInteger) -> Union(%, "failed")

divideExponents(p, n) returns a new polynomial resulting from dividing all exponents of the polynomial p by the non negative integer n, or "failed" if some exponent is not exactly divisible by n.

elt : (%, %) -> %
from Eltable(%, %)
elt : (%, R) -> R
from Eltable(R, R)
elt : (Fraction(%), R) -> R if R has Field

elt(a, r) evaluates the fraction of univariate polynomials a with the distinguished variable replaced by the constant r.

elt : (%, Fraction(%)) -> Fraction(%) if R has IntegralDomain
from Eltable(Fraction(%), Fraction(%))
elt : (Fraction(%), Fraction(%)) -> Fraction(%) if R has IntegralDomain

elt(a, b) evaluates the fraction of univariate polynomials a with the distinguished variable replaced by b.

euclideanSize : % -> NonNegativeInteger if R has Field
from EuclideanDomain
eval : (%, %, %) -> % if R has SemiRing
from InnerEvalable(%, %)
eval : (%, Equation(%)) -> % if R has SemiRing
from Evalable(%)
eval : (%, List(%), List(%)) -> % if R has SemiRing
from InnerEvalable(%, %)
eval : (%, List(Equation(%))) -> % if R has SemiRing
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
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, %) -> % if R has Ring
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)
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))

integrate(p) integrates the univariate polynomial p with respect to its distinguished variable.

isExpt : % -> Union(Record(var : SingletonAsOrderedSet, exponent : NonNegativeInteger), "failed") if R has SemiRing
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
isPlus : % -> Union(List(%), "failed")
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
isTimes : % -> Union(List(%), "failed") if R has SemiRing
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
karatsubaDivide : (%, NonNegativeInteger) -> Record(quotient : %, remainder : %) if R has Ring

karatsubaDivide(p, n) returns the same as monicDivide(p, monomial(1, n))

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
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) -> % if R has SemiRing
from MagmaWithUnit
leftPower : (%, PositiveInteger) -> %
from Magma
leftRecip : % -> Union(%, "failed") if R has SemiRing
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)

makeSUP(p) converts the polynomial p to be of type SparseUnivariatePolynomial over the same coefficients.

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 : %) if R has Ring

monicDivide(p, q) divide the polynomial p by the monic polynomial q, returning the pair [quotient, remainder]. Error: if q isn't monic.

monicDivide : (%, %, SingletonAsOrderedSet) -> Record(quotient : %, remainder : %) if R has Ring
from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
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) -> %

multiplyExponents(p, n) returns a new polynomial resulting from multiplying all exponents of the polynomial p by the non negative integer n.

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 if R has SemiRing
from MagmaWithUnit
opposite? : (%, %) -> Boolean
from AbelianMonoid
order : (%, %) -> NonNegativeInteger if R has IntegralDomain

order(p, q) returns the largest n such that q^n divides polynomial p i.e. the order of p(x) at q(x)=0.

patternMatch : (%, Pattern(Float), PatternMatchResult(Float, %)) -> PatternMatchResult(Float, %) if R has PatternMatchable(Float) and SingletonAsOrderedSet has PatternMatchable(Float) and R has Ring
from PatternMatchable(Float)
patternMatch : (%, Pattern(Integer), PatternMatchResult(Integer, %)) -> PatternMatchResult(Integer, %) if R has PatternMatchable(Integer) and SingletonAsOrderedSet has PatternMatchable(Integer) and R has Ring
from PatternMatchable(Integer)
plenaryPower : (%, PositiveInteger) -> % if R has Algebra(Fraction(Integer)) or R has CommutativeRing
from NonAssociativeAlgebra(%)
pomopo! : (%, R, NonNegativeInteger, %) -> %
from FiniteAbelianMonoidRing(R, NonNegativeInteger)
prime? : % -> Boolean if R has PolynomialFactorizationExplicit
from UniqueFactorizationDomain
primitiveMonomials : % -> List(%) if R has SemiRing
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

pseudoDivide(p, q) returns [c, s, r], when p' := p*lc(q)^(deg p - deg q + 1) = c * p is pseudo right-divided by q, i.e. p' = s q + r.

pseudoQuotient : (%, %) -> % if R has IntegralDomain

pseudoQuotient(p, q) returns s, the quotient when p' := p*lc(q)^(deg p - deg q + 1) is pseudo right-divided by q, i.e. p' = s q + r.

pseudoRemainder : (%, %) -> % if R has Ring

pseudoRemainder(p, q) = r, for polynomials p and q, returns the remainder r when p' := p*lc(q)^(deg p - deg q + 1) is pseudo right-divided by q, i.e. p' = s q + r.

quo : (%, %) -> % if R has Field
from EuclideanDomain
recip : % -> Union(%, "failed") if R has SemiRing
from MagmaWithUnit
reducedSystem : Matrix(%) -> Matrix(R) if R has Ring
from LinearlyExplicitOver(R)
reducedSystem : Matrix(%) -> Matrix(Integer) if R has LinearlyExplicitOver(Integer) and R has Ring
from LinearlyExplicitOver(Integer)
reducedSystem : (Matrix(%), Vector(%)) -> Record(mat : Matrix(R), vec : Vector(R)) if R has Ring
from LinearlyExplicitOver(R)
reducedSystem : (Matrix(%), Vector(%)) -> Record(mat : Matrix(Integer), vec : Vector(Integer)) if R has LinearlyExplicitOver(Integer) and R has Ring
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

resultant(p, q) returns the resultant of the polynomials p and q.

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 if R has SemiRing
from RetractableTo(SingletonAsOrderedSet)
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") if R has SemiRing
from RetractableTo(SingletonAsOrderedSet)
rightPower : (%, NonNegativeInteger) -> % if R has SemiRing
from MagmaWithUnit
rightPower : (%, PositiveInteger) -> %
from Magma
rightRecip : % -> Union(%, "failed") if R has SemiRing
from MagmaWithUnit
sample : () -> %
from AbelianMonoid
separate : (%, %) -> Record(primePart : %, commonPart : %) if R has GcdDomain

separate(p, q) returns [a, b] such that p = a b, a is relatively prime to q and b divides some power of q.

shiftLeft : (%, NonNegativeInteger) -> %

shiftLeft(p, n) returns p * monomial(1, n)

shiftRight : (%, NonNegativeInteger) -> % if R has Ring

shiftRight(p, n) returns monicDivide(p, monomial(1, n)).quotient

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

subResultantGcd(p, q) computes the gcd of the polynomials p and q using the SubResultant GCD algorithm.

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) -> %

unmakeSUP(sup) converts sup of type SparseUnivariatePolynomial(R) to be a member of the given type. Note: converse of makeSUP.

unvectorise : Vector(R) -> %

unvectorise(v) returns the polynomial which has for coefficients the entries of v in the increasing order.

variables : % -> List(SingletonAsOrderedSet)
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)
vectorise : (%, NonNegativeInteger) -> Vector(R)

vectorise(p, n) returns [a0, ..., a(n-1)] where p = a0 + a1*x + ... + a(n-1)*x^(n-1) + higher order terms. The degree of polynomial p can be different from n-1.

zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

PatternMatchable(Integer)

CharacteristicNonZero

Module(Fraction(Integer))

PrincipalIdealDomain

NonAssociativeSemiRing

LeftModule(R)

BiModule(%, %)

FreeModuleCategory(R, NonNegativeInteger)

ConvertibleTo(InputForm)

canonicalUnitNormal

Rng

CoercibleFrom(Integer)

TwoSidedRecip

FullyRetractableTo(R)

SemiRing

EntireRing

NonAssociativeAlgebra(Fraction(Integer))

unitsKnown

FullyLinearlyExplicitOver(R)

Algebra(R)

PatternMatchable(Float)

NonAssociativeSemiRng

CoercibleTo(OutputForm)

LinearlyExplicitOver(Integer)

noZeroDivisors

RetractableTo(Fraction(Integer))

InnerEvalable(SingletonAsOrderedSet, %)

Magma

SemiGroup

RightModule(Fraction(Integer))

GcdDomain

LeftModule(%)

IndexedProductCategory(R, NonNegativeInteger)

NonAssociativeRing

InnerEvalable(%, %)

UniqueFactorizationDomain

PartialDifferentialRing(Symbol)

CharacteristicZero

Algebra(%)

Module(R)

CommutativeRing

CoercibleFrom(Fraction(Integer))

DifferentialRing

BiModule(R, R)

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

Eltable(%, %)

Eltable(R, R)

RightModule(R)

NonAssociativeRng

CoercibleFrom(SingletonAsOrderedSet)

FiniteAbelianMonoidRing(R, NonNegativeInteger)

DifferentialExtension(R)

CancellationAbelianMonoid

EuclideanDomain

Comparable

RetractableTo(Integer)

LinearlyExplicitOver(R)

CommutativeStar

AbelianMonoid

MagmaWithUnit

RightModule(%)

VariablesCommuteWithCoefficients

Hashable

AbelianProductCategory(R)

Evalable(%)

RetractableTo(SingletonAsOrderedSet)

Module(%)

additiveValuation

ConvertibleTo(Pattern(Float))

SemiRng

Monoid

PolynomialFactorizationExplicit

InnerEvalable(SingletonAsOrderedSet, R)

IndexedDirectProductCategory(R, NonNegativeInteger)

LeftOreRing

NonAssociativeAlgebra(%)

Algebra(Fraction(Integer))

BasicType

Ring

RightModule(Integer)

AbelianSemiGroup

IntegralDomain

SetCategory

PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

AbelianMonoidRing(R, NonNegativeInteger)

MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

CoercibleFrom(R)

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

RetractableTo(R)

PartialDifferentialRing(SingletonAsOrderedSet)

StepThrough

ConvertibleTo(Pattern(Integer))

AbelianGroup

LeftModule(Fraction(Integer))

NonAssociativeAlgebra(R)