A library of small semigroups

Version 0.6.12
Released 2019-08-16

This project is maintained by James Mitchell

+                                                                           +
+   Copyright (C) 2008-2015          Andreas Distler & James D. Mitchell    +
+                                                                           +
+   'Smallsemi' is free software: you can redistribute it and/or modify     +
+   it under the terms of the GNU General Public License as published by    +
+   the Free Software Foundation, either version 3 of the license, or       +
+   (at your option) any later version.                                     +
+                                                                           +
+   'Smallsemi' is distributed in the hope that it will be useful,          +
+   but WITHOUT ANY WARRANTY; without even the implied warranty of          +
+   GNU General Public License for more details.                            +
+                                                                           +
+   A copy of the GNU General Public License is available in the file       +
+   'LICENSE'; or for later versions see .   +
+                                                                           +
+   You can find information on how to contact us at the end of the         +
+   README file and on the front page of the documentation.                 +
+                                                                           +

       This is the 
                          file for the
                                       GAP 4

The 'Smallsemi' package is a data library of semigroups of small size. It
provides all semigroups with at most 8 elements as well as various
information about these objects. The reason that semigroups of higher orders
are not included is the huge number of such objects. The numbers of
semigroups of sizes 1 to 9 are given in the table below. The number of
semigroups of size 10 is not known at the time of writing.

 size | number of semigroups
   1  |                    1
   2  |                    4
   3  |                   18
   4  |                  126
   5  |                1 160
   6  |               15 973
   7  |              836 021
   8  |        1 843 120 128
   9  |   52 989 400 714 478


This software is written for GAP 4. It requires an existing installation of
GAP (see in version 4.8 or higher.

***operating system***
The current version of 'Smallsemi' was created for use under Unix. It will
also work under Windows but only if all files in the directory
'smallsemi/data' and all of its subdirectories are uncompressed.

Working with 'Smallsemi' can be memory expensive. We recommend to have at
least 1 GB of RAM available. With less than 512 MB not all the semigroups of
size 8 can be accessed.

***disk space***
As the data in the library is compressed, 30 MB of disk space will be 
sufficient to install 'Smallsemi' under Unix. To use the library under
Windows the data has to be uncompressed and will then occupy approx. 1.6 GB.


The installation follows standard GAP rules as outlined in the following
steps; see Section 74.1 in the reference manual of GAP for further details:

1) Download the archive 'smallsemi-0.6.11.tar.gz' from

2) Move the archive inside a 'pkg' directory. This can be either the main
   'pkg' directory in your GAP installation or your personal 'pkg' directory.

3) Complete the installation by unpacking the archive, e.g. under Linux type 

       tar -xzf smallsemi-0.6.11.tar.gz

   at the prompt for the gzipped tar-archive. A subdirectory 'smallsemi-0.6.11'
   will be created inside the 'pkg' directory.


After installation the folder 'smallsemi-0.6.11' should contain the directories

    data, doc, gap, and tst 

and the files

    CHANGELOG, LICENSE, PackageInfo.g, README, init.g, makedoc.g, and read.g


To use the package type 'LoadPackage("smallsemi");' at the GAP prompt.


You can verify the success of the installation by running the test file:

gap> ReadPackage( "smallsemi", "tst/testall.g" );
Smallsemi package: small.tst
GAP4stones: 41
Smallsemi package: properties.tst
GAP4stones: 12
Smallsemi package: enums.tst
GAP4stones: 1
Smallsemi package: greensstar.tst
GAP4stones: 4


If you use 'Smallsemi', please tell us by sending an email to
 or .

If you find any bugs or have any suggestions or comments, we would
very much appreciate it if you would let us know. Also, we would like
to hear about applications of this software.

Andreas Distler and James Mitchell, St Andrews, 24th of February 2014.

Andreas Distler
  TU Braunschweig
  AG Algebra und Diskrete Mathematik
  Rebenring 31 (A14)
  38106 Braunschweig

James Mitchell
  Mathematical Institute
  North Haugh
  St Andrews, Fife
  KY16 9SS
  Scotland, UK