Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/semigroups/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 29.7.2025 mit Größe 37 kB image not shown  

Quelle  chap18.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/semigroups/doc/chap18.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 18: Translations</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="chap18"  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="chap17.html">[Previous Chapter]</a>    <a href="chapBib.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap18_mj.html">[MathJax on]</a></p>
<p><a id="X7EC01B437CC2B2C9" name="X7EC01B437CC2B2C9"></a></p>
<div class="ChapSects"><a href="chap18.html#X7EC01B437CC2B2C9">18 <span class="Heading">Translations</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap18.html#X864C64877E5714AC">18.1 <span class="Heading">Methods for translations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X849F15607B774B90">18.1-1 <span class="Heading">IsXTranslation</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X7F6689E885982816">18.1-2 IsBitranslation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X7F536B1B85978B63">18.1-3 <span class="Heading">IsXTranslationCollection</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X7D52D17E7A28CE0E">18.1-4 <span class="Heading">XPartOfBitranslation</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X7ACCBAB57E910910">18.1-5 <span class="Heading">XTranslation</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X8664424983C3281F">18.1-6 Bitranslation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X7B5BB0BA8683A021">18.1-7 <span class="Heading">UnderlyingSemigroup</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X857C28C8790A35F6">18.1-8 <span class="Heading">XTranslationsSemigroupOfFamily</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X7AA681A283A22C28">18.1-9 <span class="Heading">TypeXTranslationSemigroupElements</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X7D5CC8A48371410D">18.1-10 <span class="Heading">XTranslations</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X8231194386449BD4">18.1-11 TranslationalHull</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X7C826FBA78739FA4">18.1-12 <span class="Heading">NrXTranslations</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X7E9306DF79587A33">18.1-13 <span class="Heading">InnerXTranslations</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X7C109DF080E72F68">18.1-14 InnerTranslationalHull</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X87E30C387BE79FB8">18.1-15 UnderlyingRepresentatives</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap18.html#X7E81252986BB72BB">18.1-16 ImageSetOfTranslation</a></span>
</div></div>
</div>

<h3>18 <span class="Heading">Translations</span></h3>

<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</spanof 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</spanwith 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><a id="X864C64877E5714AC" name="X864C64877E5714AC"></a></p>

<h4>18.1 <span class="Heading">Methods for translations</span></h4>

<p><a id="X849F15607B774B90" name="X849F15607B774B90"></a></p>

