# SparseUnivariatePolynomial RΒΆ

poly.spad line 648 [edit on github]

R: Join(SemiRng, AbelianMonoid)

This domain represents univariate polynomials over arbitrary (not necessarily commutative) coefficient rings. The variable is unspecified so that the variable displays as `?`

in output. If it is necessary to specify the variable name, use type UnivariatePolynomial. The representation is sparse in the sense that only non-zero terms are represented.

- 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 % has AbelianGroup or R has AbelianGroup
from AbelianGroup

- *: (NonNegativeInteger, %) -> %
from AbelianMonoid

- *: (PositiveInteger, %) -> %
from AbelianSemiGroup

- *: (R, %) -> %
from LeftModule R

- +: (%, %) -> %
from AbelianSemiGroup

- -: % -> % if % has AbelianGroup or R has AbelianGroup
from AbelianGroup

- -: (%, %) -> % if % has AbelianGroup or R has AbelianGroup
from AbelianGroup

- /: (%, R) -> % if R has Field
from AbelianMonoidRing(R, NonNegativeInteger)

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

- ^: (%, PositiveInteger) -> %
from Magma

- annihilate?: (%, %) -> Boolean if R has Ring
from Rng

- antiCommutator: (%, %) -> %

- associates?: (%, %) -> Boolean if R has EntireRing
from EntireRing

- associator: (%, %, %) -> % if R has Ring
from NonAssociativeRng

- binomThmExpt: (%, %, NonNegativeInteger) -> % if % has CommutativeRing

- characteristic: () -> NonNegativeInteger if R has Ring
from NonAssociativeRing

- charthRoot: % -> Union(%, failed) if R has CharacteristicNonZero or % has CharacteristicNonZero and R has 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 RetractableTo Fraction Integer or R has Algebra Fraction Integer
- coerce: Integer -> % if R has RetractableTo Integer or R has Ring
from NonAssociativeRing

- coerce: R -> %
from Algebra R

- coerce: SingletonAsOrderedSet -> % if R has SemiRing

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

- 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
- 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
- D: (%, List SingletonAsOrderedSet, List NonNegativeInteger) -> % if R has Ring
- D: (%, List Symbol) -> % if R has PartialDifferentialRing Symbol and R has Ring
- D: (%, List Symbol, List NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol and R has Ring
- 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
- D: (%, SingletonAsOrderedSet, NonNegativeInteger) -> % if R has Ring
- D: (%, Symbol) -> % if R has PartialDifferentialRing Symbol and R has Ring
- D: (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol and R has Ring

- 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
- differentiate: (%, List SingletonAsOrderedSet, List NonNegativeInteger) -> % if R has Ring
- differentiate: (%, List Symbol) -> % if R has PartialDifferentialRing Symbol and R has Ring
- differentiate: (%, List Symbol, List NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol and R has Ring
- 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
from UnivariatePolynomialCategory R

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

- differentiate: (%, SingletonAsOrderedSet) -> % if R has Ring
- differentiate: (%, SingletonAsOrderedSet, NonNegativeInteger) -> % if R has Ring
- differentiate: (%, Symbol) -> % if R has PartialDifferentialRing Symbol and R has Ring
- differentiate: (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol and R has Ring

- discriminant: % -> R if R has CommutativeRing
from UnivariatePolynomialCategory R

- 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)
from UnivariatePolynomialCategory R

- elt: (%, %) -> %
from Eltable(%, %)

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

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

- elt: (Fraction %, R) -> R if R has Field
from UnivariatePolynomialCategory 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

- 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

- factorPolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PolynomialFactorizationExplicit

- factorSquareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has PolynomialFactorizationExplicit

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

- gcdPolynomial: (SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has GcdDomain
from GcdDomain

- ground: % -> R

- 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) 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
from UnivariatePolynomialCategory R

- latex: % -> String
from SetCategory

- lcmCoef: (%, %) -> Record(llcm_res: %, coeff1: %, coeff2: %) if R has GcdDomain
from LeftOreRing

- leadingCoefficient: % -> R
from IndexedProductCategory(R, NonNegativeInteger)

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

- mainVariable: % -> Union(SingletonAsOrderedSet, failed)
from MaybeSkewPolynomialCategory(R, NonNegativeInteger, SingletonAsOrderedSet)

- makeSUP: % -> SparseUnivariatePolynomial R
from UnivariatePolynomialCategory R

- map: (R -> R, %) -> %
from IndexedProductCategory(R, NonNegativeInteger)

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

- minimumDegree: % -> 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
from UnivariatePolynomialCategory R

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

- one?: % -> Boolean if R has SemiRing
from MagmaWithUnit

- opposite?: (%, %) -> Boolean
from AbelianMonoid

- order: (%, %) -> NonNegativeInteger if R has IntegralDomain
from UnivariatePolynomialCategory R

- outputForm: (%, OutputForm) -> OutputForm
`outputForm(p, var)`

converts the SparseUnivariatePolynomial`p`

to an output form (see OutputForm) printed as a polynomial in the output form`var`

.

- 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 CommutativeRing or R has Algebra Fraction Integer
from NonAssociativeAlgebra %

- pomopo!: (%, R, NonNegativeInteger, %) -> %

- prime?: % -> Boolean if R has PolynomialFactorizationExplicit

- 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
from UnivariatePolynomialCategory R

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

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

- 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

- 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

- 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
from UnivariatePolynomialCategory R

- shiftLeft: (%, NonNegativeInteger) -> %
from UnivariatePolynomialCategory R

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

- 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

- subResultantGcd: (%, %) -> % if R has IntegralDomain
from UnivariatePolynomialCategory R

- subtractIfCan: (%, %) -> Union(%, failed)

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

AbelianGroup if R has AbelianGroup

AbelianMonoidRing(R, NonNegativeInteger)

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

BiModule(%, %)

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

BiModule(R, R)

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 SingletonAsOrderedSet if R has SemiRing

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

FiniteAbelianMonoidRing(R, NonNegativeInteger)

FreeModuleCategory(R, NonNegativeInteger)

FullyLinearlyExplicitOver R if R has Ring

IndexedDirectProductCategory(R, NonNegativeInteger)

IndexedProductCategory(R, NonNegativeInteger)

InnerEvalable(%, %) if R has SemiRing

InnerEvalable(SingletonAsOrderedSet, %)

InnerEvalable(SingletonAsOrderedSet, R)

IntegralDomain if R has IntegralDomain

LeftModule Fraction Integer if R has Algebra Fraction Integer

LeftOreRing if R has GcdDomain

LinearlyExplicitOver Integer if R has LinearlyExplicitOver Integer and R has Ring

LinearlyExplicitOver R if R has Ring

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

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

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 SingletonAsOrderedSet if R has SemiRing

RightModule Fraction Integer if R has Algebra Fraction Integer

RightModule Integer if R has LinearlyExplicitOver Integer and R has Ring

StepThrough if R has StepThrough

TwoSidedRecip if R has CommutativeRing

UniqueFactorizationDomain if R has PolynomialFactorizationExplicit

unitsKnown if R has Ring