MonoidRing(R, M)

mring.spad line 33 [edit on github]

MonoidRing(R, M), implements the algebra of all maps from the monoid M to the commutative ring R with finite support. Multiplication of two maps f and g is defined to map an element c of M to the (convolution) sum over f(a)g(b) such that ab = c. Thus M can be identified with a canonical basis and the maps can also be considered as formal linear combinations of the elements in M. Scalar multiples of a basis element are called monomials. A prominent example is the class of polynomials where the monoid is a direct product of the natural numbers with pointwise addition. When M is FreeMonoid Symbol, one gets polynomials in infinitely many non-commuting variables. Another application area is representation theory of finite groups G, where modules over MonoidRing(R, G) are studied.

* : (%, %) -> %
from Magma
* : (%, R) -> %
from RightModule(R)
* : (R, %) -> %
from LeftModule(R)
* : (Integer, %) -> %
from AbelianGroup
* : (NonNegativeInteger, %) -> %
from AbelianMonoid
* : (PositiveInteger, %) -> %
from AbelianSemiGroup
+ : (%, %) -> %
from AbelianSemiGroup
- : % -> %
from AbelianGroup
- : (%, %) -> %
from AbelianGroup
0 : () -> %
from AbelianMonoid
1 : () -> %
from MagmaWithUnit
= : (%, %) -> Boolean
from BasicType
^ : (%, NonNegativeInteger) -> %
from MagmaWithUnit
^ : (%, PositiveInteger) -> %
from Magma
annihilate? : (%, %) -> Boolean
from Rng
antiCommutator : (%, %) -> %
from NonAssociativeSemiRng
associator : (%, %, %) -> %
from NonAssociativeRng
characteristic : () -> NonNegativeInteger
from NonAssociativeRing
charthRoot : % -> Union(%, "failed") if R has CharacteristicNonZero
from CharacteristicNonZero
coefficient : (%, M) -> R
from FreeModuleCategory(R, M)
coefficients : % -> List(R)
from FreeModuleCategory(R, M)
coerce : % -> % if R has CommutativeRing and M has CommutativeStar
from Algebra(%)
coerce : M -> %
from CoercibleFrom(M)
coerce : R -> %
from Algebra(R)
coerce : Integer -> %
from NonAssociativeRing
coerce : List(Record(k : M, c : R)) -> %
from MonoidRingCategory(R, M)
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
commutator : (%, %) -> %
from NonAssociativeRng
construct : List(Record(k : M, c : R)) -> %
from IndexedProductCategory(R, M)
constructOrdered : List(Record(k : M, c : R)) -> % if M has Comparable
from IndexedProductCategory(R, M)
convert : % -> InputForm if M has Finite and R has Finite
from ConvertibleTo(InputForm)
enumerate : () -> List(%) if M has Finite and R has Finite
from Finite
hash : % -> SingleInteger if M has Finite and R has Finite
from Hashable
hashUpdate! : (HashState, %) -> HashState if M has Finite and R has Finite
from Hashable
index : PositiveInteger -> % if M has Finite and R has Finite
from Finite
latex : % -> String
from SetCategory
leadingCoefficient : % -> R if M has Comparable
from IndexedProductCategory(R, M)
leadingMonomial : % -> % if M has Comparable
from IndexedProductCategory(R, M)
leadingSupport : % -> M if M has Comparable
from IndexedProductCategory(R, M)
leadingTerm : % -> Record(k : M, c : R) if M has Comparable
from IndexedProductCategory(R, M)
leftPower : (%, NonNegativeInteger) -> %
from MagmaWithUnit
leftPower : (%, PositiveInteger) -> %
from Magma
leftRecip : % -> Union(%, "failed")
from MagmaWithUnit
linearExtend : (Mapping(R, M), %) -> R if R has CommutativeRing
from FreeModuleCategory(R, M)
listOfTerms : % -> List(Record(k : M, c : R))
from IndexedDirectProductCategory(R, M)
lookup : % -> PositiveInteger if M has Finite and R has Finite
from Finite
map : (Mapping(R, R), %) -> %
from IndexedProductCategory(R, M)
monomial : (R, M) -> %
from IndexedProductCategory(R, M)
monomial? : % -> Boolean
from IndexedProductCategory(R, M)
monomials : % -> List(%)
from FreeModuleCategory(R, M)
numberOfMonomials : % -> NonNegativeInteger
from IndexedDirectProductCategory(R, M)
one? : % -> Boolean
from MagmaWithUnit
opposite? : (%, %) -> Boolean
from AbelianMonoid
plenaryPower : (%, PositiveInteger) -> % if R has CommutativeRing
from NonAssociativeAlgebra(R)
random : () -> % if M has Finite and R has Finite
from Finite
recip : % -> Union(%, "failed")
from MagmaWithUnit
reductum : % -> % if M has Comparable
from IndexedProductCategory(R, M)
retract : % -> M
from RetractableTo(M)
retract : % -> R
from RetractableTo(R)
retractIfCan : % -> Union(M, "failed")
from RetractableTo(M)
retractIfCan : % -> Union(R, "failed")
from RetractableTo(R)
rightPower : (%, NonNegativeInteger) -> %
from MagmaWithUnit
rightPower : (%, PositiveInteger) -> %
from Magma
rightRecip : % -> Union(%, "failed")
from MagmaWithUnit
sample : () -> %
from AbelianMonoid
size : () -> NonNegativeInteger if M has Finite and R has Finite
from Finite
smaller? : (%, %) -> Boolean if M has Finite and R has Finite or R has Comparable and M has Comparable
from Comparable
subtractIfCan : (%, %) -> Union(%, "failed")
from CancellationAbelianMonoid
support : % -> List(M)
from FreeModuleCategory(R, M)
terms : % -> List(Record(k : M, c : R))
from MonoidRingCategory(R, M)
zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

CharacteristicNonZero

Comparable

ConvertibleTo(InputForm)

CoercibleFrom(R)

Algebra(R)

RightModule(%)

Monoid

Algebra(%)

AbelianMonoid

BiModule(R, R)

NonAssociativeAlgebra(R)

FreeModuleCategory(R, M)

CancellationAbelianMonoid

MagmaWithUnit

NonAssociativeRing

RightModule(R)

BiModule(%, %)

LeftModule(%)

LeftModule(R)

Module(%)

SetCategory

RetractableTo(M)

IndexedProductCategory(R, M)

Rng

CommutativeRing

TwoSidedRecip

Magma

CoercibleFrom(M)

SemiGroup

IndexedDirectProductCategory(R, M)

CoercibleTo(OutputForm)

AbelianSemiGroup

CommutativeStar

NonAssociativeSemiRing

NonAssociativeAlgebra(%)

MonoidRingCategory(R, M)

AbelianProductCategory(R)

Module(R)

CharacteristicZero

RetractableTo(R)

NonAssociativeRng

unitsKnown

Ring

SemiRng

AbelianGroup

NonAssociativeSemiRng

Hashable

Finite

BasicType

SemiRing