<p>In this chapter we describe the functionality in <strong class="pkg">Semigroups</strong> for working with translations of semigroups. The notation used (as well as a number of results) is based on <a href="chapBib_mj.html#biBPetrich1970aa">[Pet70]</a>. Translations are of interest mainly due to their role in ideal extensions. A description of this role can also be found in <a href="chapBib_mj.html#biBPetrich1970aa">[Pet70]</a>. The implementation of translations in this package is only applicable to finite semigroups satisfying <code class="func">CanUseFroidurePin</code> (<a href="chap6_mj.html#X7FEE8CFA87E7B872"><span class="RefLink">6.1-4</span></a>).</p>
<p>For a semigroup <span class="SimpleMath">\(S\)</span>, a transformation <span class="SimpleMath">\(\lambda\)</span> of <span class="SimpleMath">\(S\)</span> (written on the left) is a left translation if for all <span class="SimpleMath">\(s, t\)</span> in <span class="SimpleMath">\(S\)</span>, <span class="SimpleMath">\(\lambda (s)t = \lambda (st) \)</span>. A right translation <spanclass="SimpleMath">\(\rho\)</span> (written on the right) is defined dually.</p>
<p>The set <span class="SimpleMath">\(L\)</span> of left translations of <span class="SimpleMath">\(S\)</span> is a semigroup under composition of functions, as is the set <span class="SimpleMath">\(R\)</span> of right translations. The associativity of <span class="SimpleMath">\(S\)</span> guarantees that left [right] multiplication by any element <span class="SimpleMath">\(s\)</span> of <span class="SimpleMath">\(S\)</span> represents a left [right] translation; this is the <em>inner</em> left [right] translation <span class="SimpleMath">\(\lambda_s\)</span> [<span class="SimpleMath">\(\rho_s\)</span>]. The inner left [right] translations form an ideal in <span class="SimpleMath">\(L\)</span> [<span class="SimpleMath">\(R\)</span>].</p>
<p>A left translation <span class="SimpleMath">\(\lambda\)</span> and right translation <span class="SimpleMath">\(\rho\)</span> are <em>linked</em> if for all <code class="code">s, t</code> in <spanclass="SimpleMath">\(S\)</span>, <span class="SimpleMath">\(s\lambda(t) = (s)\rho t\)</span>. A pair of linked translations is called a <em>bitranslation</em>. The set of all bitranslations forms a semigroup <span class="SimpleMath">\(H\)</span> called the <em>translational hull</em> of <spanclass="SimpleMath">\(S\)</span> where the operation is componentwise. If the components are inner translations corresponding to multiplication by the same element, then the bitranslation is <em>inner</em>. The inner bitranslations form an ideal of the translational hull.</p>
<p>Translations of a normalized Rees matrix semigroup <span class="SimpleMath">\(T\)</span> (see <code class="func">RMSNormalization</code> (<a href="chap6_mj.html#X80DE617E841E5BA0"><span class="RefLink">6.5-7</span></a>)) over a group <span class="SimpleMath">\(G\)</span> can be represented through certain tuples, which can be computed very efficiently compared to arbitrary translations. For left translations these tuples consist of a function from the row indices of <span class="SimpleMath">\(T\)</span> to G and a transformation on the row indices of <span class="SimpleMath">\(T\)</span>; the same is true of right translations and columns. More specifically, given a normalised Rees matrix semigroup <span class="SimpleMath">\(S\)</span> over a group <span class="SimpleMath">\(G\)</span> with sandwich matrix <span class="SimpleMath">\(P\)</span>, rows <span class="SimpleMath">\(I\)</span> and columns <span class="SimpleMath">\(J\)</span>, the left translations are characterised by pairs <span class="SimpleMath">\((\theta, \chi)\)</span> where <span class="SimpleMath">\(\theta\)</span> is a function from <span class="SimpleMath">\(I\)</span> to <span class="SimpleMath">\(G\)</span> and <span class="SimpleMath">\(\chi\)</span> is a transformation of <span class="SimpleMath">\(I\)</span>. The left translation <span class="SimpleMath">\(\lambda\)</span> defined by <span class="SimpleMath">\((\theta, \chi)\)</span> acts on <span class="SimpleMath">\(S\)</span> via</p>
<p class="center">\[
\lambda((i, a, \mu)) = ((i)\chi, (i)\theta \cdot a, \mu),
\]</p>
<p>where <span class="SimpleMath">\(i \in I\)</span>, <span class="SimpleMath">\(a \in G\)</span>, and <span class="SimpleMath">\(\mu \in J\)</span> Dually, right translations <span class="SimpleMath">\(\rho\)</span> are characterised by pairs <span class="SimpleMath">\((\omega, \psi)\)</span> where <span class="SimpleMath">\(\omega\)</span> is a function from <span class="SimpleMath">\(J\)</span> to <span class="SimpleMath">\(G\)</span> and <span class="SimpleMath">\(\psi\)</span> is a transformation of <span class="SimpleMath">\(J\)</span>, with action given by</p>
<p class="center">\[
((i, a, \mu))\rho = (i, a \cdot (\mu)\psi, (\mu)\psi).
\]</p>
<p>Similarly, bitranslations <span class="SimpleMath">\((\lambda, \rho)\)</span> of <span class="SimpleMath">\(S\)</span> can be characterised by triples <span class="SimpleMath">\((g, \chi, \psi)\)</span> such that <span class="SimpleMath">\(g \in G\)</span>, <span class="SimpleMath">\(\chi\)</span> and <span class="SimpleMath">\(\psi\)</span> are transformations of <span class="SimpleMath">\(I, J\)</span> respectively, and</p>
<p class="center">\[
p_{\mu, (i)\chi} \cdot g \cdot p_{(1)\psi, i} =
p_{\mu, (1)\chi} \cdot g \cdot p_{(mu)\psi, i}.
\]</p>
<p>The action of <span class="SimpleMath">\(\lambda\)</span> on <span class="SimpleMath">\(S\)</span> is then given by</p>
<p class="center">\[
\lambda((i, a, \mu)) = ((i)\chi, b \cdot p_{(1)\psi, i} \cdot a, \mu),
\]</p>
<p>and of <span class="SimpleMath">\(\rho\)</span> on <span class="SimpleMath">\(S\)</span> by</p>
<p class="center">\[
((i, a, \mu))\rho = (i, a \cdot p_{\mu, (1)\chi} \cdot b, (\mu)\psi).
\]</p>
<p>Further details may be found in <a href="chapBib_mj.html#biBClifford1977aa">[CP77]</a>.</p>
<p>All, and only, left [right] translations belong to <code class="code">IsLeftTranslation</code> [<code class="code">IsRightTranslation</code>]. These are both subcategories of <code class="code">IsSemigroupTranslation</code>, which itself is a subcategory of <code class="code">IsAssociativeElement</code>.</p>
<p>All, and only, bitranslations belong to <code class="code">IsBitranslation</code>. This is a subcategory of <code class="func">IsAssociativeElement</code> (<a href="../../../doc/ref/chap31_mj.html#X7979AFAA80FF795A"><span class="RefLink">Reference: IsAssociativeElement</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LeftPartOfBitranslation</code>( <var class="Arg">h</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RightPartOfBitranslation</code>( <var class="Arg">arg</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a left or right translation</p>
<p>For a Bitranslation <var class="Arg">h</var> consisting of a linked pair <span class="SimpleMath">\((l, r)\)</span>, of left and right translations, <code class="code">LeftPartOfBitranslation(<var class="Arg">b</var>)</code> returns the left translation <code class="code">l</code>, and <code class="code">RightPartOfBitranslation(<var class="Arg">b</var>)</code> returns the right translation <code class="code">r</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LeftTranslation</code>( <var class="Arg">T</var>, <var class="Arg">x</var>[, <var class="Arg">y</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">‣ RightTranslation</code>( <var class="Arg">arg1</var>, <var class="Arg">arg2</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a left or right translation</p>
<p>For the semigroup <var class="Arg">T</var> of left or right translations of a semigroup <span class="SimpleMath">\( S\)</span> and <var class="Arg">x</var> one of:</p>
<ul>
<li><p>a mapping on the underlying semigroup; note that in this case only the values of the mapping on the <code class="code">UnderlyingRepresentatives</code> of <var class="Arg">T</var> are checked and used, so mappings which do not define translations can be used to create translations if they are valid on that subset of S;</p>
</li>
<li><p>a list of indices representing the images of the <code class="code">UnderlyingRepresentatives</code> of <var class="Arg">T</var>, where the ordering is that of <code class="func">PositionCanonical</code> (<a href="chap11_mj.html#X7B4B10AE81602D4E"><span class="RefLink">11.1-2</span></a>) on <var class="Arg">S</var>;</p>
</li>
<li><p>(for <code class="code">LeftTranslation</code>) a list of length <code class="code">Length(Rows(S))</code> containing elements of <code class="code">UnderlyingSemigroup(S)</code>; in this case <var class="Arg">S</var> must be a normalised Rees matrix semigroup and <code class="code">y</code> must be a Transformation of <code class="code">Rows(S)</code>;</p>
</li>
<li><p>(for <code class="code">RightTranslation</code>) a list of length <code class="code">Length(Columns(S))</code> containing elements of <code class="code">UnderlyingSemigroup(S)</code>; in this case <var class="Arg">S</var> must be a normalised Rees matrix semigroup and <code class="code">y</code> must be a Transformation of <code class="code">Columns(S)</code>;</p>
</li>
</ul>
<p><code class="code">LeftTranslation</code> and <code class="code">RightTranslation</code> return the corresponding translations.</p>
<p>If <var class="Arg">H</var> is a translational hull over a semigroup <span class="SimpleMath">\(S\)</span>, and <var class="Arg">l</var> and <var class="Arg">r</var> are linked left and right translations respectively over <span class="SimpleMath">\(S\)</span>, then this function returns the bitranslation <span class="SimpleMath">\((\textit{l}, \textit{r})\)</span>. If <var class="Arg">l</var> and <var class="Arg">r</var> are not linked, then an error is produced.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LeftTranslationsSemigroupOfFamily</code>( <var class="Arg">fam</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">‣ RightTranslationsSemigroupOfFamily</code>( <var class="Arg">arg</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">‣ TranslationalHullOfFamily</code>( <var class="Arg">arg</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: the semigroup of left or right translations, or the translational hull</p>
<p>Given a family <var class="Arg">fam</var> of left-, right- or bi-translations, returns the translations semigroup or translational hull to which they belong.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LeftTranslations</code>( <var class="Arg">S</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">‣ RightTranslations</code>( <var class="Arg">arg</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: the semigroup of left or right translations</p>
<p>Given a finite semigroup <var class="Arg">S</var> satisfying <code class="func">CanUseFroidurePin</code> (<a href="chap6_mj.html#X7FEE8CFA87E7B872"><span class="RefLink">6.1-4</span></a>), returns the semigroup of all left or right translations of <var class="Arg">S</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := Semigroup([Transformation([1, 4, 3, 3, 6, 5]),</span>
<span class="GAPprompt">></span> <span class="GAPinput">Transformation([3, 4, 1, 1, 4, 2])]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L := LeftTranslations(S);</span>
<the semigroup of left translations of <transformation semigroup of
degree 6 with 2 generators>>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(L);</span>
361
</pre></div>
<p>Given a finite semigroup <var class="Arg">S</var> satisfying <code class="func">CanUseFroidurePin</code> (<a href="chap6_mj.html#X7FEE8CFA87E7B872"><span class="RefLink">6.1-4</span></a>), returns the number of left-, right-, or bi-translations of <var class="Arg">S</var>. This is typically more efficient than calling <code class="code">Size(LeftTranslations(<var class="Arg">S</var>))</code>, as the [bi]translations may not be produced.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ InnerLeftTranslations</code>( <var class="Arg">S</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">‣ InnerRightTranslations</code>( <var class="Arg">arg</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: the monoid of inner left or right translations</p>
<p>For a finite semigroup <var class="Arg">S</var> satisfying <code class="func">CanUseFroidurePin</code> (<a href="chap6_mj.html#X7FEE8CFA87E7B872"><span class="RefLink">6.1-4</span></a>), <code class="code">InnerLeftTranslations</code>(<var class="Arg">S</var>) returns the inner left translations of S (i.e. the translations defined by left multiplication by a fixed element of <var class="Arg">S</var>), and <code class="code">InnerRightTranslations</code>(<var class="Arg">S</var>) returns the inner right translations of <var class="Arg">S</var> (i.e. the translations defined by right multiplication by a fixed element of <var class="Arg">S</var>).</p>
<p>Given a finite semigroup <var class="Arg">S</var> satisfying <code class="func">CanUseFroidurePin</code> (<a href="chap6_mj.html#X7FEE8CFA87E7B872"><span class="RefLink">6.1-4</span></a>), returns the inner translational hull of <var class="Arg">S</var>, i.e. the bitranslations whose left and right translation components are inner translations defined by left and right multiplication by the same fixed element of <var class="Arg">S</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UnderlyingRepresentatives</code>( <var class="Arg">T</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a set of representatives</p>
<p>For efficiency, we typically store translations on a semigroup <span class="SimpleMath">\(S\)</span> as their actions on a small subset of <span class="SimpleMath">\(S\)</span>. For left translations, this is a set of representatives of the maximal \(\mathscr{R}\)-classes of <span class="SimpleMath">\(S\)</span>; dually for right translations we use representatives of the maximal \(\mathscr{L}\)-classes. You can use <code class="code">UnderlyingRepresentatives</code> to access these representatives.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ImageSetOfTranslation</code>( <var class="Arg">t</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a set of elements</p>
<p>Given a left or right translation <var class="Arg">t</var> on a semigroup <span class="SimpleMath">\(S\)</span>, returns the set of elements of <span class="SimpleMath">\(S\)</span> lying in the image of <var class="Arg">t</var>.</p>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.