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.
Current version: 3.1.4 (released Sat 8 May 2010 17:23:06 BST).
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.
- from 3.1.3 to 3.1.4:
- MonoidOrbit, GradedOrbits, and so on now accept a transformation collection as a first argument.
- If the `orb' package is available, then hash tables are used instead of plain lists when computing orbits. This dramatically increases the efficiency of these computations.
- the function StrongOrbitsInForwardOrbit was introduced.
- an improved method for RandomReesMatrixSemigroup has been installed so that if the third argument is a positive integer a randomly selected small group of that size is used to create the semigroup.
- several other minor bugs have been fixed.
- from 3.1.2 to 3.1.3: the method for PreImagesRepresentative for a semigroup homomorphism by function now tests whether the homomorphism is bijective and total before trying to find preimages. Some other minor corrections were made to the documentation and webpages.
- from 3.1.1 to 3.1.2: the following new features were introduced: several new functions to create transformations, a new class of semigroup, for further details go here; and a bug relating to the semigroup of order preserving mappings was fixed.
- from 3.1 to 3.1.1: fixed a bug that produced an error when loading MONOID with the GRAPE package present but not fully installed.
The following steps should lead to a successful installation of the MONOID package:
- unpack the file (for example, by using typing `gunzip monoid3r1.tar.gz' and then `tar -xf monoid.tar' in UNIX).
- move the resultant directory MONOID into the `pkg' directory of your GAP directory (the directory containing the directories `lib', `doc', `pkg', and so on).
- if you want to make use of the methods for finding automorphism groups of semigroups, as mentioned above, make sure that the GRAPE package is fully installed in a UNIX environment.
- start GAP in the usual way.
- type `LoadPackage("monoid");'.
The following is an example of the above steps being successfully completed.
unix> tar -xf monoid.tar
unix> mv monoid gapROOT/pkg
[ ... ]
Loading Monoid 3.1.4
by James Mitchell (www-groups.mcs.st-and.ac.uk/~jamesm)
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.
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.