Examples¶
This page contains the documentation for examples of finitely presented semigroups.
- class author¶
The values in this enum class are used to specify the authors of a presentation. Where there are different presentations by different authors, values of this type can be passed as an argument to the functions described on this page to disambiguate which presentation is wanted.
The author values can be combined via the operator
+
.
A presentation for the symmetric group. |
|
A presentation for the alternating group. |
|
A presentation for the full transformation monoid. |
|
A presentation for the partial transformation monoid. |
|
A presentation for the symmetric inverse monoid. |
|
A presentation for the dual symmetric inverse monoid. |
|
A presentation for the uniform block bijection monoid. |
|
A presentation for the partition monoid. |
|
A presentation for the Brauer monoid. |
|
A presentation for a rectangular band. |
|
A presentation for the stellar monoid. |
|
A presentation for the Chinese monoid. |
|
A presentation for a monogenic semigroup. |
|
A presentation for the plactic monoid. |
|
A presentation for the stylic monoid. |
|
A presentation for a Fibonacci semigroup. |
|
A presentation for the Temperley-Lieb monoid. |
|
A presentation for the singular part of the Brauer monoid. |
|
A presentation for the monoid of orientation preserving mappings. |
|
A presentation for the monoid of orientation reversing mappings. |
Full API¶
- symmetric_group(n: int, val: author = author.Carmichael) -> List[Tuple[List[int], List[int]]])¶
A presentation for the symmetric group.
Returns a list giving a monoid presentation for the symmetric group. The argument
val
determines the specific presentation which is returned. The options are:author.Burnside + author.Miller
(given on p.464 of 10.1017/CBO9781139237253)author.Carmichael
(given in comment 9.5.2 of 10.1007/978-1-84800-281-4)author.Coxeter + author.Moser
(see Ch. 3, Prop 1.2 of hdl.handle.net/10023/2821)author.Moore
(given in comment 9.5.3 of 10.1007/978-1-84800-281-4)
The default for
val
isauthor.Carmichael
.- Parameters
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 4
RuntimeError -- if
val
is not one of the combinations of authors listed above (modulo order of author)
- alternating_group(n: int, val: author) -> List[Tuple[List[int], List[int]]])¶
A presentation for the alternating group.
Returns a list giving a monoid presentation defining the alternating group of degree
n
. The argumentval
determines the specific presentation which is returned. The options are:author.Moore
(see Ch. 3, Prop 1.3 of hdl.handle.net/10023/2821)
The default for
val
isauthor.Moore
.- Parameters
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 4
RuntimeError -- if
val
is not one of the combinations of authors listed above (modulo order of author)
- full_transformation_monoid(n: int, val: author) -> List[Tuple[List[int], List[int]]])¶
A presentation for the full transformation monoid.
Returns a list giving a monoid presentation defining the full transformation monoid. The argument
val
determines the specific presentation which is returned. The options are:author.Aizenstat
(see Ch. 3, Prop 1.7 of hdl.handle.net/10023/2821)author.Iwahori
(see Theorem 9.3.1 of 10.1007/978-1-84800-281-4)
The default for
val
isauthor.Iwahori
.- Parameters
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 4
RuntimeError -- if
val
is not one of the combinations of authors listed above (modulo order of author)
- partial_transformation_monoid(n: int, val: author) -> List[Tuple[List[int], List[int]]])¶
A presentation for the partial transformation monoid.
Returns a list giving a monoid presentation defining the partial transformation monoid. The argument
val
determines the specific presentation which is returned. The options are:author.Machine
author.Sutov
(see Theorem 9.4.1 of 10.1007/978-1-84800-281-4)
The default for
val
isauthor.Sutov
.- Parameters
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 4
RuntimeError -- if
val
is not one of the combinations of authors listed above (modulo order of author)
- symmetric_inverse_monoid(n: int, val: author) -> List[Tuple[List[int], List[int]]])¶
A presentation for the symmetric inverse monoid.
Returns a list giving a monoid presentation defining the symmetric inverse monoid. The argument
val
determines the specific presentation which is returned. The options are:author.Sutov
(see Theorem 9.2.2 of 10.1007/978-1-84800-281-4)
The default for
val
is the only option above.- Parameters
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 4
RuntimeError -- if
val
is not one of the combinations of authors listed above (modulo order of author)
- dual_symmetric_inverse_monoid(n: int, val: author) -> List[Tuple[List[int], List[int]]])¶
A presentation for the dual symmetric inverse monoid.
Returns a list giving a semigroup presentation defining the dual symmetric inverse monoid of degree
n
. The argumentval
determines the specific presentation which is returned. The options are:author.Easdown + author.East + author.FitzGerald
(from Section 3 of 10.48550/arxiv.0707.2439)
The default for
val
is the only option above.- Parameters
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 3
RuntimeError -- if
val
is not one of the combinations of authors listed above (modulo order of author)
- uniform_block_bijection_monoid(n: int, val: author) -> List[Tuple[List[int], List[int]]])¶
A presentation for the uniform block bijection monoid.
Returns a list giving a semigroup presentation defining the uniform block bijection monoid of degree
n
. The argumentval
determines the specific presentation which is returned. The only option is:author.FitzGerald
(see 10.1017/s0004972700037692)
The default for
val
is the only option above.- Parameters
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 3
RuntimeError -- if
val
is not one of the combinations of authors listed above (modulo order of author)
- partition_monoid(n: int, val: author) -> List[Tuple[List[int], List[int]]])¶
A presentation for the partition monoid.
Returns a list giving a semigroup presentation defining the partition monoid of degree
n
. The argumentval
determines the specific presentation which is returned. The options are:author.Machine
author.East
(see Theorem 41 of 10.1016/j.jalgebra.2011.04.008)
The default for
val
isauthor.East
.- Parameters
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 4
andval = author.East
RuntimeError -- if
n != 3
andval = author.Machine
RuntimeError -- if
val
is not one of the combinations of authors listed above (modulo order of author)
- brauer_monoid(n: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for the Brauer monoid.
Returns a list giving a semigroup presentation defining the Brauer monoid of degree
n
, as described in Theorem 3.1 of the paper 10.2478/s11533-006-0017-6.- Parameters
n (int) -- the degree
- Returns
List[Tuple[List[int], List[int]]]
- rectangular_band(m: int, n: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for a rectangular band.
Returns a list giving a semigroup presentation defining the
m
byn
rectangular band, as given in Proposition 4.2 of 10.1007/s002339910016.- Parameters
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
m = 0
RuntimeError -- if
n = 0
- stellar_monoid(l: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for the stellar monoid.
Returns a list giving a semigroup presentation defining the stellar monoid with
l
generators, as in Theorem 4.39 of 10.48550/arXiv.1910.11740.- Parameters
l (int) -- the number of generators
- Returns
List[Tuple[List[int], List[int]]
- Raises
RuntimeError -- if
l < 2
- chinese_monoid(l: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for the Chinese monoid.
Returns a list giving a semigroup presentation defining the Chinese monoid with
n
generators, as described in 10.1142/S0218196701000425.- Parameters
n (int) -- the number of generators
- Returns
List[Tuple[List[int], List[int]]
- Raises
RuntimeError -- if
n < 2
- monogenic_semigroup(m: int, r: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for a monogenic semigroup.
Returns a list giving a semigroup presentation defining the monogenic semigroup defined by the presentation \(\langle a \mid a^{m + r} = a^m \rangle\).
- Parameters
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
r = 0
- plactic_monoid(n: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for the plactic monoid.
Returns a list giving a semigroup presentation defining the plactic monoid with
n
generators (see Section 3 of 10.1007/s00233-022-10285-3).- Parameters
n (int) -- the number of generators
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 2
- stylic_monoid(n: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for the stylic monoid.
Returns a list giving a semigroup presentation defining the stylic monoid with
n
generators (see Theorem 8.1 of 10.1007/s00233-022-10285-3).- Parameters
n (int) -- the number of generators
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 2
- fibonacci_semigroup(r: int, n: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for a Fibonacci semigroup.
Returns a list giving a semigroup presentation defining the Fibonacci semigroup \(F(r, n)\), as described in the paper 10.1016/0022-4049(94)90005-1.
- Parameters
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n = 0
RuntimeError -- if
r = 0
- temperley_lieb_monoid(n: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for the Temperley-Lieb monoid.
Returns a list giving a semigroup presentation defining the Temperley-Lieb monoid with
n
generators, as described in Theorem 2.2 of the paper 10.1093/qmath/haab001.- Parameters
n (int) -- the number of generators
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 3
- singular_brauer_monoid(n: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for the singular part of the Brauer monoid.
Returns a list giving a semigroup presentation for the singular part of the Brauer monoid of degree
n
, as in Theorem 5 of the paper 10.21136/MB.2007.134125).- Parameters
n (int) -- the degree
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 3
- orientation_preserving_monoid(n: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for the monoid of orientation preserving mappings.
Returns a list giving a semigroup presentation defining the monoid of orientation preserving mappings on a finite chain of order
n
, as described in the paper 10.1007/s10012-000-0001-1.- Parameters
n (int) -- the order of the chain
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 3
- orientation_reversing_monoid(n: int) -> List[Tuple[List[int], List[int]]])¶
A presentation for the monoid of orientation preserving mappings.
Returns a list giving a semigroup presentation defining the monoid of orientation reversing mappings on a finite chain of order
n
, as described in the paper 10.1007/s10012-000-0001-1.- Parameters
n (int) -- the order of the chain
- Returns
List[Tuple[List[int], List[int]]]
- Raises
RuntimeError -- if
n < 3