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.

0: %

from AbelianMonoid

1: % if R has SemiRing

from MagmaWithUnit

*: (%, %) -> %

from Magma

*: (%, 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 RightModule 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

*: (R, %) -> %

from LeftModule R

+: (%, %) -> %

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)

=: (%, %) -> Boolean

from BasicType

^: (%, NonNegativeInteger) -> % if R has SemiRing

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

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: (%, NonNegativeInteger) -> R

from FreeModuleCategory(R, NonNegativeInteger)

coefficient: (%, SingletonAsOrderedSet, NonNegativeInteger) -> %

from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

coefficients: % -> List R

from FreeModuleCategory(R, NonNegativeInteger)

coerce: % -> % if R has CommutativeRing

from Algebra %

coerce: % -> OutputForm

from CoercibleTo OutputForm

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: R -> %

from Algebra R

coerce: SingletonAsOrderedSet -> % if R has SemiRing

from CoercibleFrom SingletonAsOrderedSet

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

from FiniteAbelianMonoidRing(R, NonNegativeInteger)

content: (%, SingletonAsOrderedSet) -> % if R has GcdDomain

from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

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

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

from DifferentialRing

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

from DifferentialExtension R

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

from DifferentialExtension R

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

degree: % -> NonNegativeInteger

from AbelianMonoidRing(R, NonNegativeInteger)

degree: (%, List SingletonAsOrderedSet) -> List NonNegativeInteger

from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

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

from DifferentialRing

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

from DifferentialExtension R

