Macaulay2 » Documentation
Packages » Macaulay2Doc :: OrderedMonoid
next | previous | forward | backward | up | index | toc

OrderedMonoid -- the class of all ordered monoids


An ordered monoid is a multiplicative monoid together with an ordering of its elements. The ordering is required to be compatible with the multiplication in the sense that if x < y then x z < y z. The class of all ordered monoids is OrderedMonoid.

The reason for making a separate class for ordered monoids is that monoid rings can be implemented more efficiently for them - an element of the monoid ring can be stored as a sorted list, each element of which is a pair consisting of an element of the monoid and a coefficient. See PolynomialRing.

A free commutative ordered monoid can be created with monoid.

See also

Types of ordered monoid :

For the programmer

The object OrderedMonoid is a type, with ancestor classes Monoid < Type < MutableHashTable < HashTable < Thing.