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

Quelle  chap7.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/twistedconjugacy/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 (TwistedConjugacy) - Chapter 7: Cosets of PcpGroups</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="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="X86AB2EC37E2F6C19" name="X86AB2EC37E2F6C19"></a></p>
<div class="ChapSects"><a href="chap7.html#X86AB2EC37E2F6C19">7 <span class="Heading">Cosets of PcpGroups</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X7A16782E7B3F98F6">7.1 <span class="Heading">Right cosets</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X827675EB8157DF2D">7.1-1 Intersection</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X78B98B257E981046">7.2 <span class="Heading">Double cosets</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X87BDB89B7AAFE8AD">7.2-1 <span class="Heading">\in</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X858ADA3B7A684421">7.2-2 <span class="Heading">Size</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X7EBA57FC7CCF8449">7.2-3 <span class="Heading">List</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X806A4814806A4814">7.2-4 <span class="Heading">\=</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X7A5EFABB86E6D4D5">7.2-5 <span class="Heading">DoubleCosets</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X7A25B1C886CF8C6A">7.2-6 <span class="Heading">DoubleCosetRepsAndSizes</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X805F0F1E803BE255">7.2-7 <span class="Heading">DoubleCosetIndex</span></a>
</span>
</div></div>
</div>

<h3>7 <span class="Heading">Cosets of PcpGroups</span></h3>

<p><strong class="pkg">GAP</strong> is well-equipped to deal with <em>finite</em> cosets. However, if a coset is infinite, methods may not be available, may be faulty, or may run forever. The <strong class="pkg">TwistedConjugacy</strong> package provides additional methods for existing functions that can deal with infinite cosets of PcpGroups.</p>

<p>The only completely new functions are <code class="func">DoubleCosetIndex</code> (<a href="chap7.html#X805F0F1E803BE255"><span class="RefLink">7.2-7</span></a>) and its <code class="code">NC</code> version.</p>

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

<h4>7.1 <span class="Heading">Right cosets</span></h4>

<p>Calculating the intersection of two right cosets <span class="Math">Hx</span> and <span class="Math">Ky</span> can be reduced to calculating the intersection <span class="Math">H \cap K</span> and verifying whether <span class="Math">xy^{-1} \in HK</span> (see <code class="func">\in</code> (<a href="chap7.html#X87BDB89B7AAFE8AD"><span class="RefLink">7.2-1</span></a>)).</p>

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

