AbelianMonoidRing(R, E)

polycat.spad line 1 [edit on github]

Abelian monoid ring elements (not necessarily of finite support) of this ring are of the form formal SUM (r_i * e_i) where the r_i are coefficients and the e_i, elements of the ordered abelian monoid, are thought of as exponents or monomials. The monomials commute with each other, but in general do not commute with the coefficients (which themselves may or may not be commutative). See FiniteAbelianMonoidRing for the case of finite support. A useful common model for polynomials and power series. Conceptually at least, only the non-zero terms are ever operated on.

* : (%, %) -> %
from Magma
* : (%, R) -> %
from RightModule(R)
* : (%, Fraction(Integer)) -> % if R has Algebra(Fraction(Integer))
from RightModule(Fraction(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

p/c divides p by the coefficient c.

0 : () -> %
from AbelianMonoid
1 : () -> % if R has SemiRing
from MagmaWithUnit
= : (%, %) -> Boolean
from BasicType
^ : (%, 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 IntegralDomain and % has VariablesCommuteWithCoefficients
from EntireRing
associator : (%, %, %) -> % if R has Ring
from NonAssociativeRng
characteristic : () -> NonNegativeInteger if R has Ring
from NonAssociativeRing
charthRoot : % -> Union(%, "failed") if R has CharacteristicNonZero
from CharacteristicNonZero
coefficient : (%, E) -> R

coefficient(p, e) extracts the coefficient of the monomial with exponent e from polynomial p, or returns zero if exponent is not present.

coerce : % -> % if R has CommutativeRing and % has VariablesCommuteWithCoefficients or R has IntegralDomain and % has VariablesCommuteWithCoefficients
from Algebra(%)
coerce : R -> % if R has CommutativeRing and % has VariablesCommuteWithCoefficients
from Algebra(R)
coerce : Fraction(Integer) -> % if R has Algebra(Fraction(Integer))
from Algebra(Fraction(Integer))
coerce : Integer -> % if R has Ring
from NonAssociativeRing
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
commutator : (%, %) -> % if R has Ring
from NonAssociativeRng
construct : List(Record(k : E, c : R)) -> %
from IndexedProductCategory(R, E)
constructOrdered : List(Record(k : E, c : R)) -> %
from IndexedProductCategory(R, E)
degree : % -> E

degree(p) returns the maximum of the exponents of the terms of p.

exquo : (%, %) -> Union(%, "failed") if R has IntegralDomain and % has VariablesCommuteWithCoefficients
from EntireRing
latex : % -> String
from SetCategory
leadingCoefficient : % -> R
from IndexedProductCategory(R, E)
leadingMonomial : % -> %
from IndexedProductCategory(R, E)
leadingSupport : % -> E
from IndexedProductCategory(R, E)
leadingTerm : % -> Record(k : E, c : R)
from IndexedProductCategory(R, E)
leftPower : (%, NonNegativeInteger) -> % if R has SemiRing
from MagmaWithUnit
leftPower : (%, PositiveInteger) -> %
from Magma
leftRecip : % -> Union(%, "failed") if R has SemiRing
from MagmaWithUnit
map : (Mapping(R, R), %) -> %
from IndexedProductCategory(R, E)
monomial : (R, E) -> %
from IndexedProductCategory(R, E)
monomial? : % -> Boolean
from IndexedProductCategory(R, E)
one? : % -> Boolean if R has SemiRing
from MagmaWithUnit
opposite? : (%, %) -> Boolean
from AbelianMonoid
plenaryPower : (%, PositiveInteger) -> % if R has IntegralDomain and % has VariablesCommuteWithCoefficients or R has Algebra(Fraction(Integer)) or R has CommutativeRing and % has VariablesCommuteWithCoefficients
from NonAssociativeAlgebra(%)
recip : % -> Union(%, "failed") if R has SemiRing
from MagmaWithUnit
reductum : % -> %
from IndexedProductCategory(R, E)
rightPower : (%, NonNegativeInteger) -> % if R has SemiRing
from MagmaWithUnit
rightPower : (%, PositiveInteger) -> %
from Magma
rightRecip : % -> Union(%, "failed") if R has SemiRing
from MagmaWithUnit
sample : () -> %
from AbelianMonoid
subtractIfCan : (%, %) -> Union(%, "failed")
from CancellationAbelianMonoid
unit? : % -> Boolean if R has IntegralDomain and % has VariablesCommuteWithCoefficients
from EntireRing
unitCanonical : % -> % if R has IntegralDomain and % has VariablesCommuteWithCoefficients
from EntireRing
unitNormal : % -> Record(unit : %, canonical : %, associate : %) if R has IntegralDomain and % has VariablesCommuteWithCoefficients
from EntireRing
zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

CharacteristicNonZero

Module(Fraction(Integer))

noZeroDivisors

LeftModule(Fraction(Integer))

RightModule(%)

Monoid

Algebra(%)

Algebra(R)

AbelianMonoid

BiModule(R, R)

NonAssociativeAlgebra(Fraction(Integer))

NonAssociativeAlgebra(R)

CancellationAbelianMonoid

MagmaWithUnit

NonAssociativeRing

AbelianGroup

RightModule(Fraction(Integer))

CommutativeStar

LeftModule(%)

LeftModule(R)

Module(%)

SetCategory

Algebra(Fraction(Integer))

Rng

CommutativeRing

IntegralDomain

SemiGroup

TwoSidedRecip

Magma

BiModule(%, %)

unitsKnown

CoercibleTo(OutputForm)

AbelianSemiGroup

NonAssociativeSemiRing

NonAssociativeAlgebra(%)

IndexedProductCategory(R, E)

AbelianProductCategory(R)

Module(R)

RightModule(R)

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

NonAssociativeRng

Ring

SemiRng

EntireRing

NonAssociativeSemiRng

CharacteristicZero

BasicType

SemiRing