Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/GAP/pkg/hap/lib/Perturbations/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 19.6.2025 mit Größe 2 kB image not shown  

Impressum chap5.html   Sprache: unbekannt

 
<?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 (XMod) - Chapter 5: Whitehead group of a crossed module</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="chap5"  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="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="chap4.html">[Previous Chapter]</a>    <a href="chap6.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap5_mj.html">[MathJax on]</a></p>
<p><a id="X85CD9A43847AE1B8" name="X85CD9A43847AE1B8"></a></p>
<div class="ChapSects"><a href="chap5.html#X85CD9A43847AE1B8">5 <span class="Heading">Whitehead group of a crossed module</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5.html#X7C01AE7783898705">5.1 <span class="Heading">Derivations and Sections</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X83EC6F7780F5636E">5.1-1 DerivationByImages</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7F119F9580C150B1">5.1-2 PrincipalDerivation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7E1C72897CD31D66">5.1-3 SectionByHomomorphism</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X87D9F7257DFF0236">5.1-4 IdentityDerivation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7AD6E23F8254F400">5.1-5 WhiteheadProduct</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5.html#X861A52407D3C627D">5.2 <span class="Heading">Whitehead Monoids and Groups</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X788884E48534F7CB">5.2-1 AllDerivations</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7CB1614E7EC58A84">5.2-2 WhiteheadMonoidTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X84CD856C84BDB019">5.2-3 RegularDerivations</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X8452E45878691CD3">5.2-4 PrincipalDerivations</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5.html#X7E53AF1884B2D03D">5.3 <span class="Heading">Endomorphisms determined by a derivation</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X86AF32CA84217C46">5.3-1 SourceEndomorphism</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X84463DE2872AA709">5.3-2 RangeEndomorphism</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7E27AE6478566A94">5.3-3 Object2dEndomorphism</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5.html#X820501BF83D1D6D7">5.4 <span class="Heading">Whitehead groups for cat<span class="SimpleMath">^1</span>-groups</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X813CAA17855172E4">5.4-1 AllSections</a></span>
</div></div>
</div>

<h3>5 <span class="Heading">Whitehead group of a crossed module</span></h3>

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

<h4>5.1 <span class="Heading">Derivations and Sections</span></h4>

<p>The Whitehead monoid <span class="SimpleMath">Der(calX)</span> of <span class="SimpleMath">calX</span> was defined in <a href="chapBib.html#biBW2">[Whi48]</a> to be the monoid of all <em>derivations</em> from <span class="SimpleMath">R</span> to <span class="SimpleMath">S</span>, that is the set of all maps <span class="SimpleMath">χ : R -> S</span>, with <em>Whitehead product</em> <span class="SimpleMath">⋆</span> (on the <em>right</em>) satisfying:</p>

<p class="pcenter">
{\bf Der\ 1}:  \chi(qr) ~=~ (\chi q)^{r} \; (\chi r),
\qquad
{\bf Der\ 2}: (\chi_1 \star \chi_2)(r) 
    ~=~ (\chi_2 r)(\chi_1 r)(\chi_2 \partial \chi_1 r).
</p>

<p>It easily follows that <span class="SimpleMath">χ 1 = 1</span> and <span class="SimpleMath">χ(r^-1) = ((χ r)^-1)^r^-1}</span>, and that the zero map is the identity for this composition. Invertible elements in the monoid are called <em>regular</em>. The Whitehead group of <span class="SimpleMath">calX</span> is the group of regular derivations in <span class="SimpleMath">Der(calX )</span>. In the next chapter the <em>actor</em> of <span class="SimpleMath">calX</span> is defined as a crossed module whose source and range are permutation representations of the Whitehead group and the automorphism group of <span class="SimpleMath">calX</span>.</p>

<p>The construction for cat<span class="SimpleMath">^1</span>-groups equivalent to the derivation of a crossed module is the <em>section</em>. The monoid of sections of <span class="SimpleMath">calC = (e;t,h : G -> R)</span> is the set of group homomorphisms <span class="SimpleMath">ξ : R -> G</span>, with Whitehead multiplication <span class="SimpleMath">⋆</span> (on the <em>right</em>) satisfying:</p>

