Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind
 Top of Book   Previous Chapter   Next Chapter 

1 The MONOID package
 1.1 Introduction
 1.2 Installing MONOID
 1.3 Testing MONOID
 1.4 Changes
 1.5 Forthcoming Features

1 The MONOID package

1.1 Introduction

This manual describes the MONOID package version 3.1.3 for computing with transformation semigroups. MONOID 3.1.3 is an updated version of the package with the same name for GAP 3; see http://schmidt.nuigalway.ie/monoid/index.html for more information about the original MONOID by Goetz Pfeiffer and Steve A. Linton, Edmund F. Robertson and Nik Ruskuc.

MONOID 3.1.3 retains all the functionality of the original MONOID package. In particular, MONOID 3.1.3 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; see Chapters 3 and 4. 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. These methods are described in [LPRR98] and the algorithms themselves are described in [LPRR02].

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, see Chapter 5; methods for computing the automorphism group of a transformation semigroup see Section 7.4; methods for finding homomorphisms and isomorphism between some types of semigroups see Chapter 7; and functions to create some well-known semigroups see Chapter 6. The property testing methods are described in [GM05] and the method for computing the automorphism group of a semigroup is described in [ABM07].

The MONOID package is written in GAP code only but relies on the GRAPE package Version 4.2 or higher in the methods for computing the automorphism group of a semigroup. The following functions can only be used fully if GRAPE is fully installed (and loaded):

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 http://www.maths.qmul.ac.uk/~leonard/grape/ or the main GAP webpages for more information.

If you want to take advantage of the online help facilities in MONOID, then the gapdoc package Version 1.1 or higher is also required; see http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc/ for further details of how to obtain and install gapdoc.

1.2 Installing MONOID

In this section we give a brief description of how to start using MONOID. If you have any problems getting MONOID working, then please email me directly at jdm3@st-and.ac.uk.

It is assumed that you have a working copy of GAP with version number 4.4.10 or higher. The most up-to-date version of GAP and instructions on how to install it can be obtained from the main GAP webpage http://www.gap-system.org Those functions in MONOID described in Chapter 7 relating to automorphism groups of semigroups require the GRAPE (for computing with graphs and groups) to be loaded. In particular, GRAPE must be installed in a UNIX operating system so that the automorphism group and isomorphism testing functions (for graphs) can be used.

Please go to http://www.maths.qmul.ac.uk/~leonard/grape/ or the main GAP webpage for further details on how to obtain and install GRAPE.

The following is a summary of the steps that should lead to a successful installation of MONOID.

Below is an example of an installation of MONOID in UNIX where GAPROOT should be substituted with the main GAP directory (the one containing the folders `bin', `lib', and so on) in your installation of GAP.

> gunzip monoid3r1p3.tar.gz 
> tar -xf monoid3r1p3.tar 
> mv MONOID GAPROOT/pkg
> gap 

[ ... ]

gap> LoadPackage("monoid");
Loading MONOID 3.1.3
by James Mitchell (www-groups.mcs.st-and.ac.uk/~jamesm)
For help, type: ?the monoid package 
true
gap> 

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 see Section 1.3.

Please note: before you can used MONOID fully you must install GRAPE as described above.

1.3 Testing MONOID

In this section we describe how to test that MONOID is working as intended. To test that MONOID is installed correctly copy the following lines into GAP.

LoadPackage( "monoid" );;
dirs := DirectoriesPackageLibrary( "monoid", "tst" );;
Read(Filename( dirs, "installtest.g" ) );

and press return. Please note that it will take a few moments before the tests are complete.

If the output looks like the following, then it is probable that you have a fully working copy of MONOID 3.1.3.

gap> LoadPackage( "monoid" );;
gap> dirs := DirectoriesPackageLibrary( "monoid", "tst" );;
gap> Read( Filename( dirs, "installtest.g" ) );;
+ install_no_grape.tst 3.1.3
+ GAP4stones: 1
+ install_with_grape.tst 3.1.3
+ GAP4stones: 2

If you want to perform more extensive tests, then copy the following lines into GAP.

LoadPackage( "monoid" );;
dirs := DirectoriesPackageLibrary( "monoid", "tst" );;
Read(Filename( dirs, "testall.g" ) );

Please note that these tests could take a long time to finish.

If something goes wrong, then please review the instructions in Section 1.2 and ensure that MONOID has been properly installed. If you continue having problems, please email me at jdm3@st-and.ac.uk.

1.4 Changes

1.5 Forthcoming Features

The features are currently under development and will be available in a future version of MONOID:

 Top of Book   Previous Chapter   Next Chapter 
Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind

generated by GAPDoc2HTML