Smallsemi

A library of small semigroups

Version 0.7.1
Released 2024-08-27

This project is maintained by James Mitchell

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                                                                           +
+   Copyright (C) 2008-2024          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          +
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           +
+   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
                   README
                   ======
                          file for the
                                       GAP 4
                                       =====
                                             package
                                                     'Smallsemi'.
                                                     ===========

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

--------------
 Requirements
--------------

This software is written for GAP 4. It requires an existing installation of
GAP (see www.gap-system.org) 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.

***RAM***
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.

--------------
 Installation
--------------

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.13.tar.gz' from

       https://gap-packages.github.io/smallsemi/

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.13.tar.gz

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

----------
 Contents
----------

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

    data, doc, gap, and tst

and the files

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

---------
 Loading
---------

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

---------
 Testing
---------

You can verify the success of the installation by running the test file.
To do so, enter the following command into a fresh GAP session.

    ReadPackage( "smallsemi", "tst/testall.g" );

If successful it will exit GAP with the message

    #I  No errors detected while testing

---------
 Contact
---------

If you find any bugs or have any suggestions or comments, we would
very much appreciate it if you would let us know via our
issue tracker .