<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.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.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.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">λ</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">λ (s)t = λ (st)</span>. A right translation <span class="SimpleMath">ρ</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">λ_s</span> [<span class="SimpleMath">ρ_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">λ</span> and right translation <span class="SimpleMath">ρ</span> are <em>linked</em> if for all <code class="code">s, t</code> in <span class="SimpleMath">S</span>, <span class="SimpleMath">sλ(t) = (s)ρ 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 <span class="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.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">(θ, χ)</span> where <span class="SimpleMath">θ</span> is a function from <span class="SimpleMath">I</span> to <span class="SimpleMath">G</span> and <span class="SimpleMath">χ</span> is a transformation of <span class="SimpleMath">I</span>. The left translation <span class="SimpleMath">λ</span> defined by <span class="SimpleMath">(θ, χ)</span> acts on <span class="SimpleMath">S</span> via</p>
<p class="pcenter">λ((i, a, μ)) = ((i)χ, (i)θ ⋅ a, μ),</p>
<p>where <span class="SimpleMath">i ∈ I</span>, <span class="SimpleMath">a ∈ G</span>, and <span class="SimpleMath">μ ∈ J</span> Dually, right translations <span class="SimpleMath">ρ</span> are characterised by pairs <span class="SimpleMath">(ω, ψ)</span> where <span class="SimpleMath">ω</span> is a function from <span class="SimpleMath">J</span> to <span class="SimpleMath">G</span> and <span class="SimpleMath">ψ</span> is a transformation of <span class="SimpleMath">J</span>, with action given by</p>
<p class="pcenter">((i, a, μ))ρ = (i, a ⋅ (μ)ψ, (μ)ψ).</p>
<p>Similarly, bitranslations <span class="SimpleMath">(λ, ρ)</span> of <span class="SimpleMath">S</span> can be characterised by triples <span class="SimpleMath">(g, χ, ψ)</span> such that <span class="SimpleMath">g ∈ G</span>, <span class="SimpleMath">χ</span> and <span class="SimpleMath">ψ</span> are transformations of <span class="SimpleMath">I, J</span> respectively, and</p>
<p class="pcenter">p_μ, (i)χ ⋅ g ⋅ p_(1)ψ, i = p_μ, (1)χ ⋅ g ⋅ p_(mu)ψ, i.</p>
<p>The action of <span class="SimpleMath">λ</span> on <span class="SimpleMath">S</span> is then given by</p>
<p class="pcenter">λ((i, a, μ)) = ((i)χ, b ⋅ p_(1)ψ, i ⋅ a, μ),</p>
<p>and of <span class="SimpleMath">ρ</span> on <span class="SimpleMath">S</span> by</p>
<p class="pcenter">((i, a, μ))ρ = (i, a ⋅ p_μ, (1)χ ⋅ b, (μ)ψ).</p>
<p>Further details may be found in <a href="chapBib.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.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">(<var class="Arg">l</var>, <var class="Arg">r</var>)</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.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.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.html#X7FEE8CFA87E7B872"><span class="RefLink">6.1-4</span></a>), <codeclass="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.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 <em>R</em>-classes of <span class="SimpleMath">S</span>; dually for right translations we use representatives of the maximal <em>L</em>-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.