GAP (semigroups) - Contents

Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 Bib Ind
[Top of Book] [Contents] [Next Chapter]

[MathJax on]

# Semigroups

Version 2.7.4

J. D. Mitchell
Email: jdm3@st-and.ac.uk
Homepage: http://tinyurl.com/jdmitchell

Manuel Delgado

James East

Attila Egri-Nagy

Julius Jonušas

Markus Pfeiffer

Ben Steinberg

Jhevon Smith

Michael Torpey

Wilf Wilson

### Abstract

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 and the character tables of inverse semigroups. There are functions for producing pictures of the Green's structure of a semigroup, and for drawing bipartitions.

### Copyright

© 2011-16 by J. D. Mitchell et al.

Semigroups 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.

### Acknowledgements

I would like to thank P. von Bunau, A. Distler, S. Linton, C. Nehaniv, J. Neubueser, M. R. Quick, E. F. Robertson, and N. Ruskuc for their help and suggestions. Special thanks go to J. Araujo for his mathematical suggestions and to M. Neunhoeffer for his invaluable help in improving the efficiency of the package.

Manuel Delgado and Attila Egri-Nagy contributed to the functions `Splash` (4.8-1) and `DotDClasses` (4.8-2).

James East, Attila Egri-Nagy, and Markus Pfeiffer contributed to the part of the package relating to bipartitions. I would like to thank the University of Western Sydney for their support of the development of this part of the package.

Julius Jonušas contributed the part of the package relating to free inverse semigroups, and contributed to the code for ideals.

Yann Peresse and Yanhui Wang contributed to the function `MunnSemigroup` (2.5-10).

Jhevon Smith and Ben Steinberg contributed the function `CharacterTableOfInverseSemigroup` (4.7-16).

Michael Torpey contributed the part of the package relating to congruences of Rees (0-)matrix semigroups.

Wilf Wilson contributed to the part of the package relating maximal subsemigroups and smaller degree partial permutation representations of inverse semigroups. We are also grateful to C. Donoven and R. Hancock for their contribution to the development of the algorithms for maximal subsemigroups and smaller degree partial permutation representations.

Markus Pfeiffer contributed the majority of the code relating to semigroups of matrices over finite fields.

We would also like to acknowledge the support of the Centre of Algebra at the University of Lisbon, and of EPSRC grant number GR/S/56085/01.

### Contents

