A very natural concept and important tool in the study of monoids is the idea of having monoids acting on certain (finite) sets. This provides a way to turn any monoid into a (finite) transformation monoid.

Let *M* be a monoid and *D* a set. An **action** of *M* on *D* is a map
[
(d, m) mapsto d^m colon D times M to D
]
such that *d^1 = d* for all *d in D* (and the identity *1* of *M*), and
that *(d^{m_1})^{m_2} = d^{(m_1 m_2)}* for all *d in D* and all *m_1,
m_2 in M*. In this situation we also say that *M* **acts on** *D*, or,
that *D* is an ** M-set**.

In contrast to group operations (see chapter "Operations of Groups"), a
monoid action often comes with a natural grading that can be used to
carry out certain calculations more efficiently. To be precise we work
with the following concept. Let *M* be a monoid acting on the set *D*.
A **grading** is a map *g colon D to {1, 2, 3, ...}* such that *g(d)
geq g(d^m)* for all *d in D* and all *m in M*. The trivial grading
is the map given by *g(d) = 1* for all *d in D*.

In **GAP** a monoid usually acts on a set via the caret operator `^`

.
This action is refered to as the **canonical action**. It is, however,
possible to define other actions (see Other Actions).

This chapter describes functions that deal with finite actions of
monoids. There are functions for different types of orbit calculations
Orbit for Monoids, ShortOrbit, GradedOrbit). Then there are functions which
construct the transformation monoid corresponding to a particular action
of a monoid *M* on a set *D* (see Action and ActionWithZero) where,
if necessary, an additional point *0* is added to the domain *D*.

The functions described here are in the file `"action.g"`

.

[Index] Version 2.4 (May 1998)