<h5>18.1-1 <span class="Heading">IsXTranslation</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSemigroupTranslation</code>( <var class="Arg">arg</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftTranslation</code>( <var class="Arg">arg</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightTranslation</code>( <var class="Arg">arg</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code></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>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := RectangularBand(3, 4);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">l := Representative(LeftTranslations(S));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSemigroupTranslation(l);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsLeftTranslation(l);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsRightTranslation(l);</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">l = One(LeftTranslations(S));</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">l * l = l;</span>
true
</pre></div>

<p><a id="X7F6689E885982816" name="X7F6689E885982816"></a></p>

<h5>18.1-2 IsBitranslation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsBitranslation</code>( <var class="Arg">arg</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</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="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group((1, 2), (3, 4));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">A := AsList(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := [[A[1], 0, A[1]],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[A[2], A[2], A[4]]];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := ReesZeroMatrixSemigroup(G, mat);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L := LeftTranslations(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R := RightTranslations(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">l := OneOp(Representative(L));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">r := OneOp(Representative(R));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">H := TranslationalHull(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">x := Bitranslation(H, l, r);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsBitranslation(x);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSemigroupTranslation(x);</span>
false
</pre></div>

<p><a id="X7F536B1B85978B63" name="X7F536B1B85978B63"></a></p>

<h5>18.1-3 <span class="Heading">IsXTranslationCollection</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSemigroupTranslationCollection</code>( <var class="Arg">obj</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftTranslationCollection</code>( <var class="Arg">obj</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightTranslationCollection</code>( <var class="Arg">obj</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsBitranslationCollection</code>( <var class="Arg">obj</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code></p>

<p>Every collection of left-, right-, or bi-translations belongs to the respective category <code class="func">IsXTranslationCollection</code>.</p>

<p><a id="X7D52D17E7A28CE0E" name="X7D52D17E7A28CE0E"></a></p>

<h5>18.1-4 <span class="Heading">XPartOfBitranslation</span></h5>

<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>

<p><a id="X7ACCBAB57E910910" name="X7ACCBAB57E910910"></a></p>

<h5>18.1-5 <span class="Heading">XTranslation</span></h5>

<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>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := RectangularBand(3, 4);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L := LeftTranslations(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">s := AsList(S)[1];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">map := MappingByFunction(S, S, x -> s * x);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">l := LeftTranslation(L, map);</span>
<left translation on <regular transformation semigroup of size 12, 
 degree 8 with 4 generators>>
<span class="GAPprompt">gap></span> <span class="GAPinput">s ^ l;</span>
Transformation( [ 1, 2, 1, 1, 5, 5, 5, 5 ] )
</pre></div>

<p><a id="X8664424983C3281F" name="X8664424983C3281F"></a></p>

<h5>18.1-6 Bitranslation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Bitranslation</code>( <var class="Arg">H</var>, <var class="Arg">l</var>, <var class="Arg">r</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a bitranslation</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="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group((1, 2), (3, 4));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">A := AsList(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := [[A[1], 0],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[A[2], A[2]]];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := ReesZeroMatrixSemigroup(G, mat);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L := LeftTranslations(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R := RightTranslations(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">l := LeftTranslation(L, MappingByFunction(S, S, s -> S.1 * s));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">r := RightTranslation(R, MappingByFunction(S, S, s -> s * S.1));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">H := TranslationalHull(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">x := Bitranslation(H, l, r);</span>
<bitranslation on <regular semigroup of size 17, with 4 generators>>
</pre></div>

<p><a id="X7B5BB0BA8683A021" name="X7B5BB0BA8683A021"></a></p>

<h5>18.1-7 <span class="Heading">UnderlyingSemigroup</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UnderlyingSemigroup</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">‣ UnderlyingSemigroup</code>( <var class="Arg">arg</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a semigroup</p>

<p>Given a semigroup of translations or bitranslations, returns the semigroup on which these translations act.</p>

<p><a id="X857C28C8790A35F6" name="X857C28C8790A35F6"></a></p>

<h5>18.1-8 <span class="Heading">XTranslationsSemigroupOfFamily</span></h5>

<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="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := RectangularBand(3, 3);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L := LeftTranslations(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">l := Representative(L);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">LeftTranslationsSemigroupOfFamily(FamilyObj(l)) = L;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">H := TranslationalHull(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">h := Representative(H);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">TranslationalHullOfFamily(FamilyObj(h)) = H;</span>
true
</pre></div>

<p><a id="X7AA681A283A22C28" name="X7AA681A283A22C28"></a></p>

<h5>18.1-9 <span class="Heading">TypeXTranslationSemigroupElements</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TypeLeftTranslationsSemigroupElements</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">‣ TypeRightTranslationsSemigroupElements</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">‣ TypeBitranslations</code>( <var class="Arg">arg</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a type</p>

<p>Given a (bi)translations semigroup, returns the type of the elements that it contains.</p>

<p><a id="X7D5CC8A48371410D" name="X7D5CC8A48371410D"></a></p>

<h5>18.1-10 <span class="Heading">XTranslations</span></h5>

<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><a id="X8231194386449BD4" name="X8231194386449BD4"></a></p>

<h5>18.1-11 TranslationalHull</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TranslationalHull</code>( <var class="Arg">S</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: the translational hull</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 translational hull 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">H := TranslationalHull(S);</span>
<translational hull over <transformation semigroup of degree 6 with 2 
 generators>>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(H);</span>
38
</pre></div>

<p><a id="X7C826FBA78739FA4" name="X7C826FBA78739FA4"></a></p>

<h5>18.1-12 <span class="Heading">NrXTranslations</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NrLeftTranslations</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">‣ NrRightTranslations</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">‣ NrBitranslations</code>( <var class="Arg">arg</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: the number of left-, right-, or bi-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 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="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := Semigroup([Transformation([1, 4, 3, 3, 6, 5, 2]),</span>
<span class="GAPprompt">></span> <span class="GAPinput">Transformation([3, 4, 1, 1, 4, 2])]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">NrLeftTranslations(S);</span>
1444
<span class="GAPprompt">gap></span> <span class="GAPinput">NrRightTranslations(S);</span>
398
<span class="GAPprompt">gap></span> <span class="GAPinput">NrBitranslations(S);</span>
69
</pre></div>

<p><a id="X7E9306DF79587A33" name="X7E9306DF79587A33"></a></p>

<h5>18.1-13 <span class="Heading">InnerXTranslations</span></h5>

<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>), <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>


<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">I := InnerLeftTranslations(S);</span>
<left translations semigroup over <transformation semigroup 
 of size 22, degree 6 with 2 generators>>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(I) <= Size(S);</span>
true
</pre></div>

<p><a id="X7C109DF080E72F68" name="X7C109DF080E72F68"></a></p>

<h5>18.1-14 InnerTranslationalHull</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ InnerTranslationalHull</code>( <var class="Arg">S</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: the inner translational hull</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="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">I := InnerTranslationalHull(S);</span>
<semigroup of bitranslations over <transformation semigroup 
 of size 22, degree 6 with 2 generators>>
<span class="GAPprompt">gap></span> <span class="GAPinput">L := LeftTranslations(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R := RightTranslations(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">H := TranslationalHull(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">inners := [];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">for s in S do</span>
<span class="GAPprompt">></span> <span class="GAPinput">l := LeftTranslation(L, MappingByFunction(S, S, x -> s * x));</span>
<span class="GAPprompt">></span> <span class="GAPinput">r := RightTranslation(R, MappingByFunction(S, S, x -> x * s));</span>
<span class="GAPprompt">></span> <span class="GAPinput">AddSet(inners, Bitranslation(H, l, r));</span>
<span class="GAPprompt">></span> <span class="GAPinput">od;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Set(I) = inners;</span>
true
</pre></div>

<p><a id="X87E30C387BE79FB8" name="X87E30C387BE79FB8"></a></p>

<h5>18.1-15 UnderlyingRepresentatives</h5>

<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="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Range(IsomorphismPermGroup(SmallGroup(12, 1)));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := [[G.1, G.2], [G.1, G.1],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[G.2, G.3], [G.1 * G.2, G.1 * G.3]];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := ReesMatrixSemigroup(G, mat);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L := LeftTranslations(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R := RightTranslations(S);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">UnderlyingRepresentatives(L);</span>
[ (1,(),1), (2,(),2) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">UnderlyingRepresentatives(R);</span>
[ (1,(),1), (2,(),2), (1,(),3), (1,(),4) ]
</pre></div>

<p><a id="X7E81252986BB72BB" name="X7E81252986BB72BB"></a></p>

<h5>18.1-16 ImageSetOfTranslation</h5>

<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>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := Semigroup([Transformation([1, 3, 3, 4]),</span>
<span class="GAPprompt">></span> <span class="GAPinput">Transformation([3, 4, 1, 2])]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">t := Set(LeftTranslations(S))[4];</span>
<left translation on <transformation semigroup of size 8, degree 4 
 with 2 generators>>
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageSetOfTranslation(t);</span>
[ Transformation( [ 1, 2, 3, 1 ] ), Transformation( [ 1, 3, 3, 1 ] ), 
  Transformation( [ 3, 1, 1, 3 ] ), Transformation( [ 3, 4, 1, 3 ] ) ]
</pre></div>


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap17.html">[Previous Chapter]</a>    <a href="chapBib.html">[Next Chapter]</a>   </div>


<div class="chlinkbot"><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>

<hr />
<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>

100%


¤ Dauer der Verarbeitung: 0.18 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.