Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  chap9.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/twistedconjugacy/doc/chap9.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 9: Group derivations</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="chap9"  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="chap8.html">[Previous Chapter]</a>    <a href="chap10.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap9_mj.html">[MathJax on]</a></p>
<p><a id="X7B8C20A9826087E1" name="X7B8C20A9826087E1"></a></p>
<div class="ChapSects"><a href="chap9.html#X7B8C20A9826087E1">9 <span class="Heading">Group derivations</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap9.html#X7AAB25B587D3DF70">9.1 <span class="Heading">Creating group derivations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X8303ADE37FFAA109">9.1-1 GroupDerivationByImages</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X7C9D096A7B996E89">9.1-2 GroupDerivationByFunction</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X8341EA2B7FBAE696">9.1-3 GroupDerivationByAffineAction</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap9.html#X7AE626D685C68CF0">9.2 <span class="Heading">Operations for group derivations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X7F065FD7822C0A12">9.2-1 <span class="Heading">IsInjective</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X784ECE847E005B8F">9.2-2 <span class="Heading">IsSurjective</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X878F56AB7B342767">9.2-3 <span class="Heading">IsBijective</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X7DCD99628504B810">9.2-4 <span class="Heading">Kernel</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X87F4D35A826599C6">9.2-5 <span class="Heading">Image</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X7AE24A1586B7DE79">9.2-6 <span class="Heading">PreImagesRepresentative</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X85C8590E832002EF">9.2-7 <span class="Heading">PreImages</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap9.html#X801FDEFE8155D0B1">9.3 <span class="Heading">Images of group derivations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X87BDB89B7AAFE8AD">9.3-1 <span class="Heading">\in</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X858ADA3B7A684421">9.3-2 <span class="Heading">Size</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap9.html#X7EBA57FC7CCF8449">9.3-3 <span class="Heading">List</span></a>
</span>
</div></div>
</div>

<h3>9 <span class="Heading">Group derivations</span></h3>

<p>Let <span class="Math">G</span> and <span class="Math">H</span> be groups and let <span class="Math">H</span> act on <span class="Math">G</span> via automorphisms, i.e. there is a group homomorphism</p>

<p class="pcenter">\alpha \colon H \to \operatorname{Aut}(G) \colon h \mapsto \alpha_h</p>

<p>such that <span class="Math">g^h = \alpha_h(g)</span> for all <span class="Math">g \in G</span> and <span class="Math">h \in H</span>. A <em>group derivation</em> <span class="Math">\delta \colon H \to G</span> is a map such that</p>

<p class="pcenter">\delta(h_1h_2) = \delta(h_1)^{h_2}\delta(h_2).</p>

<p>Note that we do not require <span class="Math">G</span> to be abelian.</p>

<p>Algorithms designed for computing with twisted conjugacy classes can be leveraged to do computations involving group derivations, see <a href="chapBib.html#biBtert25-a">[Ter25, Sec. 10]</a> for a description on this.</p>

<p>Please note that the functions in this chapter require <span class="Math">G</span> and <span class="Math">H</span> to either both be finite, or both be PcpGroups.</p>

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

<h4>9.1 <span class="Heading">Creating group derivations</span></h4>

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