differentiate: (%, 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: (%, R -> R, NonNegativeInteger) -> % if R has Ring

from DifferentialExtension R

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

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

discriminant: (%, SingletonAsOrderedSet) -> % if R has CommutativeRing

from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

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: (%, Fraction %) -> Fraction % if R has IntegralDomain

from Eltable(Fraction %, Fraction %)

elt: (%, R) -> R

from Eltable(R, R)

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.

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.

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?: % -> Boolean

from FiniteAbelianMonoidRing(R, NonNegativeInteger)

ground: % -> R

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: (NonNegativeInteger -> R, %) -> 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: (R -> R, %) -> %

from IndexedProductCategory(R, NonNegativeInteger)

mapExponents: (NonNegativeInteger -> NonNegativeInteger, %) -> %

from FiniteAbelianMonoidRing(R, NonNegativeInteger)

minimumDegree: % -> NonNegativeInteger

from FiniteAbelianMonoidRing(R, NonNegativeInteger)

minimumDegree: (%, List SingletonAsOrderedSet) -> List NonNegativeInteger

from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

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?: % -> Boolean

from IndexedProductCategory(R, NonNegativeInteger)

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)

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 %, Vector %) -> Record(mat: Matrix Integer, vec: Vector 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 % -> Matrix Integer if R has LinearlyExplicitOver Integer and R has Ring

from LinearlyExplicitOver Integer

reducedSystem: Matrix % -> Matrix R if R has Ring

from LinearlyExplicitOver R

reductum: % -> %

from IndexedProductCategory(R, NonNegativeInteger)

rem: (%, %) -> % if R has Field

from EuclideanDomain

resultant: (%, %) -> R if R has CommutativeRing

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

resultant: (%, %, SingletonAsOrderedSet) -> % if R has CommutativeRing

from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

retract: % -> Fraction Integer if R has RetractableTo Fraction Integer

from RetractableTo Fraction Integer

retract: % -> Integer if R has RetractableTo Integer

from RetractableTo Integer

retract: % -> R

from RetractableTo R

retract: % -> SingletonAsOrderedSet if R has SemiRing

from RetractableTo SingletonAsOrderedSet

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(R, failed)

from RetractableTo R

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: % -> SparseUnivariatePolynomial R

from PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

univariate: (%, SingletonAsOrderedSet) -> SparseUnivariatePolynomial %

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

AbelianGroup if R has AbelianGroup

AbelianMonoid

AbelianMonoidRing(R, NonNegativeInteger)

AbelianProductCategory R

AbelianSemiGroup

additiveValuation if R has Field

Algebra % if R has CommutativeRing

Algebra Fraction Integer if R has Algebra Fraction Integer

Algebra R if R has CommutativeRing

BasicType

BiModule(%, %)

BiModule(Fraction Integer, Fraction Integer) if R has Algebra Fraction Integer

BiModule(R, R)

CancellationAbelianMonoid

canonicalUnitNormal if R has canonicalUnitNormal

CharacteristicNonZero if R has CharacteristicNonZero

CharacteristicZero if R has CharacteristicZero

CoercibleFrom Fraction Integer if R has RetractableTo Fraction Integer

CoercibleFrom Integer if R has RetractableTo Integer

CoercibleFrom R

CoercibleFrom SingletonAsOrderedSet if R has SemiRing

CoercibleTo OutputForm

CommutativeRing if R has CommutativeRing

CommutativeStar if R has CommutativeRing

Comparable if R has Comparable

ConvertibleTo InputForm if R has ConvertibleTo InputForm and SingletonAsOrderedSet has ConvertibleTo InputForm

ConvertibleTo Pattern Float if R has ConvertibleTo Pattern Float and R has Ring and SingletonAsOrderedSet has ConvertibleTo Pattern Float

ConvertibleTo Pattern Integer if R has ConvertibleTo Pattern Integer and R has Ring and SingletonAsOrderedSet has ConvertibleTo Pattern Integer

DifferentialExtension R if R has Ring

DifferentialRing if R has Ring

Eltable(%, %)

Eltable(Fraction %, Fraction %) if R has IntegralDomain

Eltable(R, R)

EntireRing if R has EntireRing

EuclideanDomain if R has Field

Evalable % if R has SemiRing

FiniteAbelianMonoidRing(R, NonNegativeInteger)

FreeModuleCategory(R, NonNegativeInteger)

FullyLinearlyExplicitOver R if R has Ring

FullyRetractableTo R

GcdDomain if R has GcdDomain

Hashable if R has Hashable

IndexedDirectProductCategory(R, NonNegativeInteger)

IndexedProductCategory(R, NonNegativeInteger)

InnerEvalable(%, %) if R has SemiRing

InnerEvalable(SingletonAsOrderedSet, %)

InnerEvalable(SingletonAsOrderedSet, R)

IntegralDomain if R has IntegralDomain

LeftModule %

LeftModule Fraction Integer if R has Algebra Fraction Integer

LeftModule R

LeftOreRing if R has GcdDomain

LinearlyExplicitOver Integer if R has LinearlyExplicitOver Integer and R has Ring

LinearlyExplicitOver R if R has Ring

Magma

MagmaWithUnit if R has SemiRing

MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

Module % if R has CommutativeRing

Module Fraction Integer if R has Algebra Fraction Integer

Module R if R has CommutativeRing

Monoid if R has SemiRing

NonAssociativeAlgebra % if R has CommutativeRing

NonAssociativeAlgebra Fraction Integer if R has Algebra Fraction Integer

NonAssociativeAlgebra R if R has CommutativeRing

NonAssociativeRing if R has Ring

NonAssociativeRng if R has Ring

NonAssociativeSemiRing if R has SemiRing

NonAssociativeSemiRng

noZeroDivisors if R has EntireRing

PartialDifferentialRing SingletonAsOrderedSet if R has Ring

PartialDifferentialRing Symbol if R has PartialDifferentialRing Symbol and R has Ring

PatternMatchable Float if R has PatternMatchable Float and SingletonAsOrderedSet has PatternMatchable Float and R has Ring

PatternMatchable Integer if R has PatternMatchable Integer and SingletonAsOrderedSet has PatternMatchable Integer and R has Ring

PolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

PolynomialFactorizationExplicit if R has PolynomialFactorizationExplicit

PrincipalIdealDomain if R has Field

RetractableTo Fraction Integer if R has RetractableTo Fraction Integer

RetractableTo Integer if R has RetractableTo Integer

RetractableTo R

RetractableTo SingletonAsOrderedSet if R has SemiRing

RightModule %

RightModule Fraction Integer if R has Algebra Fraction Integer

RightModule Integer if R has LinearlyExplicitOver Integer and R has Ring

RightModule R

Ring if R has Ring

Rng if R has Ring

SemiGroup

SemiRing if R has SemiRing

SemiRng

SetCategory

StepThrough if R has StepThrough

TwoSidedRecip if R has CommutativeRing

UniqueFactorizationDomain if R has PolynomialFactorizationExplicit

unitsKnown if R has Ring

VariablesCommuteWithCoefficients