1 The Semigroups package
1.1 Introduction
1.2 Installing the Semigroups package
1.3 Compiling the documentation
1.3-1 SemigroupsMakeDoc
1.4 Testing the installation
1.4-1 SemigroupsTestInstall
1.4-2 SemigroupsTestManualExamples
1.4-3 SemigroupsTestAll
1.5 More information during a computation
1.5-1 InfoSemigroups
1.6 Reading and writing elements to a file
1.6-1 SemigroupsDir
1.6-2 ReadGenerators
1.6-3 WriteGenerators
1.6-4 IteratorFromGeneratorsFile
2 Creating semigroups and monoids
2.1 Random semigroups
2.1-1 RandomInverseMonoid
2.1-2 RandomTransformationMonoid
2.1-3 RandomPartialPermMonoid
2.1-4 RandomBinaryRelationMonoid
2.1-5 RandomBipartitionSemigroup
2.1-6 RandomMatrixSemigroup
2.2 New semigroups from old
2.2-1 ClosureInverseSemigroup
2.2-2 ClosureSemigroup
2.2-3 SubsemigroupByProperty
2.2-4 InverseSubsemigroupByProperty
2.3 Options when creating semigroups
2.3-1 SemigroupsOptionsRec
2.4 Changing the representation of a semigroup
2.4-1 AsTransformationSemigroup
2.4-2 IsomorphismPermGroup
2.4-3 IsomorphismBipartitionSemigroup
2.4-4 IsomorphismBlockBijectionSemigroup
2.4-5 IsomorphismMatrixSemigroup
2.5 Standard examples
2.5-1 EndomorphismsPartition
2.5-2 PartitionMonoid
2.5-3 BrauerMonoid
2.5-4 JonesMonoid
2.5-5 FactorisableDualSymmetricInverseSemigroup
2.5-6 DualSymmetricInverseSemigroup
2.5-7 PartialTransformationSemigroup
2.5-8 FullMatrixSemigroup
2.5-9 SpecialLinearSemigroup
2.5-10 MunnSemigroup
2.5-11 Monoids of order preserving functions
2.5-12 SingularTransformationSemigroup
2.5-13 RegularBinaryRelationSemigroup
2.5-14 MonogenicSemigroup
2.5-15 RectangularBand
2.5-16 ZeroSemigroup
2.5-17 LeftZeroSemigroup
3 Ideals
3.1 Creating ideals
3.1-1 SemigroupIdeal
3.2 Attributes of ideals
3.2-1 GeneratorsOfSemigroupIdeal
3.2-2 MinimalIdealGeneratingSet
3.2-3 SupersemigroupOfIdeal
4 Determining the structure of a semigroup
4.1 Expressing semigroup elements as words in generators
4.1-1 EvaluateWord
4.1-2 Factorization
4.2 Creating Green's classes
4.2-1 XClassOfYClass
4.2-2 GreensXClassOfElement
4.2-3 GreensXClassOfElementNC
4.2-4 GroupHClass
4.3 Iterators and enumerators of classes and representatives
4.3-1 GreensXClasses
4.3-2 IteratorOfXClassReps
4.3-3 IteratorOfXClasses
4.3-4 XClassReps
4.4 Attributes and properties directly related to Green's classes
4.4-1 Less than for Green's classes
4.4-2 InjectionPrincipalFactor
4.4-3 PrincipalFactor
4.4-4 IsRegularClass
4.4-5 NrRegularDClasses
4.4-6 NrXClasses
4.4-7 PartialOrderOfDClasses
4.4-8 SchutzenbergerGroup
4.4-9 MinimalDClass
4.4-10 MaximalDClasses
4.4-11 StructureDescriptionSchutzenbergerGroups
4.4-12 StructureDescriptionMaximalSubgroups
4.4-13 MultiplicativeNeutralElement
4.4-14 IsGreensClassNC
4.4-15 IsTransformationSemigroupGreensClass
4.4-16 IsBipartitionSemigroupGreensClass
4.4-17 IsPartialPermSemigroupGreensClass
4.4-18 IsMatrixSemigroupGreensClass
4.4-19 StructureDescription
4.4-20 IsGreensDLeq
4.5 Further attributes of semigroups
4.5-1 Generators
4.5-2 GroupOfUnits
4.5-3 Idempotents
4.5-4 NrIdempotents
4.5-5 IdempotentGeneratedSubsemigroup
4.5-6 IrredundantGeneratingSubset
4.5-7 MaximalSubsemigroups
4.5-8 MaximalSubsemigroups
4.5-9 IsMaximalSubsemigroup
4.5-10 MinimalIdeal
4.5-11 RepresentativeOfMinimalIdeal
4.5-12 MultiplicativeZero
4.5-13 Random
4.5-14 SmallGeneratingSet
4.5-15 ComponentRepsOfTransformationSemigroup
4.5-16 ComponentsOfTransformationSemigroup
4.5-17 CyclesOfTransformationSemigroup
4.5-18 IsTransitive
4.5-19 ComponentRepsOfPartialPermSemigroup
4.5-20 ComponentsOfPartialPermSemigroup
4.5-21 CyclesOfPartialPerm
4.5-22 CyclesOfPartialPermSemigroup
4.5-23 Normalizer
4.5-24 SmallestElementSemigroup
4.5-25 GeneratorsSmallest
4.5-26 UnderlyingSemigroupOfSemigroupWithAdjoinedZero
4.6 Further properties of semigroups
4.6-1 IsBand
4.6-2 IsBlockGroup
4.6-3 IsCommutativeSemigroup
4.6-4 IsCompletelyRegularSemigroup
4.6-5 IsCongruenceFreeSemigroup
4.6-6 IsGroupAsSemigroup
4.6-7 IsIdempotentGenerated
4.6-8 IsLeftSimple
4.6-9 IsLeftZeroSemigroup
4.6-10 IsMonogenicSemigroup
4.6-11 IsMonoidAsSemigroup
4.6-12 IsOrthodoxSemigroup
4.6-13 IsRectangularBand
4.6-14 IsRegularSemigroup
4.6-15 IsRightZeroSemigroup
4.6-16 IsXTrivial
4.6-17 IsSemigroupWithAdjoinedZero
4.6-18 IsSemilattice
4.6-19 IsSimpleSemigroup
4.6-20 IsSynchronizingSemigroup
4.6-21 IsZeroGroup
4.6-22 IsZeroRectangularBand
4.6-23 IsZeroSemigroup
4.6-24 IsZeroSimpleSemigroup
4.7 Properties and attributes of inverse semigroups
4.7-1 IsCliffordSemigroup
4.7-2 IsBrandtSemigroup
4.7-3 IsEUnitaryInverseSemigroup
4.7-4 IsFactorisableSemigroup
4.7-5 IsJoinIrreducible
4.7-6 IsMajorantlyClosed
4.7-7 IsMonogenicInverseSemigroup
4.7-8 JoinIrreducibleDClasses
4.7-9 MajorantClosure
4.7-10 Minorants
4.7-11 PrimitiveIdempotents
4.7-12 RightCosetsOfInverseSemigroup
4.7-13 SameMinorantsSubgroup
4.7-14 SmallerDegreePartialPermRepresentation
4.7-15 VagnerPrestonRepresentation
4.7-16 CharacterTableOfInverseSemigroup
4.8 Visualising the structure of a semigroup
4.8-1 Splash
4.8-2 DotDClasses
4.8-3 DotSemilatticeOfIdempotents
5 Bipartitions and blocks
5.1 The family and categories of bipartitions
5.1-1 IsBipartition
5.1-2 IsBipartitionCollection
5.1-3 BipartitionFamily
5.2 Creating bipartitions
5.2-1 Bipartition
5.2-2 BipartitionByIntRep
5.2-3 IdentityBipartition
5.2-4 LeftOne
5.2-5 RightOne
5.2-6 StarOp
5.2-7 RandomBipartition
5.3 Changing the representation of a bipartition
5.3-1 AsBipartition
5.3-2 AsBlockBijection
5.3-3 AsTransformation
5.3-4 AsPartialPerm
5.3-5 AsPermutation
5.4 Operators for bipartitions
5.4-1 PartialPermLeqBipartition
5.4-2 NaturalLeqPartialPermBipartition
5.4-3 NaturalLeqBlockBijection
5.4-4 PermLeftQuoBipartition
5.4-5 OnRightBlocksBipartitionByPerm
5.5 Attributes for bipartitons
5.5-1 DegreeOfBipartition
5.5-2 RankOfBipartition
5.5-3 ExtRepOfBipartition
5.5-4 RightBlocks
5.5-5 LeftBlocks
5.5-6 NrLeftBlocks
5.5-7 NrRightBlocks
5.5-8 NrBlocks
5.5-9 IsTransBipartition
5.5-10 IsDualTransBipartition
5.5-11 IsPermBipartition
5.5-12 IsPartialPermBipartition
5.5-13 IsBlockBijection
5.5-14 IsUniformBlockBijection
5.6 Creating blocks and their attributes
5.6-1 BlocksNC
5.6-2 ExtRepOfBlocks
5.6-3 RankOfBlocks
5.6-4 DegreeOfBlocks
5.7 Actions on blocks
5.7-1 OnRightBlocks
5.7-2 OnLeftBlocks
5.7-3 PermRightBlocks
5.7-4 InverseRightBlocks
5.7-5 InverseLeftBlocks
5.8 Visualising blocks and bipartitions
5.8-1 TikzBipartition
5.8-2 TikzBlocks
5.9 Semigroups of bipartitions
5.9-1 IsBipartitionSemigroup
5.9-2 IsBlockBijectionSemigroup
5.9-3 IsPartialPermBipartitionSemigroup
5.9-4 IsPermBipartitionGroup
5.9-5 DegreeOfBipartitionSemigroup
6 Free inverse semigroups and free bands
6.1 Free inverse semigroups
6.1-1 FreeInverseSemigroup
6.1-2 IsFreeInverseSemigroupCategory
6.1-3 IsFreeInverseSemigroup
6.1-4 IsFreeInverseSemigroupElement
6.2 Displaying free inverse semigroup elements
6.3 Operators and operations for free inverse semigroup elements
6.3-1 CanonicalForm
6.3-2 MinimalWord
6.4 Free bands
6.4-1 FreeBand
6.4-2 IsFreeBandCategory
6.4-3 IsFreeBand
6.4-4 IsFreeBandElement
6.4-5 IsFreeBandSubsemigroup
6.5 Operators and operations for free band elements
6.5-1 GreensDClassOfElement
7 Matrix semigroups
7.1 Creating matrix semigroups
7.1-1 IsMatrixSemigroup
7.1-2 MatrixSemigroup
7.2 Matrices in the Semigroups package
7.2-1 IsMatrixOverFiniteField
7.2-2 IsMatrixOverFiniteFieldCollection
7.2-3 NewMatrixOverFiniteField
7.2-4 NewIdentityMatrixOverFiniteField
7.2-5 RowSpaceBasis
7.2-6 RowRank
7.2-7 RightInverse
7.2-8 DegreeOfMatrixOverFiniteField
7.2-9 BaseDomain
7.2-10 TransposedMatImmutable
7.2-11 AsMatrix
7.2-12 ConstructingFilter
7.3 Matrix groups in the Semigroups package
7.3-1 IsMatrixOverFiniteFieldGroup
7.3-2 \^
7.3-3 IsomorphismMatrixGroup
7.3-4 AsMatrixGroup
8 Congruences
8.1 Creating congruences
8.1-1 SemigroupCongruence
8.2 Congruence classes
8.2-1 CongruenceClassOfElement
8.2-2 CongruenceClasses
8.2-3 NrCongruenceClasses
8.2-4 CongruencesOfSemigroup
8.2-5 AsLookupTable
8.3 Congruences on Rees matrix semigroups
8.3-1 IsRMSCongruenceByLinkedTriple
8.3-2 RMSCongruenceByLinkedTriple
8.3-3 RMSCongruenceClassByLinkedTriple
8.3-4 IsLinkedTriple
8.3-5 CanonicalRepresentative
8.3-6 AsSemigroupCongruenceByGeneratingPairs
8.3-7 AsRMSCongruenceByLinkedTriple
8.3-8 MeetSemigroupCongruences
8.3-9 JoinSemigroupCongruences
8.4 Universal congruences
8.4-1 IsUniversalSemigroupCongruence
8.4-2 UniversalSemigroupCongruence
9 Homomorphisms
9.1 Isomorphisms
9.1-1 IsIsomorphicSemigroup
9.1-2 SmallestMultiplicationTable
9.1-3 IsomorphismSemigroups
10 Orbits
10.1 Looking for something in an orbit
10.1-1 EnumeratePosition
10.1-2 LookForInOrb
10.2 Strongly connected components of orbits
10.2-1 OrbSCC
10.2-2 OrbSCCLookup
10.2-3 OrbSCCTruthTable
10.2-4 ReverseSchreierTreeOfSCC
10.2-5 SchreierTreeOfSCC
10.2-6 TraceSchreierTreeOfSCCBack
10.2-7 TraceSchreierTreeOfSCCForward
References
Index
[Top of Book] [Contents] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 Bib Ind

generated by GAPDoc2HTML