<p class="pcenter">
{\bf Sect\ 1}: t \circ \xi ~=~ {\rm id}_R,
\quad
{\bf Sect\ 2}: (\xi_1 \star \xi_2)(r) 
                ~=~ (\xi_1 r)(e h \xi_1 r)^{-1}(\xi_2 h \xi_1 r)  
                ~=~ (\xi_2 h \xi_1 r)(e h \xi_1 r)^{-1}(\xi_1 r).
</p>

<p>The embedding <span class="SimpleMath">e</span> is the identity for this composition, and <span class="SimpleMath">h(ξ_1 ⋆ ξ_2) = (h ξ_1)(h ξ_2)</span>. A section is <em>regular</em> when <span class="SimpleMath">h ξ</span> is an automorphism, and the group of regular sections is isomorphic to the Whitehead group.</p>

<p>If <span class="SimpleMath">ϵ</span> denotes the inclusion of <span class="SimpleMath">S = ker t</span> in <span class="SimpleMath">G</span> then <span class="SimpleMath">∂ = h ϵ : S -> R</span> and</p>

<p class="pcenter">
\xi r ~=~ (e r)(\epsilon \chi r), 
\quad\mbox{which equals}\quad  
(r, \chi r) ~\in~ R \ltimes S, 
</p>

<p>determines a section <span class="SimpleMath">ξ</span> of <span class="SimpleMath">calC</span> in terms of the corresponding derivation <span class="SimpleMath">χ</span> of <span class="SimpleMath">calX</span>, and conversely.</p>

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

