Presentations for standard examples
This page contains the documentation for various examples of presentations for finitely presented semigroups and monoids.
Default presentations
For some semigroups and monoids presented on this page, there are multiple presentations. The section below defines some default functions; functions that should be used when the particular relations aren’t important, only the semigroup or monoid they define.
A presentation for the alternating group. |
|
A presentation for the Brauer monoid. |
|
A presentation for the Chinese monoid. |
|
A presentation for the cyclic inverse monoid. |
|
A presentation for the dual symmetric inverse monoid. |
|
A presentation for a Fibonacci semigroup. |
|
A presentation for the full transformation monoid. |
|
A presentation for the hypoplactic monoid. |
|
A presentation for a monogenic semigroup. |
|
A presentation for the Motzkin monoid. |
|
A presentation that incorrectly claims to be the Renner monoid of type B. |
|
A presentation that incorrectly claims to be the Renner monoid of type D. |
|
A non-presentation for the symmetric group. |
|
A presentation for the order preserving part of the cyclic inverse monoid. |
|
A presentation for the monoid of order preserving mappings. |
|
A presentation for the monoid of orientation preserving mappings. |
|
A presentation for the monoid of orientation preserving or reversing mappings. |
|
A presentation for the partial Brauer monoid. |
|
A presentation for the monoid of partial isometries of a cycle graph. |
|
A presentation for the partial transformation monoid. |
|
A presentation for the partition monoid. |
|
A presentation for the plactic monoid. |
|
A presentation for a rectangular band. |
|
A presentation for the Renner monoid of type B. |
|
A presentation for the Renner monoid of type D. |
|
A presentation for the \(\sigma\)-plactic monoid. |
|
A presentation for the singular part of the Brauer monoid. |
|
A presentation for the special linear group \(\mathrm{SL}(2, q)\). |
|
A presentation for the stellar monoid. |
|
A presentation for the stylic monoid. |
|
A presentation for the symmetric group. |
|
A presentation for the partial transformation monoid. |
|
A presentation for the Temperley-Lieb monoid. |
|
A presentation for the uniform block bijection monoid. |
|
A presentation for the \(0\)-rook monoid. |
Specific presentations
The functions documented below provide specific presentations for various semigroups and monoids, usually accompanied by a reference to the source of the presentation. There may be several presentations for any semigroup or monoid.
For each semigroup or monoid, there is a corresponding default function that is documented in the Default presentations section.
A presentation for the alternating group. |
|
A presentation for the Brauer monoid. |
|
A presentation for the Chinese monoid. |
|
A presentation for the cyclic inverse monoid. |
|
A presentation for the cyclic inverse monoid. |
|
A presentation for the dual symmetric inverse monoid. |
|
A presentation for a Fibonacci semigroup. |
|
A presentation for the full transformation monoid. |
|
A presentation for the full transformation monoid. |
|
A presentation for the full transformation monoid. |
|
A presentation for the full transformation monoid. |
|
A presentation for the hypoplactic monoid. |
|
A presentation for the Motzkin monoid. |
|
A presentation that incorrectly claims to be the Renner monoid of type B. |
|
A presentation that incorrectly claims to be the Renner monoid of type D. |
|
A non-presentation for the symmetric group. |
|
A presentation for the order preserving part of the cyclic inverse monoid. |
|
A presentation for the monoid of order preserving mappings. |
|
A presentation for the monoid of orientation preserving mappings. |
|
A presentation for the monoid of orientation preserving or reversing mappings. |
|
A presentation for the partial Brauer monoid. |
|
A presentation for the monoid of partial isometries of a cycle graph. |
|
A presentation for the partial transformation monoid. |
|
A presentation for the partial transformation monoid. |
|
A presentation for the partition monoid. |
|
A presentation for the partition monoid. |
|
A presentation for the plactic monoid. |
|
A presentation for a rectangular band. |
|
A presentation for the Renner monoid of type B. |
|
A presentation for the Renner monoid of type D. |
|
A presentation for the \(\sigma\)-plactic monoid. |
|
A presentation for the singular part of the Brauer monoid. |
|
A presentation for the special linear group \(\mathrm{SL}(2, q)\). |
|
A presentation for the stellar monoid. |
|
A presentation for the stylic monoid. |
|
A presentation for the symmetric group. |
|
A presentation for the symmetric group. |
|
A presentation for the symmetric group. |
|
A presentation for the symmetric group. |
|
A presentation for the symmetric inverse monoid. |
|
A presentation for the symmetric inverse monoid. |
|
A presentation for the symmetric inverse monoid. |
|
A presentation for the Temperley-Lieb monoid. |
|
A presentation for the uniform block bijection monoid. |
|
A presentation for the \(0\)-rook monoid. |
Full API
This page contains the documentation for the presentation.examples
subpackage, that contains functions for generating various examples of
presentations for finitely presented semigroups, monoids, and groups.
- presentation.examples.alternating_group(n: int) Presentation
A presentation for the alternating group.
This function returns a monoid presentation defining the alternating group of degree n, as in Theorem B of [Moo97].
- Parameters:
n (int) – the degree of the alternating group.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 4
.
Note
This function returns exactly the same presentation as
alternating_group_Moo97
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.alternating_group_Moo97(n: int) Presentation
A presentation for the alternating group.
This function returns a monoid presentation defining the alternating group of degree n, as in Theorem B of [Moo97].
- Parameters:
n (int) – the degree of the alternating group.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 4
.
- presentation.examples.brauer_monoid(n: int) Presentation
A presentation for the Brauer monoid.
This function returns a monoid presentation defining the Brauer monoid of degree n, as described in Theorem 3.1 of [KM07].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 1
.
Note
This function returns exactly the same presentation as
brauer_monoid_KM07
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.brauer_monoid_KM07(n: int) Presentation
A presentation for the Brauer monoid.
This function returns a monoid presentation defining the Brauer monoid of degree n, as described in Theorem 3.1 of [KM07].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 1
.
- presentation.examples.chinese_monoid(n: int) Presentation
A presentation for the Chinese monoid.
This function returns a monoid presentation defining the Chinese monoid with n generators, as in [CEK+01].
- Parameters:
n (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
Note
This function returns exactly the same presentation as
chinese_monoid_CEKNH01
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.chinese_monoid_CEKNH01(n: int) Presentation
A presentation for the Chinese monoid.
This function returns a monoid presentation defining the Chinese monoid with n generators, as in [CEK+01].
- Parameters:
n (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
- presentation.examples.cyclic_inverse_monoid(n: int) Presentation
A presentation for the cyclic inverse monoid.
This function returns a monoid presentation defining the cyclic inverse monoid of degree n, as in Theorem 2.7 of [Fer22].
This presentation has \(2\) generators and \(\frac{1}{2}\left(n^2 - n + 6\right)\) relations.
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
See also
For a specific presentation of the full transformation monoid, see one of the following functions:
- presentation.examples.cyclic_inverse_monoid_Fer22_a(n: int) Presentation
A presentation for the cyclic inverse monoid.
This function returns a monoid presentation defining the cyclic inverse monoid of degree n, as in Theorem 2.6 of [Fer22]. This has \(n + 1\) generators and \(\frac{1}{2} \left(n^2 + 3n + 4\right)\) relations.
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
- presentation.examples.cyclic_inverse_monoid_Fer22_b(n: int) Presentation
A presentation for the cyclic inverse monoid.
This function returns a monoid presentation defining the cyclic inverse monoid of degree n, as in Theorem 2.7 of [Fer22]. This presentation has \(2\) generators and \(\frac{1}{2}\left(n^2 - n + 6\right)\) relations.
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
- presentation.examples.dual_symmetric_inverse_monoid(n: int) Presentation
A presentation for the dual symmetric inverse monoid.
This function returns a monoid presentation defining the dual symmetric inverse monoid of degree n, as in Section 3 of [EEF07].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
Note
This function returns exactly the same presentation as
dual_symmetric_inverse_monoid
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.dual_symmetric_inverse_monoid_EEF07(n: int) Presentation
A presentation for the dual symmetric inverse monoid.
This function returns a monoid presentation defining the dual symmetric inverse monoid of degree n, as in Section 3 of [EEF07].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
- presentation.examples.fibonacci_semigroup(r: int, n: int) Presentation
A presentation for a Fibonacci semigroup.
This function returns a semigroup presentation defining the Fibonacci semigroup \(F(r, n)\), where \(r\) is r and \(n\) is n, as described in [CRRT94].
- Parameters:
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 1
.LibsemigroupsError – if
r < 1
.
Note
This function returns exactly the same presentation as
fibonacci_semigroup_CRRT94
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.fibonacci_semigroup_CRRT94(r: int, n: int) Presentation
A presentation for a Fibonacci semigroup.
This function returns a semigroup presentation defining the Fibonacci semigroup \(F(r, n)\), where \(r\) is r and \(n\) is n, as described in [CRRT94].
- Parameters:
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 1
.LibsemigroupsError – if
r < 1
.
- presentation.examples.full_transformation_monoid(n: int) Presentation
A presentation for the full transformation monoid.
This function returns a monoid presentation defining the full transformation monoid of degree n, corresponding to \(\mathcal{T}\) in Theorem 1.5 of [MW24]. For
n >= 4
this presentation has five non-symmetric-group relations.- Parameters:
n (int) – the degree of the full transformation monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
See also
For a specific presentation of the full transformation monoid, see one of the following functions:
- presentation.examples.full_transformation_monoid_Aiz58(n: int) Presentation
A presentation for the full transformation monoid.
This function returns a monoid presentation defining the full transformation monoid of degree n, as in Section 5, Theorem 2 of [Aiz58] (Russian) and Chapter 3, Proposition 1.7 of [Rus95] (English).
- Parameters:
n (int) – the degree of the full transformation monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 4
.
- presentation.examples.full_transformation_monoid_II74(n: int) Presentation
A presentation for the full transformation monoid.
This function returns a monoid presentation defining the full transformation monoid of degree n due to Iwahori and Iwahori [II74], as in Theorem 9.3.1 of [GM09].
- Parameters:
n (int) – the degree of the full transformation monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 4
.
- presentation.examples.full_transformation_monoid_MW24_a(n: int) Presentation
A presentation for the full transformation monoid.
This function returns a monoid presentation defining the full transformation monoid of degree n, corresponding to \(\mathcal{T}\) in Theorem 1.5 of [MW24]. For
n >= 4
this presentation has five non-symmetric-group relations.- Parameters:
n (int) – the degree of the full transformation monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
- presentation.examples.full_transformation_monoid_MW24_b(n: int) Presentation
A presentation for the full transformation monoid.
This function returns a monoid presentation defining the full transformation monoid of degree n, corresponding to \(\mathcal{T}'\) in Theorem 1.5 of [MW24]. This presentation is only valid for odd values of n, and for
n >= 5
this presentation has four non-symmetric-group relations.- Parameters:
n (int) – the degree of the full transformation monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.LibsemigroupsError – if n is not odd.
- presentation.examples.hypo_plactic_monoid(n: int) Presentation
A presentation for the hypoplactic monoid.
This function returns a presentation for the hypoplactic monoid with n generators, as in Definition 4.2 of [Nov00].
This monoid is a quotient monoid of the plactic monoid, and this presentation includes the rules from
plactic_monoid_Knu70
.- Parameters:
n (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 1
.
Note
This function returns exactly the same presentation as
hypo_plactic_monoid_Nov00
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.hypo_plactic_monoid_Nov00(n: int) Presentation
A presentation for the hypoplactic monoid.
This function returns a presentation for the hypoplactic monoid with n generators, as in Definition 4.2 of [Nov00]. This monoid is a quotient monoid of the plactic monoid, and this presentation includes the rules from
plactic_monoid_Knu70
.- Parameters:
n (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 1
.
- presentation.examples.monogenic_semigroup(m: int, r: int) Presentation
A presentation for a monogenic semigroup.
This function returns a presentation defining the monogenic semigroup defined by the presentation \(\langle a \mid a^{m + r} = a^m \rangle\).
If m is 0, the presentation returned is a monoid presentation; otherwise, a semigroup presentation is returned.
- Parameters:
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
r == 0
.
- presentation.examples.motzkin_monoid(n: int) Presentation
A presentation for the Motzkin monoid.
This function returns a monoid presentation defining the Motzkin monoid of degree n, as described in Theorem 4.1 of [PHL13], with the additional relations :math:` r_i t_i l_i = r_i ^ 2 ` added to fix a hole in Lemma 4.10 which rendered the presentation as stated in the paper incorrect.
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 1
.
Note
This function returns exactly the same presentation as
motzkin_monoid_PHL13
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.motzkin_monoid_PHL13(n: int) Presentation
A presentation for the Motzkin monoid.
This function returns a monoid presentation defining the Motzkin monoid of degree n, as described in Theorem 4.1 of [PHL13], with the additional relations :math:` r_i t_i l_i = r_i^ 2 ` added to fix a hole in Lemma 4.10 which rendered the presentation as stated in the paper incorrect.
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 1
.
- presentation.examples.not_renner_type_B_monoid(l: int, q: int) Presentation
A presentation that incorrectly claims to be the Renner monoid of type B.
This functions returns a presentation that incorrectly claims to be the Renner monoid of type B with size l and Iwahori-Hecke deformation q.
When
q == 0
, this corresponds to Example 7.1.2 of [Gay18].When
q == 1
, this corresponds to Section 3.2 of [God09].- Parameters:
- Returns:
The specified presentation
- Return type:
- Raises:
LibsemigroupsError – if
q != 0
orq != 1
.
Note
This function returns exactly the same presentation as
not_renner_type_B_monoid_Gay18
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.not_renner_type_B_monoid_Gay18(l: int, q: int) Presentation
A presentation that incorrectly claims to be the Renner monoid of type B.
This functions returns a presentation that incorrectly claims to be the Renner monoid of type B with size l and Iwahori-Hecke deformation q.
When
q == 0
, this corresponds to Example 7.1.2 of [Gay18].When
q == 1
, this corresponds to Section 3.2 of [God09].- Parameters:
- Returns:
The specified presentation
- Return type:
- Raises:
LibsemigroupsError – if
q != 0
orq != 1
.
- presentation.examples.not_renner_type_D_monoid(l: int, q: int) Presentation
A presentation that incorrectly claims to be the Renner monoid of type D.
This functions returns a presentation that incorrectly claims to be the Renner monoid of type D with size l and Iwahori-Hecke deformation q.
When
q == 1
, this corresponds to Section 3.3 of [God09].- Parameters:
- Returns:
The specified presentation
- Return type:
- Raises:
LibsemigroupsError – if
q != 0
orq != 1
.
Note
This function returns exactly the same presentation as
not_renner_type_D_monoid_God09
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.not_renner_type_D_monoid_God09(l: int, q: int) Presentation
A presentation that incorrectly claims to be the Renner monoid of type D.
This functions returns a presentation that incorrectly claims to be the Renner monoid of type D with size l and Iwahori-Hecke deformation q.
When
q == 1
, this corresponds to Section 3.3 of [God09].- Parameters:
- Returns:
The specified presentation
- Return type:
- Raises:
LibsemigroupsError – if
q != 0
orq != 1
.
- presentation.examples.not_symmetric_group(n: int) Presentation
A non-presentation for the symmetric group.
This function returns a monoid presentation which is claimed to define the symmetric group of degree n, but does not, as in Section 2.2 of [GKKL08].
- Parameters:
n (int) – the claimed degree of the symmetric group.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 4
.
Note
This function returns exactly the same presentation as
not_symmetric_group_GKKL08
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.not_symmetric_group_GKKL08(n: int) Presentation
A non-presentation for the symmetric group.
This function returns a monoid presentation which is claimed to define the symmetric group of degree n, but does not, as in Section 2.2 of [GKKL08].
- Parameters:
n (int) – the claimed degree of the symmetric group.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 4
.
- presentation.examples.order_preserving_cyclic_inverse_monoid(n: int) Presentation
A presentation for the order preserving part of the cyclic inverse monoid.
This function returns a monoid presentation defining the order preserving part of the cyclic inverse monoid of degree n, as in Theorem 2.17 of [Fer22].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
Note
This function returns exactly the same presentation as
order_preserving_cyclic_inverse_monoid_Fer22
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.order_preserving_cyclic_inverse_monoid_Fer22(n: int) Presentation
A presentation for the order preserving part of the cyclic inverse monoid.
This function returns a monoid presentation defining the order preserving part of the cyclic inverse monoid of degree n, as in Theorem 2.17 of [Fer22].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
- presentation.examples.order_preserving_monoid(n: int) Presentation
A presentation for the monoid of order preserving mappings.
This function returns a monoid presentation defining the monoid of order preserving transformations of degree n, as described in Section 2 of [AR00]. This presentation has \(2n - 2\) generators and \(n^2\) relations.
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
Note
This function returns exactly the same presentation as
order_preserving_monoid_AR00
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.order_preserving_monoid_AR00(n: int) Presentation
A presentation for the monoid of order preserving mappings.
This function returns a monoid presentation defining the monoid of order preserving transformations of degree n, as described in Section 2 of [AR00]. This presentation has \(2n - 2\) generators and \(n^2\) relations.
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
- presentation.examples.orientation_preserving_monoid(n: int) Presentation
A presentation for the monoid of orientation preserving mappings.
This function returns a monoid presentation defining the monoid of orientation preserving mappings on a finite chain of order n, as described in [AR00].
- Parameters:
n (int) – the order of the chain.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
Note
This function returns exactly the same presentation as
orientation_preserving_monoid_AR00
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.orientation_preserving_monoid_AR00(n: int) Presentation
A presentation for the monoid of orientation preserving mappings.
This function returns a monoid presentation defining the monoid of orientation preserving mappings on a finite chain of order n, as described in [AR00].
- Parameters:
n (int) – the order of the chain.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
- presentation.examples.orientation_preserving_reversing_monoid(n: int) Presentation
A presentation for the monoid of orientation preserving or reversing mappings.
This function returns a monoid presentation defining the monoid of orientation preserving or reversing mappings on a finite chain of order n, as described in [AR00].
- Parameters:
n (int) – the order of the chain.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
Note
This function returns exactly the same presentation as
orientation_preserving_reversing_monoid_AR00
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.orientation_preserving_reversing_monoid_AR00(n: int) Presentation
A presentation for the monoid of orientation preserving or reversing mappings.
This function returns a monoid presentation defining the monoid of orientation preserving or reversing mappings on a finite chain of order n, as described in [AR00].
- Parameters:
n (int) – the order of the chain.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
- presentation.examples.partial_brauer_monoid(n: int) Presentation
A presentation for the partial Brauer monoid.
This function returns a monoid presentation defining the partial Brauer monoid of degree n, as described in Theorem 5.1 of [KM07].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 1
.
Note
This function returns exactly the same presentation as
partial_brauer_monoid_KM07
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.partial_brauer_monoid_KM07(n: int) Presentation
A presentation for the partial Brauer monoid.
This function returns a monoid presentation defining the partial Brauer monoid of degree n, as described in Theorem 5.1 of [KM07].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 1
.
- presentation.examples.partial_isometries_cycle_graph_monoid(n: int) Presentation
A presentation for the monoid of partial isometries of a cycle graph.
This function returns a monoid presentation defining the monoid of partial isometries of an \(n\)-cycle graph, as in Theorem 2.8 of [FP22]
- Parameters:
n (int) – the number of vertices of the cycle graph.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
Note
This function returns exactly the same presentation as
partial_isometries_cycle_graph_monoid_FP22
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.partial_isometries_cycle_graph_monoid_FP22(n: int) Presentation
A presentation for the monoid of partial isometries of a cycle graph.
This function returns a monoid presentation defining the monoid of partial isometries of an \(n\) -cycle graph, as in Theorem 2.8 of [FP22]
- Parameters:
n (int) – the number of vertices of the cycle graph.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
- presentation.examples.partial_transformation_monoid(n: int) Presentation
A presentation for the partial transformation monoid.
This function returns a monoid presentation defining the partial transformation monoid of degree n, as in Theorem 1.6 of [MW24].
- Parameters:
n (int) – the degree of the partial transformation monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
See also
For a specific presentation of the full transformation monoid, see one of the following functions:
- presentation.examples.partial_transformation_monoid_MW24(n: int) Presentation
A presentation for the partial transformation monoid.
This function returns a monoid presentation defining the partial transformation monoid of degree n, as in Theorem 1.6 of [MW24].
- Parameters:
n (int) – the degree of the partial transformation monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
- presentation.examples.partial_transformation_monoid_Shu60(n: int) Presentation
A presentation for the partial transformation monoid.
This function returns a monoid presentation defining the partial transformation monoid of degree n due to Shutov [Shu60], as in Theorem 9.4.1 of [GM09].
- Parameters:
n (int) – the degree of the partial transformation monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 4
.
- presentation.examples.partition_monoid(n: int) Presentation
A presentation for the partition monoid.
This function returns a monoid presentation defining the partition monoid of degree n, as in Theorem 41 of [Eas11].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 4
.
See also
For a specific presentation of the symmetric group, see one of the following functions:
- presentation.examples.partition_monoid_Eas11(n: int) Presentation
A presentation for the partition monoid.
This function returns a monoid presentation defining the partition monoid of degree n, as in Theorem 41 of [Eas11].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 4
.
- presentation.examples.partition_monoid_HR05(n: int) Presentation
A presentation for the partition monoid.
This function returns a monoid presentation defining the partition monoid of degree n, as in [HR05].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 1
.
- presentation.examples.plactic_monoid(n: int) Presentation
A presentation for the plactic monoid.
This function returns a monoid presentation defining the plactic monoid with n generators, as in see Theorem 6 of [Knu70].
- Parameters:
n (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
Note
This function returns exactly the same presentation as
plactic_monoid_Knu70
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.plactic_monoid_Knu70(n: int) Presentation
A presentation for the plactic monoid.
This function returns a monoid presentation defining the plactic monoid with n generators, as in see Theorem 6 of [Knu70].
- Parameters:
n (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
- presentation.examples.rectangular_band(m: int, n: int) Presentation
A presentation for a rectangular band.
This function returns a semigroup presentation defining the m by n rectangular band, as given in Proposition 4.2 of [ACOConnorR00].
- Parameters:
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
m == 0
.LibsemigroupsError – if
n == 0
.
Note
This function returns exactly the same presentation as
rectangular_band_ACOR00
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.rectangular_band_ACOR00(m: int, n: int) Presentation
A presentation for a rectangular band.
This function returns a semigroup presentation defining the m by n rectangular band, as given in Proposition 4.2 of [ACOConnorR00].
- Parameters:
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
m == 0
.LibsemigroupsError – if
n == 0
.
- presentation.examples.renner_type_B_monoid(l: int, q: int) Presentation
A presentation for the Renner monoid of type B.
This functions returns a presentation for the Renner monoid of type B with size l and Iwahori-Hecke deformation q.
When
q == 0
, this corresponds to Definition 8.4.1 and Example 8.4.2 of [Gay18].When
q == 1
, this corresponds to Theorem 8.4.19 of [Gay18].- Parameters:
- Returns:
The specified presentation
- Return type:
- Raises:
LibsemigroupsError – if
q != 0
orq != 1
.
Note
This function returns exactly the same presentation as
renner_type_B_monoid_Gay18
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.renner_type_B_monoid_Gay18(l: int, q: int) Presentation
A presentation for the Renner monoid of type B.
This functions returns a presentation for the Renner monoid of type B with size l and Iwahori-Hecke deformation q.
When
q == 0
, this corresponds to Definition 8.4.1 and Example 8.4.2 of [Gay18].When
q == 1
, this corresponds to Theorem 8.4.19 of [Gay18].- Parameters:
- Returns:
The specified presentation
- Return type:
- Raises:
LibsemigroupsError – if
q != 0
orq != 1
.
- presentation.examples.renner_type_D_monoid(l: int, q: int) Presentation
A presentation for the Renner monoid of type D.
This functions returns a presentation for the Renner monoid of type D with size l and Iwahori-Hecke deformation q.
When
q == 0
, this corresponds Definition 8.4.22 of [Gay18].When
q == 1
, this corresponds to Theorem 8.4.43 of [Gay18].- Parameters:
- Returns:
The specified presentation
- Return type:
- Raises:
LibsemigroupsError – if
q != 0
orq != 1
.
Note
This function returns exactly the same presentation as
renner_type_D_monoid_Gay18
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.renner_type_D_monoid_Gay18(l: int, q: int) Presentation
A presentation for the Renner monoid of type D.
This functions returns a presentation for the Renner monoid of type D with size l and Iwahori-Hecke deformation q.
When
q == 0
, this corresponds Definition 8.4.22 of [Gay18].When
q == 1
, this corresponds to Theorem 8.4.43 of [Gay18].- Parameters:
- Returns:
The specified presentation
- Return type:
- Raises:
LibsemigroupsError – if
q != 0
orq != 1
.
- presentation.examples.sigma_plactic_monoid(sigma: list[int]) Presentation
A presentation for the \(\sigma\)-plactic monoid.
This function returns a presentation for the \(\sigma\)-plactic monoid with
sigma.size()
generators, where the image of \(\sigma\) is given by the values in sigma.The \(\sigma\)-plactic monoid is the quotient of the plactic monoid by the least congruence containing the relation \(a^{\sigma(a)} = a\) for each \(a\) in the alphabet. When \(\sigma(a) = 2\) for all \(a\), the resultant \(\sigma\)-plactic monoid is known as the stylic monoid, and is given in
stylic_monoid
.
- presentation.examples.sigma_plactic_monoid_AHMNT24(sigma: list[int]) Presentation
A presentation for the \(\sigma\)-plactic monoid.
This function returns a presentation for the \(\sigma\)-plactic monoid with
sigma.size()
generators as in Section 3.1 [AHM+24]. The image of \(\sigma\) is given by the values in sigma.The \(\sigma\)-plactic monoid is the quotient of the plactic monoid by the least congruence containing the relation \(a^{\sigma(a)} = a\) for each \(a\) in the alphabet. When \(\sigma(a) = 2\) for all \(a\), the resultant \(\sigma\)-plactic monoid is known as the stylic monoid, and is given in
stylic_monoid
.- Parameters:
sigma (list[int]) – a list representing the image of $sigma$.
- Returns:
The specified presentation
- Return type:
- Raises:
LibsemigroupsError – if
len(sigma) < 1
.
- presentation.examples.singular_brauer_monoid(n: int) Presentation
A presentation for the singular part of the Brauer monoid.
This function returns a monoid presentation for the singular part of the Brauer monoid of degree n, as in Theorem 5 of [MM07].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
Note
This function returns exactly the same presentation as
singular_brauer_monoid_MM07
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.singular_brauer_monoid_MM07(n: int) Presentation
A presentation for the singular part of the Brauer monoid.
This function returns a monoid presentation for the singular part of the Brauer monoid of degree n, as in Theorem 5 of [MM07].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
- presentation.examples.special_linear_group_2(q: int) Presentation
A presentation for the special linear group \(\mathrm{SL}(2, q)\).
This function returns a presentation for the special linear group \(\mathrm{SL}(2, q)\) (also written \(\mathrm{SL(2, \mathbb{Z}_q)}\)), where q is an odd prime, as in Theorem 4 of [CR80].
- Parameters:
q (int) – the order of the finite field over which the special linear group is constructed. This should be an odd prime for the returned presentation to define claimed group.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
q < 3
.
Note
This function returns exactly the same presentation as
special_linear_group_2_CR80
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.special_linear_group_2_CR80(q: int) Presentation
A presentation for the special linear group \(\mathrm{SL}(2, q)\).
This function returns a presentation for the special linear group \(\mathrm{SL}(2, q)\) (also written \(\mathrm{SL(2, \mathbb{Z}_q)}\)), where q is an odd prime, as in Theorem 4 of [CR80].
- Parameters:
q (int) – the order of the finite field over which the special linear group is constructed. This should be an odd prime for the returned presentation to define claimed group.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
q < 3
.
- presentation.examples.stellar_monoid(l: int) Presentation
A presentation for the stellar monoid.
This function returns a monoid presentation defining the stellar monoid with l generators, as in Theorem 4.39 of [GH19].
- Parameters:
l (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
l < 2
.
Note
This function returns exactly the same presentation as
stellar_monoid_GH19
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.stellar_monoid_GH19(l: int) Presentation
A presentation for the stellar monoid.
This function returns a monoid presentation defining the stellar monoid with l generators, as in Theorem 4.39 of [GH19].
- Parameters:
l (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
l < 2
.
- presentation.examples.stylic_monoid(n: int) Presentation
A presentation for the stylic monoid.
This function returns a monoid presentation defining the stylic monoid with n generators, as in Theorem 8.1 of [AR22].
- Parameters:
n (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
Note
This function returns exactly the same presentation as
stylic_monoid_AR22
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.stylic_monoid_AR22(n: int) Presentation
A presentation for the stylic monoid.
This function returns a monoid presentation defining the stylic monoid with n generators, as in Theorem 8.1 of [AR22].
- Parameters:
n (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
- presentation.examples.symmetric_group(n: int) Presentation
A presentation for the symmetric group.
This function returns a monoid presentation for the symmetric group of degree n, as on page 169 of [Car56]. This presentation has \(n - 1\) generators and \((n - 1)^2\) relations.
- Parameters:
n (int) – the degree of the symmetric group.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
See also
For a specific presentation of the symmetric group, see one of the following functions:
- presentation.examples.symmetric_group_Bur12(n: int) Presentation
A presentation for the symmetric group.
This function returns a monoid presentation for the symmetric group of degree n, as in p.464 of [Bur12]. This presentation has \(n - 1\) generators and \(n^3 - 5n^2 + 9n - 5\) relations.
- Parameters:
n (int) – the degree of the symmetric group.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
- presentation.examples.symmetric_group_Car56(n: int) Presentation
A presentation for the symmetric group.
This function returns a monoid presentation for the symmetric group of degree n, as on page 169 of [Car56]. This presentation has \(n - 1\) generators and \((n - 1)^2\) relations.
- Parameters:
n (int) – the degree of the symmetric group.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
- presentation.examples.symmetric_group_Moo97_a(n: int) Presentation
A presentation for the symmetric group.
This function returns a monoid presentation for the symmetric group of degree n, as in Theorem A of [Moo97]. This presentation has \(n - 1\) generators and \(\frac{1}{2}n(n - 1)\) relations.
- Parameters:
n (int) – the degree of the symmetric group.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
- presentation.examples.symmetric_group_Moo97_b(n: int) Presentation
A presentation for the symmetric group.
This function returns a monoid presentation for the symmetric group of degree n, as in in Theorem A’ of [Moo97]. This presentation has \(2\) generators and \(n + 1\) relations for \(n \geq 4\). If \(n<4\) then there are \(4\) relations.
- Parameters:
n (int) – the degree of the symmetric group.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
- presentation.examples.symmetric_inverse_monoid(n: int) Presentation
A presentation for the partial transformation monoid.
This function returns a monoid presentation defining the partial transformation monoid of degree n, as in Theorem 1.6 of [MW24].
- Parameters:
n (int) – the degree of the partial transformation monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
See also
For a specific presentation of the full transformation monoid, see one of the following functions:
- presentation.examples.symmetric_inverse_monoid_MW24(n: int) Presentation
A presentation for the symmetric inverse monoid.
This function returns a monoid presentation defining the partial transformation monoid of degree n, as in Theorem 1.4 of [MW24].
- Parameters:
n (int) – the degree of the symmetric inverse monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 4
.
- presentation.examples.symmetric_inverse_monoid_Shu60(n: int) Presentation
A presentation for the symmetric inverse monoid.
This function returns a monoid presentation defining the symmetric inverse monoid of degree n due to Shutov [Shu60], as in Theorem 9.2.2 of [GM09].
- Parameters:
n (int) – the degree of the symmetric inverse monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 4
.
- presentation.examples.symmetric_inverse_monoid_Sol04(n: int) Presentation
A presentation for the symmetric inverse monoid.
This function returns a monoid presentation defining the symmetric inverse monoid of degree n, as in Example 7.1.2 of [Gay18].
- Parameters:
n (int) – the degree of the symmetric inverse monoid.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
- presentation.examples.temperley_lieb_monoid(n: int) Presentation
A presentation for the Temperley-Lieb monoid.
This function returns a monoid presentation defining the Temperley-Lieb monoid with n generators, as described in Theorem 2.2 of [Eas21].
- Parameters:
n (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
Note
This function returns exactly the same presentation as
temperley_lieb_monoid_Eas21
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.temperley_lieb_monoid_Eas21(n: int) Presentation
A presentation for the Temperley-Lieb monoid.
This function returns a monoid presentation defining the Temperley-Lieb monoid with n generators, as described in Theorem 2.2 of [Eas21].
- Parameters:
n (int) – the number of generators.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
- presentation.examples.uniform_block_bijection_monoid(n: int) Presentation
A presentation for the uniform block bijection monoid.
This function returns a monoid presentation defining the uniform block bijection monoid of degree n, as in [Fit03].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
Note
This function returns exactly the same presentation as
uniform_block_bijection_monoid_Fit03
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.uniform_block_bijection_monoid_Fit03(n: int) Presentation
A presentation for the uniform block bijection monoid.
This function returns a monoid presentation defining the uniform block bijection monoid of degree n, as in [Fit03].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 3
.
- presentation.examples.zero_rook_monoid(n: int) Presentation
A presentation for the \(0\)-rook monoid.
This function returns a presentation for the \(0\)-rook monoid of degree n, as in Definition 4.1.1 in [Gay18]
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.
Note
This function returns exactly the same presentation as
zero_rook_monoid_Gay18
, and exists as a convenience function for when a presentation for the alternating group is required, but the specific presentation is not important.
- presentation.examples.zero_rook_monoid_Gay18(n: int) Presentation
A presentation for the \(0\)-rook monoid.
This function returns a presentation for the \(0\) -rook monoid of degree n, as in Definition 4.1.1 in [Gay18].
- Parameters:
n (int) – the degree.
- Returns:
The specified presentation.
- Return type:
- Raises:
LibsemigroupsError – if
n < 2
.