|
|
|
|
Quellcode-Bibliothek chap7.html
Sprache: HTML
|
|
| products/Sources/formale Sprachen/GAP/pkg/semigroups/doc/chap7.html |
 |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>GAP (Semigroups) - Chapter 7:
Standard examples
</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap7" onload="jscontent()">
<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chap10.html">10</a> <a href="chap11.html">11</a> <a href="chap12.html">12</a> <a href="chap13.html">13</a> <a href="chap14.html">14</a> <a href="chap15.html">15</a> <a href="chap16.html">16</a> <a href="chap17.html">17</a> <a href="chap18.html">18</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div>
<div class="chlinkprevnexttop"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap6.html">[Previous Chapter]</a> <a href="chap8.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap7_mj.html">[MathJax on]</a></p>
<p><a id="X7C76D1DC7DAF03D3" name="X7C76D1DC7DAF03D3"></a></p>
<div class="ChapSects"><a href="chap7.html#X7C76D1DC7DAF03D3">7 <span class="Heading">
Standard examples
</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X7E42E8337A78B076">7.1 <span class="Heading">
Transformation semigroups
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X84C4C81380B0239D">7.1-1 CatalanMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X85C1D4307D0F5FF7">7.1-2 EndomorphismsPartition</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X808A27F87E5AC598">7.1-3 PartialTransformationMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7894EE357D103806">7.1-4 SingularTransformationSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X80E80A0A83B57483">7.1-5 <span class="Heading">Semigroups of order-preserving transformations</span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X868955247F2AFAA5">7.1-6 EndomorphismMonoid</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X862BA1C67AA1C77C">7.2 <span class="Heading">
Semigroups of partial permutations
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X78FBE6DD7BCA30C1">7.2-1 MunnSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X82D9619B7845CAEB">7.2-2 RookMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X85D841AE83DF101C">7.2-3 <span class="Heading">Inverse monoids of order-preserving partial permutations</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X876C963F830719E2">7.3 <span class="Heading">
Semigroups of bipartitions
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7E4B61FF7CCFD74A">7.3-1 PartitionMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X79D33B2E7BA3073A">7.3-2 BrauerMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8378FC8B840B9706">7.3-3 JonesMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8458B0F7874484CE">7.3-4 PartialJonesMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7DB8CB067CBE1254">7.3-5 AnnularJonesMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8375152F7AB52B7B">7.3-6 MotzkinMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X83C7587C81B985BA">7.3-7 DualSymmetricInverseSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8301C61384168D6F">7.3-8 UniformBlockBijectionMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8444092A7967A029">7.3-9 PlanarPartitionMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7F208DC584C0B9D1">7.3-10 ModularPartitionMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7C82B25F8441928E">7.3-11 ApsisMonoid</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X874C945E7C61A969">7.4 <span class="Heading">
Standard PBR semigroups
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7DBB30AA83663CE8">7.4-1 FullPBRMonoid</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X857DBF537A9A9976">7.5 <span class="Heading">
Semigroups of matrices over a finite field
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7D4B473A7D7735E3">7.5-1 FullMatrixMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X785924807B60F187">7.5-2 SpecialLinearMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X860B2A4382CA8F87">7.5-3 IsFullMatrixMonoid</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X85BACB7F81660ECC">7.6 <span class="Heading">
Semigroups of boolean matrices
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7B20103D84E010EF">7.6-1 FullBooleanMatMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7A43263981F2F2AF">7.6-2 RegularBooleanMatMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X78DF50747A28098C">7.6-3 ReflexiveBooleanMatMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X79EF0EA68782CFCA">7.6-4 HallMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7F083600787C78FF">7.6-5 GossipMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X81BBCF2E84239521">7.6-6 TriangularBooleanMatMonoid</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X7F3D0AEE79AA8C98">7.7 <span class="Heading">
Semigroups of matrices over a semiring
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X81E937B6852A9C69">7.7-1 FullTropicalMaxPlusMonoid</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X85EDC03180768931">7.7-2 FullTropicalMinPlusMonoid</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X7ED2F2577CD6B578">7.8 <span class="Heading">
Examples in various representations
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X82B07E907B3A55F0">7.8-1 TrivialSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8411EBD97A220921">7.8-2 MonogenicSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7E4DFDE27BF8B8F7">7.8-3 RectangularBand</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7982E0667ECEB265">7.8-4 FreeSemilattice</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X801FC1D97D832A6F">7.8-5 ZeroSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8672CFA47CA620B2">7.8-6 LeftZeroSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7E2B20C77D47F7FB">7.8-7 BrandtSemigroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X7BB29A6779E8066A">7.9 <span class="Heading">
Free bands
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7B2A65F382DB36EC">7.9-1 FreeBand</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7F5658DC7E56C4A6">7.9-2 IsFreeBandCategory</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7B1CD5FC7E034B88">7.9-3 IsFreeBand</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7DECF69087BB3B16">7.9-4 IsFreeBandElement</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X842839C87DAAA43C">7.9-5 IsFreeBandElementCollection</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7AEF4CD1857E7DCC">7.9-6 IsFreeBandSubsemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X808CAEC17BF271D1">7.9-7 ContentOfFreeBandElement</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7CD9426180587CA4">7.9-8 EqualInFreeBand</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X85DC5D50875E55D6">7.9-9 GreensDClassOfElement</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7AD6F77E7D95C996">7.9-10 <span class="Heading">Operators</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X850B10D783053100">7.10 <span class="Heading">
Graph inverse semigroups
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7A9EEFD386D6F630">7.10-1 GraphInverseSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8187F0FF784A82CD">7.10-2 Range</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7DEE927C83D4DFDD">7.10-3 IsVertex</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7BFDF88B799B05A0">7.10-4 IsGraphInverseSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7BE287A385A058BC">7.10-5 GraphOfGraphInverseSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X870128E4845D6ABD">7.10-6 IsGraphInverseSemigroupElementCollection</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7BC6D5107ED09DBA">7.10-7 IsGraphInverseSubsemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7DF1ACC27CC998EB">7.10-8 VerticesOfGraphInverseSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X87500BC782212D4A">7.10-9 IndexOfVertexOfGraphInverseSemigroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X7E51292C8755DCF2">7.11 <span class="Heading">
Free inverse semigroups
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7F3F9DED8003CBD0">7.11-1 FreeInverseSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7CE4CFD886220179">7.11-2 IsFreeInverseSemigroupCategory</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7B91643B827DA6DB">7.11-3 IsFreeInverseSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7999FE0286283CC2">7.11-4 IsFreeInverseSemigroupElement</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X813A291779726739">7.11-5 IsFreeInverseSemigroupElementCollection</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7DB7DCEC7E0FE9A3">7.11-6 CanonicalForm</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X87BB5D047EB7C2BF">7.11-7 MinimalWord</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8073A2387A42B52D">7.11-8 <span class="Heading">Displaying free inverse semigroup elements </span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7A55FD9A7DF21C60">7.11-9 <span class="Heading">Operators for free inverse semigroup elements
</span></a>
</span>
</div></div>
</div>
<h3>7 <span class="Heading">
Standard examples
</span></h3>
<p>In this chapter we describe some standard families of examples of semigroups and monoids which are available in the <strong class="pkg">Semigroups</strong> package.</p>
<p><a id="X7E42E8337A78B076" name="X7E42E8337A78B076"></a></p>
<h4>7.1 <span class="Heading">
Transformation semigroups
</span></h4>
<p>In this section, we describe the operations in <strong class="pkg">Semigroups</strong> that can be used to create transformation semigroups belonging to several standard classes of example. See <a href="../../../doc/ref/chap53_mj.html#X860026B880BCB2A5"><span class="RefLink">Reference: Transformations</span></a> for more information about transformations.</p>
<p><a id="X84C4C81380B0239D" name="X84C4C81380B0239D"></a></p>
<h5>7.1-1 CatalanMonoid</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CatalanMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A transformation monoid.</p>
<p>If <var class="Arg">n</var> is a positive integer, then this operation returns the Catalan monoid of degree <var class="Arg">n</var>. The <em>Catalan monoid</em> is the semigroup of the order-preserving and order-decreasing transformations of <code class="code">[1 .. n]</code> with the usual ordering.</p>
<p>The Catalan monoid is generated by the <span class="SimpleMath"><var class="Arg">n - 1</var></span> transformations <span class="SimpleMath">f_i</span>:</p>
<p class="pcenter">
\left(
\begin{array}{cccccccccc}
1&2&3&\cdots& i &i + 1& i + 2 & \cdots & n\\
1&2&3&\cdots& i &i & i + 2 & \cdots & n
\end{array}\right), \qquad
</p>
<p>where <span class="SimpleMath">i = 1, ..., n - 1</span> and has size equal to the <span class="SimpleMath">n</span>th Catalan number.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := CatalanMonoid(6);</span>
<transformation monoid of degree 6 with 5 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
132</pre></div>
<p><a id="X85C1D4307D0F5FF7" name="X85C1D4307D0F5FF7"></a></p>
<h5>7.1-2 EndomorphismsPartition</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ EndomorphismsPartition</code>( <var class="Arg">list</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A transformation monoid.</p>
<p>If <var class="Arg">list</var> is a list of positive integers, then <code class="code">EndomorphismsPartition</code> returns a monoid of endomorphisms preserving a partition of <code class="code">[1 .. Sum(<var class="Arg">list</var>)]</code> with a part of length <code class="code"><var class="Arg">list</var>[i]</code> for every <code class="code">i</code>. For example, if <code class="code"><var class="Arg">list</var> = [1, 2, 3]</code>, then <code class="code">EndomorphismsPartition</code> returns the monoid of endomorphisms of the partition <code class="code">[[1], [2, 3], [4, 5, 6]]</code>.</p>
<p>If <code class="code">f</code> is a transformation of <code class="code">[1 .. n]</code>, then it is an <strong class="button">endomorphism</strong> of a partition <code class="code">P</code> on <code class="code">[1 .. n]</code> if <code class="code">(i, j)</code> in <code class="code">P</code> implies that <code class="code">(i ^ f, j ^ f)</code> is in <code class="code">P</code>.</p>
<p><code class="code">EndomorphismsPartition</code> returns a monoid with a minimal size generating set, as described in <a href="chapBib.html#biBAraujo2015aa">[ABMS15]</a>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := EndomorphismsPartition([3, 3, 3]);</span>
<transformation semigroup of degree 9 with 4 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
531441</pre></div>
<p><a id="X808A27F87E5AC598" name="X808A27F87E5AC598"></a></p>
<h5>7.1-3 PartialTransformationMonoid</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PartialTransformationMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A transformation monoid.</p>
<p>If <var class="Arg">n</var> is a positive integer, then this function returns a semigroup of transformations on <code class="code"><var class="Arg">n</var> + 1</code> points which is isomorphic to the semigroup consisting of all partial transformation on <var class="Arg">n</var> points. This monoid has <code class="code">(<var class="Arg">n</var> + 1) ^ <var class="Arg">n</var></code> elements.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := PartialTransformationMonoid(5);</span>
<regular transformation monoid of degree 6 with 4 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
7776</pre></div>
<p><a id="X7894EE357D103806" name="X7894EE357D103806"></a></p>
<h5>7.1-4 SingularTransformationSemigroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SingularTransformationSemigroup</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SingularTransformationMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: The semigroup of non-invertible transformations.</p>
<p>If <var class="Arg">n</var> is a integer greater than 1, then this function returns the semigroup of non-invertible transformations, which is generated by the <code class="code"><var class="Arg">n</var>(<var class="Arg">n</var> - 1)</code> idempotents of degree <var class="Arg">n</var> and rank <code class="code"><var class="Arg">n</var> - 1</code> and has <span class="SimpleMath">n ^ n - n!</span> elements.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := SingularTransformationSemigroup(4);</span>
<regular transformation semigroup ideal of degree 4 with 1 generator>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
232</pre></div>
<p><a id="X80E80A0A83B57483" name="X80E80A0A83B57483"></a></p>
<h5>7.1-5 <span class="Heading">Semigroups of order-preserving transformations</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ OrderEndomorphisms</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SingularOrderEndomorphisms</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ OrderAntiEndomorphisms</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PartialOrderEndomorphisms</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PartialOrderAntiEndomorphisms</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A semigroup of transformations related to a linear order.</p>
<dl>
<dt><strong class="Mark"><code class="code">OrderEndomorphisms(<var class="Arg">n</var>)</code></strong></dt>
<dd><p><code class="code">OrderEndomorphisms(<var class="Arg">n</var>)</code> returns the monoid of transformations that preserve the usual order on <span class="SimpleMath">{1, 2, ..., n}</span>, where <var class="Arg">n</var> is a positive integer. <code class="code">OrderEndomorphisms(<var class="Arg">n</var>)</code> is generated by the <span class="SimpleMath"><var class="Arg">n + 1</var></span> transformations:</p>
<p class="pcenter">
\left(
\begin{array}{ccccccccc}
1&2&3&\cdots&n-1& n\\
1&1&2&\cdots&n-2&n-1
\end{array}\right), \qquad
\left(
\begin{array}{ccccccccc}
1&2&\cdots&i-1& i& i+1&i+2&\cdots
&n\\
1&2&\cdots&i-1& i+1&i+1&i+2&\cdots
&n\\
\end{array}\right)
</p>
<p>where <span class="SimpleMath">i=0,...,n-1</span>, and has <span class="SimpleMath">2n-1choose n-1</span> elements.</p>
</dd>
<dt><strong class="Mark"><code class="code">SingularOrderEndomorphisms(<var class="Arg">n</var>)</code></strong></dt>
<dd><p><code class="code">SingularOrderEndomorphisms(<var class="Arg">n</var>)</code> returns the ideal of <code class="code">OrderEndomorphisms(<var class="Arg">n</var>)</code> consisting of the non-invertible elements, when <var class="Arg">n</var> is at least <code class="code">2</code>. The only invertible element in <code class="code">OrderEndomorphisms(<var class="Arg">n</var>)</code> is the identity transformation. Therefore <code class="code">SingularOrderEndomorphisms(<var class="Arg">n</var>)</code> has <span class="SimpleMath">2n-1choose n-1 - 1</span> elements.</p>
</dd>
<dt><strong class="Mark"><code class="code">OrderAntiEndomorphisms(<var class="Arg">n</var>)</code></strong></dt>
<dd><p><code class="code">OrderAntiEndomorphisms(<var class="Arg">n</var>)</code> returns the monoid of transformations that preserve or reverse the usual order on <span class="SimpleMath">{1, 2, ..., n}</span>, where <var class="Arg">n</var> is a positive integer. <code class="code">OrderAntiEndomorphisms(<var class="Arg">n</var>)</code> is generated by the generators of <code class="code">OrderEndomorphisms(<var class="Arg">n</var>)</code> along with the bijective transformation that reverses the order on <span class="SimpleMath">{1, 2, ..., n}</span>. The monoid <code class="code">OrderAntiEndomorphisms(<var class="Arg">n</var>)</code> has <span class="SimpleMath">2n-1choose n-1 - n</span> elements.</p>
</dd>
<dt><strong class="Mark"><code class="code">PartialOrderEndomorphisms(<var class="Arg">n</var>)</code></strong></dt>
<dd><p><code class="code">PartialOrderEndomorphisms(<var class="Arg">n</var>)</code> returns a monoid of transformations on <code class="code"><var class="Arg">n</var> + 1</code> points that is isomorphic to the monoid consisting of all partial transformations that preserve the usual order on <span class="SimpleMath">{1, 2, ..., n}</span>.</p>
</dd>
<dt><strong class="Mark"><code class="code">PartialOrderAntiEndomorphisms(<var class="Arg">n</var>)</code></strong></dt>
<dd><p><code class="code">PartialAntiOrderEndomorphisms(<var class="Arg">n</var>)</code> returns a monoid of transformations on <code class="code"><var class="Arg">n</var> + 1</code> points that is isomorphic to the monoid consisting of all partial transformations that preserve or reverse the usual order on <span class="SimpleMath">{1, 2, ..., n}</span>.</p>
</dd>
</dl>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := OrderEndomorphisms(5);</span>
<regular transformation monoid of degree 5 with 5 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsIdempotentGenerated(S);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S) = Binomial(2 * 5 - 1, 5 - 1);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Difference(S, SingularOrderEndomorphisms(5));</span>
[ IdentityTransformation ]
<span class="GAPprompt">gap></span> <span class="GAPinput">SingularOrderEndomorphisms(10);</span>
<regular transformation semigroup ideal of degree 10 with 1 generator>
<span class="GAPprompt">gap></span> <span class="GAPinput">T := OrderAntiEndomorphisms(4);</span>
<regular transformation monoid of degree 4 with 5 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Transformation([4, 2, 2, 1]) in T;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">U := PartialOrderEndomorphisms(6);</span>
<regular transformation monoid of degree 7 with 12 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">V := PartialOrderAntiEndomorphisms(6);</span>
<regular transformation monoid of degree 7 with 13 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubsemigroup(V, U);</span>
true</pre></div>
<p><a id="X868955247F2AFAA5" name="X868955247F2AFAA5"></a></p>
<h5>7.1-6 EndomorphismMonoid</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ EndomorphismMonoid</code>( <var class="Arg">digraph</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ EndomorphismMonoid</code>( <var class="Arg">digraph</var>, <var class="Arg">colors</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A monoid.</p>
<p>An endomorphism of <var class="Arg">digraph</var> is a homomorphism <code class="func">DigraphHomomorphism</code> (<a href="https://gap-packages.github.io/io/doc/chap7_mj.html#X85E9B019877AD7FE"><span class="RefLink">Digraphs: DigraphHomomorphism</span></a>) from <var class="Arg">digraph</var> back to itself.</p>
<p><code class="code">EndomorphismMonoid</code>, called with a single argument, returns the monoid of all endomorphisms of <var class="Arg">digraph</var>.</p>
<p>If the <var class="Arg">colors</var> argument is specified, then it will return the monoid of endomorphisms which respect the given colouring. The colouring <var class="Arg">colors</var> can be in one of two forms:</p>
<ul>
<li><p>A list of positive integers of size the number of vertices of <var class="Arg">digraph</var>, where <var class="Arg">colors</var><code class="code">[i]</code> is the colour of vertex <code class="code">i</code>.</p>
</li>
<li><p>A list of lists, such that <var class="Arg">colors</var><code class="code">[i]</code> is a list of all vertices with colour <code class="code">i</code>.</p>
</li>
</ul>
<p>See also <code class="func">GeneratorsOfEndomorphismMonoid</code> (<a href="https://gap-packages.github.io/io/doc/chap7_mj.html#X7E93B268823F6478"><span class="RefLink">Digraphs: GeneratorsOfEndomorphismMonoid</span></a>). Note that the performance of <code class="code">EndomorphismMonoid</code> may differ from that of <code class="func">GeneratorsOfEndomorphismMonoid</code> (<a href="https://gap-packages.github.io/io/doc/chap7_mj.html#X7E93B268823F6478"><span class="RefLink">Digraphs: GeneratorsOfEndomorphismMonoid</span></a>) since the former incrementally adds newly discovered endomorphisms to the monoid using <code class="func">ClosureMonoid</code> (<a href="chap6.html#X7BE36790862AE26F"><span class="RefLink">6.4-1</span></a>).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">gr := Digraph(List([1 .. 3], x -> [1 .. 3]));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">EndomorphismMonoid(gr);</span>
<transformation monoid of degree 3 with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">gr := CompleteDigraph(3);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">EndomorphismMonoid(gr);</span>
<transformation group of size 6, degree 3 with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := EndomorphismMonoid(gr, [1, 2, 2]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsGroupAsSemigroup(S);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
2
<span class="GAPprompt">gap></span> <span class="GAPinput">S := EndomorphismMonoid(gr, [[1], [2, 3]]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := EndomorphismMonoid(gr, [1, 2, 2]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsGroupAsSemigroup(S);</span>
true</pre></div>
<p><a id="X862BA1C67AA1C77C" name="X862BA1C67AA1C77C"></a></p>
<h4>7.2 <span class="Heading">
Semigroups of partial permutations
</span></h4>
<p>In this section, we describe the operations in <strong class="pkg">Semigroups</strong> that can be used to create semigroups of partial permutations belonging to several standard classes of example. See <a href="../../../doc/ref/chap54_mj.html#X7D6495F77B8A77BD"><span class="RefLink">Reference: Partial permutations</span></a> for more information about partial permutations.</p>
<p><a id="X78FBE6DD7BCA30C1" name="X78FBE6DD7BCA30C1"></a></p>
<h5>7.2-1 MunnSemigroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MunnSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: The Munn semigroup of a semilattice.</p>
<p>If <var class="Arg">S</var> is a semilattice, then <code class="code">MunnSemigroup</code> returns the inverse semigroup of partial permutations of isomorphisms of principal ideals of <var class="Arg">S</var>; called the <em>Munn semigroup</em> of <var class="Arg">S</var>.</p>
<p>This function was written jointly by J. D. Mitchell, Yann Péresse (St Andrews), Yanhui Wang (York).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := InverseSemigroup([</span>
<span class="GAPprompt">></span> <span class="GAPinput">PartialPerm([1, 2, 3, 4, 5, 6, 7, 10], [4, 6, 7, 3, 8, 2, 9, 5]),</span>
<span class="GAPprompt">></span> <span class="GAPinput">PartialPerm([1, 2, 7, 9], [5, 6, 4, 3])]);</span>
<inverse partial perm semigroup of rank 10 with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">T := IdempotentGeneratedSubsemigroup(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := MunnSemigroup(T);</span>
<inverse partial perm semigroup of rank 60 with 7 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">NrIdempotents(M);</span>
60
<span class="GAPprompt">gap></span> <span class="GAPinput">NrIdempotents(S);</span>
60</pre></div>
<p><a id="X82D9619B7845CAEB" name="X82D9619B7845CAEB"></a></p>
<h5>7.2-2 RookMonoid</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RookMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: An inverse monoid of partial permutations.</p>
<p><code class="code">RookMonoid</code> is a synonym for <code class="func">SymmetricInverseMonoid</code> (<a href="../../../doc/ref/chap54_mj.html#X81D271B380995F8A"><span class="RefLink">Reference: SymmetricInverseMonoid</span></a>).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := RookMonoid(4);</span>
<symmetric inverse monoid of degree 4>
<span class="GAPprompt">gap></span> <span class="GAPinput">S = SymmetricInverseMonoid(4);</span>
true</pre></div>
<p><a id="X85D841AE83DF101C" name="X85D841AE83DF101C"></a></p>
<h5>7.2-3 <span class="Heading">Inverse monoids of order-preserving partial permutations</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ POI</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PODI</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ POPI</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PORI</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: An inverse monoid of partial permutations related to a linear order.</p>
<dl>
<dt><strong class="Mark"><code class="code">POI(<var class="Arg">n</var>)</code></strong></dt>
<dd><p><code class="code">POI(<var class="Arg">n</var>)</code> returns the inverse monoid of partial permutations that preserve the usual order on <span class="SimpleMath">{1, 2, ..., n}</span>, where <var class="Arg">n</var> is a positive integer. <code class="code">POI(<var class="Arg">n</var>)</code> is generated by the <span class="SimpleMath"><var class="Arg">n</var></span> partial permutations:</p>
<p class="pcenter">
\left(
\begin{array}{ccccc}
1&2&3&\cdots&n\\
-&1&2&\cdots&n-1
\end{array}\right), \qquad
\left(
\begin{array}{ccccccccc}
1&2&\cdots&i-1& i& i+1&i+2&\cdots
&n\\
1&2&\cdots&i-1& i+1&-&i+2&\cdots&n\\
\end{array}\right)
</p>
<p>where <span class="SimpleMath">i = 1, ..., n - 1</span>, and has <span class="SimpleMath">2nchoose n</span> elements.</p>
</dd>
<dt><strong class="Mark"><code class="code">PODI(<var class="Arg">n</var>)</code></strong></dt>
<dd><p><code class="code">PODI(<var class="Arg">n</var>)</code> returns the inverse monoid of partial permutations that preserve or reverse the usual order on <span class="SimpleMath">{1, 2, ..., n}</span>, where <var class="Arg">n</var> is a positive integer. <code class="code">PODI(<var class="Arg">n</var>)</code> is generated by the generators of <code class="code">POI(<var class="Arg">n</var>)</code>, along with the permutation that reverses the usual order on <span class="SimpleMath">{1, 2, ..., n}</span>. <code class="code">PODI(<var class="Arg">n</var>)</code> has <span class="SimpleMath">2nchoose n - n^2 - 1</span> elements.</p>
</dd>
<dt><strong class="Mark"><code class="code">POPI(<var class="Arg">n</var>)</code></strong></dt>
<dd><p><code class="code">POPI(<var class="Arg">n</var>)</code> returns the inverse monoid of partial permutations that preserve the orientation of <span class="SimpleMath">{1,2,..., n}</span>, where <span class="SimpleMath">n</span> is a positive integer. <code class="code">POPI(<var class="Arg">n</var>)</code> is generated by the partial permutations:</p>
<p class="pcenter">
\left(
\begin{array}{ccccc}
1&2&\cdots&n-1&n\\
2&3&\cdots&n&1
\end{array}\right),\qquad
\left(
\begin{array}{cccccc}
1&2&\cdots&n-2&n-1&n\\
1&2&\cdots&n-2&n&-
\end{array}\right),
</p>
<p>and has <span class="SimpleMath">1+fracn22nchoose n</span> elements.</p>
</dd>
<dt><strong class="Mark"><code class="code">PORI(<var class="Arg">n</var>)</code></strong></dt>
<dd><p><code class="code">PORI(<var class="Arg">n</var>)</code> returns the inverse monoid of partial permutations that preserve or reverse the orientation of <span class="SimpleMath">{1, 2, ..., n}</span>, where <span class="SimpleMath">n</span> is a positive integer. <code class="code">PORI(<var class="Arg">n</var>)</code> is generated by the generators of <code class="code">POPI(<var class="Arg">n</var>)</code>, along with the permutation that reverses the usual order on <span class="SimpleMath">{1, 2, ..., n}</span>. <code class="code">PORI(<var class="Arg">n</var>)</code> has <span class="SimpleMath">fracn22nchoose n - n(n + 1)</span> elements.</p>
</dd>
</dl>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := PORI(10);</span>
<inverse partial perm monoid of rank 10 with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := POPI(10);</span>
<inverse partial perm monoid of rank 10 with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S) = 1 + 5 * Binomial(20, 10);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">S := PODI(10);</span>
<inverse partial perm monoid of rank 10 with 11 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := POI(10);</span>
<inverse partial perm monoid of rank 10 with 10 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S) = Binomial(20, 10);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubsemigroup(PORI(10), PODI(10))</span>
<span class="GAPprompt">></span> <span class="GAPinput">and IsSubsemigroup(PORI(10), POPI(10))</span>
<span class="GAPprompt">></span> <span class="GAPinput">and IsSubsemigroup(PODI(10), POI(10))</span>
<span class="GAPprompt">></span> <span class="GAPinput">and IsSubsemigroup(POPI(10), POI(10));</span>
true</pre></div>
<p><a id="X876C963F830719E2" name="X876C963F830719E2"></a></p>
<h4>7.3 <span class="Heading">
Semigroups of bipartitions
</span></h4>
<p>In this section, we describe the operations in <strong class="pkg">Semigroups</strong> that can be used to create bipartition semigroups belonging to several standard classes of example. See Chapter <a href="chap3.html#X7C18DB427C9C0917"><span class="RefLink">3</span></a> for more information about bipartitions.</p>
<p><a id="X7E4B61FF7CCFD74A" name="X7E4B61FF7CCFD74A"></a></p>
<h5>7.3-1 PartitionMonoid</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PartitionMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RookPartitionMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SingularPartitionMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A bipartition monoid.</p>
<p>If <var class="Arg">n</var> is a non-negative integer, then this operation returns the partition monoid of degree <var class="Arg">n</var>. The <em>partition monoid of degree <var class="Arg">n</var></em> is the monoid consisting of all the bipartitions of degree <var class="Arg">n</var>.</p>
<p><code class="code">SingularPartitionMonoid</code> returns the ideal of the partition monoid consisting of the non-invertible elements (i.e. those not in the group of units), when <var class="Arg">n</var> is positive.</p>
<p>If <var class="Arg">n</var> is positive, then <code class="code">RookPartitionMonoid</code> returns submonoid of the partition monoid of degree <code class="code"><var class="Arg">n</var> + 1</code> consisting of those bipartitions with <code class="code"><var class="Arg">n</var> + 1</code> and <code class="code">-<var class="Arg">n</var> - 1</code> in the same block; see <a href="chapBib.html#biBHalverson2005PartitionAlgebras">[HR05]</a>, <a href="chapBib.html#biBGrood2006aa">[Gro06]</a>, and <a href="chapBib.html#biBEast2019aa">[Eas19]</a>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := PartitionMonoid(4);</span>
<regular bipartition *-monoid of size 4140, degree 4 with 4
generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
4140
<span class="GAPprompt">gap></span> <span class="GAPinput">T := SingularPartitionMonoid(4);</span>
<regular bipartition *-semigroup ideal of degree 4 with 1 generator>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S) - Size(T) = Factorial(4);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">S := RookPartitionMonoid(4);</span>
<regular bipartition *-monoid of degree 5 with 5 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
21147</pre></div>
<p><a id="X79D33B2E7BA3073A" name="X79D33B2E7BA3073A"></a></p>
<h5>7.3-2 BrauerMonoid</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ BrauerMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PartialBrauerMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SingularBrauerMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A bipartition monoid.</p>
<p>If <var class="Arg">n</var> is a non-negative integer, then this operation returns the Brauer monoid of degree <var class="Arg">n</var>. The <em>Brauer monoid</em> is the submonoid of the partition monoid consisting of those bipartitions where the size of every block is 2.</p>
<p><code class="code">PartialBrauerMonoid</code> returns the partial Brauer monoid, which is the submonoid of the partition monoid consisting of those bipartitions where the size of every block is <em>at most</em> 2. The partial Brauer monoid contains the Brauer monoid as a submonoid.</p>
<p><code class="code">SingularBrauerMonoid</code> returns the ideal of the Brauer monoid consisting of the non-invertible elements (i.e. those not in the group of units), when <var class="Arg">n</var> is at least 2.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := BrauerMonoid(4);</span>
<regular bipartition *-monoid of degree 4 with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubsemigroup(S, JonesMonoid(4));</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
105
<span class="GAPprompt">gap></span> <span class="GAPinput">SingularBrauerMonoid(8);</span>
<regular bipartition *-semigroup ideal of degree 8 with 1 generator>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := PartialBrauerMonoid(3);</span>
<regular bipartition *-monoid of degree 3 with 8 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubsemigroup(S, BrauerMonoid(3));</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
76</pre></div>
<p><a id="X8378FC8B840B9706" name="X8378FC8B840B9706"></a></p>
<h5>7.3-3 JonesMonoid</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ JonesMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TemperleyLiebMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SingularJonesMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A bipartition monoid.</p>
<p>If <var class="Arg">n</var> is a non-negative integer, then this operation returns the Jones monoid of degree <var class="Arg">n</var>. The <em>Jones monoid</em> is the subsemigroup of the Brauer monoid consisting of those bipartitions that are planar; see <code class="func">PlanarPartitionMonoid</code> (<a href="chap7.html#X8444092A7967A029"><span class="RefLink">7.3-9</span></a>). The Jones monoid is sometimes referred to as the <strong class="button">Temperley-Lieb monoid</strong>.</p>
<p><code class="code">SingularJonesMonoid</code> returns the ideal of the Jones monoid consisting of the non-invertible elements (i.e. those not in the group of units), when <var class="Arg">n</var> is at least 2.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := JonesMonoid(4);</span>
<regular bipartition *-monoid of degree 4 with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">S = TemperleyLiebMonoid(4);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">SingularJonesMonoid(8);</span>
<regular bipartition *-semigroup ideal of degree 8 with 1 generator></pre></div>
<p><a id="X8458B0F7874484CE" name="X8458B0F7874484CE"></a></p>
<h5>7.3-4 PartialJonesMonoid</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PartialJonesMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A bipartition monoid.</p>
<p>If <var class="Arg">n</var> is a non-negative integer, then <code class="code">PartialJonesMonoid</code> returns the partial Jones monoid of degree <var class="Arg">n</var>. The <em>partial Jones monoid</em> is a subsemigroup of the partial Brauer monoid. An element of the partial Brauer monoid is contained in the partial Jones monoid if the partition that it defines is finer than the partition defined by some element of the Jones monoid. In other words, an element of the partial Jones monoid can be formed from some element <code class="code">x</code> of the Jones monoid by replacing some blocks <code class="code">[a, b]</code> of <code class="code">x</code> by singleton blocks <code class="code">[a], [b]</code>.</p>
<p>Note that, in general, the partial Jones monoid of degree <var class="Arg">n</var> is strictly contained in the Motzkin monoid of the same degree.</p>
<p>See <code class="func">PartialBrauerMonoid</code> (<a href="chap7.html#X79D33B2E7BA3073A"><span class="RefLink">7.3-2</span></a>), <code class="func">JonesMonoid</code> (<a href="chap7.html#X8378FC8B840B9706"><span class="RefLink">7.3-3</span></a>), and <code class="func">MotzkinMonoid</code> (<a href="chap7.html#X8375152F7AB52B7B"><span class="RefLink">7.3-6</span></a>).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := PartialJonesMonoid(4);</span>
<regular bipartition *-monoid of degree 4 with 7 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">T := JonesMonoid(4);</span>
<regular bipartition *-monoid of degree 4 with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">U := MotzkinMonoid(4);</span>
<regular bipartition *-monoid of degree 4 with 8 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubsemigroup(U, S);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubsemigroup(S, T);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(U);</span>
323
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
143
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(T);</span>
14</pre></div>
<p><a id="X7DB8CB067CBE1254" name="X7DB8CB067CBE1254"></a></p>
<h5>7.3-5 AnnularJonesMonoid</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AnnularJonesMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A bipartition monoid.</p>
<p>If <var class="Arg">n</var> is a non-negative integer, then <code class="code">AnnularJonesMonoid</code> returns the annular Jones monoid of degree <var class="Arg">n</var>. The <em>annular Jones monoid</em> is the subsemigroup of the partition monoid consisting of all annular bipartitions whose blocks have size 2 (annular bipartitions are defined in Chapter <a href="chap3.html#X7C18DB427C9C0917"><span class="RefLink">3</span></a>). See <code class="func">BrauerMonoid</code> (<a href="chap7.html#X79D33B2E7BA3073A"><span class="RefLink">7.3-2</span></a>).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := AnnularJonesMonoid(4);</span>
<regular bipartition *-monoid of degree 4 with 2 generators></pre></div>
<p><a id="X8375152F7AB52B7B" name="X8375152F7AB52B7B"></a></p>
<h5>7.3-6 MotzkinMonoid</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MotzkinMonoid</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A bipartition monoid.</p>
<p>If <var class="Arg">n</var> is a non-negative integer, then this operation returns the Motzkin monoid of degree <var class="Arg">n</var>. The <em>Motzkin monoid</em> is the subsemigroup of the partial Brauer monoid consisting of those bipartitions that are planar (planar bipartitions are defined in Chapter <a href="chap3.html#X7C18DB427C9C0917"><span class="RefLink">3</span></a>).</p>
<p>Note that the Motzkin monoid of degree <var class="Arg">n</var> contains the partial Jones monoid of degree <var class="Arg">n</var>, but in general, these monoids are not equal; see <code class="func">PartialJonesMonoid</code> (<a href="chap7.html#X8458B0F7874484CE"><span class="RefLink">7.3-4</span></a>).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := MotzkinMonoid(4);</span>
<regular bipartition *-monoid of degree 4 with 8 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">T := PartialJonesMonoid(4);</span>
<regular bipartition *-monoid of degree 4 with 7 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubsemigroup(S, T);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
323
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(T);</span>
143</pre></div>
<p><a id="X83C7587C81B985BA" name="X83C7587C81B985BA"></a></p>
<h5>7.3-7 DualSymmetricInverseSemigroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DualSymmetricInverseSemigroup</code>( <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DualSymmetricInverseMonoid</ | | |