Version 2.8.0

This project is maintained by J. D. Mitchell

GAP Package Semigroups

The Semigroups package is a GAP package containing methods for semigroups, monoids, and inverse semigroups, principally of transformations, partial permutations, bipartitions, subsemigroups of regular Rees 0-matrix semigroups, free inverse semigroups, free bands, and semigroups of matrices over finite fields.

Semigroups contains more efficient methods than those available in the GAP library (and in many cases more efficient than any other software) for creating semigroups, monoids, and inverse semigroup, calculating their Green's structure, ideals, size, elements, group of units, small generating sets, testing membership, finding the inverses of a regular element, factorizing elements over the generators, and many more. It is also possible to test if a semigroup satisfies a particular property, such as if it is regular, simple, inverse, completely regular, and a variety of further properties.

There are methods for finding congruences of certain types of semigroups, the normalizer of a semigroup in a permutation group, the maximal subsemigroups of a finite semigroup, and smaller degree partial permutation representations of inverse semigroups. There are functions for producing pictures of the Green's structure of a semigroup, and for drawing bipartitions.

The current version of this package is version 2.8.0. For more information, please refer to the package manual. There is also a and a file.


This package requires GAP version >=4.8.3

The following other GAP packages are needed:

The following additional GAP packages are not required, but suggested:


J. D. Mitchell, M. Delgado, J. East, A. Egri-Nagy, N. Ham, J. Jonusas, M. Pfeiffer, B. Steinberg, J. Smith, M. Torpey, W. Wilson


For bug reports, feature requests and suggestions, please use the issue tracker.

How to cite Semigroups

If you are using BibTeX, you can use the following BibTeX entry for the current version of Semigroups:

@manual{ Mitchell2016aa,
         Author = { Mitchell, J. D. and others },
         Month = { May },
         Title = { Semigroups - GAP package, Version 2.8.0 },
         Doi = { 10.5281/zenodo.53112 },
         Url = { },
         Year = { 2016 }}