next | previous | forward | backward | up | top | index | toc | home

OrderedMonoid -- the class of all ordered monoids

Description

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 monomials 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 :

Methods that use an ordered monoid :

For the programmer

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