<h5>7.1-1 Intersection</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Intersection</code>( <var class="Arg">C1</var>, <var class="Arg">C2</var>, <var class="Arg">...</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">‣ Intersection</code>( <var class="Arg">L</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the intersection of the right cosets <var class="Arg">C1</var>, <var class="Arg">C2</var>, ...</p>

<p>Alternatively, this function also accepts a single list of right cosets <var class="Arg">L</var> as argument.</p>

<p>This intersection is always a right coset, or the empty list.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := ExamplesOfSomePcpGroups( 5 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">H := Subgroup( G, [ G.1*G.2^-1*G.3^-1*G.4^-1, G.2^-1*G.3*G.4^-2 ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">K := Subgroup( G, [ G.1*G.3^-2*G.4^2, G.1*G.4^4 ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">x := G.1*G.3^-1;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">y := G.1*G.2^-1*G.3^-2*G.4^-1;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">z := G.1*G.2*G.3*G.4^2;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Hx := RightCoset( H, x );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Ky := RightCoset( K, y );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Intersection( Hx, Ky );</span>
RightCoset(<group with 2 generators>,<object>)
<span class="GAPprompt">gap></span> <span class="GAPinput">Kz := RightCoset( K, z );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Intersection( Hx, Kz );</span>
[  ]
</pre></div>

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

<h4>7.2 <span class="Heading">Double cosets</span></h4>

<p>Algorithms designed for computing with twisted conjugacy classes can be leveraged to do computations involving double cosets, see <a href="chapBib.html#biBtert25-a">[Ter25, Sec. 9]</a> for a description on this. When the <strong class="pkg">TwistedConjugacy</strong> package is loaded, it does this automatically, and the functions below should then work for PcpGroups, even if they are infinite.</p>

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

<h5>7.2-1 <span class="Heading">\in</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ \in</code>( <var class="Arg">g</var>, <var class="Arg">D</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> if <var class="Arg">g</var> is an element of <var class="Arg">D</var>, otherwise <code class="keyw">false</code>.</p>

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

<h5>7.2-2 <span class="Heading">Size</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Size</code>( <var class="Arg">D</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the number of elements in <var class="Arg">D</var>.</p>

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

<h5>7.2-3 <span class="Heading">List</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ List</code>( <var class="Arg">D</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a list containing the elements of <var class="Arg">D</var>.</p>

<p>If <var class="Arg">D</var> is infinite, this will run forever. It is recommended to first test the finiteness of <var class="Arg">D</var> using <code class="func">Size</code> (<a href="chap7.html#X858ADA3B7A684421"><span class="RefLink">7.2-2</span></a>).</p>

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

<h5>7.2-4 <span class="Heading">\=</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ \=</code>( <var class="Arg">C</var>, <var class="Arg">D</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> if <var class="Arg">C</var> and <var class="Arg">D</var> are the same double coset, otherwise <code class="keyw">false</code>.</p>

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

<h5>7.2-5 <span class="Heading">DoubleCosets</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DoubleCosets</code>( <var class="Arg">G</var>, <var class="Arg">H</var>, <var class="Arg">K</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">‣ DoubleCosetsNC</code>( <var class="Arg">G</var>, <var class="Arg">H</var>, <var class="Arg">K</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a duplicate-free list of all <code class="code">(<var class="Arg">H</var>,<var class="Arg">K</var>)</code>-double cosets in <var class="Arg">G</var> if there are finitely many, otherwise <code class="keyw">fail</code>.</p>

<p>The groups <var class="Arg">H</var> and <var class="Arg">K</var> must be subgroups of the group <var class="Arg">G</var>. The <code class="code">NC</code> version does not check whether this is the case.</p>

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

<h5>7.2-6 <span class="Heading">DoubleCosetRepsAndSizes</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DoubleCosetRepsAndSizes</code>( <var class="Arg">G</var>, <var class="Arg">H</var>, <var class="Arg">K</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a list containing pairs of the form <code class="code">[ r, n ]</code>, where <code class="code">r</code> is a representative and <code class="code">n</code> is the size of a double coset.</p>

<p>While for finite groups this function is supposed to be faster than <code class="func">DoubleCosetsNC</code> (<a href="chap7.html#X7A5EFABB86E6D4D5"><span class="RefLink">7.2-5</span></a>), for PcpGroups it is usually <em>slower</em>.</p>

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

<h5>7.2-7 <span class="Heading">DoubleCosetIndex</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DoubleCosetIndex</code>( <var class="Arg">G</var>, <var class="Arg">H</var>, <var class="Arg">K</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">‣ DoubleCosetIndexNC</code>( <var class="Arg">G</var>, <var class="Arg">H</var>, <var class="Arg">K</var)</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the double coset index of the pair (<var class="Arg">H</var>,<var class="Arg">K</var>).</p>

<p>The groups <var class="Arg">H</var> and <var class="Arg">K</var> must be subgroups of the group <var class="Arg">G</var>. The <code class="code">NC</code> version does not check whether this is the case.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">HxK := DoubleCoset( H, x, K );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">HyK := DoubleCoset( H, y, K );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">HzK := DoubleCoset( H, z, K );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">y in HxK;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">z in HxK;</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">HxK = HyK;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">HxK = HzK;</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">DoubleCosets( G, H, K );</span>
[ DoubleCoset(<group with 2 generators>,<object>,<group with 2 generators>),
  DoubleCoset(<group with 2 generators>,<object>,<group with 2 generators>) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">DoubleCosetIndex( G, H, K );</span>
2
</pre></div>


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


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

Messung V0.5
C=96 H=100 G=97

¤ Dauer der Verarbeitung: 0.8 Sekunden  ¤

*© 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 und die Messung sind noch experimentell.