<h5>9.1-1 GroupDerivationByImages</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupDerivationByImages</code>( <var class="Arg">H</var>, <var class="Arg">G</var>[[, <var class="Arg">gens</var>], <var class="Arg">imgs</var>], <var class="Arg">act</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">‣ GroupDerivationByImagesNC</code>( <var class="Arg">H</var>, <var class="Arg">G</var>[[, <var class="Arg">gens</var>], <var class="Arg">imgs</var>], <var class="Arg">act</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the specified group derivation, or <code class="keyw">fail</code> if the given arguments do not define a derivation.</p>

<p>This works in the same vein as <code class="func">GroupHomomorphismByImages</code> (<a href="/home/runner/gap/doc/ref/chap40.html#X7F348F497C813BE0"><span class="RefLink">Ref 40.1-1</span></a>). The group <var class="Arg">H</var> acts on the group <var class="Arg">G</var> via <var class="Arg">act</var>, which must be a homomorphism from <var class="Arg">H</var> into a group of automorphisms of <var class="Arg">G</var>. This command then returns the group derivation defined by mapping the list <var class="Arg">gens</var> of generators of <var class="Arg">H</var> to the list <var class="Arg">imgs</var> of images in <var class="Arg">G</var>.</p>

<p>If omitted, the arguments <var class="Arg">gens</var> and <var class="Arg">imgs</var> default to the <code class="code">GeneratorsOfGroup</code> value of <var class="Arg">H</var> and <var class="Arg">G</var> respectively.</p>

<p>This function checks whether <var class="Arg">gens</var> generate <var class="Arg">H</var> and whether the mapping of the generators extends to a group derivation. This test can be expensive, so if one is certain that the given arguments produce a group derivation, these checks can be avoided by using the <code class="code">NC</code> version.</p>

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

<h5>9.1-2 GroupDerivationByFunction</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupDerivationByFunction</code>( <var class="Arg">H</var>, <var class="Arg">G</var>, <var class="Arg">fun</var>, <var class="Arg">act</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the specified group derivation.</p>

<p><code class="code">GroupDerivationByFunction</code> works in the same vein as <code class="func">GroupHomomorphismByFunction</code> (<a href="/home/runner/gap/doc/ref/chap40.html#X7BC6C20E7CEDBFC5"><span class="RefLink">Ref 40.1-4</span></a>). The group <var class="Arg">H</varacts on the group <var class="Arg">G</var> via <var class="Arg">act</var>, which must be a homomorphism from <var class="Arg">H</var> into a group of automorphisms of <var class="Arg">G</var>. This command then returns the group derivation defined by mapping the element <code class="code">h</code> of <var class="Arg">H</var> to the element <var class="Arg">fun</var>( <code class="code">h</code> ) of <var class="Arg">G</var>, where <var class="Arg">fun</var> is a <strong class="pkg">GAP</strong> function.</p>

<p>No tests are performed to check whether the arguments really produce a group derivation.</p>

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

<h5>9.1-3 GroupDerivationByAffineAction</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupDerivationByAffineAction</code>( <var class="Arg">H</var>, <var class="Arg">G</var>, <var class="Arg">act</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the derivation that makes up the translational part of the affine action.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">H := PcGroupCode( 149167619499417164, 72 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := PcGroupCode( 5551210572, 72 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">inn := InnerAutomorphism( G, G.2 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">hom := GroupHomomorphismByImages(</span>
<span class="GAPprompt">></span> <span class="GAPinput">     G, G,</span>
<span class="GAPprompt">></span> <span class="GAPinput">     [ G.1*G.2, G.5 ], [ G.1*G.2^2*G.3^2*G.4, G.5 ]</span>
<span class="GAPprompt">></span> <span class="GAPinput">   );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">act := GroupHomomorphismByImages(</span>
<span class="GAPprompt">></span> <span class="GAPinput">     H, AutomorphismGroup( G ),</span>
<span class="GAPprompt">></span> <span class="GAPinput">     [ H.2, H.1*H.4 ], [ inn, hom ]</span>
<span class="GAPprompt">></span> <span class="GAPinput">   );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">gens := [ H.2, H.1*H.4 ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">imgs := [ G.5, G.2 ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">der := GroupDerivationByImages( H, G, gens, imgs, act );</span>
Group derivation [ f2, f1*f4 ] -> [ f5, f2 ]
</pre></div>

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

<h4>9.2 <span class="Heading">Operations for group derivations</span></h4>

<p>Many of the functions, operations, attributes... available to group homomorphisms are available for group derivations as well. We list some of the more useful ones.</p>

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

<h5>9.2-1 <span class="Heading">IsInjective</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsInjective</code>( <var class="Arg">der</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> if the group derivation <var class="Arg">der</var> is injective, otherwise <code class="keyw">false</code>.</p>

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

<h5>9.2-2 <span class="Heading">IsSurjective</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSurjective</code>( <var class="Arg">der</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> if the group derivation <var class="Arg">der</var> is surjective, otherwise <code class="keyw">false</code>.</p>

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

<h5>9.2-3 <span class="Heading">IsBijective</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsBijective</code>( <var class="Arg">der</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> if the group derivation <var class="Arg">der</var> is bijjective, otherwise <code class="keyw">false</code>.</p>

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

<h5>9.2-4 <span class="Heading">Kernel</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Kernel</code>( <var class="Arg">der</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the set of elements that are mapped to the identity by <var class="Arg">der</var>.</p>

<p>This will always be a subgroup of <code class="code">Source</code>(<var class="Arg">der</var>).</p>

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

<h5>9.2-5 <span class="Heading">Image</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Image</code>( <var class="Arg">der</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">‣ Image</code>( <var class="Arg">der</var>, <var class="Arg">elm</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">‣ Image</code>( <var class="Arg">der</var>, <var class="Arg">sub</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the image of the group derivation <var class="Arg">der</var>.</p>

<p>One can optionally give an element <var class="Arg">elm</var> or a subgroup <var class="Arg">sub</var> as a second argument, in which case <code class="code">Image</code> will calculate the image of this argument under <var class="Arg">der</var>.</p>

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

<h5>9.2-6 <span class="Heading">PreImagesRepresentative</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PreImagesRepresentative</code>( <var class="Arg">der</var>, <var class="Arg">elm</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a preimage of the element <var class="Arg">elm</var> under the group derivation <var class="Arg">der</var>, or <code class="keyw">fail</code> if no preimage exists.</p>

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

<h5>9.2-7 <span class="Heading">PreImages</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PreImages</code>( <var class="Arg">der</var>, <var class="Arg">elm</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the set of all preimages of the element <var class="Arg">elm</var> under the group derivation <var class="Arg">der</var>.</p>

<p>This will always be a (right) coset of <code class="code">Kernel</code>( <var class="Arg">der</var> ), or the empty list.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsInjective( der ) or IsSurjective( der );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">K := Kernel( der );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size( K );</span>
9
<span class="GAPprompt">gap></span> <span class="GAPinput">ImH := Image( der );</span>
Group derivation image in Group( [ f1, f2, f3, f4, f5 ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">h1 := H.1*H.3;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">g := Image( der, h1 );</span>
f2*f4
<span class="GAPprompt">gap></span> <span class="GAPinput">ImK := Image( der, K );</span>
Group derivation image in Group( [ f1, f2, f3, f4, f5 ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">h2 := PreImagesRepresentative( der, g );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Image( der, h2 ) = g;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">PreIm := PreImages( der, g );</span>
RightCoset(<group of size 9 with 2 generators>,<object>)
<span class="GAPprompt">gap></span> <span class="GAPinput">PreIm = RightCoset( K, h2 );</span>
true
</pre></div>

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

<h4>9.3 <span class="Heading">Images of group derivations</span></h4>

<p>In general, the image of a group derivation is not a subgroup. However, it is still possible to do a membership test, to calculate the number of elements, and to enumerate the elements if there are only finitely many.</p>

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

<h5>9.3-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">elm</var>, <var class="Arg">img</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: <code class="keyw">true</code> if <var class="Arg">elm</var> is an element of <var class="Arg">img</var>, otherwise <code class="keyw">false</code>.</p>

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

<h5>9.3-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">img</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: the number of elements in <var class="Arg">img</var>.</p>

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

<h5>9.3-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">img</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a list containing the elements of <var class="Arg">img</var>.</p>

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


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size( ImH );</span>
8
<span class="GAPprompt">gap></span> <span class="GAPinput">Size( ImK );</span>
1
<span class="GAPprompt">gap></span> <span class="GAPinput">g in ImH;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">g in ImK;</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">List( ImK );</span>
[ <identity> of ... ]
</pre></div>


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap8.html">[Previous Chapter]</a>    <a href="chap10.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>

100%


¤ Dauer der Verarbeitung: 0.16 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge