The GAP 4 Package MONOID 3.1.4

IMPORTANT UPDATE 2011: the monoid package has been superseded by the Citrus package for GAP 4.5. Consequently, monoid is no longer maintained and we recommend you use Citrus instead.

Author: James Mitchell.

Requires: GAP version 4.4.12 or higher, GAPDoc in version 1.1 or higher to access the documentation.

Suggested other packages: orb in version 3.4 or higher, grape in version 4.3 or higher.

Current version: 3.1.4 (released Sat 8 May 2010 17:23:06 BST).


Download: monoid3r1p4.tar.gz or monoid3r1p4.tar.bz2

Documentation: pdf format or html format.


MONOID 3.1.4 is an updated version of the package with the same name for GAP 3; see

for more information about the original MONOID package by Goetz Pfeiffer, Steve A. Linton, Edmund F. Robertson, and Nik Ruskuc.

MONOID 3.1.4 retains all the functionality of the original MONOID package. In particular, MONOID 3.1.4 contains more efficient methods than those available in the GAP library for computing orbits, calculating Green's classes, finding the size, the elements, and testing membership in transformation semigroups. After MONOID has been loaded many of these methods are automatically used in preference to those in the library and do not need to be called explicitly by the user.

In addition, there are new methods for testing if a semigroup satisfies a particular property, such as if it is regular, simple, inverse, or completely regular; computing the automorphism group of a transformation semigroup; homomorphisms and isomorphism between some types of semigroup; and functions to create some well-known transformation semigroups.

The MONOID package is written in GAP code only but uses the GRAPE and orb packages.

GRAPE is used in the methods for computing the automorphism group of a semigroup. The functions AutomorphismGroup, AutomorphismsSemigroupInGroup, RZMSGraph, RightTransStabAutoGroup, and IsomorphismSemigroups can only be used fully if GRAPE is fully installed in a UNIX environment. Installation of GRAPE is described in the README file of the GRAPE distribution and in the section entitled `Installing the GRAPE Package' of the GRAPE manual. See

or the main GAP webpages for more information.

orb is used to provide efficient methods for computing orbits in transformation semigroups that underpin most of the features of MONOID. The MONOID package can be used without orb but is much less efficient. We highly recommended that you install orb. See

or the main GAP webpages for more information.


Current version 3.1.4: download the current version of MONOID here: monoid3r1p4.tar.gz or monoid3r1p4.tar.bz2 (released Sat 8 May 2010 17:23:06 BST).



The following steps should lead to a successful installation of the MONOID package:

Example Installation

The following is an example of the above steps being successfully completed.

unix> gunzip monoid.tar.gz
unix> tar -xf monoid.tar
unix> mv monoid gapROOT/pkg
unix> gap

[ ... ]

gap> LoadPackage("monoid");
Loading Monoid 3.1.4
by James Mitchell (
For help, type: ?the monoid package

Presuming that the above steps can be completed successfully you will be running the MONOID package!

If you want to check that the package is working correctly, please go to the testing section of the MONOID manual.

Please follow one of the following links to the MONOID package documentation:
Final thoughts

If you use the MONOID package, I would really appreciate it if you would let me know by sending me an email. If you notice any features missing that you think are important or if you find a bug, I would very much appreciate it if you would let me know.

file created on Wed Apr 9 2008 by J. D. Mitchell.
last modified on Sat 8 May 2010 17:23:06 BST by J. D. Mitchell.

Valid XHTML 1.0 Strict Valid CSS!