# Monoid -- the class of all monoids

## Description

A monoid is a set with a multiplicative operation on it and an identity element. A typical monoid is the set of monomials in a polynomial ring, which we consider to be created before the polynomial ring is created.

## Methods that use a monoid :

• degreeGroup(Monoid) (missing documentation)
• "degreeLength(Monoid)" -- see degreeLength -- the length of the degree vector
• "degrees(Monoid)" -- see degrees(Ring) -- degrees of generators
• "degreesMonoid(Monoid)" -- see degreesRing -- the ring or monoid of degrees
• "degreesRing(Monoid)" -- see degreesRing -- the ring or monoid of degrees
• "describe(Monoid)" -- see describe -- real description
• generators(Monoid) -- list of generators
• "heft(Monoid)" -- see heft -- heft vector of ring or monoid
• Monoid _* (missing documentation)
• numgens(Monoid) -- number of generators of a monoid
• options(Monoid) -- get values used for optional arguments
• "InexactFieldFamily Monoid" -- see Ring Monoid -- make a polynomial ring
• Ring Monoid -- make a polynomial ring
• RingElement _ Monoid (missing documentation)
• "use(Monoid)" -- see use(Ring) -- install ring variables and ring operations
• vars(Monoid) -- list of variables in a monoid

## For the programmer

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