From acbdb19c5a395b09fc495d775927dd6e334269cb Mon Sep 17 00:00:00 2001
From: "James D. Mitchell"
- 5.3.4Semigroups
A package for semigroups and monoids
- 24 January 2024 + 14 February 2024
diff --git a/doc/chap0.txt b/doc/chap0.txt index 1573ff813..f462dc8af 100644 --- a/doc/chap0.txt +++ b/doc/chap0.txt @@ -6,10 +6,10 @@ [1X A package for semigroups and monoids [101X - 5.3.4 + 5.3.5 - 24 January 2024 + 14 February 2024 James Mitchell diff --git a/doc/chap0_mj.html b/doc/chap0_mj.html index 1e5044864..e9061ea3a 100644 --- a/doc/chap0_mj.html +++ b/doc/chap0_mj.html @@ -32,10 +32,10 @@- 5.3.4
+ 5.3.5- 24 January 2024 + 14 February 2024
diff --git a/doc/chap1.html b/doc/chap1.html index ca6764287..fa384a166 100644 --- a/doc/chap1.html +++ b/doc/chap1.html @@ -48,7 +48,7 @@This is the manual for the Semigroups package for GAP version 5.3.4. Semigroups 5.3.4 is a distant descendant of the Monoid package for GAP 3 by Goetz Pfeiffer, Steve A. Linton, Edmund F. Robertson, and Nik Ruskuc.
+This is the manual for the Semigroups package for GAP version 5.3.5. Semigroups 5.3.5 is a distant descendant of the Monoid package for GAP 3 by Goetz Pfeiffer, Steve A. Linton, Edmund F. Robertson, and Nik Ruskuc.
From Version 3.0.0, Semigroups includes a copy of the libsemigroups C++ library which contains implementations of the Froidure-Pin, Todd-Coxeter, and Knuth-Bendix algorithms (among others) that Semigroups utilises.
@@ -65,7 +65,7 @@the different types of elements that are introduced in Semigroups are described in Chapters 3, 4, and 5. These include Bipartition
(3.2-1), PBR
(4.2-1), and Matrix
(5.1-5), which supplement those already defined in the GAP library, such as Transformation
(Reference: Transformation for an image list) or PartialPerm
(Reference: PartialPerm for a domain and image).
the different types of elements that are introduced in Semigroups are described in Chapters 3, 4, and 5. These include Bipartition
(3.2-1), PBR
(4.2-1), and Matrix
(5.1-5), which supplement those already defined in the GAP library, such as Transformation
(Reference: Transformation for an image list) or PartialPerm
(Reference: PartialPerm for a domain and image).
GreensXClassOfElement(S, Representative(class));
DClass
can also be used as a synonym for DClassOfHClass
, DClassOfLClass
, and DClassOfRClass
; LClass
as a synonym for LClassOfHClass
; and RClass
as a synonym for RClassOfHClass
. See also GreensDClassOfElement
(Reference: GreensDClassOfElement) and GreensDClassOfElementNC
(10.1-3).
DClass
can also be used as a synonym for DClassOfHClass
, DClassOfLClass
, and DClassOfRClass
; LClass
as a synonym for LClassOfHClass
; and RClass
as a synonym for RClassOfHClass
. See also GreensDClassOfElement
(Reference: GreensDClassOfElement) and GreensDClassOfElementNC
(10.1-3).
@@ -182,7 +182,7 @@10.1-2 GreensXClassOfElement
‣ RClass
( X, f )( operation ) Returns: A Green's class.
-These functions produce essentially the same output as the GAP library functions with the same names; see
+GreensDClassOfElement
(Reference: GreensDClassOfElement). The main difference is that these functions can be applied to a wider class of objects:These functions produce essentially the same output as the GAP library functions with the same names; see
GreensDClassOfElement
(Reference: GreensDClassOfElement). The main difference is that these functions can be applied to a wider class of objects:
can take a significant amount of time to return a value.
-See also GreensRClassOfElement
(Reference: GreensRClassOfElement) and RClassOfHClass
(10.1-1).
See also GreensRClassOfElement
(Reference: GreensRClassOfElement) and RClassOfHClass
(10.1-1).
@@ -280,7 +280,7 @@10.1-4 GreensXClasses
‣ RClasses
( obj )( method ) Returns: A list of Green's classes.
-These functions produce essentially the same output as the GAP library functions with the same names; see
+GreensDClasses
(Reference: GreensDClasses). The main difference is that these functions can be applied to a wider class of objects:These functions produce essentially the same output as the GAP library functions with the same names; see
GreensDClasses
(Reference: GreensDClasses). The main difference is that these functions can be applied to a wider class of objects:
It is significantly easier to find the minimal D-class of a semigroup, than to find its D-classes.
-See also PartialOrderOfDClasses
(10.1-10), IsGreensLessThanOrEqual
(Reference: IsGreensLessThanOrEqual), MinimalIdeal
(11.7-1) and RepresentativeOfMinimalIdeal
(11.7-2).
See also PartialOrderOfDClasses
(10.1-10), IsGreensLessThanOrEqual
(Reference: IsGreensLessThanOrEqual), MinimalIdeal
(11.7-1) and RepresentativeOfMinimalIdeal
(11.7-2).
@@ -453,7 +453,7 @@10.1-7 MaximalXClasses
Let
-X
be one of Green's D-, L-, or R-relations. ThenMaximalXClasses
returns the maximal Green'sX
-classes with respect to the partial order ofX
-classes.See also
+PartialOrderOfDClasses
(10.1-10),IsGreensLessThanOrEqual
(Reference: IsGreensLessThanOrEqual), andMinimalDClass
(10.1-6).See also
PartialOrderOfDClasses
(10.1-10),IsGreensLessThanOrEqual
(Reference: IsGreensLessThanOrEqual), andMinimalDClass
(10.1-6).@@ -484,7 +484,7 @@10.1-8 NrRegularDClasses
-
RegularDClasses
returns a list of the regular D-classes of the semigroup S.See also
+IsRegularGreensClass
(10.3-2) andIsRegularDClass
(Reference: IsRegularDClass).See also
IsRegularGreensClass
(10.3-2) andIsRegularDClass
(Reference: IsRegularDClass).@@ -521,7 +521,7 @@10.1-9 NrXClasses
since the Green's classes themselves are not created when
-NrXClasses
is called.See also
+GreensRClasses
(10.1-4),GreensRClasses
(Reference: GreensRClasses),IteratorOfRClasses
(10.2-2), andSee also
GreensRClasses
(10.1-4),GreensRClasses
(Reference: GreensRClasses),IteratorOfRClasses
(10.2-2), and@@ -584,7 +584,7 @@10.1-10 PartialOrderOfXClasses
‣ PartialOrderOfRClasses
( S )( attribute ) Returns: A digraph.
-Let
+X
be one of Green's D-, L-, or R-relations. ThenPartialOrderOfXClasses
returns a digraphD
whereOutNeighbours(D)[i]
contains everyj
such thatGreensXClasses(S)[j]
is immediately less thanGreensXClasses(S)[i]
in the partial order ofX
-classes of S. The reflexive transitive closure of the digraphD
is the partial order ofX
-classes of S (in the sense of the Digraphs package).Let
X
be one of Green's D-, L-, or R-relations. ThenPartialOrderOfXClasses
returns a digraphD
whereOutNeighbours(D)[i]
contains everyj
such thatGreensXClasses(S)[j]
is immediately less thanGreensXClasses(S)[i]
in the partial order ofX
-classes of S. The reflexive transitive closure of the digraphD
is the partial order ofX
-classes of S (in the sense of the digraphs package).The partial order on the
@@ -603,7 +603,7 @@X
-classes is defined as follows.10.1-10 PartialOrderOfXClasses
-See also
+GreensDClasses
(10.1-4),GreensDClasses
(Reference: GreensDClasses),IsGreensLessThanOrEqual
(Reference: IsGreensLessThanOrEqual), and\<
(10.3-1).See also
GreensDClasses
(10.1-4),GreensDClasses
(Reference: GreensDClasses),IsGreensLessThanOrEqual
(Reference: IsGreensLessThanOrEqual), and\<
(10.3-1).@@ -725,9 +725,9 @@10.2-1 IteratorOfXClassReps
‣ IteratorOfLClassReps
( S )( operation ) Returns: An iterator.
-Returns an iterator of the representatives of the Green's classes contained in the semigroup S. See Reference: Iterators for more information on iterators.
+Returns an iterator of the representatives of the Green's classes contained in the semigroup S. See Reference: Iterators for more information on iterators.
-See also
+GreensRClasses
(Reference: GreensRClasses),GreensRClasses
(10.1-4), andIteratorOfRClasses
(10.2-2).See also
@@ -737,11 +737,11 @@GreensRClasses
(Reference: GreensRClasses),GreensRClasses
(10.1-4), andIteratorOfRClasses
(10.2-2).10.2-2 IteratorOfXClasses
‣ IteratorOfRClasses
( S )( operation ) Returns: An iterator.
-Returns an iterator of the Green's classes in the semigroup S. See Reference: Iterators for more information on iterators.
+Returns an iterator of the Green's classes in the semigroup S. See Reference: Iterators for more information on iterators.
This function is useful if you are, for example, looking for an R-class of a semigroup with a particular property but do not necessarily want to compute all of the R-classes.
-See also
+GreensRClasses
(10.1-4),GreensRClasses
(Reference: GreensRClasses), andNrRClasses
(10.1-9).See also
GreensRClasses
(10.1-4),GreensRClasses
(Reference: GreensRClasses), andNrRClasses
(10.1-9).The transformation semigroup in the example below has 25147892 elements but it only takes a fraction of a second to find a non-trivial R-class. The inverse semigroup of partial permutations in the example below has size 158122047816 but it only takes a fraction of a second to find an R-class with more than 1000 elements.
@@ -815,9 +815,9 @@10.3-1 Less than for Green's classes
‣ \<
( left-expr, right-expr )( method ) Returns:
-true
orfalse
.The Green's class left-expr is less than or equal to right-expr if they belong to the same semigroup and the representative of left-expr is less than the representative of right-expr under
+<
; see alsoRepresentative
(Reference: Representative).The Green's class left-expr is less than or equal to right-expr if they belong to the same semigroup and the representative of left-expr is less than the representative of right-expr under
-<
; see alsoRepresentative
(Reference: Representative).Please note that this is not the usual order on the Green's classes of a semigroup as defined in Reference: Green's Relations. See also
+IsGreensLessThanOrEqual
(Reference: IsGreensLessThanOrEqual).Please note that this is not the usual order on the Green's classes of a semigroup as defined in Reference: Green's Relations. See also
IsGreensLessThanOrEqual
(Reference: IsGreensLessThanOrEqual).@@ -853,9 +853,9 @@10.3-2 IsRegularGreensClass
‣ IsRegularGreensClass
( class )( property ) Returns:
-true
orfalse
.This function returns
+true
if class is a regular Green's class andfalse
if it is not. See alsoIsRegularDClass
(Reference: IsRegularDClass),IsGroupHClass
(Reference: IsGroupHClass),GroupHClassOfGreensDClass
(Reference: GroupHClassOfGreensDClass),GroupHClass
(10.4-1),NrIdempotents
(11.9-2),Idempotents
(11.9-1), andIsRegularSemigroupElement
(Reference: IsRegularSemigroupElement).This function returns
-true
if class is a regular Green's class andfalse
if it is not. See alsoIsRegularDClass
(Reference: IsRegularDClass),IsGroupHClass
(Reference: IsGroupHClass),GroupHClassOfGreensDClass
(Reference: GroupHClassOfGreensDClass),GroupHClass
(10.4-1),NrIdempotents
(11.9-2),Idempotents
(11.9-1), andIsRegularSemigroupElement
(Reference: IsRegularSemigroupElement).The function
+IsRegularDClass
produces the same output as the GAP library functions with the same name; seeIsRegularDClass
(Reference: IsRegularDClass).The function
IsRegularDClass
produces the same output as the GAP library functions with the same name; seeIsRegularDClass
(Reference: IsRegularDClass).@@ -919,9 +919,9 @@10.4-1 GroupHClass
‣ GroupHClass
( class )( attribute ) Returns: A group H-class of the D-class class if it is regular and
-fail
if it is not.+
GroupHClass
is a synonym forGroupHClassOfGreensDClass
(Reference: GroupHClassOfGreensDClass).-
GroupHClass
is a synonym forGroupHClassOfGreensDClass
(Reference: GroupHClassOfGreensDClass).See also
+IsGroupHClass
(Reference: IsGroupHClass),IsRegularDClass
(Reference: IsRegularDClass),IsRegularGreensClass
(10.3-2), andIsRegularSemigroup
(12.1-17).See also
IsGroupHClass
(Reference: IsGroupHClass),IsRegularDClass
(Reference: IsRegularDClass),IsRegularGreensClass
(10.3-2), andIsRegularSemigroup
(12.1-17).@@ -1029,7 +1029,7 @@10.4-3 StructureDescriptionSchutzenbergerGroups
‣ StructureDescriptionSchutzenbergerGroups
( S )( attribute ) Returns: Distinct structure descriptions of the Schutzenberger groups of a semigroup.
-+
StructureDescriptionSchutzenbergerGroups
returns the distinct values ofStructureDescription
(Reference: StructureDescription) when it is applied to the Schutzenberger groups of the R-classes of the semigroup S.
StructureDescriptionSchutzenbergerGroups
returns the distinct values ofStructureDescription
(Reference: StructureDescription) when it is applied to the Schutzenberger groups of the R-classes of the semigroup S.@@ -1060,7 +1060,7 @@10.4-4 StructureDescriptionMaximalSubgroups
‣ StructureDescriptionMaximalSubgroups
( S )( attribute ) Returns: Distinct structure descriptions of the maximal subgroups of a semigroup.
-+
StructureDescriptionMaximalSubgroups
returns the distinct values ofStructureDescription
(Reference: StructureDescription) when it is applied to the maximal subgroups of the semigroup S.
StructureDescriptionMaximalSubgroups
returns the distinct values ofStructureDescription
(Reference: StructureDescription) when it is applied to the maximal subgroups of the semigroup S.@@ -1109,7 +1109,7 @@10.4-6 StructureDescription
‣ StructureDescription
( class )( attribute ) Returns: A string or
-fail
.+
StructureDescription
returns the value ofStructureDescription
(Reference: StructureDescription) when it is applied to a group isomorphic to the group H-class class. If class is not a group H-class, thenfail
is returned.
StructureDescription
returns the value ofStructureDescription
(Reference: StructureDescription) when it is applied to a group isomorphic to the group H-class class. If class is not a group H-class, thenfail
is returned.@@ -1143,9 +1143,9 @@10.4-7 InjectionPrincipalFactor
-
InjectionPrincipalFactor
returns an injective function from the D-class D to a Rees (0-)matrix semigroup, which contains the principal factor of D as a subsemigroup.If D is a subsemigroup of its parent semigroup, then the function returned by
+InjectionPrincipalFactor
orIsomorphismReesMatrixSemigroup
is an isomorphism from D to a Rees matrix semigroup; seeReesMatrixSemigroup
(Reference: ReesMatrixSemigroup).If D is a subsemigroup of its parent semigroup, then the function returned by
-InjectionPrincipalFactor
orIsomorphismReesMatrixSemigroup
is an isomorphism from D to a Rees matrix semigroup; seeReesMatrixSemigroup
(Reference: ReesMatrixSemigroup).If D is not a semigroup, then the function returned by
+InjectionPrincipalFactor
is an injective function from D to a Rees 0-matrix semigroup isomorphic to the principal factor of D; seeReesZeroMatrixSemigroup
(Reference: ReesZeroMatrixSemigroup). In this case,IsomorphismReesMatrixSemigroup
andIsomorphismReesZeroMatrixSemigroup
returns an error.If D is not a semigroup, then the function returned by
InjectionPrincipalFactor
is an injective function from D to a Rees 0-matrix semigroup isomorphic to the principal factor of D; seeReesZeroMatrixSemigroup
(Reference: ReesZeroMatrixSemigroup). In this case,IsomorphismReesMatrixSemigroup
andIsomorphismReesZeroMatrixSemigroup
returns an error.diff --git a/doc/chap10.txt b/doc/chap10.txt index 1724809c9..085e5f67f 100644 --- a/doc/chap10.txt +++ b/doc/chap10.txt @@ -518,7 +518,7 @@ [10XGreensXClasses(S)[j][110X is immediately less than [10XGreensXClasses(S)[i][110X in the partial order of [10XX[110X-classes of [3XS[103X. The reflexive transitive closure of the digraph [10XD[110X is the partial order of [10XX[110X-classes of [3XS[103X (in the sense of the - [5XDigraphs[105X package).[133X + [5Xdigraphs[105X package).[133X [33X[0;0YThe partial order on the [10XX[110X-classes is defined as follows.[133X diff --git a/doc/chap10_mj.html b/doc/chap10_mj.html index cc1378493..4c335d49e 100644 --- a/doc/chap10_mj.html +++ b/doc/chap10_mj.html @@ -587,7 +587,7 @@
InjectionNormalizedPrincipalFactor
returns the composition ofInjectionPrincipalFactor
withRZMSNormalization
(6.5-6) orRMSNormalization
(6.5-7) as appropriate.10.1-10 PartialOrderOfXClasses
‣ PartialOrderOfRClasses
( S )( attribute ) Returns: A digraph.
-Let
+X
be one of Green's \(\mathscr{D}\)-, \(\mathscr{L}\)-, or \(\mathscr{R}\)-relations. ThenPartialOrderOfXClasses
returns a digraphD
whereOutNeighbours(D)[i]
contains everyj
such thatGreensXClasses(S)[j]
is immediately less thanGreensXClasses(S)[i]
in the partial order ofX
-classes of S. The reflexive transitive closure of the digraphD
is the partial order ofX
-classes of S (in the sense of the Digraphs package).Let
X
be one of Green's \(\mathscr{D}\)-, \(\mathscr{L}\)-, or \(\mathscr{R}\)-relations. ThenPartialOrderOfXClasses
returns a digraphD
whereOutNeighbours(D)[i]
contains everyj
such thatGreensXClasses(S)[j]
is immediately less thanGreensXClasses(S)[i]
in the partial order ofX
-classes of S. The reflexive transitive closure of the digraphD
is the partial order ofX
-classes of S (in the sense of the digraphs package).The partial order on the
diff --git a/doc/chap11.html b/doc/chap11.html index 0c0f48475..c47662a13 100644 --- a/doc/chap11.html +++ b/doc/chap11.html @@ -295,9 +295,9 @@X
-classes is defined as follows.11.2-1 RightCayleyDigraph
‣ LeftCayleyDigraph
( S )( attribute ) Returns: A digraph.
-When the argument S is a semigroup satisfying
+CanUseFroidurePin
(6.1-4),RightCayleyDigraph
returns the right Cayley graph of S, as aDigraph
(Digraphs: Digraph)digraph
where vertexOutNeighbours(digraph)[i][j]
isPositionCanonical(S, AsListCanonical(S)[i] * GeneratorsOfSemigroup(S)[j])
. The digraph returned byLeftCayleyDigraph
is defined analogously.When the argument S is a semigroup satisfying
-CanUseFroidurePin
(6.1-4),RightCayleyDigraph
returns the right Cayley graph of S, as aDigraph
(Digraphs: Digraph)digraph
where vertexOutNeighbours(digraph)[i][j]
isPositionCanonical(S, AsListCanonical(S)[i] * GeneratorsOfSemigroup(S)[j])
. The digraph returned byLeftCayleyDigraph
is defined analogously.The digraph returned by this attribute belongs to the category
+IsCayleyDigraph
(Digraphs: IsCayleyDigraph), the semigroup S and the generators used to create the digraph can be recovered from the digraph usingSemigroupOfCayleyDigraph
(Digraphs: SemigroupOfCayleyDigraph) andGeneratorsOfCayleyDigraph
(Digraphs: GeneratorsOfCayleyDigraph).The digraph returned by this attribute belongs to the category
IsCayleyDigraph
(Digraphs: IsCayleyDigraph), the semigroup S and the generators used to create the digraph can be recovered from the digraph usingSemigroupOfCayleyDigraph
(Digraphs: SemigroupOfCayleyDigraph) andGeneratorsOfCayleyDigraph
(Digraphs: GeneratorsOfCayleyDigraph).@@ -420,7 +420,7 @@11.5-1 EvaluateWord
-Note that
+EvaluateWord(gens, [])
returnsOne(gens)
if gens belongs to the categoryIsMultiplicativeElementWithOne
(Reference: IsMultiplicativeElementWithOne).Note that
EvaluateWord(gens, [])
returnsOne(gens)
if gens belongs to the categoryIsMultiplicativeElementWithOne
(Reference: IsMultiplicativeElementWithOne).@@ -471,7 +471,7 @@11.5-2 Factorization
Note that
-Factorization
does not always return a word of minimum length; seeMinimalFactorization
(11.5-3).See also
+EvaluateWord
(11.5-1) andGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup).See also
EvaluateWord
(11.5-1) andGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup).@@ -519,7 +519,7 @@11.5-3 MinimalFactorization
-
MinimalFactorization
involves exhaustively enumerating S until the element x is found, and soMinimalFactorization
may be less efficient thanFactorization
(11.5-2) for some semigroups.Unlike
+Factorization
(11.5-2) this operation does not distinguish between semigroups and inverse semigroups. See alsoEvaluateWord
(11.5-1) andGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup).Unlike
Factorization
(11.5-2) this operation does not distinguish between semigroups and inverse semigroups. See alsoEvaluateWord
(11.5-1) andGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup).@@ -546,7 +546,7 @@11.5-4 NonTrivialFactorization
When x does not belong to
-GeneratorsOfSemigroup(S)
, any factorization of x is non-trivial. In this case,NonTrivialFactorization
returns the same word asFactorization
(11.5-2).See also
+EvaluateWord
(11.5-1) andGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup).See also
EvaluateWord
(11.5-1) andGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup).-@@ -588,7 +588,7 @@11.6-1 Generators
@@ -652,7 +652,7 @@
- for a group
-+
Generators(S)
is a synonym forGeneratorsOfGroup
(Reference: GeneratorsOfGroup).
Generators(S)
is a synonym forGeneratorsOfGroup
(Reference: GeneratorsOfGroup).- for an ideal of semigroup
@@ -596,19 +596,19 @@11.6-1 Generators
- for a semigroup
-+
Generators(S)
is a synonym forGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup).
Generators(S)
is a synonym forGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup).- for a monoid
-+
Generators(S)
is a synonym forGeneratorsOfMonoid
(Reference: GeneratorsOfMonoid).
Generators(S)
is a synonym forGeneratorsOfMonoid
(Reference: GeneratorsOfMonoid).- for an inverse semigroup
-+
Generators(S)
is a synonym forGeneratorsOfInverseSemigroup
(Reference: GeneratorsOfInverseSemigroup).
Generators(S)
is a synonym forGeneratorsOfInverseSemigroup
(Reference: GeneratorsOfInverseSemigroup).- for an inverse monoid
-+
Generators(S)
is a synonym forGeneratorsOfInverseMonoid
(Reference: GeneratorsOfInverseMonoid).
Generators(S)
is a synonym forGeneratorsOfInverseMonoid
(Reference: GeneratorsOfInverseMonoid).11.6-2 SmallGeneratingSet
-X(SmallXGeneratingSet(coll)) = X(coll);where
+X
is any ofSemigroup
(Reference: Semigroup),Monoid
(Reference: Monoid),InverseSemigroup
(Reference: InverseSemigroup), orInverseMonoid
(Reference: InverseMonoid).where
X
is any ofSemigroup
(Reference: Semigroup),Monoid
(Reference: Monoid),InverseSemigroup
(Reference: InverseSemigroup), orInverseMonoid
(Reference: InverseMonoid).If the number of generators for S is already relatively small, then these functions will often return the original generating set. These functions may return different results in different GAP sessions.
@@ -780,7 +780,7 @@11.6-4 MinimalSemigroupGeneratingSet
X(MinimalXGeneratingSet(S)) = S;where
+X
is one ofSemigroup
(Reference: Semigroup),Monoid
(Reference: Monoid),InverseSemigroup
(Reference: InverseSemigroup), orInverseMonoid
(Reference: InverseMonoid).where
X
is one ofSemigroup
(Reference: Semigroup),Monoid
(Reference: Monoid),InverseSemigroup
(Reference: InverseSemigroup), orInverseMonoid
(Reference: InverseMonoid).For many types of semigroup, it is not currently possible to find a
@@ -910,7 +910,7 @@MinimalXGeneratingSet
with the Semigroups package.11.7-1 MinimalIdeal
It is significantly easier to find the minimal D-class of a semigroup, than to find its D-classes.
-See also
+RepresentativeOfMinimalIdeal
(11.7-2),PartialOrderOfDClasses
(10.1-10),IsGreensLessThanOrEqual
(Reference: IsGreensLessThanOrEqual), andMinimalDClass
(10.1-6).See also
RepresentativeOfMinimalIdeal
(11.7-2),PartialOrderOfDClasses
(10.1-10),IsGreensLessThanOrEqual
(Reference: IsGreensLessThanOrEqual), andMinimalDClass
(10.1-6).@@ -976,7 +976,7 @@11.7-3 MultiplicativeZero
‣ MultiplicativeZero
( S )( attribute ) Returns: The zero element of a semigroup.
-+
MultiplicativeZero
returns the zero element of the semigroup S if it exists andfail
if it does not. See alsoMultiplicativeZero
(Reference: MultiplicativeZero).
MultiplicativeZero
returns the zero element of the semigroup S if it exists andfail
if it does not. See alsoMultiplicativeZero
(Reference: MultiplicativeZero).@@ -1057,7 +1057,7 @@11.8-1 GroupOfUnits
If a semigroup S has an identity
-e
, then the group of units of S is the set of thoses
in S such that there existst
in S wheres*t=t*s=e
. Equivalently, the group of units is the H-class of the identity of S.See also
+GreensHClassOfElement
(Reference: GreensHClassOfElement),IsMonoidAsSemigroup
(12.1-13), andMultiplicativeNeutralElement
(Reference: MultiplicativeNeutralElement).See also
GreensHClassOfElement
(Reference: GreensHClassOfElement),IsMonoidAsSemigroup
(12.1-13), andMultiplicativeNeutralElement
(Reference: MultiplicativeNeutralElement).@@ -1108,9 +1108,9 @@11.9-1 Idempotents
If the optional second argument n is present and obj is a semigroup, then a list of the idempotents in obj of rank n is returned. If you are only interested in the idempotents of a given rank, then the second version of the function will probably be faster. However, if the optional second argument is present, then nothing is stored in obj and so every time the function is called the computation must be repeated.
-This functions produce essentially the same output as the GAP library function with the same name; see
+Idempotents
(Reference: Idempotents). The main difference is that this function can be applied to a wider class of objects as described above.This functions produce essentially the same output as the GAP library function with the same name; see
-Idempotents
(Reference: Idempotents). The main difference is that this function can be applied to a wider class of objects as described above.See also
+IsRegularDClass
(Reference: IsRegularDClass),IsRegularGreensClass
(10.3-2)IsGroupHClass
(Reference: IsGroupHClass),NrIdempotents
(11.9-2), andGroupHClass
(10.4-1).See also
IsRegularDClass
(Reference: IsRegularDClass),IsRegularGreensClass
(10.3-2)IsGroupHClass
(Reference: IsGroupHClass),NrIdempotents
(11.9-2), andGroupHClass
(10.4-1).@@ -1161,7 +1161,7 @@11.9-2 NrIdempotents
This function returns the number of idempotents in obj where obj can be a semigroup, D-, L-, H-, or R-class. If the actual idempotents are not required, then it is more efficient to use
-NrIdempotents(obj)
thanLength(Idempotents(obj))
since the idempotents themselves are not created whenNrIdempotents
is called.See also
+Idempotents
(Reference: Idempotents) andIdempotents
(11.9-1),IsRegularDClass
(Reference: IsRegularDClass),IsRegularGreensClass
(10.3-2)IsGroupHClass
(Reference: IsGroupHClass), andGroupHClass
(10.4-1).See also
Idempotents
(Reference: Idempotents) andIdempotents
(11.9-1),IsRegularDClass
(Reference: IsRegularDClass),IsRegularGreensClass
(10.3-2)IsGroupHClass
(Reference: IsGroupHClass), andGroupHClass
(10.4-1).@@ -1491,9 +1491,9 @@11.11-4 DigraphOfAction
If
-act(list[i], S.j)
is thek
-th item in list, then in the output digraph there is an edge from the vertexi
to the vertexk
labelled byj
.The values in list and the additional values generated are stored in the vertex labels of the output digraph; see
+DigraphVertexLabels
(Digraphs: DigraphVertexLabels), and the edge labels are stored in theDigraphEdgeLabels
(Digraphs: DigraphEdgeLabels)The values in list and the additional values generated are stored in the vertex labels of the output digraph; see
-DigraphVertexLabels
(Digraphs: DigraphVertexLabels), and the edge labels are stored in theDigraphEdgeLabels
(Digraphs: DigraphEdgeLabels)The digraph returned by
+DigraphOfAction
has no multiple edges; seeIsMultiDigraph
(Digraphs: IsMultiDigraph).The digraph returned by
DigraphOfAction
has no multiple edges; seeIsMultiDigraph
(Digraphs: IsMultiDigraph).@@ -1526,11 +1526,11 @@11.11-5 DigraphOfActionOnPoints
‣ DigraphOfActionOnPoints
( S, n )( attribute ) Returns: A digraph.
-If S is a transformation semigroup and n is a non-negative integer, then
+DigraphOfActionOnPoints(S, n)
returns a digraph representing theOnPoints
(Reference: OnPoints) action of S on the set[1 .. n]
.If S is a transformation semigroup and n is a non-negative integer, then
-DigraphOfActionOnPoints(S, n)
returns a digraph representing theOnPoints
(Reference: OnPoints) action of S on the set[1 .. n]
.If the optional argument n is not specified, then by default the degree of S will be chosen for n; see
+DegreeOfTransformationSemigroup
(Reference: DegreeOfTransformationSemigroup).If the optional argument n is not specified, then by default the degree of S will be chosen for n; see
-DegreeOfTransformationSemigroup
(Reference: DegreeOfTransformationSemigroup).The digraph returned by
+DigraphOfActionOnPoints
has n vertices, where the vertexi
corresponds to the pointi
. For each pointi
in[1 .. n]
, and for each generatorf
inGeneratorsOfSemigroup(S)
, there is an edge from the vertexi
to the vertexi ^ f
. SeeGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup) for further information.The digraph returned by
DigraphOfActionOnPoints
has n vertices, where the vertexi
corresponds to the pointi
. For each pointi
in[1 .. n]
, and for each generatorf
inGeneratorsOfSemigroup(S)
, there is an edge from the vertexi
to the vertexi ^ f
. SeeGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup) for further information.@@ -1578,7 +1578,7 @@11.11-7 IsTransitive
If the optional second argument is a positive integer n, then
-IsTransitive
returnstrue
if S is transitive on[1 .. n]
, andfalse
if it is not.If the optional second argument is not provided, then the degree of S is used by default; see
+DegreeOfTransformationSemigroup
(Reference: DegreeOfTransformationSemigroup).If the optional second argument is not provided, then the degree of S is used by default; see
DegreeOfTransformationSemigroup
(Reference: DegreeOfTransformationSemigroup).@@ -1627,7 +1627,7 @@11.11-9 CanonicalTransformation
If trans is a transformation, and n is a non-negative integer such that the restriction of trans to
-[1 .. n]
defines a transformation of[1 .. n]
, thenCanonicalTransformation
returns a canonical representative of the transformation trans restricted to[1 .. n]
.More specifically, let
+C(n)
be a class of transformations of degree n such thatAsDigraph
returns isomorphic digraphs for every pair of element elements inC(n)
. Recall that for a transformation trans and integer n the functionAsDigraph
returns a digraph with n vertices and an edge with sourcex
and rangex^trans
for everyx
in[1 .. n]
. SeeAsDigraph
(Digraphs: AsDigraph for a binary relation). ThenCanonicalTransformation
returns a canonical representative of the classC(n)
that contains trans.More specifically, let
C(n)
be a class of transformations of degree n such thatAsDigraph
returns isomorphic digraphs for every pair of element elements inC(n)
. Recall that for a transformation trans and integer n the functionAsDigraph
returns a digraph with n vertices and an edge with sourcex
and rangex^trans
for everyx
in[1 .. n]
. SeeAsDigraph
(Digraphs: AsDigraph for a binary relation). ThenCanonicalTransformation
returns a canonical representative of the classC(n)
that contains trans.@@ -1647,7 +1647,7 @@11.11-10 IsConnectedTransformationSemigroup
‣ IsConnectedTransformationSemigroup
( S )( property ) Returns:
-true
orfalse
.A transformation semigroup S is connected if the digraph returned by the function
+DigraphOfActionOnPoints
is connected. SeeIsConnectedDigraph
(Digraphs: IsConnectedDigraph) andDigraphOfActionOnPoints
(11.11-5). The functionIsConnectedTransformationSemigroup
returnstrue
if the semigroup S is connected andfalse
otherwise.A transformation semigroup S is connected if the digraph returned by the function
DigraphOfActionOnPoints
is connected. SeeIsConnectedDigraph
(Digraphs: IsConnectedDigraph) andDigraphOfActionOnPoints
(11.11-5). The functionIsConnectedTransformationSemigroup
returnstrue
if the semigroup S is connected andfalse
otherwise.@@ -1866,7 +1866,7 @@11.14-3 MajorantClosure
-
MajorantClosure
returns a majorantly closed subset of an inverse semigroup of partial permutations, block bijections or partial permutation bipartitions, S, as a list. SeeIsMajorantlyClosed
(12.2-8).The result contains all elements of S which are greater than or equal to any element of T (with respect to the natural partial order
+NaturalLeqPartialPerm
(Reference: NaturalLeqPartialPerm)). In particular, the result is a superset of T.The result contains all elements of S which are greater than or equal to any element of T (with respect to the natural partial order
NaturalLeqPartialPerm
(Reference: NaturalLeqPartialPerm)). In particular, the result is a superset of T.Note that T can be a subset of S or a subsemigroup of S.
@@ -1911,7 +1911,7 @@11.14-4 Minorants
-
Minorants
takes an element f from an inverse semigroup of partial permutations, block bijections or partial permutation bipartitions S, and returns a list of the minorants of f in S.A minorant of f is an element of S which is strictly less than f in the natural partial order of S. See
+NaturalLeqPartialPerm
(Reference: NaturalLeqPartialPerm).A minorant of f is an element of S which is strictly less than f in the natural partial order of S. See
NaturalLeqPartialPerm
(Reference: NaturalLeqPartialPerm).@@ -1935,7 +1935,7 @@11.14-5 PrimitiveIdempotents
‣ PrimitiveIdempotents
( S )( attribute ) Returns: A list of elements.
-An idempotent in an inverse semigroup S is primitive if it is non-zero and minimal with respect to the
+NaturalPartialOrder
(Reference: NaturalPartialOrder) on S.PrimitiveIdempotents
returns the list of primitive idempotents in the inverse semigroup S.An idempotent in an inverse semigroup S is primitive if it is non-zero and minimal with respect to the
NaturalPartialOrder
(Reference: NaturalPartialOrder) on S.PrimitiveIdempotents
returns the list of primitive idempotents in the inverse semigroup S.@@ -2064,11 +2064,11 @@11.14-9 VagnerPrestonRepresentation
‣ VagnerPrestonRepresentation
( S )( attribute ) Returns: An isomorphism to an inverse semigroup of partial permutations.
-+
VagnerPrestonRepresentation
returns an isomorphism from an inverse semigroup S where the elements of S have a unique semigroup inverse accessible viaInverse
(Reference: Inverse), to the inverse semigroup of partial permutations T of degree equal to the size of S, which is obtained using the Vagner-Preston Representation Theorem.
VagnerPrestonRepresentation
returns an isomorphism from an inverse semigroup S where the elements of S have a unique semigroup inverse accessible viaInverse
(Reference: inverse), to the inverse semigroup of partial permutations T of degree equal to the size of S, which is obtained using the Vagner-Preston Representation Theorem.More precisely, if f:S-> T is the isomorphism returned by
-VagnerPrestonRepresentation(S)
and x is in S, then f(x) is the partial permutation with domain Sx^-1 and range Sx^-1x defined by f(x): sx^-1↦ sx^-1x.In many cases, it is possible to find a smaller degree representation than that provided by
+VagnerPrestonRepresentation
usingIsomorphismPartialPermSemigroup
(Reference: IsomorphismPartialPermSemigroup) orSmallerDegreePartialPermRepresentation
(11.14-8).In many cases, it is possible to find a smaller degree representation than that provided by
VagnerPrestonRepresentation
usingIsomorphismPartialPermSemigroup
(Reference: IsomorphismPartialPermSemigroup) orSmallerDegreePartialPermRepresentation
(11.14-8).@@ -2208,7 +2208,7 @@11.15-2 NambooripadPartialOrder
‣ NambooripadPartialOrder
( S )( attribute ) Returns: The Nambooripad partial order on a regular semigroup.
-The Nambooripad partial order ≤ on a regular semigroup S is defined by
+s
≤t
if the principal right ideal ofS
generated bys
is contained in the principal right ideal ofS
generated byt
and there is an idempotente
in the R-class ofs
such thats
=et
. The Nambooripad partial order coincides with the natural partial order when considering inverse semigroupsNaturalPartialOrder
(Reference: NaturalPartialOrder).The Nambooripad partial order ≤ on a regular semigroup S is defined by
s
≤t
if the principal right ideal ofS
generated bys
is contained in the principal right ideal ofS
generated byt
and there is an idempotente
in the R-class ofs
such thats
=et
. The Nambooripad partial order coincides with the natural partial order when considering inverse semigroupsNaturalPartialOrder
(Reference: NaturalPartialOrder).diff --git a/doc/chap11.txt b/doc/chap11.txt index 00d49e8d1..7c577e285 100644 --- a/doc/chap11.txt +++ b/doc/chap11.txt @@ -2020,7 +2020,7 @@ [33X[0;0Y[10XVagnerPrestonRepresentation[110X returns an isomorphism from an inverse semigroup [3XS[103X where the elements of [3XS[103X have a unique semigroup inverse accessible via - [2XInverse[102X ([14XReference: Inverse[114X), to the inverse semigroup of partial + [2XInverse[102X ([14XReference: inverse[114X), to the inverse semigroup of partial permutations [3XT[103X of degree equal to the size of [3XS[103X, which is obtained using the Vagner-Preston Representation Theorem.[133X diff --git a/doc/chap11_mj.html b/doc/chap11_mj.html index c4ae5df99..b6c354e03 100644 --- a/doc/chap11_mj.html +++ b/doc/chap11_mj.html @@ -2067,7 +2067,7 @@
NambooripadPartialOrder
returns the Nambooripad partial order on the regular semigroup S as a list of sets of positive integers where entryi
inNaturalPartialOrder(S)
is the set of positions inElements(S)
of elements which are less thanElements(S)[i]
. See alsoNambooripadLeqRegularSemigroup
(11.15-1).11.14-9 VagnerPrestonRepresentation
‣ VagnerPrestonRepresentation
( S )( attribute ) Returns: An isomorphism to an inverse semigroup of partial permutations.
-+
VagnerPrestonRepresentation
returns an isomorphism from an inverse semigroup S where the elements of S have a unique semigroup inverse accessible viaInverse
(Reference: Inverse), to the inverse semigroup of partial permutations T of degree equal to the size of S, which is obtained using the Vagner-Preston Representation Theorem.
VagnerPrestonRepresentation
returns an isomorphism from an inverse semigroup S where the elements of S have a unique semigroup inverse accessible viaInverse
(Reference: inverse), to the inverse semigroup of partial permutations T of degree equal to the size of S, which is obtained using the Vagner-Preston Representation Theorem.More precisely, if \(f:S\to T\) is the isomorphism returned by
diff --git a/doc/chap12.html b/doc/chap12.html index c22dcb323..b881f45b1 100644 --- a/doc/chap12.html +++ b/doc/chap12.html @@ -178,7 +178,7 @@VagnerPrestonRepresentation(S)
and \(x\) is in S, then \(f(x)\) is the partial permutation with domain \(Sx^{-1}\) and range \(Sx^{-1}x\) defined by \(f(x): sx^{-1}\mapsto sx^{-1}x\).12.1-3 IsCommutativeSemigroup
‣ IsCommutativeSemigroup
( S )( property ) Returns:
-true
orfalse
.+
IsCommutativeSemigroup
returnstrue
if the semigroup S is commutative andfalse
if it is not. The functionIsCommutative
(Reference: IsCommutative) can also be used to test if a semigroup is commutative.
IsCommutativeSemigroup
returnstrue
if the semigroup S is commutative andfalse
if it is not. The functionIsCommutative
(Reference: IsCommutative) can also be used to test if a semigroup is commutative.A semigroup S is commutative if
@@ -479,11 +479,11 @@x * y = y * x
for allx, y
in S.12.1-13 IsMonoidAsSemigroup
‣ IsMonoidAsSemigroup
( S )( property ) Returns:
-true
orfalse
.+
IsMonoidAsSemigroup
returnstrue
if and only if the semigroup S is mathematically a monoid, i.e. if and only if it contains aMultiplicativeNeutralElement
(Reference: MultiplicativeNeutralElement).-
IsMonoidAsSemigroup
returnstrue
if and only if the semigroup S is mathematically a monoid, i.e. if and only if it contains aMultiplicativeNeutralElement
(Reference: MultiplicativeNeutralElement).It is possible that a semigroup which satisfies
+IsMonoidAsSemigroup
is not in the GAP categoryIsMonoid
(Reference: IsMonoid). This is possible if theMultiplicativeNeutralElement
(Reference: MultiplicativeNeutralElement) of S is not equal to theOne
(Reference: One) of any element in S. Therefore a semigroup satisfyingIsMonoidAsSemigroup
may not possess the attributes of a monoid (such as,GeneratorsOfMonoid
(Reference: GeneratorsOfMonoid)).It is possible that a semigroup which satisfies
-IsMonoidAsSemigroup
is not in the GAP categoryIsMonoid
(Reference: IsMonoid). This is possible if theMultiplicativeNeutralElement
(Reference: MultiplicativeNeutralElement) of S is not equal to theOne
(Reference: One) of any element in S. Therefore a semigroup satisfyingIsMonoidAsSemigroup
may not possess the attributes of a monoid (such as,GeneratorsOfMonoid
(Reference: GeneratorsOfMonoid)).See also
+One
(Reference: One),IsInverseMonoid
(Reference: IsInverseMonoid) andIsomorphismTransformationMonoid
(Reference: IsomorphismTransformationMonoid).See also
One
(Reference: One),IsInverseMonoid
(Reference: IsInverseMonoid) andIsomorphismTransformationMonoid
(Reference: IsomorphismTransformationMonoid).@@ -518,7 +518,7 @@12.1-14 IsOrthodoxSemigroup
A semigroup is orthodox if it is regular and its idempotent elements form a subsemigroup. Every inverse semigroup is also an orthodox semigroup.
-See also
+IsRegularSemigroup
(12.1-17) andIsRegularSemigroup
(Reference: IsRegularSemigroup).See also
IsRegularSemigroup
(12.1-17) andIsRegularSemigroup
(Reference: IsRegularSemigroup).@@ -598,7 +598,7 @@12.1-17 IsRegularSemigroup
A semigroup
-S
is regular if for allx
inS
there existsy
inS
such thatx * y * x = x
. Every inverse semigroup is regular, and a semigroup of partial permutations is regular if and only if it is an inverse semigroup.See also
+IsRegularDClass
(Reference: IsRegularDClass),IsRegularGreensClass
(10.3-2), andIsRegularSemigroupElement
(Reference: IsRegularSemigroupElement).See also
IsRegularDClass
(Reference: IsRegularDClass),IsRegularGreensClass
(10.3-2), andIsRegularSemigroupElement
(Reference: IsRegularSemigroupElement).@@ -752,7 +752,7 @@12.1-23 IsSynchronizingSemigroup
‣ IsSynchronizingSemigroup
( S )( property ) Returns:
-true
orfalse
.For a positive integer n,
+IsSynchronizingSemigroup
returnstrue
if the semigroup of transformations S contains a transformation with constant value on[1 .. n]
wheren
is the degree of the semigroup. See alsoConstantTransformation
(Reference: ConstantTransformation).For a positive integer n,
IsSynchronizingSemigroup
returnstrue
if the semigroup of transformations S contains a transformation with constant value on[1 .. n]
wheren
is the degree of the semigroup. See alsoConstantTransformation
(Reference: ConstantTransformation).Note that the semigroup consisting of the identity transformation is the unique transformation semigroup with degree
@@ -966,7 +966,7 @@0
. In this special case, the functionIsSynchronizingSemigroup
will returnfalse
.12.2-2 IsBrandtSemigroup
‣ IsBrandtSemigroup
( S )( property ) Returns:
-true
orfalse
.+
IsBrandtSemigroup
returntrue
if the semigroup S is a finite 0-simple inverse semigroup, andfalse
if it is not. See alsoIsZeroSimpleSemigroup
(12.1-28) andIsInverseSemigroup
(Reference: IsInverseSemigroup).
IsBrandtSemigroup
returntrue
if the semigroup S is a finite 0-simple inverse semigroup, andfalse
if it is not. See alsoIsZeroSimpleSemigroup
(12.1-28) andIsInverseSemigroup
(Reference: IsInverseSemigroup).@@ -1048,7 +1048,7 @@12.2-4 IsFInverseSemigroup
‣ IsFInverseSemigroup
( S )( property ) Returns:
-true
orfalse
.This functions determines whether a given semigroup is an F-inverse semigroup. An F-inverse semigroup is a semigroup which satisfies
+IsEUnitaryInverseSemigroup
(12.2-3) as well as being isomorphic to someMcAlisterTripleSemigroup
(8.4-2) where theMcAlisterTripleSemigroupPartialOrder
(8.4-4) satisfiesIsJoinSemilatticeDigraph
(Digraphs: IsJoinSemilatticeDigraph). McAlister triple semigroups are a representation of E-unitary inverse semigroups and more can be read about them in Chapter 8.4.This functions determines whether a given semigroup is an F-inverse semigroup. An F-inverse semigroup is a semigroup which satisfies
IsEUnitaryInverseSemigroup
(12.2-3) as well as being isomorphic to someMcAlisterTripleSemigroup
(8.4-2) where theMcAlisterTripleSemigroupPartialOrder
(8.4-4) satisfiesIsJoinSemilatticeDigraph
(Digraphs: IsJoinSemilatticeDigraph). McAlister triple semigroups are a representation of E-unitary inverse semigroups and more can be read about them in Chapter 8.4.@@ -1071,7 +1071,7 @@12.2-5 IsFInverseMonoid
‣ IsFInverseMonoid
( S )( property ) Returns:
-true
orfalse
.This function determines whether a given semigroup is an F-inverse monoid. A semigroup is an F-inverse monoid when it satisfies
+IsMonoid
(Reference: IsMonoid) andIsFInverseSemigroup
(12.2-4).This function determines whether a given semigroup is an F-inverse monoid. A semigroup is an F-inverse monoid when it satisfies
@@ -1106,7 +1106,7 @@IsMonoid
(Reference: IsMonoid) andIsFInverseSemigroup
(12.2-4).12.2-7 IsJoinIrreducible
-
IsJoinIrreducible
determines whether an element x of an inverse semigroup S of partial permutations, block bijections or partial permutation bipartitions is join irreducible.An element x is join irreducible when it is not the least upper bound (with respect to the natural partial order
+NaturalLeqPartialPerm
(Reference: NaturalLeqPartialPerm)) of any subset of S not containing x.An element x is join irreducible when it is not the least upper bound (with respect to the natural partial order
NaturalLeqPartialPerm
(Reference: NaturalLeqPartialPerm)) of any subset of S not containing x.@@ -1153,7 +1153,7 @@12.2-8 IsMajorantlyClosed
-
IsMajorantlyClosed
determines whether the subset T of the inverse semigroup of partial permutations, block bijections or partial permutation bipartitions S is majorantly closed in S. See alsoMajorantClosure
(11.14-3).We say that T is majorantly closed in S if it contains all elements of S which are greater than or equal to any element of T, with respect to the natural partial order. See
+NaturalLeqPartialPerm
(Reference: NaturalLeqPartialPerm).We say that T is majorantly closed in S if it contains all elements of S which are greater than or equal to any element of T, with respect to the natural partial order. See
NaturalLeqPartialPerm
(Reference: NaturalLeqPartialPerm).Note that T can be a subset of S or a subsemigroup of S.
diff --git a/doc/chap13.html b/doc/chap13.html index 70009a234..dafa3e3f7 100644 --- a/doc/chap13.html +++ b/doc/chap13.html @@ -360,13 +360,13 @@13.3
-
@@ -471,7 +471,7 @@+
EquivalenceClasses
(Reference: EquivalenceClasses attribute)
EquivalenceClasses
(Reference: EquivalenceClasses attribute)- -
NrEquivalenceClasses
+
EquivalenceClassOfElement
(Reference: EquivalenceClassOfElement)
EquivalenceClassOfElement
(Reference: EquivalenceClassOfElement)13.3-5 EquivalenceRelationLookup
Note that the order in which numbers appear in the list is non-deterministic, and two equivalence relations describing the same mathematical relation might therefore have different lookups. Note also that the maximum value of the list may not be the number of classes of equiv, and that any integer might not be included. However, see
-EquivalenceRelationCanonicalLookup
(13.3-6).See also
+EquivalenceRelationPartition
(Reference: EquivalenceRelationPartition).See also
EquivalenceRelationPartition
(Reference: EquivalenceRelationPartition).@@ -498,7 +498,7 @@13.3-6 EquivalenceRelationCanonicalLookup
Two elements of the semigroup on which the equivalence relation is defined are related in the equivalence relation if and only if they have the same number at their respective positions in the lookup.
-See also
+EquivalenceRelationLookup
(13.3-5) andEquivalenceRelationPartition
(Reference: EquivalenceRelationPartition).See also
EquivalenceRelationLookup
(13.3-5) andEquivalenceRelationPartition
(Reference: EquivalenceRelationPartition).@@ -518,7 +518,7 @@13.3-7 EquivalenceRelationCanonicalPartition
This attribute returns a list of lists of elements of the underlying set of the semigroup congruence cong. These lists are precisely the nontrivial equivalence classes of cong. The order in which the classes appear is deterministic, and the order of the elements inside each class is also deterministic. Hence, two congruence objects have the same
-EquivalenceRelationCanonicalPartition
if and only if they describe the same relation.See also
+EquivalenceRelationPartition
(Reference: EquivalenceRelationPartition), a similar attribute which does not have canonical ordering, but which is likely to be faster.See also
EquivalenceRelationPartition
(Reference: EquivalenceRelationPartition), a similar attribute which does not have canonical ordering, but which is likely to be faster.@@ -723,7 +723,7 @@13.4-4 IsCongruencePoset
This category contains all congruence posets. A congruence poset is a partially ordered set of congruences over a specific semigroup, where the ordering is defined by containment according to
-IsSubrelation
(13.5-1): given two congruencescong1
andcong2
, we say thatcong1
<cong2
if and only ifcong1
is a subrelation (a refinement) ofcong2
. The congruences in a congruence poset can be left, right, or two-sided.A congruence poset is a digraph (see
+IsDigraph
(Digraphs: IsDigraph)) with a vertex for each congruence, and an edge from vertexi
to vertexj
only if the congruence numberedi
is a subrelation of the congruence numberedj
. To avoid using an unnecessarily large amount of memory in some cases, a congruence poset does not necessarily belong toIsPartialOrderDigraph
(Digraphs: IsPartialOrderDigraph). In other words, although every congruence poset represents a partial order it is not necessarily the case that there is an edge from vertexi
to vertexj
if and only if the congruence numberedi
is a subrelation of the congruence numberedj
.A congruence poset is a digraph (see
IsDigraph
(Digraphs: IsDigraph)) with a vertex for each congruence, and an edge from vertexi
to vertexj
only if the congruence numberedi
is a subrelation of the congruence numberedj
. To avoid using an unnecessarily large amount of memory in some cases, a congruence poset does not necessarily belong toIsPartialOrderDigraph
(Digraphs: IsPartialOrderDigraph). In other words, although every congruence poset represents a partial order it is not necessarily the case that there is an edge from vertexi
to vertexj
if and only if the congruence numberedi
is a subrelation of the congruence numberedj
.The list of congruences can be obtained using
@@ -989,7 +989,7 @@CongruencesOfPoset
(13.4-8); and the underlying semigroup of the poset can be obtained usingUnderlyingSemigroupOfCongruencePoset
(13.4-9).13.4-11 JoinSemilatticeOfCongruences
If poset is a congruence poset (i.e. it satisfies
-IsCongruencePoset
(13.4-4)), then this function returns the congruence poset formed by these congruences partially ordered by containment, along with all their joins. This includes the empty join which equals the trivial congruence.The digraph returned by this function represents the Cayley graph of the semilattice generated by
+CongruencesOfPoset
(13.4-8) with identity adjoined. The reflexive transitive closure of this digraph is a join semillatice in the sense ofIsJoinSemilatticeDigraph
(Digraphs: IsJoinSemilatticeDigraph).The digraph returned by this function represents the Cayley graph of the semilattice generated by
CongruencesOfPoset
(13.4-8) with identity adjoined. The reflexive transitive closure of this digraph is a join semillatice in the sense ofIsJoinSemilatticeDigraph
(Digraphs: IsJoinSemilatticeDigraph).See also
@@ -1121,7 +1121,7 @@IsCongruencePoset
(13.4-4) andPosetOfCongruences
(13.4-10).13.4-15 IteratorOfRightCongruences
‣ IteratorOfLeftCongruences
( S )( operation ) Returns: An iterator.
-+
IteratorOfRightCongruences
returns an iterator where callingNextIterator
(Reference: NextIterator) returns the next right congruence of the semigroup S with at most n classes that contain the pairs in extra;IteratorOfLeftCongruences
is defined dually for left congruences rather than right congruences.
IteratorOfRightCongruences
returns an iterator where callingNextIterator
(Reference: NextIterator) returns the next right congruence of the semigroup S with at most n classes that contain the pairs in extra;IteratorOfLeftCongruences
is defined dually for left congruences rather than right congruences.If the optional third argument extra is not present, then
@@ -1258,7 +1258,7 @@IteratorOfRightCongruences
uses an empty list by default.13.6 Congruences on Rees matrix semigroups
This section describes the implementation of congruences of simple and 0-simple semigroups in the Semigroups package, and the functions associated with them. This code and this part of the manual were written by Michael Young. Most of the theorems used in this chapter are from Section 3.5 of [How95].
-By the Rees Theorem, any 0-simple semigroup S is isomorphic to a Rees 0-matrix semigroup (see Reference: Rees Matrix Semigroups) over a group, with a regular sandwich matrix. That is,
+By the Rees Theorem, any 0-simple semigroup S is isomorphic to a Rees 0-matrix semigroup (see Reference: Rees Matrix Semigroups) over a group, with a regular sandwich matrix. That is,
S \cong \mathcal{M} ^ 0[G; I, \Lambda; P],
@@ -1309,7 +1309,7 @@13.6-1 IsRMSCongruenceByLinkedTriple
‣ IsRZMSCongruenceByLinkedTriple
( obj )( category ) Returns:
-true
orfalse
.These categories describe a type of semigroup congruence over a Rees matrix or 0-matrix semigroup. Externally, an object of this type may be used in the same way as any other object in the category
+IsSemigroupCongruence
(Reference: IsSemigroupCongruence) but it is represented internally by its linked triple, and certain functions may take advantage of this information to reduce computation times.These categories describe a type of semigroup congruence over a Rees matrix or 0-matrix semigroup. Externally, an object of this type may be used in the same way as any other object in the category
IsSemigroupCongruence
(Reference: IsSemigroupCongruence) but it is represented internally by its linked triple, and certain functions may take advantage of this information to reduce computation times.An object of this type may be constructed with
@@ -1792,7 +1792,7 @@RMSCongruenceByLinkedTriple
orRZMSCongruenceByLinkedTriple
, or this representation may be selected automatically bySemigroupCongruence
(13.2-1).13.9-1 SemigroupIdealOfReesCongruence
‣ SemigroupIdealOfReesCongruence
( cong )( attribute ) Returns: A semigroup ideal.
-If cong is a rees congruence (see
+IsReesCongruence
(Reference: IsReesCongruence)) then this attribute returns the two-sided ideal that was used to define it, i.e.~the ideal of elements in the only non-trivial congruence class of cong.If cong is a rees congruence (see
IsReesCongruence
(Reference: IsReesCongruence)) then this attribute returns the two-sided ideal that was used to define it, i.e.~the ideal of elements in the only non-trivial congruence class of cong.@@ -1814,7 +1814,7 @@13.9-2 IsReesCongruenceClass
‣ IsReesCongruenceClass
( obj )( category ) Returns:
-true
orfalse
.This category describes a congruence class of a Rees congruence. A congruence class of a Rees congruence either contains all the elements of an ideal, or is a singleton (see
+IsReesCongruence
(Reference: IsReesCongruence)).This category describes a congruence class of a Rees congruence. A congruence class of a Rees congruence either contains all the elements of an ideal, or is a singleton (see
IsReesCongruence
(Reference: IsReesCongruence)).An object of this type may be used in the same way as any other congruence class object.
@@ -1846,7 +1846,7 @@13.10-1 IsUniversalSemigroupCongruence
‣ IsUniversalSemigroupCongruence
( obj )( property ) Returns:
-true
orfalse
.This property describes a type of semigroup congruence, which must refer to the universal semigroup congruence S × S. Externally, an object of this type may be used in the same way as any other object in the category
+IsSemigroupCongruence
(Reference: IsSemigroupCongruence).This property describes a type of semigroup congruence, which must refer to the universal semigroup congruence S × S. Externally, an object of this type may be used in the same way as any other object in the category
IsSemigroupCongruence
(Reference: IsSemigroupCongruence).An object of this type may be constructed with
diff --git a/doc/chap14.html b/doc/chap14.html index 0f41ea5d0..43099a415 100644 --- a/doc/chap14.html +++ b/doc/chap14.html @@ -100,7 +100,7 @@UniversalSemigroupCongruence
or this representation may be selected automatically as an alternative to anIsRZMSCongruenceByLinkedTriple
object (since the universal congruence cannot be represented by a linked triple).14.1-1 SemigroupHomomorphismByImages
-
SemigroupHomomorphismByImages
attempts to construct a homomorphism from the semigroup S to the semigroup T by mapping thei
-th element of gens to thei
-th element of imgs. If this mapping corresponds to a homomorphism, the homomorphism is returned, and if not, thenfail
is returned. Similarly, if gens does not generate S,fail
is returned.If omitted, the arguments gens and imgs default to the generators of S and T respectively. See
+GeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup).If omitted, the arguments gens and imgs default to the generators of S and T respectively. See
GeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup).If T is not given, then it defaults to the semigroup generated by imgs, resulting in the mapping being surjective.
@@ -127,7 +127,7 @@14.1-2 SemigroupHomomorphismByFunctionNC
The function
-SemigroupHomomorphismByFunctionNC
performs no checks on whether the function actually gives a homomorphism, and so it is possible for this operation to return a mapping from S to T that is not a homomorphism.The function
+SemigroupHomomorphismByFunction
checks that the mapping from S to T defined by fun satisfiesRespectsMultiplication
(Reference: RespectsMultiplication), which can be expensive. IfRespectsMultiplication
(Reference: RespectsMultiplication) does not hold, thenfail
is returned.The function
SemigroupHomomorphismByFunction
checks that the mapping from S to T defined by fun satisfiesRespectsMultiplication
(Reference: RespectsMultiplication), which can be expensive. IfRespectsMultiplication
(Reference: RespectsMultiplication) does not hold, thenfail
is returned.@@ -145,52 +145,52 @@14.1-2 SemigroupHomomorphismByFunctionNC
-
+
Range
(Reference: range),- -
Range
(Reference: range),+
Image
(Reference: Image),- -
Image
(Reference: Image),+
Images
(Reference: Images),- -
Images
(Reference: Images),+
ImageElm
(Reference: ImageElm),- -
ImageElm
(Reference: ImageElm),+
PreImage
(Reference: PreImage),- -
PreImage
(Reference: PreImage),+
PreImages
(Reference: PreImages),- -
PreImages
(Reference: PreImages),+
PreImagesRepresentative
(Reference: PreImagesRepresentative),- -
PreImagesRepresentative
(Reference: PreImagesRepresentative),+
PreImagesRange
(Reference: PreImagesRange),- -
PreImagesRange
(Reference: PreImagesRange),+
PreImagesElm
(Reference: PreImagesElm),- -
PreImagesElm
(Reference: PreImagesElm),+
PreImagesSet
(Reference: PreImagesSet),- -
PreImagesSet
(Reference: PreImagesSet),+
IsSurjective
(Reference: IsSurjective),- -
IsSurjective
(Reference: IsSurjective),+
IsInjective
(Reference: IsInjective),- -
IsInjective
(Reference: IsInjective),+
IsBijective
(Reference: IsBijective),- -
IsBijective
(Reference: IsBijective),+
Source
(Reference: Source),- -
Source
(Reference: Source),+
Range
(Reference: range),- -
Range
(Reference: range),+
ImagesSource
(Reference: ImagesSource),
ImagesSource
(Reference: ImagesSource),@@ -339,9 +339,9 @@
KernelOfSemigroupHomomorphism
(14.1-7).14.2-2 SmallestMultiplicationTable
This function returns the lex-least multiplication table of a semigroup isomorphic to the semigroup S.
-SmallestMultiplicationTable
returns the lex-least multiplication of any semigroup isomorphic to S. Due to the high complexity of computing the smallest multiplication table of a semigroup, this function only performs well for semigroups with at most approximately 50 elements.+
SmallestMultiplicationTable
is based on the functionIdSmallSemigroup
(Smallsemi: IdSmallSemigroup) by Andreas Distler.-
SmallestMultiplicationTable
is based on the functionIdSmallSemigroup
(Smallsemi: IdSmallSemigroup) by Andreas Distler.From Version 3.3.0 of Semigroups this attribute is computed using
+MinimalImage
(images: MinimalImage) from the the images package. See also:CanonicalMultiplicationTable
(14.2-3).From Version 3.3.0 of Semigroups this attribute is computed using
MinimalImage
(images: MinimalImage) from the the images package. See also:CanonicalMultiplicationTable
(14.2-3).@@ -367,7 +367,7 @@14.2-3 CanonicalMultiplicationTable
This function returns a multiplication table of a semigroup isomorphic to the semigroup S.
-CanonicalMultiplicationTable
returns a multiplication that is canonical, in the sense that if two semigroupsS
andT
are isomorphic, then the return values ofCanonicalMultiplicationTable
are equal.+
CanonicalMultiplicationTable
uses the machinery for canonical labelling of vertex coloured digraphs in bliss viaBlissCanonicalLabelling
(Digraphs: BlissCanonicalLabelling for a digraph and a list).
CanonicalMultiplicationTable
uses the machinery for canonical labelling of vertex coloured digraphs in bliss viaBlissCanonicalLabelling
(Digraphs: BlissCanonicalLabelling for a digraph and a list).The multiplication table returned by this function is the result of
@@ -401,7 +401,7 @@OnMultiplicationTable(MultiplicationTable(S), CanonicalMultiplicationTablePerm(S));
14.2-4 CanonicalMultiplicationTablePerm
See
-CanonicalMultiplicationTable
(14.2-3) for more details.+
CanonicalMultiplicationTablePerm
uses the machinery for canonical labelling of vertex coloured digraphs in bliss viaBlissCanonicalLabelling
(Digraphs: BlissCanonicalLabelling for a digraph and a list).
CanonicalMultiplicationTablePerm
uses the machinery for canonical labelling of vertex coloured digraphs in bliss viaBlissCanonicalLabelling
(Digraphs: BlissCanonicalLabelling for a digraph and a list).@@ -450,7 +450,7 @@14.2-6 IsomorphismSemigroups
This operation attempts to find an isomorphism from the semigroup S to the semigroup T. If it finds one, then it is returned, and if not, then
-fail
is returned.+
IsomorphismSemigroups
uses the machinery for finding isomorphisms between vertex coloured digraphs in bliss viaIsomorphismDigraphs
(Digraphs: IsomorphismDigraphs for digraphs and homogeneous lists) using digraphs constructed from the multiplication tables of S and T.
IsomorphismSemigroups
uses the machinery for finding isomorphisms between vertex coloured digraphs in bliss viaIsomorphismDigraphs
(Digraphs: IsomorphismDigraphs for digraphs and homogeneous lists) using digraphs constructed from the multiplication tables of S and T.Note that finding an isomorphism between two semigroups is difficult, and may not be possible for semigroups whose size exceeds a few hundred elements. On the other hand,
@@ -496,7 +496,7 @@IsomorphismSemigroups
may be able deduce that S and T are not isomorphic by finding that some of their semigroup-theoretic properties differ.14.2-7 AutomorphismGroup
‣ AutomorphismGroup
( S )( operation ) Returns: A group.
-This operation returns the group of automorphisms of the semigroup S.
+AutomorphismGroup
uses bliss viaAutomorphismGroup
(Digraphs: AutomorphismGroup for a digraph and a homogeneous list) using a vertex coloured digraph constructed from the multiplication table of S. Consequently, this method is only really feasible for semigroups whose size does not exceed a few hundred elements.This operation returns the group of automorphisms of the semigroup S.
AutomorphismGroup
uses bliss viaAutomorphismGroup
(Digraphs: AutomorphismGroup for a digraph and a homogeneous list) using a vertex coloured digraph constructed from the multiplication table of S. Consequently, this method is only really feasible for semigroups whose size does not exceed a few hundred elements.@@ -539,9 +539,9 @@14.2-9 SemigroupIsomorphismByFunctionNC
-
SemigroupIsomorphismByFunctionNC
returns a semigroup isomorphism with source S and range T, such that each elements
in S is mapped to the element fun(s)
, where fun is a GAP function, and invFun its inverse, mapping fun(s)
back tos
.The function
+SemigroupIsomorphismByFunctionNC
performs no checks on whether the function actually gives an isomorphism, and so it is possible for this operation to return a mapping from S to T that is not a homomorphism, or not a bijection, or where the return value ofInverseGeneralMapping
(Reference: InverseGeneralMapping) is not the inverse of the returned function.The function
-SemigroupIsomorphismByFunctionNC
performs no checks on whether the function actually gives an isomorphism, and so it is possible for this operation to return a mapping from S to T that is not a homomorphism, or not a bijection, or where the return value ofInverseGeneralMapping
(Reference: InverseGeneralMapping) is not the inverse of the returned function.The function
+SemigroupIsomorphismByFunction
checks that: the mapping from S to T defined by fun satisfiesRespectsMultiplication
(Reference: RespectsMultiplication); that the function from T to S defined by invFun satisfiesRespectsMultiplication
(Reference: RespectsMultiplication); and that these functions are mutual inverses. This can be expensive. If any of these checks fails, thenfail
is returned.The function
SemigroupIsomorphismByFunction
checks that: the mapping from S to T defined by fun satisfiesRespectsMultiplication
(Reference: RespectsMultiplication); that the function from T to S defined by invFun satisfiesRespectsMultiplication
(Reference: RespectsMultiplication); and that these functions are mutual inverses. This can be expensive. If any of these checks fails, thenfail
is returned.@@ -562,7 +562,7 @@14.2-10 IsSemigroupIsomorphismByFunction
‣ IsSemigroupIsomorphismByFunction
( iso )( filter ) Returns:
-true
orfalse
.+
IsSemigroupIsomorphismByFunction
returnstrue
if hom satisfiesIsSemigroupHomomorphismByFunction
(14.1-4) andIsBijective
(Reference: IsBijective), andfalse
if does not. Note that this filter may returntrue
even if the underlying GAP function does not define a homomorphism. A semigroup isomorphism is a mapping from a semigroupS
to a semigroupT
that respects multiplication. This representation describes semigroup isomorphisms internally by using a GAP function mapping elements ofS
to their images inT
. SeeSemigroupIsomorphismByFunction
(14.2-9).
IsSemigroupIsomorphismByFunction
returnstrue
if hom satisfiesIsSemigroupHomomorphismByFunction
(14.1-4) andIsBijective
(Reference: IsBijective), andfalse
if does not. Note that this filter may returntrue
even if the underlying GAP function does not define a homomorphism. A semigroup isomorphism is a mapping from a semigroupS
to a semigroupT
that respects multiplication. This representation describes semigroup isomorphisms internally by using a GAP function mapping elements ofS
to their images inT
. SeeSemigroupIsomorphismByFunction
(14.2-9).@@ -680,7 +680,7 @@14.3-1 IsRMSIsoByTriple
-belong to the categories
+IsRMSIsoByTriple
andIsRZMSIsoByTriple
. Basic operators for such isomorphism are given in 14.3-7, and basic operations are:Range
(Reference: range),Source
(Reference: Source),ELM_LIST
(14.3-3),CompositionMapping
(Reference: CompositionMapping),ImagesElm
(14.3-5),ImagesRepresentative
(14.3-5),InverseGeneralMapping
(Reference: InverseGeneralMapping),PreImagesRepresentative
(Reference: PreImagesRepresentative),IsOne
(Reference: IsOne).belong to the categories
@@ -697,10 +697,10 @@IsRMSIsoByTriple
andIsRZMSIsoByTriple
. Basic operators for such isomorphism are given in 14.3-7, and basic operations are:Range
(Reference: range),Source
(Reference: Source),ELM_LIST
(14.3-3),CompositionMapping
(Reference: CompositionMapping),ImagesElm
(14.3-5),ImagesRepresentative
(14.3-5),InverseGeneralMapping
(Reference: InverseGeneralMapping),PreImagesRepresentative
(Reference: PreImagesRepresentative),IsOne
(Reference: IsOne).14.3-2 RMSIsoByTriple
- -
triple[1]
should be a permutation describing an isomorphism from the graph of R1 to the graph of R2, i.e. it should satisfyOnDigraphs(RZMSDigraph(R1), triple[1]) = RZMSDigraph(R2)
.+
triple[2]
should be an isomorphism from the underlying group of R1 to the underlying group of R2 (seeUnderlyingSemigroup
(Reference: UnderlyingSemigroup for a Rees 0-matrix semigroup)).- -
triple[2]
should be an isomorphism from the underlying group of R1 to the underlying group of R2 (seeUnderlyingSemigroup
(Reference: UnderlyingSemigroup for a Rees 0-matrix semigroup)).+
triple[3]
should be a list of elements from the underlying group of R2. If theMatrix
(Reference: Matrix) of R1 has m columns and n rows, then the list should have length m + n, where the first m entries should correspond to the columns of R1's matrix, and the last n entries should correspond to the rows. These column and row entries should correspond to the u_i and v_λ elements in Theorem 3.4.1 of [How95].- @@ -840,7 +840,7 @@
triple[3]
should be a list of elements from the underlying group of R2. If theMatrix
(Reference: Matrix) of R1 has m columns and n rows, then the list should have length m + n, where the first m entries should correspond to the columns of R1's matrix, and the last n entries should correspond to the rows. These column and row entries should correspond to the u_i and v_λ elements in Theorem 3.4.1 of [How95].14.3-6 CanonicalReesZeroMatrixSemigroup
‣ CanonicalReesMatrixSemigroup
( S )( attribute ) Returns: A Rees zero matrix semigroup.
-If S is a Rees 0-matrix semigroup then
+CanonicalReesZeroMatrixSemigroup
returns an isomorphic Rees 0-matrix semigroupT
with the sameUnderlyingSemigroup
(Reference: UnderlyingSemigroup for a Rees 0-matrix semigroup) as S but theMatrix
(Reference: Matrix) ofT
has been canonicalized. The outputT
is canonical in the sense that for any two inputs which are isomorphic Rees zero matrix semigroups the output of this function is the same.If S is a Rees 0-matrix semigroup then
CanonicalReesZeroMatrixSemigroup
returns an isomorphic Rees 0-matrix semigroupT
with the sameUnderlyingSemigroup
(Reference: UnderlyingSemigroup for a Rees 0-matrix semigroup) as S but theMatrix
(Reference: Matrix) ofT
has been canonicalized. The outputT
is canonical in the sense that for any two inputs which are isomorphic Rees zero matrix semigroups the output of this function is the same.diff --git a/doc/chap15.html b/doc/chap15.html index 380a690d0..4db7c7a2c 100644 --- a/doc/chap15.html +++ b/doc/chap15.html @@ -214,7 +214,7 @@
CanonicalReesMatrixSemigroup
works the same but for Rees matrix semigroups.15.2 Helper functions
-This section describes operations implemented in Semigroups that are designed to interact with standard GAP methods for creating finitely presented semigroups and monoids (see Reference: Finitely Presented Semigroups and Monoids).
+This section describes operations implemented in Semigroups that are designed to interact with standard GAP methods for creating finitely presented semigroups and monoids (see Reference: Finitely Presented Semigroups and Monoids).
@@ -227,7 +227,7 @@15.2-1 ParseRelations
The argument gens must be a list of generators for a free semigroup, each being a single alphabet letter (in upper or lower case). The argument rels must be string that lists the equalities desired.
-To take a quotient of a free monoid, it is necessary to use
+GeneratorsOfMonoid
(Reference: GeneratorsOfMonoid) as the 1st argument toParseRelations
and the identity may appear as1
in the specified relations.To take a quotient of a free monoid, it is necessary to use
GeneratorsOfMonoid
(Reference: GeneratorsOfMonoid) as the 1st argument toParseRelations
and the identity may appear as1
in the specified relations.@@ -255,9 +255,9 @@15.2-2 ElementOfFpSemigroup
‣ ElementOfFpSemigroup
( S, word )( operation ) Returns: An element of the fp semigroup S.
-When S is a finitely presented semigroup and word is an associative word in the associated free semigroup (see
+IsAssocWord
(Reference: IsAssocWord)), this returns the fp semigroup element with representative word.When S is a finitely presented semigroup and word is an associative word in the associated free semigroup (see
-IsAssocWord
(Reference: IsAssocWord)), this returns the fp semigroup element with representative word.This function is just a short form of the GAP library implementation of
+ElementOfFpSemigroup
(Reference: ElementOfFpSemigroup) which does not require retrieving an element family.This function is just a short form of the GAP library implementation of
ElementOfFpSemigroup
(Reference: ElementOfFpSemigroup) which does not require retrieving an element family.@@ -281,7 +281,7 @@15.2-3 ElementOfFpMonoid
‣ ElementOfFpMonoid
( M, word )( operation ) Returns: An element of the fp monoid M.
-When M is a finitely presented monoid and word is an associative word in the associated free monoid (see
+IsAssocWord
(Reference: IsAssocWord)), this returns the fp monoid element with representative word.When M is a finitely presented monoid and word is an associative word in the associated free monoid (see
IsAssocWord
(Reference: IsAssocWord)), this returns the fp monoid element with representative word.This is analogous to
@@ -317,7 +317,7 @@ElementOfFpSemigroup
(15.2-2).15.2-5 IsSubsemigroupOfFpMonoid
‣ IsSubsemigroupOfFpMonoid
( S )( property ) Returns:
-true
orfalse
.This property is
+true
if the object S is a subsemigroup of an fp monoid, andfalse
otherwise. This property is just a synonym forIsSemigroup
(Reference: IsSemigroup) andIsElementOfFpMonoidCollection
.This property is
true
if the object S is a subsemigroup of an fp monoid, andfalse
otherwise. This property is just a synonym forIsSemigroup
(Reference: IsSemigroup) andIsElementOfFpMonoidCollection
.@@ -344,11 +344,11 @@15.3 Creating Tietze transformation objects
-It is possible to use GAP to create finitely presented semigroups without the Semigroups package, by creating a free semigroup, then quotienting by a list of relations. This is described in the reference manual (Reference: Finitely Presented Semigroups and Monoids).
+It is possible to use GAP to create finitely presented semigroups without the Semigroups package, by creating a free semigroup, then quotienting by a list of relations. This is described in the reference manual (Reference: Finitely Presented Semigroups and Monoids).
However, finitely presented semigroups do not allow for their relations to be simplified, so in the following sections, we describe how to create and modify the semigroup Tietze (
-IsStzPresentation
(15.3-2)) object associated with an fp semigroup. This object can be automatically simplified, or the user can manually apply Tietze transformations to add or remove relations or generators in the presentation.This object is analogous to
+PresentationFpGroup
(Reference: PresentationFpGroup) implemented for fp groups in the main GAP distribution (Reference: Presentations and Tietze Transformations), but its features are semigroup-specific. Most of the functions used to create, view and manipulate semigroup Tietze objects are prefixed with Stz.This object is analogous to
@@ -357,7 +357,7 @@PresentationFpGroup
(Reference: PresentationFpGroup) implemented for fp groups in the main GAP distribution (Reference: Presentations and Tietze Transformations), but its features are semigroup-specific. Most of the functions used to create, view and manipulate semigroup Tietze objects are prefixed with Stz.15.3-1 StzPresentation
‣ StzPresentation
( S )( operation ) Returns: A semigroup Tietze (Stz) object.
-If s is an fp semigroup (
+IsFpSemigroup
(Reference: IsFpSemigroup)), then this function returns a modifiable object representing the generators and relations of s.If s is an fp semigroup (
IsFpSemigroup
(Reference: IsFpSemigroup)), then this function returns a modifiable object representing the generators and relations of s.@@ -376,7 +376,7 @@15.3-2 IsStzPresentation
‣ IsStzPresentation
( stz )( filter ) Returns:
-true
orfalse
.Every semigroup Tietze object is an element of the category
+IsStzPresentation
. Internally, each Stz object contains a list of generators (each represented as a string) and a list of relations (each represented as a pair ofLetterRep
words, seeLetterRepAssocWord
(Reference: LetterRepAssocWord)). These generator and relation lists can be modified using Tietze transformations (15.5).Every semigroup Tietze object is an element of the category
IsStzPresentation
. Internally, each Stz object contains a list of generators (each represented as a string) and a list of relations (each represented as a pair ofLetterRep
words, seeLetterRepAssocWord
(Reference: LetterRepAssocWord)). These generator and relation lists can be modified using Tietze transformations (15.5).When a
@@ -421,7 +421,7 @@IsStzPresentation
object stz is created from an fp semigroups
usingstz := StzPresentation(s)
, the generators and relations of stz are initially equal to the generators and relations ofs
. However, as the Stz object stz is modified, these lists may change, and their current state can be viewed usingGeneratorsOfStzPresentation
(15.3-3) andRelationsOfStzPresentation
(15.3-4).15.3-3 GeneratorsOfStzPresentation
15.3-4 RelationsOfStzPresentation
-
‣ RelationsOfStzPresentation
( stz )( attribute ) Returns: A list of pairs of words in
+LetterRep
(LetterRepAssocWord
(Reference: LetterRepAssocWord)) form.Returns: A list of pairs of words in
LetterRep
(LetterRepAssocWord
(Reference: LetterRepAssocWord)) form.If stz is an
@@ -494,7 +494,7 @@StzPresentation
(15.3-1) object, thenRelationsOfStzPresentation
will return in letter rep form the current relations of the presentation object. When the presentation object is first created, these will be theLetterRep
forms of the relations of the fp semigroup object that is used to create stz. As Tietze transformations are performed on the presentation object, the relations returned by this function will change to reflect the transformations.15.4
Since the relations are stored as flat lists of numbers, there are several methods installed to print the presentations in more user-friendly forms.
-All printing methods in this section are displayed as information (
+Info
(Reference: Info)) in the classInfoFpSemigroup
at level 1. SettingSetInfoLevevl(InfoFpSemigroup, 0)
will suppress the messages, while any higher number will display them.All printing methods in this section are displayed as information (
@@ -773,7 +773,7 @@Info
(Reference: Info)) in the classInfoFpSemigroup
at level 1. SettingSetInfoLevevl(InfoFpSemigroup, 0)
will suppress the messages, while any higher number will display them.15.6 Converting a Tietze transformation object into a fp semigroup
-Semigroup Tietze transformation objects (
+IsStzPresentation
(15.3-2)) are not actual fp semigroups in the sense ofIsFpSemigroup
(Reference: IsFpSemigroup). This is because their generators and relations can be modified (see section 15.5). However, anStzPresentation
(15.3-1) can be converted back into an actual finitely presented semigroup using the methods described in this section.Semigroup Tietze transformation objects (
IsStzPresentation
(15.3-2)) are not actual fp semigroups in the sense ofIsFpSemigroup
(Reference: IsFpSemigroup). This is because their generators and relations can be modified (see section 15.5). However, anStzPresentation
(15.3-1) can be converted back into an actual finitely presented semigroup using the methods described in this section.The intended use of semigroup Tietze objects is as follows: given an fp semigroup
@@ -971,7 +971,7 @@S
, create a modifiable presentation usingstz := StzPresentation(S)
, apply Tietze transformations to it (perhaps in order to simplify the presentation), then generate a new fp semigroupT
given bystz
which is isomorphic toS
, but has a simpler presentation. OnceT
is obtained, it may be of interest to map elements ofS
over toT
, where they may be represented by different combinations of generators. The isomorphism achieving this is described in this section (seeStzIsomorphism
(15.6-3)).15.8-2 SimplifiedFpSemigroup
‣ SimplifiedFpSemigroup
( S )( operation ) Returns: A finitely presented semigroup.
-If S is an fp semigroup object (
+IsFpSemigroup
(Reference: IsFpSemigroup)), thenSimplifiedFpSemigroup
will return an FpSemigroup object T which is isomorphic to S which has been reduced to minimise its length.SimplifiedFpSemigroup
appliesSimplifyFpSemigroup
(15.8-1) and assigns theRange
of the isomorphism object which is returned to T, adding the isomorphism to T as an attribute. In this way, while T is a completely new FpSemigroup object, words in S can be mapped to T using the map obtained from the attributeFpTietzeIsomorphism
(15.8-4).If S is an fp semigroup object (
IsFpSemigroup
(Reference: IsFpSemigroup)), thenSimplifiedFpSemigroup
will return an FpSemigroup object T which is isomorphic to S which has been reduced to minimise its length.SimplifiedFpSemigroup
appliesSimplifyFpSemigroup
(15.8-1) and assigns theRange
of the isomorphism object which is returned to T, adding the isomorphism to T as an attribute. In this way, while T is a completely new FpSemigroup object, words in S can be mapped to T using the map obtained from the attributeFpTietzeIsomorphism
(15.8-4).For more information on the mapping between the semigroups and how it is created, see 15.6.
diff --git a/doc/chap16.html b/doc/chap16.html index 56a66e83f..c0fbecfdd 100644 --- a/doc/chap16.html +++ b/doc/chap16.html @@ -57,7 +57,7 @@16 Visualising semigroups and elements
-There are two operations
+TikzString
(16.3-1) andDotString
(16.1-1) in Semigroups for creating LaTeX anddot
(also known as GraphViz) format pictures of the Green's class structure of a semigroup and for visualising certain types of elements of a semigroup. There is also a functionSplash
(Digraphs: Splash) for automatically processing the output ofTikzString
(16.3-1) andDotString
(16.1-1) and opening the resulting pdf file.There are two operations
@@ -67,7 +67,7 @@TikzString
(16.3-1) andDotString
(16.1-1) in Semigroups for creating LaTeX anddot
(also known as GraphViz) format pictures of the Green's class structure of a semigroup and for visualising certain types of elements of a semigroup. There is also a functionSplash
(Digraphs: Splash) for automatically processing the output ofTikzString
(16.3-1) andDotString
(16.1-1) and opening the resulting pdf file.16.1
In this section, we describe the operations in Semigroups for creating pictures in
-dot
format.The operations described in this section return strings, which can be written to a file using the function
+FileString
(GAPDoc: FileString) or viewed usingSplash
(Digraphs: Splash).The operations described in this section return strings, which can be written to a file using the function
@@ -78,7 +78,7 @@FileString
(GAPDoc: FileString) or viewed usingSplash
(Digraphs: Splash).16.1-1 DotString
If the argument S is a semigroup, and the optional second argument options is a record, then this operation produces a graphical representation of the partial order of the D-classes of the semigroup S together with the eggbox diagram of each D-class. The output is in
-dot
format (also known asGraphViz
) format. For details about this file format, and information about how to display or edit this format see https://www.graphviz.org.The string returned by
+DotString
can be written to a file using the commandFileString
(GAPDoc: FileString).The string returned by
DotString
can be written to a file using the commandFileString
(GAPDoc: FileString).The D-classes are shown as eggbox diagrams with L-classes as rows and R-classes as columns; group H-classes are shaded gray and contain an asterisk. The L-classes and R-classes within a D-class are arranged to correspond to the normalization of the principal factor given by
@@ -91,7 +91,7 @@NormalizedPrincipalFactor
(10.4-8). The D-classes are numbered according to their index inGreensDClasses(S)
, so that ani
appears next to the eggbox diagram ofGreensDClasses(S)[i]
. A line from one D-class to another indicates that the higher D-class is greater than the lower one in the D-order on S.16.1-1 DotString
- maximal
-if
+options.maximal
istrue
, then the structure description of the group H-classes is displayed; seeStructureDescription
(Reference: StructureDescription). Setting this attribute totrue
can adversely affect the performance ofDotString
. The default value for this option isfalse
.if
options.maximal
istrue
, then the structure description of the group H-classes is displayed; seeStructureDescription
(Reference: StructureDescription). Setting this attribute totrue
can adversely affect the performance ofDotString
. The default value for this option isfalse
.- normal
@@ -131,9 +131,9 @@16.1-2 DotString
‣ DotString
( digraph )( operation ) Returns: A string.
-If digraph is a
+Digraph
(Digraphs: Digraph) in the categoryIsCayleyDigraph
(Digraphs: IsCayleyDigraph), thenDotString
returns a graphical representation of digraph. The output is indot
format (also known asGraphViz
) format. For details about this file format, and information about how to display or edit this format see https://www.graphviz.org.If digraph is a
-Digraph
(Digraphs: Digraph) in the categoryIsCayleyDigraph
(Digraphs: IsCayleyDigraph), thenDotString
returns a graphical representation of digraph. The output is indot
format (also known asGraphViz
) format. For details about this file format, and information about how to display or edit this format see https://www.graphviz.org.The string returned by
+DotString
can be written to a file using the commandFileString
(GAPDoc: FileString).The string returned by
DotString
can be written to a file using the commandFileString
(GAPDoc: FileString).See also
@@ -144,7 +144,7 @@DotLeftCayleyDigraph
(16.1-4) andTikzLeftCayleyDigraph
(16.3-2).16.1-3 DotSemilatticeOfIdempotents
‣ DotSemilatticeOfIdempotents
( S )( attribute ) Returns: A string.
-This function produces a graphical representation of the semilattice of the idempotents of an inverse semigroup S where the elements of S have a unique semigroup inverse accessible via
+Inverse
(Reference: Inverse). The idempotents are grouped by the D-class they belong to.This function produces a graphical representation of the semilattice of the idempotents of an inverse semigroup S where the elements of S have a unique semigroup inverse accessible via
Inverse
(Reference: inverse). The idempotents are grouped by the D-class they belong to.The output is in
@@ -199,7 +199,7 @@dot
format (also known asGraphViz
) format. For details about this file format, and information about how to display or edit this format see https://www.graphviz.org.16.2-1 TexString
‣ TexString
( f[, n] )( operation ) Returns: A string.
-This function produces a string containing LaTeX code for the transformation f. If the optional parameter n is used, then this is taken to be the degree of the transformation f, if the parameter n is not given, then
+DegreeOfTransformation
(Reference: DegreeOfTransformation) is used by default. If n is less than the degree of f, then an error is given.This function produces a string containing LaTeX code for the transformation f. If the optional parameter n is used, then this is taken to be the degree of the transformation f, if the parameter n is not given, then
DegreeOfTransformation
(Reference: DegreeOfTransformation) is used by default. If n is less than the degree of f, then an error is given.@@ -218,7 +218,7 @@16.3
In this section, we describe the operations in Semigroups for creating pictures in
-tikz
format.The functions described in this section return a string, which can be written to a file using the function
+FileString
(GAPDoc: FileString) or viewed usingSplash
(Digraphs: Splash).The functions described in this section return a string, which can be written to a file using the function
@@ -248,7 +248,7 @@FileString
(GAPDoc: FileString) or viewed usingSplash
(Digraphs: Splash).16.3-1 TikzString
- Cayley graphs
-If obj is a
+Digraph
(Digraphs: Digraph) in the categoryIsCayleyDigraph
(Digraphs: IsCayleyDigraph), thenTikzString
returns a picture of obj. No attempt is made whatsoever to produce a sensible picture of the digraph obj, in fact, the vertices are all given the same coordinates. Human intervention is required to produce a meaningful picture from the value returned by this method. It is intended to make the task of drawing such a Cayley graph more straightforward by providing everything except the final layout of the graph. Please useDotString
(16.1-1) if you want an automatically laid out diagram of the digraph obj.- diff --git a/doc/chap16.txt b/doc/chap16.txt index f9b70f5d1..f5ee87106 100644 --- a/doc/chap16.txt +++ b/doc/chap16.txt @@ -115,7 +115,7 @@ [33X[0;0YThis function produces a graphical representation of the semilattice of the idempotents of an inverse semigroup [3XS[103X where the elements of [3XS[103X have a unique - semigroup inverse accessible via [2XInverse[102X ([14XReference: Inverse[114X). The + semigroup inverse accessible via [2XInverse[102X ([14XReference: inverse[114X). The idempotents are grouped by the [13XD[113X-class they belong to.[133X [33X[0;0YThe output is in [10Xdot[110X format (also known as [10XGraphViz[110X) format. For details diff --git a/doc/chap16_mj.html b/doc/chap16_mj.html index 16185f063..abfbe033f 100644 --- a/doc/chap16_mj.html +++ b/doc/chap16_mj.html @@ -147,7 +147,7 @@
If obj is a
Digraph
(Digraphs: Digraph) in the categoryIsCayleyDigraph
(Digraphs: IsCayleyDigraph), thenTikzString
returns a picture of obj. No attempt is made whatsoever to produce a sensible picture of the digraph obj, in fact, the vertices are all given the same coordinates. Human intervention is required to produce a meaningful picture from the value returned by this method. It is intended to make the task of drawing such a Cayley graph more straightforward by providing everything except the final layout of the graph. Please useDotString
(16.1-1) if you want an automatically laid out diagram of the digraph obj.16.1-3 DotSemilatticeOfIdempotents
‣ DotSemilatticeOfIdempotents
( S )( attribute ) Returns: A string.
-This function produces a graphical representation of the semilattice of the idempotents of an inverse semigroup S where the elements of S have a unique semigroup inverse accessible via
+Inverse
(Reference: Inverse). The idempotents are grouped by the \(\mathscr{D}\)-class they belong to.This function produces a graphical representation of the semilattice of the idempotents of an inverse semigroup S where the elements of S have a unique semigroup inverse accessible via
Inverse
(Reference: inverse). The idempotents are grouped by the \(\mathscr{D}\)-class they belong to.The output is in
diff --git a/doc/chap17.html b/doc/chap17.html index 158f6567b..2da8f6063 100644 --- a/doc/chap17.html +++ b/doc/chap17.html @@ -82,17 +82,17 @@dot
format (also known asGraphViz
) format. For details about this file format, and information about how to display or edit this format see https://www.graphviz.org.17.1-2 WriteGenerators
The argument list should be a list of lists of elements, or semigroups.
-The argument filename should be a string containing the name of a file or an IO package file object where the entries in list will be written; see
+IO_File
(IO: IO_File mode) andIO_CompressedFile
(IO: IO_CompressedFile).The argument filename should be a string containing the name of a file or an IO package file object where the entries in list will be written; see
IO_File
(IO: IO_File mode) andIO_CompressedFile
(IO: IO_CompressedFile).If the optional third argument append is not present or is given and equals
-"w"
, then the previous content of the file is deleted and overwritten. If the third argument is"a"
, thenlist
is appended to the file.If any element of list is a semigroup, then the generators of that semigroup are written to filename. More specifically, the list returned by
+GeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup) is written to the file.If any element of list is a semigroup, then the generators of that semigroup are written to filename. More specifically, the list returned by
-GeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup) is written to the file.This function returns
+IO_OK
(IO: IO_OK) if everything went well orIO_ERROR
(IO: IO_Error) if something went wrong.This function returns
IO_OK
(IO: IO_OK) if everything went well orIO_ERROR
(IO: IO_Error) if something went wrong.The file produced by
-WriteGenerators
can be read usingReadGenerators
(17.1-1).From Version 3.0.0 onwards the Semigroups package used the IO package pickling functionality; see IO: Pickling and unpickling for more details. This approach is used because it is more general and more robust than the methods used by earlier versions of Semigroups, although the performance is somewhat worse, and the resulting files are somewhat larger.
+From Version 3.0.0 onwards the Semigroups package used the IO package pickling functionality; see IO: Pickling and unpickling for more details. This approach is used because it is more general and more robust than the methods used by earlier versions of Semigroups, although the performance is somewhat worse, and the resulting files are somewhat larger.
@@ -147,9 +147,9 @@17.2-2 WriteMultiplicationTable
The argument list should be a list of multiplication tables.
-The argument filename should be a file or a string containing the name of a file where the entries in list will be written or an IO package file object; see
+IO_File
(IO: IO_File mode) andIO_CompressedFile
(IO: IO_CompressedFile).The argument filename should be a file or a string containing the name of a file where the entries in list will be written or an IO package file object; see
-IO_File
(IO: IO_File mode) andIO_CompressedFile
(IO: IO_CompressedFile).If the optional third argument append is not present or is given and equals
+"w"
, then the previous content of the file is deleted and overwritten. If the third argument is given and equals"a"
thenlist
is appended to the file. This function returnsIO_OK
(IO: IO_OK) if everything went well orIO_ERROR
(IO: IO_Error) if something went wrong.If the optional third argument append is not present or is given and equals
"w"
, then the previous content of the file is deleted and overwritten. If the third argument is given and equals"a"
thenlist
is appended to the file. This function returnsIO_OK
(IO: IO_OK) if everything went well orIO_ERROR
(IO: IO_Error) if something went wrong.The multiplication tables saved in filename can be recovered from the file using
diff --git a/doc/chap17_mj.html b/doc/chap17_mj.html index 0bff91aad..9a1d047e5 100644 --- a/doc/chap17_mj.html +++ b/doc/chap17_mj.html @@ -95,7 +95,7 @@ReadMultiplicationTable
(17.2-1).17.1-2 WriteGenerators
The file produced by
-WriteGenerators
can be read usingReadGenerators
(17.1-1).From Version 3.0.0 onwards the Semigroups package used the IO package pickling functionality; see IO: Pickling and unpickling for more details. This approach is used because it is more general and more robust than the methods used by earlier versions of Semigroups, although the performance is somewhat worse, and the resulting files are somewhat larger.
+From Version 3.0.0 onwards the Semigroups package used the IO package pickling functionality; see IO: Pickling and unpickling for more details. This approach is used because it is more general and more robust than the methods used by earlier versions of Semigroups, although the performance is somewhat worse, and the resulting files are somewhat larger.
diff --git a/doc/chap18.html b/doc/chap18.html index 1ae156fd2..d22ff9ffb 100644 --- a/doc/chap18.html +++ b/doc/chap18.html @@ -97,7 +97,7 @@18.1-1 IsXTranslation
‣ IsSemigroupTranslation
( arg )( filter )
‣ IsLeftTranslation
( arg )( filter ) -
‣ IsRightTranslation
( arg )( filter ) Returns:
+true
orfalse
Returns:
true
orfalse
All, and only, left [right] translations belong to
@@ -122,9 +122,9 @@IsLeftTranslation
[IsRightTranslation
]. These are both subcategories ofIsSemigroupTranslation
, which itself is a subcategory ofIsAssociativeElement
.18.1-1 IsXTranslation
18.1-2 IsBitranslation
-
‣ IsBitranslation
( arg )( filter ) Returns:
+true
orfalse
Returns:
-true
orfalse
All, and only, bitranslations belong to
+IsBitranslation
. This is a subcategory ofIsAssociativeElement
(Reference: IsAssociativeElement).All, and only, bitranslations belong to
IsBitranslation
. This is a subcategory ofIsAssociativeElement
(Reference: IsAssociativeElement).@@ -153,7 +153,7 @@18.1-3 IsXTranslationCollection
‣ IsLeftTranslationCollection
( obj )( filter )
‣ IsRightTranslationCollection
( obj )( filter ) -
‣ IsBitranslationCollection
( obj )( filter ) Returns:
+true
orfalse
Returns:
true
orfalse
Every collection of left-, right-, or bi-translations belongs to the respective category
diff --git a/doc/chap18.txt b/doc/chap18.txt index fc7cce17d..06fbafeec 100644 --- a/doc/chap18.txt +++ b/doc/chap18.txt @@ -74,7 +74,7 @@ [33X[1;0Y[29X[2XIsSemigroupTranslation[102X( [3Xarg[103X ) [32X filter[133X [33X[1;0Y[29X[2XIsLeftTranslation[102X( [3Xarg[103X ) [32X filter[133X [33X[1;0Y[29X[2XIsRightTranslation[102X( [3Xarg[103X ) [32X filter[133X - [6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X + [6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X [33X[0;0YAll, and only, left [right] translations belong to [10XIsLeftTranslation[110X [[10XIsRightTranslation[110X]. These are both subcategories of @@ -99,7 +99,7 @@ [1X18.1-2 IsBitranslation[101X [33X[1;0Y[29X[2XIsBitranslation[102X( [3Xarg[103X ) [32X filter[133X - [6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X + [6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X [33X[0;0YAll, and only, bitranslations belong to [10XIsBitranslation[110X. This is a subcategory of [2XIsAssociativeElement[102X ([14XReference: IsAssociativeElement[114X).[133X @@ -129,7 +129,7 @@ [33X[1;0Y[29X[2XIsLeftTranslationCollection[102X( [3Xobj[103X ) [32X filter[133X [33X[1;0Y[29X[2XIsRightTranslationCollection[102X( [3Xobj[103X ) [32X filter[133X [33X[1;0Y[29X[2XIsBitranslationCollection[102X( [3Xobj[103X ) [32X filter[133X - [6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X + [6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X [33X[0;0YEvery collection of left-, right-, or bi-translations belongs to the respective category [2XIsXTranslationCollection[102X.[133X diff --git a/doc/chap18_mj.html b/doc/chap18_mj.html index 6ca0cfb2e..9c67b9a9a 100644 --- a/doc/chap18_mj.html +++ b/doc/chap18_mj.html @@ -111,7 +111,7 @@IsXTranslationCollection
.18.1-1 IsXTranslation
‣ IsSemigroupTranslation
( arg )( filter )
‣ IsLeftTranslation
( arg )( filter ) -
‣ IsRightTranslation
( arg )( filter ) Returns:
+true
orfalse
Returns:
true
orfalse
All, and only, left [right] translations belong to
@@ -136,7 +136,7 @@IsLeftTranslation
[IsRightTranslation
]. These are both subcategories ofIsSemigroupTranslation
, which itself is a subcategory ofIsAssociativeElement
.18.1-1 IsXTranslation
18.1-2 IsBitranslation
-
‣ IsBitranslation
( arg )( filter ) Returns:
+true
orfalse
Returns:
true
orfalse
All, and only, bitranslations belong to
@@ -167,7 +167,7 @@IsBitranslation
. This is a subcategory ofIsAssociativeElement
(Reference: IsAssociativeElement).18.1-3 IsXTranslationCollection
‣ IsLeftTranslationCollection
( obj )( filter )
‣ IsRightTranslationCollection
( obj )( filter ) -
‣ IsBitranslationCollection
( obj )( filter ) Returns:
+true
orfalse
Returns:
true
orfalse
Every collection of left-, right-, or bi-translations belongs to the respective category
diff --git a/doc/chap1_mj.html b/doc/chap1_mj.html index bcbaec683..f5414b507 100644 --- a/doc/chap1_mj.html +++ b/doc/chap1_mj.html @@ -51,7 +51,7 @@IsXTranslationCollection
.1.1 Introduction
-This is the manual for the Semigroups package for GAP version 5.3.4. Semigroups 5.3.4 is a distant descendant of the Monoid package for GAP 3 by Goetz Pfeiffer, Steve A. Linton, Edmund F. Robertson, and Nik Ruskuc.
+This is the manual for the Semigroups package for GAP version 5.3.5. Semigroups 5.3.5 is a distant descendant of the Monoid package for GAP 3 by Goetz Pfeiffer, Steve A. Linton, Edmund F. Robertson, and Nik Ruskuc.
From Version 3.0.0, Semigroups includes a copy of the libsemigroups C++ library which contains implementations of the Froidure-Pin, Todd-Coxeter, and Knuth-Bendix algorithms (among others) that Semigroups utilises.
diff --git a/doc/chap2.html b/doc/chap2.html index b364d03c5..baf2178bf 100644 --- a/doc/chap2.html +++ b/doc/chap2.html @@ -60,34 +60,34 @@2.1 For those in a hurry
-
ensure that the datastructures package version 0.2.5 or higher is available. datastructures must be compiled before Semigroups can be loaded.
+- -
ensure that the datastructures package version 0.2.5 or higher is available. datastructures must be compiled before Semigroups can be loaded.
ensure that the Digraphs package version 1.6.2 or higher is available. Digraphs must be compiled before Semigroups can be loaded.
+- -
ensure that the digraphs package version 1.6.2 or higher is available. digraphs must be compiled before Semigroups can be loaded.
ensure that the genss package version 1.6.5 or higher is available.
+ensure that the genss package version 1.6.5 or higher is available.
- -
ensure that the images package version 1.3.1 or higher is available.
ensure that the IO package version 4.5.1 or higher is available. IO must be compiled before Semigroups can be loaded.
+ensure that the IO package version 4.5.1 or higher is available. IO must be compiled before Semigroups can be loaded.
- -
ensure that the orb package version 4.8.2 or higher is available. orb and Semigroups both perform better if orb is compiled.
download the package archive
+semigroups-5.3.4.tar.gz
from the Semigroups package webpage.- -
download the package archive
semigroups-5.3.5.tar.gz
from the Semigroups package webpage.unzip and untar the file, this should create a directory called
+semigroups-5.3.4
.- -
unzip and untar the file, this should create a directory called
semigroups-5.3.5
.locate your GAP directory, the one containing the directories
+lib
,doc
and so on. Move the directorysemigroups-5.3.4.tar.gz
into thepkg
subdirectory of your GAP directory.- -
locate your GAP directory, the one containing the directories
lib
,doc
and so on. Move the directorysemigroups-5.3.5.tar.gz
into thepkg
subdirectory of your GAP directory.from version 3.0.0, it is necessary to compile the Semigroups package. Semigroups uses the libsemigroups C++ library, which requires a compiler implementing the C++14 standard. Inside the
+pkg/semigroups-5.3.4
directory, in your terminal typefrom version 3.0.0, it is necessary to compile the Semigroups package. Semigroups uses the libsemigroups C++ library, which requires a compiler implementing the C++14 standard. Inside the
pkg/semigroups-5.3.5
directory, in your terminal type-@@ -114,7 +114,7 @@2.2 Compiling the kernel module
As of version 3.0.0, the Semigroups package has a kernel module written in C++ and this must be compiled. The kernel module contains the interface to the C++ library libsemigroups . It is not possible to use the Semigroups package without compiling it.
-To compile the kernel component inside the
+pkg/semigroups-5.3.4.tar.gz
directory, typeTo compile the kernel component inside the
pkg/semigroups-5.3.5.tar.gz
directory, type-@@ -138,7 +138,7 @@2.3 Rebuilding the documentation
gap makedoc.gwhen you're inside the
+pkg/semigroups-5.3.4
directory.when you're inside the
@@ -199,7 +199,7 @@pkg/semigroups-5.3.5
directory.2.5 More information during a computation
2.5-1 InfoSemigroups
-
‣ InfoSemigroups
( info class ) +
InfoSemigroups
is the info class of the Semigroups package. The info level is initially set to 0 and no info messages are displayed. To increase the amount of information displayed during a computation increase the info level to 2 or 3. To stop all info messages from being displayed, set the info level to 0. See also Reference: Info Functions andSetInfoLevel
(Reference: InfoLevel).diff --git a/doc/chap2.txt b/doc/chap2.txt index 8acde53aa..e1ef3a491 100644 --- a/doc/chap2.txt +++ b/doc/chap2.txt @@ -19,8 +19,8 @@ available. [5Xdatastructures[105X must be compiled before [5XSemigroups[105X can be loaded.[133X - [30X [33X[0;6Yensure that the [5XDigraphs[105X package version 1.6.2 or higher is available. - [5XDigraphs[105X must be compiled before [5XSemigroups[105X can be loaded.[133X + [30X [33X[0;6Yensure that the [5Xdigraphs[105X package version 1.6.2 or higher is available. + [5Xdigraphs[105X must be compiled before [5XSemigroups[105X can be loaded.[133X [30X [33X[0;6Yensure that the [5Xgenss[105X package version 1.6.5 or higher is available.[133X @@ -32,21 +32,21 @@ [30X [33X[0;6Yensure that the [5Xorb[105X package version 4.8.2 or higher is available. [5Xorb[105X and [5XSemigroups[105X both perform better if [5Xorb[105X is compiled.[133X - [30X [33X[0;6Ydownload the package archive [11Xsemigroups-5.3.4.tar.gz[111X from the + [30X [33X[0;6Ydownload the package archive [11Xsemigroups-5.3.5.tar.gz[111X from the Semigroups package webpage ([7Xhttps://semigroups.github.io/Semigroups[107X).[133X [30X [33X[0;6Yunzip and untar the file, this should create a directory called - [11Xsemigroups-5.3.4[111X.[133X + [11Xsemigroups-5.3.5[111X.[133X [30X [33X[0;6Ylocate your [5XGAP[105X directory, the one containing the directories [11Xlib[111X, [11Xdoc[111X - and so on. Move the directory [11Xsemigroups-5.3.4.tar.gz[111X into the [11Xpkg[111X + and so on. Move the directory [11Xsemigroups-5.3.5.tar.gz[111X into the [11Xpkg[111X subdirectory of your [5XGAP[105X directory.[133X [30X [33X[0;6Yfrom version 3.0.0, it is necessary to compile the [5XSemigroups[105X package. [5XSemigroups[105X uses the libsemigroups ([7Xhttps://libsemigroups.github.io/libsemigroups/[107X) C++ library, which requires a compiler implementing the C++14 standard. Inside the - [11Xpkg/semigroups-5.3.4[111X directory, in your terminal type[133X + [11Xpkg/semigroups-5.3.5[111X directory, in your terminal type[133X [4X [32X[104X [4X./configure && make[104X @@ -73,7 +73,7 @@ the C++ library [5Xlibsemigroups[105X. It is not possible to use the [5XSemigroups[105X package without compiling it.[133X - [33X[0;0YTo compile the kernel component inside the [11Xpkg/semigroups-5.3.4.tar.gz[111X + [33X[0;0YTo compile the kernel component inside the [11Xpkg/semigroups-5.3.5.tar.gz[111X directory, type[133X [4X[32X[104X @@ -115,7 +115,7 @@ [4X [104X [4X[32X[104X - [33X[0;0Ywhen you're inside the [11Xpkg/semigroups-5.3.4[111X directory.[133X + [33X[0;0Ywhen you're inside the [11Xpkg/semigroups-5.3.5[111X directory.[133X [1X2.4 [33X[0;0YTesting your installation[133X[101X diff --git a/doc/chap2_mj.html b/doc/chap2_mj.html index 78f3a73eb..03ef67c67 100644 --- a/doc/chap2_mj.html +++ b/doc/chap2_mj.html @@ -63,34 +63,34 @@
InfoSemigroups
is the info class of the Semigroups package. The info level is initially set to 0 and no info messages are displayed. To increase the amount of information displayed during a computation increase the info level to 2 or 3. To stop all info messages from being displayed, set the info level to 0. See also Reference: Info Functions andSetInfoLevel
(Reference: InfoLevel).2.1 For those in a hurry
-
ensure that the datastructures package version 0.2.5 or higher is available. datastructures must be compiled before Semigroups can be loaded.
+- -
ensure that the datastructures package version 0.2.5 or higher is available. datastructures must be compiled before Semigroups can be loaded.
ensure that the Digraphs package version 1.6.2 or higher is available. Digraphs must be compiled before Semigroups can be loaded.
+- -
ensure that the digraphs package version 1.6.2 or higher is available. digraphs must be compiled before Semigroups can be loaded.
ensure that the genss package version 1.6.5 or higher is available.
+ensure that the genss package version 1.6.5 or higher is available.
- -
ensure that the images package version 1.3.1 or higher is available.
ensure that the IO package version 4.5.1 or higher is available. IO must be compiled before Semigroups can be loaded.
+ensure that the IO package version 4.5.1 or higher is available. IO must be compiled before Semigroups can be loaded.
- -
ensure that the orb package version 4.8.2 or higher is available. orb and Semigroups both perform better if orb is compiled.
download the package archive
+semigroups-5.3.4.tar.gz
from the Semigroups package webpage.- -
download the package archive
semigroups-5.3.5.tar.gz
from the Semigroups package webpage.unzip and untar the file, this should create a directory called
+semigroups-5.3.4
.- -
unzip and untar the file, this should create a directory called
semigroups-5.3.5
.locate your GAP directory, the one containing the directories
+lib
,doc
and so on. Move the directorysemigroups-5.3.4.tar.gz
into thepkg
subdirectory of your GAP directory.- -
locate your GAP directory, the one containing the directories
lib
,doc
and so on. Move the directorysemigroups-5.3.5.tar.gz
into thepkg
subdirectory of your GAP directory.from version 3.0.0, it is necessary to compile the Semigroups package. Semigroups uses the libsemigroups C++ library, which requires a compiler implementing the C++14 standard. Inside the
+pkg/semigroups-5.3.4
directory, in your terminal typefrom version 3.0.0, it is necessary to compile the Semigroups package. Semigroups uses the libsemigroups C++ library, which requires a compiler implementing the C++14 standard. Inside the
pkg/semigroups-5.3.5
directory, in your terminal type-@@ -117,7 +117,7 @@2.2 Compiling the kernel module
As of version 3.0.0, the Semigroups package has a kernel module written in C++ and this must be compiled. The kernel module contains the interface to the C++ library libsemigroups . It is not possible to use the Semigroups package without compiling it.
-To compile the kernel component inside the
+pkg/semigroups-5.3.4.tar.gz
directory, typeTo compile the kernel component inside the
pkg/semigroups-5.3.5.tar.gz
directory, type-@@ -141,7 +141,7 @@2.3 Rebuilding the documentation
gap makedoc.gwhen you're inside the
+pkg/semigroups-5.3.4
directory.when you're inside the
diff --git a/doc/chap3.html b/doc/chap3.html index d792e2423..2a7b48ff6 100644 --- a/doc/chap3.html +++ b/doc/chap3.html @@ -396,7 +396,7 @@pkg/semigroups-5.3.5
directory.3.3-1 AsBipartition
- permutations
If x is a permutation and n is a positive integer, then
-AsBipartition(x, n)
returns the bipartition on[1 .. n]
with classes[i, i ^ x]
for alli = 1 .. n
.If no positive integer n is specified, then the largest moved point of x is used as the value for n; see
+LargestMovedPoint
(Reference: LargestMovedPoint for a permutation).If no positive integer n is specified, then the largest moved point of x is used as the value for n; see
LargestMovedPoint
(Reference: LargestMovedPoint for a permutation).- transformations
@@ -1227,9 +1227,9 @@3.8 Semigroups of bipartitions
-Semigroups and monoids of bipartitions can be created in the usual way in GAP using the functions
+Semigroup
(Reference: Semigroup) andMonoid
(Reference: Monoid); see Chapter 6 for more details.Semigroups and monoids of bipartitions can be created in the usual way in GAP using the functions
-Semigroup
(Reference: Semigroup) andMonoid
(Reference: Monoid); see Chapter 6 for more details.It is possible to create inverse semigroups and monoids of bipartitions using
+InverseSemigroup
(Reference: InverseSemigroup) andInverseMonoid
(Reference: InverseMonoid) when the argument is a collection of block bijections or partial perm bipartions; seeIsBlockBijection
(3.5-16) andIsPartialPermBipartition
(3.5-15). Note that every bipartition semigroup in Semigroups is finite.It is possible to create inverse semigroups and monoids of bipartitions using
@@ -1239,9 +1239,9 @@InverseSemigroup
(Reference: InverseSemigroup) andInverseMonoid
(Reference: InverseMonoid) when the argument is a collection of block bijections or partial perm bipartions; seeIsBlockBijection
(3.5-16) andIsPartialPermBipartition
(3.5-15). Note that every bipartition semigroup in Semigroups is finite.3.8-1 IsBipartitionSemigroup
‣ IsBipartitionMonoid
( S )( filter ) Returns:
-true
orfalse
.A bipartition semigroup is simply a semigroup consisting of bipartitions. An object obj is a bipartition semigroup in GAP if it satisfies
+IsSemigroup
(Reference: IsSemigroup) andIsBipartitionCollection
(3.1-2).A bipartition semigroup is simply a semigroup consisting of bipartitions. An object obj is a bipartition semigroup in GAP if it satisfies
-IsSemigroup
(Reference: IsSemigroup) andIsBipartitionCollection
(3.1-2).A bipartition monoid is a monoid consisting of bipartitions. An object obj is a bipartition monoid in GAP if it satisfies
+IsMonoid
(Reference: IsMonoid) andIsBipartitionCollection
(3.1-2).A bipartition monoid is a monoid consisting of bipartitions. An object obj is a bipartition monoid in GAP if it satisfies
IsMonoid
(Reference: IsMonoid) andIsBipartitionCollection
(3.1-2).Note that it is possible for a bipartition semigroup to have a multiplicative neutral element (i.e. an identity element) but not to satisfy
@@ -1271,9 +1271,9 @@IsBipartitionMonoid
. For example,3.8-1 IsBipartitionSemigroup
gap> IsMonoid(S); falseIn this example
+S
cannot be converted into a monoid usingAsMonoid
(Reference: AsMonoid) since theOne
(Reference: One) of any element inS
differs from the multiplicative neutral element.In this example
-S
cannot be converted into a monoid usingAsMonoid
(Reference: AsMonoid) since theOne
(Reference: One) of any element inS
differs from the multiplicative neutral element.For more details see
+IsMagmaWithOne
(Reference: IsMagmaWithOne).For more details see
@@ -1285,7 +1285,7 @@IsMagmaWithOne
(Reference: IsMagmaWithOne).3.8-2 IsBlockBijectionSemigroup
A block bijection semigroup is simply a semigroup consisting of block bijections. A block bijection monoid is a monoid consisting of block bijections.
-An object in GAP is a block bijection monoid if it satisfies
+IsMonoid
(Reference: IsMonoid) andIsBlockBijectionSemigroup
.An object in GAP is a block bijection monoid if it satisfies
IsMonoid
(Reference: IsMonoid) andIsBlockBijectionSemigroup
.See
@@ -1299,7 +1299,7 @@IsBlockBijection
(3.5-16).3.8-3 IsPartialPermBipartitionSemigroup
A partial perm bipartition semigroup is simply a semigroup consisting of partial perm bipartitions. A partial perm bipartition monoid is a monoid consisting of partial perm bipartitions.
-An object in GAP is a partial perm bipartition monoid if it satisfies
+IsMonoid
(Reference: IsMonoid) andIsPartialPermBipartitionSemigroup
.An object in GAP is a partial perm bipartition monoid if it satisfies
IsMonoid
(Reference: IsMonoid) andIsPartialPermBipartitionSemigroup
.See
diff --git a/doc/chap4.html b/doc/chap4.html index 891f6a819..c1d384ec1 100644 --- a/doc/chap4.html +++ b/doc/chap4.html @@ -672,9 +672,9 @@IsPartialPermBipartition
(3.5-15).4.6 Semigroups of PBRs
-Semigroups and monoids of PBRs can be created in the usual way in GAP using the functions
+Semigroup
(Reference: Semigroup) andMonoid
(Reference: Monoid); see Chapter 6 for more details.Semigroups and monoids of PBRs can be created in the usual way in GAP using the functions
-Semigroup
(Reference: Semigroup) andMonoid
(Reference: Monoid); see Chapter 6 for more details.It is possible to create inverse semigroups and monoids of PBRs using
+InverseSemigroup
(Reference: InverseSemigroup) andInverseMonoid
(Reference: InverseMonoid) when the argument is a collection of PBRs satisfyingIsBipartitionPBR
(4.5-8) and when considered as bipartitions, the collection satisfiesIsGeneratorsOfInverseSemigroup
.It is possible to create inverse semigroups and monoids of PBRs using
InverseSemigroup
(Reference: InverseSemigroup) andInverseMonoid
(Reference: InverseMonoid) when the argument is a collection of PBRs satisfyingIsBipartitionPBR
(4.5-8) and when considered as bipartitions, the collection satisfiesIsGeneratorsOfInverseSemigroup
.Note that every PBR semigroup in Semigroups is finite.
@@ -686,9 +686,9 @@4.6-1 IsPBRSemigroup
‣ IsPBRMonoid
( S )( filter ) Returns:
-true
orfalse
.A PBR semigroup is simply a semigroup consisting of PBRs. An object obj is a PBR semigroup in GAP if it satisfies
+IsSemigroup
(Reference: IsSemigroup) andIsPBRCollection
(4.1-2).A PBR semigroup is simply a semigroup consisting of PBRs. An object obj is a PBR semigroup in GAP if it satisfies
-IsSemigroup
(Reference: IsSemigroup) andIsPBRCollection
(4.1-2).A PBR monoid is a monoid consisting of PBRs. An object obj is a PBR monoid in GAP if it satisfies
+IsMonoid
(Reference: IsMonoid) andIsPBRCollection
(4.1-2).A PBR monoid is a monoid consisting of PBRs. An object obj is a PBR monoid in GAP if it satisfies
IsMonoid
(Reference: IsMonoid) andIsPBRCollection
(4.1-2).Note that it is possible for a PBR semigroup to have a multiplicative neutral element (i.e. an identity element) but not to satisfy
@@ -718,9 +718,9 @@IsPBRMonoid
. For example,4.6-1 IsPBRSemigroup
gap> IsPBRMonoid(S); falseIn this example
+S
cannot be converted into a monoid usingAsMonoid
(Reference: AsMonoid) since theOne
(Reference: One) of any element inS
differs from the multiplicative neutral element.In this example
-S
cannot be converted into a monoid usingAsMonoid
(Reference: AsMonoid) since theOne
(Reference: One) of any element inS
differs from the multiplicative neutral element.For more details see
+IsMagmaWithOne
(Reference: IsMagmaWithOne).For more details see
diff --git a/doc/chap5.html b/doc/chap5.html index bc77cae89..93d1b331c 100644 --- a/doc/chap5.html +++ b/doc/chap5.html @@ -172,11 +172,11 @@IsMagmaWithOne
(Reference: IsMagmaWithOne).5.1-1 IsMatrixOverSemiring
‣ IsMatrixOverSemiring
( obj )( category ) Returns:
-true
orfalse
.Every matrix over a semiring in Semigroups is a member of the category
+IsMatrixOverSemiring
, which is a subcategory ofIsMultiplicativeElementWithOne
(Reference: IsMultiplicativeElementWithOne),IsAssociativeElement
(Reference: IsAssociativeElement), andIsPositionalObjectRep
; see Reference: Representation.Every matrix over a semiring in Semigroups is a member of the category
IsMatrixOverSemiring
, which is a subcategory ofIsMultiplicativeElementWithOne
(Reference: IsMultiplicativeElementWithOne),IsAssociativeElement
(Reference: IsAssociativeElement), andIsPositionalObjectRep
; see Reference: Representation.Every matrix over a semiring in Semigroups is a square matrix.
-Basic operations for matrices over semirings are:
+DimensionOfMatrixOverSemiring
(5.1-3),TransposedMat
(Reference: TransposedMat), andOne
(Reference: One).Basic operations for matrices over semirings are:
@@ -265,7 +265,7 @@DimensionOfMatrixOverSemiring
(5.1-3),TransposedMat
(Reference: TransposedMat), andOne
(Reference: One).5.1-5 Matrix
-In its second form, the arguments should be a semiring semiring and matrix mat with entries in semiring. Currently, the only supported semirings are finite fields of prime order, and the integers
+Integers
(Reference: Integers).In its second form, the arguments should be a semiring semiring and matrix mat with entries in semiring. Currently, the only supported semirings are finite fields of prime order, and the integers
Integers
(Reference: Integers).The function
@@ -429,7 +429,7 @@BooleanMat
(5.3-1) is provided for specifically creating boolean matrices.5.1-7 RandomMatrix
-In its second form, the arguments should be a semiring semiring and dimension dim. Currently, the only supported semirings are finite fields of prime order and the integers
+Integers
(Reference: Integers).In its second form, the arguments should be a semiring semiring and dimension dim. Currently, the only supported semirings are finite fields of prime order and the integers
Integers
(Reference: Integers).@@ -473,7 +473,7 @@5.1-8 Matrix filters
-
IsTropicalMatrix
is a supercategory ofIsTropicalMaxPlusMatrix
andIsTropicalMinPlusMatrix
.Basic operations for matrices over semirings include: multiplication via \*,
+DimensionOfMatrixOverSemiring
(5.1-3),One
(Reference: One), the underlying list of lists used to create the matrix can be accessed usingAsList
(5.1-10), the rows ofmat
can be accessed usingmat[i]
wherei
is between1
and the dimension of the matrix, it also possible to loop over the rows of a matrix; for tropical matricesThresholdTropicalMatrix
(5.1-11); for ntp matricesThresholdNTPMatrix
(5.1-12) andPeriodNTPMatrix
(5.1-12).Basic operations for matrices over semirings include: multiplication via \*,
DimensionOfMatrixOverSemiring
(5.1-3),One
(Reference: One), the underlying list of lists used to create the matrix can be accessed usingAsList
(5.1-10), the rows ofmat
can be accessed usingmat[i]
wherei
is between1
and the dimension of the matrix, it also possible to loop over the rows of a matrix; for tropical matricesThresholdTropicalMatrix
(5.1-11); for ntp matricesThresholdNTPMatrix
(5.1-12) andPeriodNTPMatrix
(5.1-12).For matrices over finite fields see Section 5.4; for Boolean matrices more details can be found in Section 5.3.
@@ -721,7 +721,7 @@5.3-2 AsBooleanMat
- permutations
If x is a permutation and n is a positive integer, then
-AsBooleanMat(x, n)
returns the boolean matrixmat
of dimension n such thatmat[i][j] = true
if and only ifj = i ^ x
.If no positive integer n is specified, then the largest moved point of x is used as the value for n; see
+LargestMovedPoint
(Reference: LargestMovedPoint for a permutation).If no positive integer n is specified, then the largest moved point of x is used as the value for n; see
LargestMovedPoint
(Reference: LargestMovedPoint for a permutation).- transformations
@@ -975,7 +975,7 @@5.3-8 CanonicalBooleanMat
In its second form, when only a single permutation group G is specified, G acts on the rows and columns of mat independently.
-In its third form, when only a boolean matrix is specified,
+CanonicalBooleanMat
returns a fixed representative of the orbit of mat under the action of the symmetric group on its rows, and, independently, on its columns. In other words,CanonicalBooleanMat
returns a canonical boolean matrix equivalent to mat up to rearranging rows and columns. This version ofCanonicalBooleanMat
uses Digraphs and its interface with the bliss library for computing automorphism groups and canonical forms of graphs [JK07]. As a consequence,CanonicalBooleanMat
with a single argument is significantly faster than the versions with 2 or 3 arguments.In its third form, when only a boolean matrix is specified,
CanonicalBooleanMat
returns a fixed representative of the orbit of mat under the action of the symmetric group on its rows, and, independently, on its columns. In other words,CanonicalBooleanMat
returns a canonical boolean matrix equivalent to mat up to rearranging rows and columns. This version ofCanonicalBooleanMat
uses digraphs and its interface with the bliss library for computing automorphism groups and canonical forms of graphs [JK07]. As a consequence,CanonicalBooleanMat
with a single argument is significantly faster than the versions with 2 or 3 arguments.@@ -1241,7 +1241,7 @@5.4
In this section we describe some operations in Semigroups for matrices over finite fields that are required for such matrices to form semigroups satisfying
-IsActingSemigroup
(6.1-2).From v5.0.0, Semigroups uses the GAP library implementation of matrices over finite fields belonging to the category
+IsMatrixObj
(Reference: IsMatrixObj) rather than the previous implementation in the Semigroups package. This means that from v5.0.0, matrices over a finite field no longer belong to the categoryIsMatrixOverSemiring
(5.1-1).From v5.0.0, Semigroups uses the GAP library implementation of matrices over finite fields belonging to the category
IsMatrixObj
(Reference: IsMatrixObj) rather than the previous implementation in the Semigroups package. This means that from v5.0.0, matrices over a finite field no longer belong to the categoryIsMatrixOverSemiring
(5.1-1).The following methods are implemented in Semigroups for matrix objects over finite fields.
@@ -1297,7 +1297,7 @@5.5
In this section we describe operations in Semigroups specifically for integer matrices.
-From v5.0.0, Semigroups uses the GAP library implementation of matrices over the integers belonging to the category
+IsMatrixObj
(Reference: IsMatrixObj) rather than the previous implementation in the Semigroups package. This means that from v5.0.0, matrices over the integers no longer belong to the categoryIsMatrixOverSemiring
(5.1-1).From v5.0.0, Semigroups uses the GAP library implementation of matrices over the integers belonging to the category
IsMatrixObj
(Reference: IsMatrixObj) rather than the previous implementation in the Semigroups package. This means that from v5.0.0, matrices over the integers no longer belong to the categoryIsMatrixOverSemiring
(5.1-1).The following methods are implemented in Semigroups for matrix objects over the integers.
diff --git a/doc/chap5.txt b/doc/chap5.txt index 18e80fdee..b22101b21 100644 --- a/doc/chap5.txt +++ b/doc/chap5.txt @@ -896,7 +896,7 @@ the action of the symmetric group on its rows, and, independently, on its columns. In other words, [10XCanonicalBooleanMat[110X returns a canonical boolean matrix equivalent to [3Xmat[103X up to rearranging rows and columns. This version of - [10XCanonicalBooleanMat[110X uses [5XDigraphs[105X and its interface with the [5Xbliss[105X library + [10XCanonicalBooleanMat[110X uses [5Xdigraphs[105X and its interface with the [5Xbliss[105X library for computing automorphism groups and canonical forms of graphs [JK07]. As a consequence, [10XCanonicalBooleanMat[110X with a single argument is significantly faster than the versions with 2 or 3 arguments.[133X diff --git a/doc/chap5_mj.html b/doc/chap5_mj.html index 38cdc1c76..0a565f7fa 100644 --- a/doc/chap5_mj.html +++ b/doc/chap5_mj.html @@ -978,7 +978,7 @@5.3-8 CanonicalBooleanMat
In its second form, when only a single permutation group G is specified, G acts on the rows and columns of mat independently.
-In its third form, when only a boolean matrix is specified,
+CanonicalBooleanMat
returns a fixed representative of the orbit of mat under the action of the symmetric group on its rows, and, independently, on its columns. In other words,CanonicalBooleanMat
returns a canonical boolean matrix equivalent to mat up to rearranging rows and columns. This version ofCanonicalBooleanMat
uses Digraphs and its interface with the bliss library for computing automorphism groups and canonical forms of graphs [JK07]. As a consequence,CanonicalBooleanMat
with a single argument is significantly faster than the versions with 2 or 3 arguments.In its third form, when only a boolean matrix is specified,
CanonicalBooleanMat
returns a fixed representative of the orbit of mat under the action of the symmetric group on its rows, and, independently, on its columns. In other words,CanonicalBooleanMat
returns a canonical boolean matrix equivalent to mat up to rearranging rows and columns. This version ofCanonicalBooleanMat
uses digraphs and its interface with the bliss library for computing automorphism groups and canonical forms of graphs [JK07]. As a consequence,CanonicalBooleanMat
with a single argument is significantly faster than the versions with 2 or 3 arguments.-diff --git a/doc/chap6.html b/doc/chap6.html index d9036f23b..127085aa8 100644 --- a/doc/chap6.html +++ b/doc/chap6.html @@ -96,7 +96,7 @@6.1-1
The first of the fundamental algorithms for computing a semigroup defined by a generating set is described in [EENMP19]. When applied to a semigroup or monoid with relatively large subgroups, or D-classes, these are the most efficient methods in the Semigroups package. For example, the complexity of computing, say, the size of a transformation semigroup that happens to be a group, is the same as the complexity of the Schreier-Sims Algorithm (polynomial in the number of points acted on by the transformations) for a permutation group.
-In theory, these algorithms can be applied to compute any subsemigroup of a regular semigroup; but so far in the Semigroups package they are only implemented for semigroups of: transformations (see Reference: Transformations), partial permutations (see Reference: Partial permutations), bipartitions (see Chapter 3), matrices over a finite field (see Section 5.4); subsemigroups of regular Rees 0-matrix semigroups over permutation groups (see Chapter Reference: Rees Matrix Semigroups), and subsemigroups of McAlister triples (see Section 8.4).
+In theory, these algorithms can be applied to compute any subsemigroup of a regular semigroup; but so far in the Semigroups package they are only implemented for semigroups of: transformations (see Reference: Transformations), partial permutations (see Reference: Partial permutations), bipartitions (see Chapter 3), matrices over a finite field (see Section 5.4); subsemigroups of regular Rees 0-matrix semigroups over permutation groups (see Chapter Reference: Rees Matrix Semigroups), and subsemigroups of McAlister triples (see Section 8.4).
We refer to semigroups to which the algorithms in [EENMP19] can be applied as acting semigroups, and such semigroups belong to the category
@@ -136,7 +136,7 @@IsActingSemigroup
(6.1-2).6.1-3 The Froidure-Pin Algorithm
A semigroup to which the Froidure-Pin Algorithm can be applied in Semigroups satisfy
-CanUseFroidurePin
(6.1-4). Every acting semigroup in Semigroups satisfiesCanUseFroidurePin
(6.1-4) and the Froidure-Pin Algorithm is used to compute certain properties or attributes.Currently, the libsemigroups implementation of the Froidure-Pin Algorithm can be applied to semigroups consisting of the following types of elements: transformations (see Reference: Transformations), partial permutations (see Reference: Partial permutations), bipartitions (see Chapter 3), partitioned binary relations (see Chapter 4) as defined in [MM13]; and matrices over the following semirings:
+Currently, the libsemigroups implementation of the Froidure-Pin Algorithm can be applied to semigroups consisting of the following types of elements: transformations (see Reference: Transformations), partial permutations (see Reference: Partial permutations), bipartitions (see Chapter 3), partitioned binary relations (see Chapter 4) as defined in [MM13]; and matrices over the following semirings:
@@ -221,22 +221,22 @@
6.3 Options when creating semigroups
-
+
InverseSemigroup
(Reference: InverseSemigroup),- -
InverseSemigroup
(Reference: InverseSemigroup),+
InverseMonoid
(Reference: InverseMonoid),- -
InverseMonoid
(Reference: InverseMonoid),+
Semigroup
(Reference: Semigroup),- -
Semigroup
(Reference: Semigroup),+
Monoid
(Reference: Monoid),- -
Monoid
(Reference: Monoid),+
SemigroupByGenerators
(Reference: SemigroupByGenerators),- -
SemigroupByGenerators
(Reference: SemigroupByGenerators),+
MonoidByGenerators
(Reference: MonoidByGenerators),
MonoidByGenerators
(Reference: MonoidByGenerators),@@ -278,7 +278,7 @@
ClosureSemigroup
(6.4-1),6.3 Options when creating semigroups
hashlen
this component should be a positive integer, which roughly specifies the lengths of the hash tables used internally by Semigroups. Semigroups uses hash tables in several fundamental methods. The lengths of these tables are a compromise between performance and memory usage; larger tables provide better performance for large computations but use more memory. Note that it is unlikely that you will need to specify this option unless you find that GAP runs out of memory unexpectedly or that the performance of Semigroups is poorer than expected. If you find that GAP runs out of memory unexpectedly, or you plan to do a large number of computations with relatively small semigroups (say with tens of thousands of elements), then you might consider setting
-hashlen
to be less than the default value of12517
for each of these semigroups. If you find that the performance of Semigroups is unexpectedly poor, or you plan to do a computation with a very large semigroup (say, more than 10 million elements), then you might consider settinghashlen
to be greater than the default value of12517
.You might find it useful to set the info level of the info class
+InfoOrb
to 2 or higher since this will indicate when hash tables used by Semigroups are being grown; seeSetInfoLevel
(Reference: InfoLevel).You might find it useful to set the info level of the info class
InfoOrb
to 2 or higher since this will indicate when hash tables used by Semigroups are being grown; seeSetInfoLevel
(Reference: InfoLevel).- @@ -305,7 +305,7 @@
small
6.3 Options when creating semigroups
gap> SEMIGROUPS.DefaultOptionsRec.small := true; trueIf you want to change the default values of the options stored in
+SEMIGROUPS.DefaultOptionsRec
(6.3-1) for all GAP sessions, then you can edit these values in the filesemigroups-5.3.4/gap/options.g
.If you want to change the default values of the options stored in
@@ -332,7 +332,7 @@SEMIGROUPS.DefaultOptionsRec
(6.3-1) for all GAP sessions, then you can edit these values in the filesemigroups-5.3.5/gap/options.g
.6.4-1 ClosureSemigroup
These operations return the semigroup, monoid, inverse semigroup or inverse monoid generated by the argument S and the collection of elements coll after removing duplicates and elements from coll that are already in S. In most cases, the new semigroup knows at least as much information about its structure as was already known about that of S.
-When
+X
is any ofSemigroup
(Reference: Semigroup),Monoid
(Reference: Monoid),InverseSemigroup
(Reference: InverseSemigroup), orInverseMonoid
(Reference: InverseMonoid), the argument S of the operationClosureX
must belong to the categoryIsX
, andClosureX(S, coll)
returns an object in the categoryIsX
such thatWhen
X
is any ofSemigroup
(Reference: Semigroup),Monoid
(Reference: Monoid),InverseSemigroup
(Reference: InverseSemigroup), orInverseMonoid
(Reference: InverseMonoid), the argument S of the operationClosureX
must belong to the categoryIsX
, andClosureX(S, coll)
returns an object in the categoryIsX
such that@@ -340,7 +340,7 @@6.4-1 ClosureSemigroup
but may have fewer generators, if for example, coll contains a duplicates or elements already known to belong to S.
-For example, the argument S of
+ClosureInverseSemigroup
must be an inverse semigroup in the categoryIsInverseSemigroup
(Reference: IsInverseSemigroup).ClosureInverseSemigroup(S, coll)
returns an inverse semigroup which is equal toInverseSemigroup(S, coll)
.For example, the argument S of
ClosureInverseSemigroup
must be an inverse semigroup in the categoryIsInverseSemigroup
(Reference: IsInverseSemigroup).ClosureInverseSemigroup(S, coll)
returns an inverse semigroup which is equal toInverseSemigroup(S, coll)
.If present, the optional third argument opts should be a record containing the values of the options for the semigroup being created as described in Section 6.3.
@@ -468,23 +468,23 @@6.5 Changing the representation of a semigroup<
-
-+
IsomorphismReesMatrixSemigroup
(Reference: IsomorphismReesMatrixSemigroup),- -
IsomorphismReesMatrixSemigroup
(Reference: IsomorphismReesMatrixSemigroup),+
AntiIsomorphismTransformationSemigroup
(Reference: AntiIsomorphismTransformationSemigroup),- -
AntiIsomorphismTransformationSemigroup
(Reference: AntiIsomorphismTransformationSemigroup),+
IsomorphismTransformationSemigroup
(Reference: IsomorphismTransformationSemigroup) andIsomorphismTransformationMonoid
(Reference: IsomorphismTransformationMonoid),- -
IsomorphismTransformationSemigroup
(Reference: IsomorphismTransformationSemigroup) andIsomorphismTransformationMonoid
(Reference: IsomorphismTransformationMonoid),+
IsomorphismPartialPermSemigroup
(Reference: IsomorphismPartialPermSemigroup) andIsomorphismPartialPermMonoid
(Reference: IsomorphismPartialPermMonoid),- -
IsomorphismPartialPermSemigroup
(Reference: IsomorphismPartialPermSemigroup) andIsomorphismPartialPermMonoid
(Reference: IsomorphismPartialPermMonoid),+
IsomorphismFpSemigroup
(Reference: IsomorphismFpSemigroup) andIsomorphismFpMonoid
.
IsomorphismFpSemigroup
(Reference: IsomorphismFpSemigroup) andIsomorphismFpMonoid
.The operation
+IsomorphismMonoid
(6.5-2) can be used to return an isomorphism from a semigroup which is mathematically a monoid (but does not below to the category of monoids in GAPIsMonoid
(Reference: IsMonoid)) into a monoid. This is the primary purpose of the operationIsomorphismMonoid
(6.5-2). EitherIsomorphismSemigroup
(6.5-1) orIsomorphismMonoid
(6.5-2) can be used to change the representation of a monoid, but only the latter is guaranteed to return an object in the category of monoids.The operation
IsomorphismMonoid
(6.5-2) can be used to return an isomorphism from a semigroup which is mathematically a monoid (but does not below to the category of monoids in GAPIsMonoid
(Reference: IsMonoid)) into a monoid. This is the primary purpose of the operationIsomorphismMonoid
(6.5-2). EitherIsomorphismSemigroup
(6.5-1) orIsomorphismMonoid
(6.5-2) can be used to change the representation of a monoid, but only the latter is guaranteed to return an object in the category of monoids.@@ -523,15 +523,15 @@6.5-1 IsomorphismSemigroup
-
IsomorphismSemigroup
can be used to find an isomorphism from a given semigroup to a semigroup of another type, provided such an isomorphism exists.The first argument filt must be of the form
+IsXSemigroup
, for example,IsTransformationSemigroup
(Reference: IsTransformationSemigroup),IsFpSemigroup
(Reference: IsFpSemigroup), andIsPBRSemigroup
(4.6-1) are some possible values for filt. Note that filt should not be of the formIsXMonoid
; seeIsomorphismMonoid
(6.5-2). The second argument S should be a semigroup.The first argument filt must be of the form
IsXSemigroup
, for example,IsTransformationSemigroup
(Reference: IsTransformationSemigroup),IsFpSemigroup
(Reference: IsFpSemigroup), andIsPBRSemigroup
(4.6-1) are some possible values for filt. Note that filt should not be of the formIsXMonoid
; seeIsomorphismMonoid
(6.5-2). The second argument S should be a semigroup.-
IsomorphismSemigroup
returns an isomorphism from S to a semigroup T of the type described by filt, if such an isomorphism exists. More precisely, ifT
is the range of the returned isomorphism, thenfilt(T)
will returntrue
. For example, if filt isIsTransformationSemigroup
, then the range of the returned isomorphism will be a transformation semigroup.An error is returned if there is no isomorphism from S to a semigroup satisfying filt. For example, there is no method for
+IsomorphismSemigroup
when filt is, say,IsReesMatrixSemigroup
(Reference: IsReesMatrixSemigroup) and when S is a non-simple semigroup. Similarly, there is no method when filt isIsPartialPermSemigroup
(Reference: IsPartialPermSemigroup) and when S is a non-inverse semigroup.An error is returned if there is no isomorphism from S to a semigroup satisfying filt. For example, there is no method for
IsomorphismSemigroup
when filt is, say,IsReesMatrixSemigroup
(Reference: IsReesMatrixSemigroup) and when S is a non-simple semigroup. Similarly, there is no method when filt isIsPartialPermSemigroup
(Reference: IsPartialPermSemigroup) and when S is a non-inverse semigroup.In some cases, if no better method is installed,
-IsomorphismSemigroup
returns an isomorphism found by composing an isomorphism from S to a transformation semigroupT
, and an isomorphism fromT
to a semigroup of type filt.Note that if the argument S belongs to the category of monoids
+IsMonoid
(Reference: IsMonoid), thenIsomorphismSemigroup
will often, but not always, return a monoid isomorphism.Note that if the argument S belongs to the category of monoids
IsMonoid
(Reference: IsMonoid), thenIsomorphismSemigroup
will often, but not always, return a monoid isomorphism.@@ -580,11 +580,11 @@6.5-2 IsomorphismMonoid
-
IsomorphismMonoid
can be used to find an isomorphism from a given semigroup which is mathematically a monoid (but might not belong to the category of monoids in GAP) to a monoid, provided such an isomorphism exists.The first argument filt must be of the form
+IsXMonoid
, for example,IsTransformationMonoid
(Reference: IsTransformationMonoid),IsFpMonoid
(Reference: IsFpMonoid), andIsBipartitionMonoid
(3.8-1) are some possible values for filt. Note that filt should not be of the formIsXSemigroup
; seeIsomorphismSemigroup
(6.5-1). The second argument S should be a semigroup which is mathematically a monoid but which may or may not belong to the categoryIsMonoid
(Reference: IsMonoid) of monoids in GAP, i.e. S must satisfyIsMonoidAsSemigroup
(12.1-13).The first argument filt must be of the form
-IsXMonoid
, for example,IsTransformationMonoid
(Reference: IsTransformationMonoid),IsFpMonoid
(Reference: IsFpMonoid), andIsBipartitionMonoid
(3.8-1) are some possible values for filt. Note that filt should not be of the formIsXSemigroup
; seeIsomorphismSemigroup
(6.5-1). The second argument S should be a semigroup which is mathematically a monoid but which may or may not belong to the categoryIsMonoid
(Reference: IsMonoid) of monoids in GAP, i.e. S must satisfyIsMonoidAsSemigroup
(12.1-13).+
IsomorphismMonoid
returns a monoid isomorphism from S to a semigroup T of the type described by filt, if such an isomorphism exists. In this context, a monoid isomorphism is a semigroup isomorphism that maps theMultiplicativeNeutralElement
(Reference: MultiplicativeNeutralElement) of S to theOne
(Reference: One) of T. IfT
is the range of the returned isomorphism, thenfilt(T)
will returntrue
. For example, if filt isIsTransformationMonoid
, then the range of the returned isomorphism will be a transformation monoid.-
IsomorphismMonoid
returns a monoid isomorphism from S to a semigroup T of the type described by filt, if such an isomorphism exists. In this context, a monoid isomorphism is a semigroup isomorphism that maps theMultiplicativeNeutralElement
(Reference: MultiplicativeNeutralElement) of S to theOne
(Reference: One) of T. IfT
is the range of the returned isomorphism, thenfilt(T)
will returntrue
. For example, if filt isIsTransformationMonoid
, then the range of the returned isomorphism will be a transformation monoid.An error is returned if there is no isomorphism from S to a monoid satisfying filt. For example, there is no method for
+IsomorphismMonoid
when filt is, say,IsReesZeroMatrixSemigroup
(Reference: IsReesZeroMatrixSemigroup) and when S is a not 0-simple. Similarly, there is no method when filt isIsPartialPermMonoid
(Reference: IsPartialPermMonoid) and when S is a non-inverse monoid.An error is returned if there is no isomorphism from S to a monoid satisfying filt. For example, there is no method for
IsomorphismMonoid
when filt is, say,IsReesZeroMatrixSemigroup
(Reference: IsReesZeroMatrixSemigroup) and when S is a not 0-simple. Similarly, there is no method when filt isIsPartialPermMonoid
(Reference: IsPartialPermMonoid) and when S is a non-inverse monoid.In some cases, if no better method is installed,
@@ -612,7 +612,7 @@IsomorphismMonoid
returns an isomorphism found by composing an isomorphism from S to a transformation monoidT
, and an isomorphism fromT
to a monoid of type filt.6.5-3 AsSemigroup
-
AsSemigroup(filt, S)
is just shorthand forRange(IsomorphismSemigroup(filt, S))
, when S is a semigroup; seeIsomorphismSemigroup
(6.5-1) for more details.Note that if the argument S belongs to the category of monoids
+IsMonoid
(Reference: IsMonoid), thenAsSemigroup
will often, but not always, return a monoid. A monoid is not returned if there is not a good monoid isomorphism from S to a monoid of the required type, but there is a good semigroup isomorphism.Note that if the argument S belongs to the category of monoids
IsMonoid
(Reference: IsMonoid), thenAsSemigroup
will often, but not always, return a monoid. A monoid is not returned if there is not a good monoid isomorphism from S to a monoid of the required type, but there is a good semigroup isomorphism.If it is not possible to convert the semigroup S to a semigroup of type filt, then an error is given.
@@ -684,7 +684,7 @@6.5-5 IsomorphismPermGroup
If S is not a group then an error is given.
-See also
+IsomorphismPermGroup
(Reference: IsomorphismPermGroup).See also
IsomorphismPermGroup
(Reference: IsomorphismPermGroup).@@ -721,7 +721,7 @@6.5-6 RZMSNormalization
‣ RZMSNormalization
( R )( attribute ) Returns: An isomorphism.
-If R is a Rees 0-matrix semigroup M^0[I, T, Λ; P] then
+RZMSNormalization
returns an isomorphism from R to a normalized Rees 0-matrix semigroup S = M^0[I, T, Λ; Q]. The structure matrix Q is obtained by normalizing the matrix P (seeMatrix
(Reference: Matrix)) and has the following properties:If R is a Rees 0-matrix semigroup M^0[I, T, Λ; P] then
RZMSNormalization
returns an isomorphism from R to a normalized Rees 0-matrix semigroup S = M^0[I, T, Λ; Q]. The structure matrix Q is obtained by normalizing the matrix P (seeMatrix
(Reference: Matrix)) and has the following properties:@@ -794,7 +794,7 @@
6.5-7 RMSNormalization
If R is a Rees matrix semigroup over a group
-G
(i.e. a semigroup for whichIsGroupAsSemigroup
(12.1-7) returnstrue
), thenRMSNormalization
returns an isomorphism from R to a normalized Rees matrix semigroupS
overG
.The semigroup
+S
is normalized in the sense that the first entry of each row and column of theMatrix
(Reference: Matrix) ofS
is the identity element ofG
.The semigroup
S
is normalized in the sense that the first entry of each row and column of theMatrix
(Reference: Matrix) ofS
is the identity element ofG
.@@ -850,7 +850,7 @@6.5-9 AntiIsomorphismDualFpSemigroup
‣ AntiIsomorphismDualFpMonoid
( S )( attribute ) Returns: A finitely presented semigroup or monoid.
-+
AntiIsomorphismDualFpSemigroup
returns an anti-isomorphism (MappingByFunction
(Reference: MappingByFunction)) from the finitely presented semigroup S to another finitely presented semigroup. The range finitely presented semigroup is obtained from S by reversing the relations of S.
AntiIsomorphismDualFpSemigroup
returns an anti-isomorphism (MappingByFunction
(Reference: MappingByFunction)) from the finitely presented semigroup S to another finitely presented semigroup. The range finitely presented semigroup is obtained from S by reversing the relations of S.@@ -879,7 +879,7 @@
AntiIsomorphismDualFpMonoid
works analogously when S is a finitely presented monoid, and the range of the returned anti-isomorphism is a finitely presented monoid.6.5-10 EmbeddingFpMonoid
‣ EmbeddingFpMonoid
( S )( attribute ) Returns: A finitely presented monoid.
-+
EmbeddingFpMonoid
returns an embedding (SemigroupHomomorphismByImages
(14.1-1)) from the finitely presented semigroup S into a finitely presented monoid. If S satisfiesIsMonoidAsSemigroup
(12.1-13), then the mapping returned by this function is an isomorphism (the same isomorphism asIsomorphismFpMonoid
(Reference: IsomorphismFpMonoid)). If S is not a monoid, then the range is isomorphic to S with an identity adjoined (a new element not previously in S). The embedded copy of S in the range can be recovered usingImage
(Reference: Image).
EmbeddingFpMonoid
returns an embedding (SemigroupHomomorphismByImages
(14.1-1)) from the finitely presented semigroup S into a finitely presented monoid. If S satisfiesIsMonoidAsSemigroup
(12.1-13), then the mapping returned by this function is an isomorphism (the same isomorphism asIsomorphismFpMonoid
(Reference: IsomorphismFpMonoid)). If S is not a monoid, then the range is isomorphic to S with an identity adjoined (a new element not previously in S). The embedded copy of S in the range can be recovered usingImage
(Reference: Image).-@@ -921,9 +921,9 @@6.6-1 RandomSemigroup
If no arguments are specified, then they are all chosen at random, for a truly random experience.
-The first argument, if present, should be a filter filter. For
+RandomSemigroup
andRandomInverseSemigroup
the filter filter must be of the formIsXSemigroup
. For example,IsTransformationSemigroup
(Reference: IsTransformationSemigroup),IsFpSemigroup
(Reference: IsFpSemigroup), andIsPBRSemigroup
(4.6-1) are some possible values for filter. ForRandomMonoid
andRandomInverseMonoid
the argument filter must be of the formIsXMonoid
; such asIsBipartitionMonoid
(3.8-1) orIsBooleanMatMonoid
(5.7-2).The first argument, if present, should be a filter filter. For
-RandomSemigroup
andRandomInverseSemigroup
the filter filter must be of the formIsXSemigroup
. For example,IsTransformationSemigroup
(Reference: IsTransformationSemigroup),IsFpSemigroup
(Reference: IsFpSemigroup), andIsPBRSemigroup
(4.6-1) are some possible values for filter. ForRandomMonoid
andRandomInverseMonoid
the argument filter must be of the formIsXMonoid
; such asIsBipartitionMonoid
(3.8-1) orIsBooleanMatMonoid
(5.7-2).Suppose that the first argument filter is
+IsFpSemigroup
(Reference: IsFpSemigroup). Then the only other arguments that can be specified is (and this argument is also optional):Suppose that the first argument filter is
IsFpSemigroup
(Reference: IsFpSemigroup). Then the only other arguments that can be specified is (and this argument is also optional):@@ -932,7 +932,7 @@
-6.6-1 RandomSemigroup
If filter is a filter such as
+IsTransformationSemigroup
(Reference: IsTransformationSemigroup) orIsIntegerMatrixSemigroup
(5.7-1), then a further argument can be specified:If filter is a filter such as
IsTransformationSemigroup
(Reference: IsTransformationSemigroup) orIsIntegerMatrixSemigroup
(5.7-1), then a further argument can be specified:diff --git a/doc/chap6.txt b/doc/chap6.txt index 6560d7519..99deaf197 100644 --- a/doc/chap6.txt +++ b/doc/chap6.txt @@ -330,7 +330,7 @@ [33X[0;0YIf you want to change the default values of the options stored in [2XSEMIGROUPS.DefaultOptionsRec[102X ([14X6.3-1[114X) for all [5XGAP[105X sessions, then you can edit - these values in the file [11Xsemigroups-5.3.4/gap/options.g[111X.[133X + these values in the file [11Xsemigroups-5.3.5/gap/options.g[111X.[133X [1X6.3-1 SEMIGROUPS.DefaultOptionsRec[101X diff --git a/doc/chap6_mj.html b/doc/chap6_mj.html index e075eab3c..3f54ecd6f 100644 --- a/doc/chap6_mj.html +++ b/doc/chap6_mj.html @@ -308,7 +308,7 @@
6.3 Options when creating semigroups
gap> SEMIGROUPS.DefaultOptionsRec.small := true; trueIf you want to change the default values of the options stored in
+SEMIGROUPS.DefaultOptionsRec
(6.3-1) for all GAP sessions, then you can edit these values in the filesemigroups-5.3.4/gap/options.g
.If you want to change the default values of the options stored in
diff --git a/doc/chap7.html b/doc/chap7.html index 83ce15a79..5c5047317 100644 --- a/doc/chap7.html +++ b/doc/chap7.html @@ -178,7 +178,7 @@SEMIGROUPS.DefaultOptionsRec
(6.3-1) for all GAP sessions, then you can edit these values in the filesemigroups-5.3.5/gap/options.g
.7.1 Transformation semigroups
-In this section, we describe the operations in Semigroups that can be used to create transformation semigroups belonging to several standard classes of example. See Reference: Transformations for more information about transformations.
+In this section, we describe the operations in Semigroups that can be used to create transformation semigroups belonging to several standard classes of example. See Reference: Transformations for more information about transformations.
@@ -343,7 +343,7 @@7.1-6 EndomorphismMonoid
‣ EndomorphismMonoid
( digraph, colors )( operation ) Returns: A monoid.
-An endomorphism of digraph is a homomorphism
+DigraphHomomorphism
(Digraphs: DigraphHomomorphism) from digraph back to itself.An endomorphism of digraph is a homomorphism
DigraphHomomorphism
(Digraphs: DigraphHomomorphism) from digraph back to itself.@@ -358,7 +358,7 @@
EndomorphismMonoid
, called with a single argument, returns the monoid of all endomorphisms of digraph.7.1-6 EndomorphismMonoid
-See also
+GeneratorsOfEndomorphismMonoid
(Digraphs: GeneratorsOfEndomorphismMonoid). Note that the performance ofEndomorphismMonoid
may differ from that ofGeneratorsOfEndomorphismMonoid
(Digraphs: GeneratorsOfEndomorphismMonoid) since the former incrementally adds newly discovered endomorphisms to the monoid usingClosureMonoid
(6.4-1).See also
GeneratorsOfEndomorphismMonoid
(Digraphs: GeneratorsOfEndomorphismMonoid). Note that the performance ofEndomorphismMonoid
may differ from that ofGeneratorsOfEndomorphismMonoid
(Digraphs: GeneratorsOfEndomorphismMonoid) since the former incrementally adds newly discovered endomorphisms to the monoid usingClosureMonoid
(6.4-1).@@ -384,7 +384,7 @@7.2 Semigroups of partial permutations
-In this section, we describe the operations in Semigroups that can be used to create semigroups of partial permutations belonging to several standard classes of example. See Reference: Partial permutations for more information about partial permutations.
+In this section, we describe the operations in Semigroups that can be used to create semigroups of partial permutations belonging to several standard classes of example. See Reference: Partial permutations for more information about partial permutations.
@@ -418,7 +418,7 @@7.2-2 RookMonoid
‣ RookMonoid
( n )( operation ) Returns: An inverse monoid of partial permutations.
-+
RookMonoid
is a synonym forSymmetricInverseMonoid
(Reference: SymmetricInverseMonoid).
RookMonoid
is a synonym forSymmetricInverseMonoid
(Reference: SymmetricInverseMonoid).@@ -1684,7 +1684,7 @@7.10-1 GraphInverseSemigroup
‣ GraphInverseSemigroup
( E )( operation ) Returns: A graph inverse semigroup.
-If E is a digraph (i.e. it satisfies
+IsDigraph
(Digraphs: IsDigraph)), thenGraphInverseSemigroup
returns the graph inverse semigroup G(E) where, roughly speaking, elements correspond to paths in the graph E.If E is a digraph (i.e. it satisfies
IsDigraph
(Digraphs: IsDigraph)), thenGraphInverseSemigroup
returns the graph inverse semigroup G(E) where, roughly speaking, elements correspond to paths in the graph E.Let us describe E as a digraph E = (E ^ 0, E ^ 1, r, s), where E^0 is the set of vertices, E^1 is the set of edges, and r and s are functions E^1 -> E^0 giving the range and source of an edge, respectively. The graph inverse semigroup G(E) of E is the semigroup-with-zero generated by the sets E ^ 0 and E ^ 1, together with a set of variables {e ^ -1 ∣ e ∈ E ^ 1}, satisfying the following relations for all v, w ∈ E ^ 0 and e, f ∈ E ^ 1:
@@ -1841,7 +1841,7 @@7.10-7 IsGraphInverseSubsemigroup
‣ IsGraphInverseSubsemigroup
( filter ) -
IsGraphInverseSubsemigroup
is a synonym forIsSemigroup
andIsInverseSemigroup
andIsGraphInverseSemigroupElementCollection
.See
+IsGraphInverseSemigroupElementCollection
(7.10-6) andIsInverseSemigroup
(Reference: IsInverseSemigroup).See
IsGraphInverseSemigroupElementCollection
(7.10-6) andIsInverseSemigroup
(Reference: IsInverseSemigroup).@@ -1914,7 +1914,7 @@7.11
The internal representation of an element of a free inverse semigroup uses a Munn tree. A Munn tree is a directed tree with distinguished start and terminal vertices and where the edges are labeled by generators so that two edges labeled by the same generator are only incident to the same vertex if one of the edges is coming in and the other is leaving the vertex. For more information regarding free inverse semigroups and the Munn representations see Section 5.10 of [How95].
-See also Reference: Inverse semigroups and monoids, Reference: Partial permutations and Reference: Free Groups, Monoids and Semigroups.
+See also Reference: Inverse semigroups and monoids, Reference: Partial permutations and Reference: Free Groups, Monoids and Semigroups.
An element of a free inverse semigroup in Semigroups is displayed, by default, as a shortest word corresponding to the element. However, there might be more than one word of the minimum length. For example, if x and y are generators of a free inverse semigroups, then
@@ -1960,7 +1960,7 @@7.11-1 FreeInverseSemigroup
7.11-2 IsFreeInverseSemigroupCategory
-
‣ IsFreeInverseSemigroupCategory
( obj )( category ) Every free inverse semigroup in GAP created by
+FreeInverseSemigroup
(7.11-1) belongs to the categoryIsFreeInverseSemigroup
. Basic operations for a free inverse semigroup are:GeneratorsOfInverseSemigroup
(Reference: GeneratorsOfInverseSemigroup) andGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup). Elements of a free inverse semigroup belong to the categoryIsFreeInverseSemigroupElement
(7.11-4).Every free inverse semigroup in GAP created by
@@ -2030,7 +2030,7 @@FreeInverseSemigroup
(7.11-1) belongs to the categoryIsFreeInverseSemigroup
. Basic operations for a free inverse semigroup are:GeneratorsOfInverseSemigroup
(Reference: GeneratorsOfInverseSemigroup) andGeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup). Elements of a free inverse semigroup belong to the categoryIsFreeInverseSemigroupElement
(7.11-4).7.11-7 MinimalWord
7.11-8 Displaying free inverse semigroup elements
-There is a way to change how GAP displays free inverse semigroup elements using the user preference
+FreeInverseSemigroupElementDisplay
. SeeUserPreference
(Reference: UserPreference) for more information about user preferences.There is a way to change how GAP displays free inverse semigroup elements using the user preference
FreeInverseSemigroupElementDisplay
. SeeUserPreference
(Reference: UserPreference) for more information about user preferences.There are two possible values for
diff --git a/doc/chap8.html b/doc/chap8.html index 789e5e15f..c16d405a8 100644 --- a/doc/chap8.html +++ b/doc/chap8.html @@ -97,9 +97,9 @@FreeInverseSemigroupElementDisplay
:8.1-1 DirectProduct
If these finite semigroups are all partial perm semigroups, all bipartition semigroups, or all PBR semigroups, then
-DirectProduct
returns a semigroup of the same type. Otherwise,DirectProduct
returns a transformation semigroup.The operation
+DirectProductOp
is included for consistency with the GAP library (seeDirectProductOp
(Reference: DirectProductOp)). It takes exactly two arguments, namely a non-empty list list of semigroups and one of these semigroups, S, and returns the same result asCallFuncList(DirectProduct, list)
.The operation
-DirectProductOp
is included for consistency with the GAP library (seeDirectProductOp
(Reference: DirectProductOp)). It takes exactly two arguments, namely a non-empty list list of semigroups and one of these semigroups, S, and returns the same result asCallFuncList(DirectProduct, list)
.If
+D
is the direct product of a collection of semigroups, then an embedding of thei
th factor intoD
can be accessed with the commandEmbedding(D, i)
, and a projection ofD
onto itsi
th factor can be accessed with the commandProjection(D, i)
; seeEmbedding
(Reference: Embedding) andProjection
(Reference: Projection) for more information.If
D
is the direct product of a collection of semigroups, then an embedding of thei
th factor intoD
can be accessed with the commandEmbedding(D, i)
, and a projection ofD
onto itsi
th factor can be accessed with the commandProjection(D, i)
; seeEmbedding
(Reference: Embedding) andProjection
(Reference: Projection) for more information.@@ -285,7 +285,7 @@8.3-1 StrongSemilatticeOfSemigroups
-
-D must be a digraph whose
+DigraphReflexiveTransitiveClosure
(Digraphs: DigraphReflexiveTransitiveClosure) is a meet-semilattice. For example,Digraph([2, 3], [4], [4], []])
is valid and produces a semilattice where the meet of2
and3
is1
. SeeIsMeetSemilatticeDigraph
(Digraphs: IsMeetSemilatticeDigraph).D must be a digraph whose
DigraphReflexiveTransitiveClosure
(Digraphs: DigraphReflexiveTransitiveClosure) is a meet-semilattice. For example,Digraph([2, 3], [4], [4], []])
is valid and produces a semilattice where the meet of2
and3
is1
. SeeIsMeetSemilatticeDigraph
(Digraphs: IsMeetSemilatticeDigraph).L must contain as many semigroups as there are vertices in D.
@@ -460,7 +460,7 @@8.4-2 McAlisterTripleSemigroup
The following documentation covers the technical information needed to create McAlister triple semigroups in GAP, the underlying theory can be read in the introduction to Chapter 8.4.
-In this implementation the partial order
+X
of a McAlister triple is represented by aDigraph
(Digraphs: Digraph) object X. The digraph represents a partial order in the sense that vertices are the elements of the partial order and the order relation is defined byA
≤B
if and only if there is an edge fromB
toA
. The semilatticeY
of the McAlister triple should be an induced subdigraph Y of X and theDigraphVertexLabels
(Digraphs: DigraphVertexLabels) must correspond to the vertices of X on which Y is induced. That means that the following:In this implementation the partial order
X
of a McAlister triple is represented by aDigraph
(Digraphs: Digraph) object X. The digraph represents a partial order in the sense that vertices are the elements of the partial order and the order relation is defined byA
≤B
if and only if there is an edge fromB
toA
. The semilatticeY
of the McAlister triple should be an induced subdigraph Y of X and theDigraphVertexLabels
(Digraphs: DigraphVertexLabels) must correspond to the vertices of X on which Y is induced. That means that the following:@@ -473,10 +473,10 @@
Y = InducedSubdigraph(X, DigraphVertexLabels(Y))
8.4-2 McAlisterTripleSemigroup
- -
G is a finite group.
X is a digraph satisfying
+IsPartialOrderDigraph
(Digraphs: IsPartialOrderDigraph).- -
X is a digraph satisfying
IsPartialOrderDigraph
(Digraphs: IsPartialOrderDigraph).Y is a digraph satisfying
+IsJoinSemilatticeDigraph
(Digraphs: IsJoinSemilatticeDigraph) which is an induced subdigraph of X satisfying the aforementioned labeling criteria. Furthermore theOutNeighbours
(Digraphs: OutNeighbours) of each vertex of X which is in Y must contain only vertices which are in Y.Y is a digraph satisfying
IsJoinSemilatticeDigraph
(Digraphs: IsJoinSemilatticeDigraph) which is an induced subdigraph of X satisfying the aforementioned labeling criteria. Furthermore theOutNeighbours
(Digraphs: OutNeighbours) of each vertex of X which is in Y must contain only vertices which are in Y.act is a function which takes as its first argument a vertex of the digraph X, its second argument should be an element of G, and it must return a vertex of X. act must be a right action, meaning that act
@@ -487,7 +487,7 @@(A,gh)=act(act(A,g),h)
holds for allA
in X andg,h
∈ G. Furthermore the permutation representation of this action must be a subgroup of the automorphism group of X. That means we require the following to returntrue
:8.4-2 McAlisterTripleSemigroup
For user convenience, there are multiple versions of
+McAlisterTripleSemigroup
. When the argument act is omitted it is assumed to beOnPoints
(Reference: OnPoints). Additionally, the semilattice argument Y may be replaced by a homogeneous list sub_ver of vertices of X. When sub_ver is provided,McAlisterTripleSemigroup
is called with Y equallingInducedSubdigraph(X, sub_ver)
with the appropriate labels.For user convenience, there are multiple versions of
McAlisterTripleSemigroup
. When the argument act is omitted it is assumed to beOnPoints
(Reference: OnPoints). Additionally, the semilattice argument Y may be replaced by a homogeneous list sub_ver of vertices of X. When sub_ver is provided,McAlisterTripleSemigroup
is called with Y equallingInducedSubdigraph(X, sub_ver)
with the appropriate labels.@@ -524,7 +524,7 @@8.4-4 McAlisterTripleSemigroupPartialOrder
‣ McAlisterTripleSemigroupPartialOrder
( S )( attribute ) Returns: A partial order digraph.
-Returns the
+IsPartialOrderDigraph
(Digraphs: IsPartialOrderDigraph) used to create the McAlister triple semigroup S viaMcAlisterTripleSemigroup
(8.4-2).Returns the
@@ -533,7 +533,7 @@IsPartialOrderDigraph
(Digraphs: IsPartialOrderDigraph) used to create the McAlister triple semigroup S viaMcAlisterTripleSemigroup
(8.4-2).8.4-5 McAlisterTripleSemigroupSemilattice
‣ McAlisterTripleSemigroupSemilattice
( S )( attribute ) Returns: A join-semilattice digraph.
-Returns the
+IsJoinSemilatticeDigraph
(Digraphs: IsJoinSemilatticeDigraph) used to create the McAlister triple semigroup S viaMcAlisterTripleSemigroup
(8.4-2).Returns the
diff --git a/doc/chap9.html b/doc/chap9.html index 1491bb32e..697c57a1b 100644 --- a/doc/chap9.html +++ b/doc/chap9.html @@ -70,7 +70,7 @@IsJoinSemilatticeDigraph
(Digraphs: IsJoinSemilatticeDigraph) used to create the McAlister triple semigroup S viaMcAlisterTripleSemigroup
(8.4-2).9.1-1 SemigroupIdeal
If obj1, obj2, .. . are (any combination) of elements of the semigroup S or collections of elements of S (including subsemigroups and ideals of S), then
-SemigroupIdeal
returns the 2-sided ideal of the semigroup S generated by the union of obj1, obj2, .. ..The
+Parent
(Reference: Parent) of the ideal returned by this function is S.The
Parent
(Reference: Parent) of the ideal returned by this function is S.@@ -130,7 +130,7 @@9.2-1 GeneratorsOfSemigroupIdeal
If I is an ideal of a semigroup, then I is defined to be the least 2-sided ideal of a semigroup
-S
containing a setJ
of elements ofS
. The setJ
is said to generate I.The notion of the generators of an ideal is distinct from the notion of the generators of a semigroup or monoid. In particular, the semigroup generated by the generators of an ideal is not, in general, equal to that ideal. Use
+GeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup) to obtain a semigroup generating set for an ideal, but beware that this can be very costly.The notion of the generators of an ideal is distinct from the notion of the generators of a semigroup or monoid. In particular, the semigroup generated by the generators of an ideal is not, in general, equal to that ideal. Use
GeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup) to obtain a semigroup generating set for an ideal, but beware that this can be very costly.@@ -155,7 +155,7 @@9.2-2 MinimalIdealGeneratingSet
This function returns a minimal set of elements of the parent of the semigroup ideal I required to generate I as an ideal.
-The notion of the generators of an ideal is distinct from the notion of the generators of a semigroup or monoid. In particular, the semigroup generated by the generators of an ideal is not, in general, equal to that ideal. Use
+GeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup) to obtain a semigroup generating set for an ideal, but beware that this can be very costly.The notion of the generators of an ideal is distinct from the notion of the generators of a semigroup or monoid. In particular, the semigroup generated by the generators of an ideal is not, in general, equal to that ideal. Use
GeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup) to obtain a semigroup generating set for an ideal, but beware that this can be very costly.@@ -173,7 +173,7 @@9.2-3 SupersemigroupOfIdeal
‣ SupersemigroupOfIdeal
( I )( attribute ) Returns: An ideal of a semigroup.
-The
+Parent
(Reference: Parent) of an ideal is the semigroup in which the ideal was created, i.e. the first argument ofSemigroupIdeal
(9.1-1) orSemigroupIdealByGenerators
. This function returns the semigroup containing the generators of the semigroup (i.e.GeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup)) which are used to compute the ideal.The
Parent
(Reference: Parent) of an ideal is the semigroup in which the ideal was created, i.e. the first argument ofSemigroupIdeal
(9.1-1) orSemigroupIdealByGenerators
. This function returns the semigroup containing the generators of the semigroup (i.e.GeneratorsOfSemigroup
(Reference: GeneratorsOfSemigroup)) which are used to compute the ideal.For a regular semigroup ideal,
diff --git a/doc/chapBib.txt b/doc/chapBib.txt index d0fad6ae4..9a3769baf 100644 --- a/doc/chapBib.txt +++ b/doc/chapBib.txt @@ -60,7 +60,7 @@ [[20XHow95[120X] [16XHowie, J. M.[116X, [17XFundamentals of semigroup theory[117X, The Clarendon Press Oxford University Press, London Mathematical Society Monographs. New Series, - [19X12[119X, New York (1995), x+351 pages, (Oxford Science Publications). + [19X12[119X, New York (1995), x+351 pages, ((Oxford Science Publications)). [[20XHR05[120X] [16XHalverson, T. and Ram, A.[116X, [17XPartition algebras[117X, [18XEuropean Journal of Combinatorics[118X, Elsevier, [19X26[119X, 6 (2005), 869–921.SupersemigroupOfIdeal
will always be the top most semigroup used to create any of the predecessors of the current ideal. For example, ifS
is a semigroup,I
is a regular ideal ofS
, andJ
is an ideal ofI
, thenParent(J)
isI
andSupersemigroupOfIdeal(J)
isS
. This is to avoid computing a generating set forI
, in this example, which is expensive and unnecessary sinceI
is regular (in which case the Green's relations ofI
are just restrictions of the Green's relations onS
).