<h5>5.1-1 DerivationByImages</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DerivationByImages</code>( <var class="Arg">X0</var>, <var class="Arg">ims</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">‣ IsDerivation</code>( <var class="Arg">map</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsUp2DimensionalMapping</code>( <var class="Arg">chi</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UpGeneratorImages</code>( <var class="Arg">chi</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">‣ UpImagePositions</code>( <var class="Arg">chi</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">‣ Object2d</code>( <var class="Arg">chi</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">‣ DerivationImage</code>( <var class="Arg">chi</var>, <var class="Arg">r</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A derivation <span class="SimpleMath">χ</span> is stored like a group homomorphisms by specifying the images of the generating set <code class="code">StrongGeneratorsStabChain( StabChain(R) )</code> of the range <span class="SimpleMath">R</span>. This set of images is stored as the attribute <code class="code">UpGeneratorImages</code> of <span class="SimpleMath">χ</span>. The function <code class="code">IsDerivation</code> is automatically called to check that this procedure is well-defined. The attribute <code class="code">Object2d</code><span class="SimpleMath">(χ)</span> returns the underlying crossed module.</p>

<p>Images of the remaining elements may be obtained using axiom <span class="SimpleMath">Der 1</span>. <code class="code">UpImagePositions(chi)</code> is the list of the images under <span class="SimpleMath">χ</span> of <code class="code">Elements(R)</code> and <code class="code">DerivationImage(chi,r)</code> returns <span class="SimpleMath">χ r</span>.</p>

<p>In the following example a cat<span class="SimpleMath">^1</span>-group <code class="code">C3</code> and the associated crossed module <code class="code">X3</code> are constructed, where <code class="code">X3</code> is isomorphic to the inclusion of the normal cyclic group <code class="code">c3</code> in the symmetric group <code class="code">s3</code>. The derivation <span class="SimpleMath">χ_1</span> maps <code class="code">c3</code> to the identity and the other <span class="SimpleMath">3</span> elements to <span class="SimpleMath">(1,2,3)(4,6,5)</span>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">g18 := Group( (1,2,3), (4,5,6), (2,3)(5,6) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( g18, "g18" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">gen18 := GeneratorsOfGroup( g18 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">g1 := gen18[1];;  g2 := gen18[2];;  g3 := gen18[3];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">s3 := Subgroup( g18, gen18{[2..3]} );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( s3, "s3" );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">t := GroupHomomorphismByImages( g18, s3, gen18, [g2,g2,g3] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">h := GroupHomomorphismByImages( g18, s3, gen18, [(),g2,g3] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">e := GroupHomomorphismByImages( s3, g18, [g2,g3], [g2,g3] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C3 := Cat1Group( t, h, e );</span>
[g18=>s3]
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( Kernel(t), "c3" );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">X3 := XModOfCat1Group( C3 );</span>
[c3->s3]
<span class="GAPprompt">gap></span> <span class="GAPinput">R3 := Range( X3 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">StrongGeneratorsStabChain( StabChain( R3 ) );</span>
[ (4,5,6), (2,3)(5,6) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">chi1 := DerivationByImages( X3, [ (), (1,2,3)(4,6,5) ] );</span>
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], 
[ (), (1,2,3)(4,6,5) ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">[ IsUp2DimensionalMapping( chi1 ), IsDerivation( chi1 ) ];</span>
[ true, true ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Object2d( chi1 );</span>
[c3->s3]
<span class="GAPprompt">gap></span> <span class="GAPinput">UpGeneratorImages( chi1 ); </span>
[ (), (1,2,3)(4,6,5) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">UpImagePositions( chi1 );</span>
[ 1, 1, 1, 2, 2, 2 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">DerivationImage( chi1, (2,3)(4,5) );</span>
(1,2,3)(4,6,5)

</pre></div>

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

<h5>5.1-2 PrincipalDerivation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PrincipalDerivation</code>( <var class="Arg">X0</var>, <var class="Arg">s</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>The <em>principal derivation</em> determined by <span class="SimpleMath">s ∈ S</span> is the derivation <span class="SimpleMath">η_s : R -> S, r ↦ (s^-1)^rs</span>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">eta := PrincipalDerivation( X3, (1,2,3)(4,6,5) );</span>
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], [ (), (1,3,2)(4,5,6) ] )

</pre></div>

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

<h5>5.1-3 SectionByHomomorphism</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SectionByHomomorphism</code>( <var class="Arg">C</var>, <var class="Arg">hom</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">‣ IsSection</code>( <var class="Arg">xi</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UpHomomorphism</code>( <var class="Arg">xi</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">‣ SectionByDerivation</code>( <var class="Arg">chi</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">‣ DerivationBySection</code>( <var class="Arg">xi</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Sections <em>are</em> group homomorphisms but, although they do not require a special representation, one is provided in the category <code class="code">IsUp2DimensionalMapping</code> having attributes <code class="code">Object2d</code>, <code class="code">UpHomomorphism</code> and <code class="code">UpGeneratorsImages</code>. Operations <code class="code">SectionByDerivation</code> and <code class="code">DerivationBySection</code> convert derivations to sections, and vice-versa, calling <code class="func">Cat1GroupOfXMod</code> (<a href="chap2.html#X82F10A59867C765D"><span class="RefLink">2.5-3</span></a>) and <code class="func">XModOfCat1Group</code> (<a href="chap2.html#X82F10A59867C765D"><span class="RefLink">2.5-3</span></a>) automatically.</p>

<p>Two strategies for calculating derivations and sections are implemented, see <a href="chapBib.html#biBAW1">[AW00]</a>. The default method for <code class="func">AllDerivations</code> (<a href="chap5.html#X788884E48534F7CB"><span class="RefLink">5.2-1</span></a>) is to search for all possible sets of images using a backtracking procedure, and when all the derivations are found it is not known which are regular. In early versions of this package, the default method for <code class="code">AllSections( <C> )</code> was to compute all endomorphisms on the range group <code class="code">R</code> of <code class="code">C</code> as possibilities for the composite <span class="SimpleMath">h ξ</span>. A backtrack method then found possible images for such a section. In the current version the derivations of the associated crossed module are calculated, and these are all converted to sections using <code class="func">SectionByDerivation</code>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">hom2 := GroupHomomorphismByImages( s3, g18, [ (4,5,6), (2,3)(5,6) ], </span>
<span class="GAPprompt">></span> <span class="GAPinput">[ (1,3,2)(4,6,5), (1,2)(4,6) ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">xi2 := SectionByHomomorphism( C3, hom2 );                                 </span>
SectionByHomomorphism( s3, g18, [ (4,5,6), (2,3)(5,6) ], 
[ (1,3,2)(4,6,5), (1,2)(4,6) ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">[ IsUp2DimensionalMapping( xi2 ), IsSection( xi2 ) ];</span>
[ true, true ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Object2d( xi2 );</span>
[g18 => s3]
<span class="GAPprompt">gap></span> <span class="GAPinput">UpHomomorphism( xi2 );         </span>
[ (4,5,6), (2,3)(5,6) ] -> [ (1,3,2)(4,6,5), (1,2)(4,6) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">UpGeneratorImages( xi2 );</span>
[ (1,3,2)(4,6,5), (1,2)(4,6) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">chi2 := DerivationBySection( xi2 );</span>
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], 
[ (1,3,2)(4,5,6), (1,2,3)(4,6,5) ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">xi1 := SectionByDerivation( chi1 );</span>
SectionByHomomorphism( s3, g18, [ (4,5,6), (2,3)(5,6) ], 
[ (1,2,3), (1,2)(4,6) ] )

</pre></div>

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

<h5>5.1-4 IdentityDerivation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IdentityDerivation</code>( <var class="Arg">X0</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">‣ IdentitySection</code>( <var class="Arg">C0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The identity derivation maps the range group to the identity subgroup of the source, while the identity section is just the range embedding considered as a section.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">IdentityDerivation( X3 ); </span>
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], [ (), () ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">IdentitySection( C3 );     </span>
SectionByHomomorphism( s3, g18, [ (4,5,6), (2,3)(5,6) ], 
[ (4,5,6), (2,3)(5,6) ] )

</pre></div>

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

<h5>5.1-5 WhiteheadProduct</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ WhiteheadProduct</code>( <var class="Arg">upi</var>, <var class="Arg">upj</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">‣ WhiteheadOrder</code>( <var class="Arg">up</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>The <code class="code">WhiteheadProduct</code>, defined in section <a href="chap5.html#X7C01AE7783898705"><span class="RefLink">5.1</span></a>, may be applied to two derivations to form <span class="SimpleMath">χ_i ⋆ χ_j</span>, or to two sections to form <span class="SimpleMath">ξ_i ⋆ ξ_j</span>. The <code class="code">WhiteheadOrder</code> of a regular derivation <span class="SimpleMath">χ</span> is the smallest power of <span class="SimpleMath">χ</span>, using this product, equal to the <code class="func">IdentityDerivation</code> (<a href="chap5.html#X87D9F7257DFF0236"><span class="RefLink">5.1-4</span></a>).</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">chi12 := WhiteheadProduct( chi1, chi2 );</span>
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], [ (1,3,2)(4,5,6), () ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">xi12 := WhiteheadProduct( xi1, xi2 );</span>
SectionByHomomorphism( s3, g18, [ (4,5,6), (2,3)(5,6) ], 
[ (1,3,2)(4,6,5), (2,3)(5,6) ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">xi12 = SectionByDerivation( chi12 ); </span>
true 
<span class="GAPprompt">gap></span> <span class="GAPinput">[ WhiteheadOrder( chi2 ), WhiteheadOrder( xi2 ) ];</span>
[ 2, 2 ]

</pre></div>

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

<h4>5.2 <span class="Heading">Whitehead Monoids and Groups</span></h4>

<p>As mentioned at the beginning of this chapter, the Whitehead monoid <span class="SimpleMath">Der(calX)</span> of <span class="SimpleMath">calX</span> is the monoid of all derivations from <span class="SimpleMath">R</span> to <span class="SimpleMath">S</span>. Monoids of derivations have representation <code class="code">IsMonoidOfUp2DimensionalMappingsObj</code>. Multiplication tables for Whitehead monoids enable the construction of transformation representations.</p>

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

<h5>5.2-1 AllDerivations</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AllDerivations</code>( <var class="Arg">X0</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">‣ ImagesList</code>( <var class="Arg">obj</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">‣ DerivationClass</code>( <var class="Arg">mon</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">‣ ImagesTable</code>( <var class="Arg">obj</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Using our example <code class="code">X3</code> we find that there are just nine derivations. Here <code class="code">AllDerivations</code> returns a collection of up mappings with attributes:</p>


<ul>
<li><p><code class="code">Object2d</code> - the crossed modules <span class="SimpleMath">calX</span>;</p>

</li>
<li><p><code class="code">ImagesList</code> - a list, for each derivation, of the images of the generators of the range group;</p>

</li>
<li><p><code class="code">DerivationClass</code> - the string "all"; other classes include "regular" and "principal";</p>

</li>
<li><p><code class="code">ImagesTable</code> - this is a table whose <span class="SimpleMath">[i,j]</span>-th entry is the position in the list of elements of <span class="SimpleMath">S</span> of the image under the <span class="SimpleMath">i</span>-th derivation of the <span class="SimpleMath">j</span>-th element of <span class="SimpleMath">R</span>.</p>

</li>
</ul>

<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">all3 := AllDerivations( X3 );</span>
monoid of derivations with images list:
[ (), () ]
[ (), (1,3,2)(4,5,6) ]
[ (), (1,2,3)(4,6,5) ]
[ (1,3,2)(4,5,6), () ]
[ (1,3,2)(4,5,6), (1,3,2)(4,5,6) ]
[ (1,3,2)(4,5,6), (1,2,3)(4,6,5) ]
[ (1,2,3)(4,6,5), () ]
[ (1,2,3)(4,6,5), (1,3,2)(4,5,6) ]
[ (1,2,3)(4,6,5), (1,2,3)(4,6,5) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">DerivationClass( all3 );</span>
"all"
<span class="GAPprompt">gap></span> <span class="GAPinput">Perform( ImagesTable( all3 ), Display );</span>
[ 1, 1, 1, 1, 1, 1 ]
[ 1, 1, 1, 3, 3, 3 ]
[ 1, 1, 1, 2, 2, 2 ]
[ 1, 3, 2, 1, 3, 2 ]
[ 1, 3, 2, 3, 2, 1 ]
[ 1, 3, 2, 2, 1, 3 ]
[ 1, 2, 3, 1, 2, 3 ]
[ 1, 2, 3, 3, 1, 2 ]
[ 1, 2, 3, 2, 3, 1 ]

</pre></div>

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

<h5>5.2-2 WhiteheadMonoidTable</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ WhiteheadMonoidTable</code>( <var class="Arg">X0</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">‣ WhiteheadTransformationMonoid</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The <code class="code">WhiteheadMonoidTable</code> of <span class="SimpleMath">calX</span> is the multiplication table whose <span class="SimpleMath">[i,j]</span>-th entry is the position <span class="SimpleMath">k</span> in the list of derivations of the Whitehead product <span class="SimpleMath">χ_i*χ_j = χ_k</span>.</p>

<p>Using the rows of the table as transformations, we may construct the <code class="code">WhiteheadTransformationMonoid</code> of <span class="SimpleMath">calX</span>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">wmt3 := WhiteheadMonoidTable( X3 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Perform( wmt3, Display );</span>
[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
[ 2, 3, 1, 5, 6, 4, 8, 9, 7 ]
[ 3, 1, 2, 6, 4, 5, 9, 7, 8 ]
[ 4, 6, 5, 1, 3, 2, 7, 9, 8 ]
[ 5, 4, 6, 2, 1, 3, 8, 7, 9 ]
[ 6, 5, 4, 3, 2, 1, 9, 8, 7 ]
[ 7, 7, 7, 7, 7, 7, 7, 7, 7 ]
[ 8, 8, 8, 8, 8, 8, 8, 8, 8 ]
[ 9, 9, 9, 9, 9, 9, 9, 9, 9 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">wtm3 := WhiteheadTransformationMonoid( X3 );</span>
<transformation monoid of degree 9 with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">GeneratorsOfMonoid( wtm3 ); </span>
[ Transformation( [ 2, 3, 1, 5, 6, 4, 8, 9, 7 ] ), 
  Transformation( [ 4, 6, 5, 1, 3, 2, 7, 9, 8 ] ), 
  Transformation( [ 7, 7, 7, 7, 7, 7, 7, 7, 7 ] ) ]

</pre></div>

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

<h5>5.2-3 RegularDerivations</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RegularDerivations</code>( <var class="Arg">X0</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">‣ WhiteheadGroupTable</code>( <var class="Arg">X0</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">‣ WhiteheadPermGroup</code>( <var class="Arg">X0</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">‣ IsWhiteheadPermGroup</code>( <var class="Arg">G</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ WhiteheadRegularGroup</code>( <var class="Arg">X0</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">‣ WhiteheadGroupIsomorphism</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="code">RegularDerivations</code> are those derivations which are invertible in the monoid. The multiplication table for a Whitehead group - a subtable of the Whitehead monoid table - enables the construction of a permutation representation <code class="code">WhiteheadPermGroup</code> <span class="SimpleMath">WcalX</span> of <span class="SimpleMath">calX</span>. This group satisfies the property <code class="code">IsWhiteheadPermGroup</code>. and <span class="SimpleMath">calX</span> is its attribute <code class="code">Object2d</code>.</p>

<p>Of the nine derivations of <code class="code">X3</code> just six are regular. The associated group is isomorphic to the symmetric group <code class="code">s3</code>.</p>

<p>Taking the rows of the <code class="code">WhiteheadGroupTable</code> as permutations, we may construct the <code class="code">WhiteheadRegularGroup</code> of <span class="SimpleMath">calX</span>. Then, seeking a <code class="code">SmallerDegreePermutationRepresentation</code>, we obtain the <code class="code">WhiteheadGroupIsomorphism</code> whose image is the <code class="code">WhiteheadPermGroup</code> of <span class="SimpleMath">calX</span>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">reg3 := RegularDerivations( X3 );</span>
monoid of derivations with images list:
[ (), () ]
[ (), (1,3,2)(4,5,6) ]
[ (), (1,2,3)(4,6,5) ]
[ (1,3,2)(4,5,6), () ]
[ (1,3,2)(4,5,6), (1,3,2)(4,5,6) ]
[ (1,3,2)(4,5,6), (1,2,3)(4,6,5) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">DerivationClass( reg3 );</span>
"regular"
<span class="GAPprompt">gap></span> <span class="GAPinput">wgt3 := WhiteheadGroupTable( X3 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Perform( wgt3, Display );</span>
[ [ 1, 2, 3, 4, 5, 6 ],
  [ 2, 3, 1, 5, 6, 4 ],
  [ 3, 1, 2, 6, 4, 5 ],
  [ 4, 6, 5, 1, 3, 2 ],
  [ 5, 4, 6, 2, 1, 3 ],
  [ 6, 5, 4, 3, 2, 1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">wpg3 := WhiteheadPermGroup( X3 );</span>
Group([ (1,2,3), (1,2) ])
<span class="GAPprompt">gap></span> <span class="GAPinput">IsWhiteheadPermGroup( wpg3 );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Object2d( wpg3 );</span>
[c3->s3]
<span class="GAPprompt">gap></span> <span class="GAPinput">WhiteheadRegularGroup( X3 );</span>
Group([ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ])
<span class="GAPprompt">gap></span> <span class="GAPinput">MappingGeneratorsImages( WhiteheadGroupIsomorphism( X3 ) );</span>
[ [ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ], [ (1,2,3), (1,2) ] ]

</pre></div>

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

<h5>5.2-4 PrincipalDerivations</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PrincipalDerivations</code>( <var class="Arg">X0</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">‣ PrincipalDerivationSubgroup</code>( <var class="Arg">X0</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">‣ WhiteheadHomomorphism</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The principal derivations form a subgroup of the Whitehead group. The <code class="code">PrincipalDerivationSubgroup</code> is the corresponding subgroup of the <code class="code">WhiteheadPermGroup</code>.</p>

<p>The Whitehead homomorphism <span class="SimpleMath">η : S -> WcalX, s ↦ η_s</span> for <span class="SimpleMath">calX</span> maps the source group of <span class="SimpleMath">calX</span> to the Whitehead group of <span class="SimpleMath">calX</span>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">PDX3 := PrincipalDerivations( X3 );</span>
monoid of derivations with images list:
[ (), () ]
[ (), (1,3,2)(4,5,6) ]
[ (), (1,2,3)(4,6,5) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">PDSX3 := PrincipalDerivationSubgroup( X3 );</span>
Group([ (1,2,3) ])
<span class="GAPprompt">gap></span> <span class="GAPinput">Whom3 := WhiteheadHomomorphism( X3 );</span>
[ (1,2,3)(4,6,5) ] -> [ (1,2,3) ]

</pre></div>

<p><strong class="button">Exercise:</strong><span class="SimpleMath">~</span> Use the two crossed module axioms to show that <span class="SimpleMath">η_s_1 ⋆ η_s_2 = η_s_1s_2</span>.</p>

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

<h4>5.3 <span class="Heading">Endomorphisms determined by a derivation</span></h4>

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

<h5>5.3-1 SourceEndomorphism</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SourceEndomorphism</code>( <var class="Arg">chi</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A derivation <span class="SimpleMath">χ</span> of <span class="SimpleMath">calX = (∂ : S -> R)</span> determines an endomorphism <span class="SimpleMath">σ_χ : S -> S,~ s ↦ s(χ ∂ s)</span>. We may verify that <span class="SimpleMath">σ_χ</span> is a homomorphism by:</p>

<p class="pcenter">
\sigma_{\chi}(s_1s_2) 
~=~ s_1s_2\chi((\partial s_1)(\partial s_2))
~=~ s_1s_2(\chi\partial s_1)^{\partial s_2}(\chi\partial s_2)
~=~ s_1(\chi\partial s_1)s_2(\chi\partial s_2)
~=~ (\sigma_{\chi}s_1)(\sigma_{\chi}s_2).
</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">sigma2 := SourceEndomorphism( chi2 );</span>
[ (1,2,3)(4,6,5) ] -> [ (1,3,2)(4,5,6) ]

</pre></div>

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

<h5>5.3-2 RangeEndomorphism</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RangeEndomorphism</code>( <var class="Arg">chi</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A derivation <span class="SimpleMath">χ</span> of <span class="SimpleMath">calX = (∂ : S -> R)</span> determines an endomorphism <span class="SimpleMath">ρ_χ : R -> R,~ r ↦ r(∂ χ r)</span>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">rho2 := RangeEndomorphism( chi2 );</span>
[ (4,5,6), (2,3)(5,6) ] -> [ (4,6,5), (2,3)(4,6) ]

</pre></div>

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

<h5>5.3-3 Object2dEndomorphism</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Object2dEndomorphism</code>( <var class="Arg">chi</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A derivation <span class="SimpleMath">χ</span> of <span class="SimpleMath">calX = (∂ : S -> R)</span> determines an endomorphism <span class="SimpleMath">α_χ : calX -> calX</span> whose source and range endomorphisms are given by the previous two operations.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">alpha2 := Object2dEndomorphism( chi2 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( alpha2 );</span>
Morphism of crossed modules :- 
Source = [c3->s3] with generating sets:
  [ (1,2,3)(4,6,5) ]
  [ (4,5,6), (2,3)(5,6) ]
: Range = Source
Source Homomorphism maps source generators to:
  [ (1,3,2)(4,5,6) ]
: Range Homomorphism maps range generators to:
  [ (4,6,5), (2,3)(4,6) ]

</pre></div>

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

<h4>5.4 <span class="Heading">Whitehead groups for cat<span class="SimpleMath">^1</span>-groups</span></h4>

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

<h5>5.4-1 AllSections</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AllSections</code>( <var class="Arg">C0</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">‣ RegularSections</code>( <var class="Arg">C0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>These operations are currently obtained by running the equivalent operation for derivations and then converting the result to sections.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">AllSections( C3 );</span>
monoid of sections with images list:
[ (4,5,6), (2,3)(5,6) ]
[ (4,5,6), (1,3)(4,5) ]
[ (4,5,6), (1,2)(4,6) ]
[ (1,3,2)(4,6,5), (2,3)(5,6) ]
[ (1,3,2)(4,6,5), (1,3)(4,5) ]
[ (1,3,2)(4,6,5), (1,2)(4,6) ]
[ (1,2,3), (2,3)(5,6) ]
[ (1,2,3), (1,3)(4,5) ]
[ (1,2,3), (1,2)(4,6) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">RegularSections( C3 );         </span>
monoid of sections with images list:
[ (4,5,6), (2,3)(5,6) ]
[ (4,5,6), (1,3)(4,5) ]
[ (4,5,6), (1,2)(4,6) ]
[ (1,3,2)(4,6,5), (2,3)(5,6) ]
[ (1,3,2)(4,6,5), (1,3)(4,5) ]
[ (1,3,2)(4,6,5), (1,2)(4,6) ]

</pre></div>


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


[ 0.21Quellennavigators  Projekt   ]