Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/hal/linux/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quellcode-Bibliothek chap7_mj.html   Sprache: HTML

 
 products/sources/formale Sprachen/GAP/pkg/hap/tutorial/chap7_mj.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>
<script type="text/javascript"
  src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<title>GAP (HAP commands) - Chapter 7: Cohomology of groups (and Lie Algebras)</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_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chap8_mj.html">8</a>  <a href="chap9_mj.html">9</a>  <a href="chap10_mj.html">10</a>  <a href="chap11_mj.html">11</a>  <a href="chap12_mj.html">12</a>  <a href="chap13_mj.html">13</a>  <a href="chap14_mj.html">14</a>  <a href="chap15_mj.html">15</a>  <a href="chap16_mj.html">16</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap6_mj.html">[Previous Chapter]</a>    <a href="chap8_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap7.html">[MathJax off]</a></p>
<p><a id="X787E37187B7308C9" name="X787E37187B7308C9"></a></p>
<div class="ChapSects"><a href="chap7_mj.html#X787E37187B7308C9">7 <span class="Heading">Cohomology of groups (and Lie Algebras)</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X807B265978F90E01">7.1 <span class="Heading">Finite groups </span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X80A721AC7A8D30A3">7.1-1 <span class="Heading">Naive homology computation for a very small group</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X838CEA3F850DFC82">7.1-2 <span class="Heading">A more efficient homology computation</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X842E93467AD09EC1">7.1-3 <span class="Heading">Computation of an induced homology homomorphism</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X8754D2937E6FD7CE">7.1-4 <span class="Heading">Some other finite group homology computations</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X8463EF6A821FFB69">7.2 <span class="Heading">Nilpotent groups</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X82E8FAC67BC16C01">7.3 <span class="Heading">Crystallographic and Almost Crystallographic groups</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7AFFB32587D047FE">7.4 <span class="Heading">Arithmetic groups</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X800CB6257DC8FB3A">7.5 <span class="Heading">Artin groups</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7BAFCA3680E478AE">7.6 <span class="Heading">Graphs of groups</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7CE849E58706796C">7.7 <span class="Heading">Lie algebra homology and free nilpotent groups</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7C3DEDD57BB4D537">7.8 <span class="Heading">Cohomology with coefficients in a module</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7E573EA582CCEF2E">7.9 <span class="Heading">Cohomology as a functor of the first variable</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X796731727A7EBE59">7.10 <span class="Heading">Cohomology as a functor of the second variable and the long exact coefficient sequence</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X80F6FD3E7C7E4E8D">7.11 <span class="Heading">Transfer Homomorphism</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X79B1406C803FF178">7.12 <span class="Heading">Cohomology rings of finite fundamental groups of 3-manifolds
</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X833A19F0791C3B06">7.13 <span class="Heading">Explicit cocycles </span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7C5233E27D2D603E">7.14 <span class="Heading">Quillen's complex and the \(p\)-part of homology

</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X865CC8E0794C0E61">7.15 <span class="Heading">Homology of a Lie algebra</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X86B4EE4783A244F7">7.16 <span class="Heading">Covers of Lie algebras</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7DFF32A67FF39C82">7.16-1 <span class="Heading">Computing a cover</span></a>
</span>
</div></div>
</div>

<h3>7 <span class="Heading">Cohomology of groups (and Lie Algebras)</span></h3>

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

<h4>7.1 <span class="Heading">Finite groups </span></h4>

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

<h5>7.1-1 <span class="Heading">Naive homology computation for a very small group</span></h5>

<p>It is possible to compute the low degree (co)homology of a finite group or monoid of small order directly from the bar resolution. The following commands take this approach to computing the fifth integral homology</p>

<p><span class="SimpleMath">\(H_5(Q_4,\mathbb Z) = \mathbb Z_2\oplus\mathbb Z_2\)</span></p>

<p>of the quaternion group <span class="SimpleMath">\(G=Q_4\)</span> of order <span class="SimpleMath">\(8\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Q:=QuaternionGroup(8);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">B:=BarComplexOfMonoid(Q,6);;                 </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=ContractedComplex(B);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(C,5);</span>
[ 2, 2 ]


<span class="GAPprompt">gap></span> <span class="GAPinput">List([0..6],B!.dimension);</span>
[ 1, 7, 49, 343, 2401, 16807, 117649 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">List([0..6],C!.dimension);</span>
[ 1, 2, 2, 1, 2, 4, 102945 ]

</pre></div>

<p>However, this approach is of limited applicability since the bar resolution involves <span class="SimpleMath">\(|G|^k\)</span> free generators in degree <span class="SimpleMath">\(k\)</span>. A range of techniques, tailored to specific classes of groups, can be used to compute the (co)homology of larger finite groups.</p>

<p>This naive approach does have the merit of being applicable to arbitrary small monoids. The following calculates the homology in degrees <span class="SimpleMath">\(\le 7\)</span> of a monoid of order 8, the monoid being specified by its multiplication table.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">T:=[ [  1,  1,  1,  4,  4,  4,  4,  1 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput">        [  1,  1,  1,  4,  4,  4,  4,  2 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput">        [  1,  1,  1,  4,  4,  4,  4,  3 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput">        [  4,  4,  4,  1,  1,  1,  1,  4 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput">        [  4,  4,  4,  1,  1,  1,  1,  5 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput">        [  4,  4,  4,  1,  1,  1,  1,  6 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput">        [  4,  4,  4,  1,  1,  1,  1,  7 ],</span>
<span class="GAPprompt">></span> <span class="GAPinput">        [  1,  2,  3,  4,  5,  6,  7,  8 ] ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M:=MonoidByMultiplicationTable(T);</span>
<monoid of size 8, with 8 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">B:=BarComplexOfMonoid(M,8);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=ContractedComplex(B);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">List([0..7],i->Homology(C,i));</span>
[ [ 0 ], [ 2 ], [  ], [ 2 ], [  ], [ 2 ], [  ], [ 2 ] ]


<span class="GAPprompt">gap></span> <span class="GAPinput">List([0..8],B!.dimension);</span>
[ 1, 7, 49, 343, 2401, 16807, 117649, 823543, 5764801 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">List([0..8],C!.dimension);</span>
[ 1, 1, 1, 1, 1, 1, 1, 1, 5044201 ]

</pre></div>

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

<h5>7.1-2 <span class="Heading">A more efficient homology computation</span></h5>

<p>The following example computes the seventh integral homology</p>

<p><span class="SimpleMath">\(H_7(M_{23},\mathbb Z) = \mathbb Z_{16}\oplus\mathbb Z_{15}\)</span></p>

<p>and fourth integral cohomomogy</p>

<p><span class="SimpleMath">\(H^4(M_{24},\mathbb Z) = \mathbb Z_{12}\)</span></p>

<p>of the Mathieu groups <span class="SimpleMath">\(M_{23}\)</span> and <span class="SimpleMath">\(M_{24}\)</span>. (Warning: the computation of <span class="SimpleMath">\(H_7(M_{23},\mathbb Z)\)</span> takes a couple of hours to run.)</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">GroupHomology(MathieuGroup(23),7);</span>
[ 16, 3, 5 ]

<span class="GAPprompt">gap></span> <span class="GAPinput">GroupCohomology(MathieuGroup(24),4);</span>
[ 4, 3 ]

</pre></div>

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

<h5>7.1-3 <span class="Heading">Computation of an induced homology homomorphism</span></h5>

<p>The following example computes the cokernel</p>

<p><span class="SimpleMath">\({\rm coker}( H_3(A_7,\mathbb Z) \rightarrow H_3(S_{10},\mathbb Z)) \cong \mathbb Z_2\oplus \mathbb Z_2\)</span></p>

<p>of the degree-3 integral homomogy homomorphism induced by the canonical inclusion <span class="SimpleMath">\(A_7 \rightarrow S_{10}\)</span> of the alternating group on <span class="SimpleMath">\(7\)</span> letters into the symmetric group on <span class="SimpleMath">\(10\)</span> letters. The analogous cokernel with <span class="SimpleMath">\(\mathbb Z_2\)</span> homology coefficients is also computed.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SymmetricGroup(10);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">H:=AlternatingGroup(7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">f:=GroupHomomorphismByFunction(H,G,x->x);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=GroupHomology(f,3);</span>
MappingByFunction( Pcp-group with orders [ 4, 3 ], Pcp-group with orders 
[ 2, 2, 4, 3 ], function( x ) ... end )
<span class="GAPprompt">gap></span> <span class="GAPinput">AbelianInvariants(Range(F)/Image(F));</span>
[ 2, 2 ]

<span class="GAPprompt">gap></span> <span class="GAPinput">Fmod2:=GroupHomology(f,3,2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">AbelianInvariants(Range(Fmod2)/Image(Fmod2));</span>
[ 2, 2 ]

</pre></div>

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

<h5>7.1-4 <span class="Heading">Some other finite group homology computations</span></h5>

<p>The following example computes the third integral homology of the Weyl group <span class="SimpleMath">\(W=Weyl(E_8)\)</span>, a group of order <span class="SimpleMath">\(696729600\)</span>.</p>

<p><span class="SimpleMath">\(H_3(Weyl(E_8),\mathbb Z) = \mathbb Z_2 \oplus \mathbb Z_2 \oplus \mathbb Z_{12}\)</span></p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:=SimpleLieAlgebra("E",8,Rationals);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">W:=WeylGroup(RootSystem(L));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Order(W);</span>
696729600
<span class="GAPprompt">gap></span> <span class="GAPinput">GroupHomology(W,3);</span>
[ 2, 2, 4, 3 ]

</pre></div>

<p>The preceding calculation could be achieved more quickly by noting that <span class="SimpleMath">\(W=Weyl(E_8)\)</span> is a Coxeter group, and by using the associated Coxeter polytope. The following example uses this approach to compute the fourth integral homology of <span class="SimpleMath">\(W\)</span>. It begins by displaying the Coxeter diagram of <span class="SimpleMath">\(W\)</span>, and then computes</p>

<p><span class="SimpleMath">\(H_4(Weyl(E_8),\mathbb Z) = \mathbb Z_2 \oplus \mathbb Z_2 \oplus Z_2 \oplus \mathbb Z_2\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">D:=[[1,[2,3]],[2,[3,3]],[3,[4,3],[5,3]],[5,[6,3]],[6,[7,3]],[7,[8,3]]];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">CoxeterDiagramDisplay(D);</span>

</pre></div>

<p><img src="images/e8diagram.gif" align="center" height="200" alt="Coxeter diagram for E8"/></p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">polytope:=CoxeterComplex_alt(D,5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=FreeGResolution(polytope,5);</span>
Resolution of length 5 in characteristic 0 for <matrix group with 
8 generators> . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">C:=TensorWithIntegers(R);</span>
Chain complex of length 5 in characteristic 0 . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(C,4);</span>
[ 2, 2, 2, 2 ]

</pre></div>

<p>The following example computes the sixth mod-<span class="SimpleMath">\(2\)</span> homology of the Sylow <span class="SimpleMath">\(2\)</span>-subgroup <span class="SimpleMath">\(Syl_2(M_{24})\)</span> of the Mathieu group <span class="SimpleMath">\(M_{24}\)</span>.</p>

<p><span class="SimpleMath">\(H_6(Syl_2(M_{24}),\mathbb Z_2) = \mathbb Z_2^{143}\)</span></p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">GroupHomology(SylowSubgroup(MathieuGroup(24),2),6,2);</span>
[ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ]

</pre></div>

<p>The following example computes the sixth mod-<span class="SimpleMath">\(2\)</span> homology of the Unitary group <span class="SimpleMath">\(U_3(4)\)</span> of order 312000.</p>

<p><span class="SimpleMath">\(H_6(U_3(4),\mathbb Z_2) = \mathbb Z_2^{4}\)</span></p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=GU(3,4);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Order(G);</span>
312000
<span class="GAPprompt">gap></span> <span class="GAPinput">GroupHomology(G,6,2);</span>
[ 2, 2, 2, 2 ]

</pre></div>

<p>The following example constructs the Poincare series</p>

<p><span class="SimpleMath">\(p(x)=\frac{1}{-x^3+3*x^2-3*x+1}\)</span></p>

<p>for the cohomology <span class="SimpleMath">\(H^\ast(Syl_2(M_{12},\mathbb F_2)\)</span>. The coefficient of <span class="SimpleMath">\(x^n\)</span> in the expansion of <span class="SimpleMath">\(p(x)\)</span> is equal to the dimension of the vector space <span class="SimpleMath">\(H^n(Syl_2(M_{12},\mathbb F_2)\)</span>. The computation involves <strong class="button">Singular</strong>'s Groebner basis algorithms and the Lyndon-Hochschild-Serre spectral sequence.




<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SylowSubgroup(MathieuGroup(12),2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">P:=PoincareSeriesLHS(G);</span>
(1)/(-x_1^3+3*x_1^2-3*x_1+1)

</pre></div>

<p>The additional following command uses the Poincare series</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">RankHomologyPGroup(G,P,1000);</span>
251000

</pre></div>

<p>to determine that <span class="SimpleMath">\(H_{1000}(Syl_2(M_{12},\mathbb Z)\)</span> is a direct sum of 251000 non-trivial cyclic <span class="SimpleMath">\(2\)</span>-groups.</p>

<p>The following example constructs the series</p>

<p><span class="SimpleMath">\(p(x)=\frac{x^4-x^3+x^2-x+1}{x^6-x^5+x^4-2*x^3+x^2-x+1}\)</span></p>

<p>whose coefficient of <span class="SimpleMath">\(x^n\)</span> is equal to the dimension of the vector space <span class="SimpleMath">\(H^n(M_{11},\mathbb F_2)\)</span> for all <span class="SimpleMath">\(n\)</span> in the range <span class="SimpleMath">\(0\le n\le 14\)</span>. The coefficient is not guaranteed correct for <span class="SimpleMath">\(n\ge 15\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">PoincareSeriesPrimePart(MathieuGroup(11),2,14);</span>
(x_1^4-x_1^3+x_1^2-x_1+1)/(x_1^6-x_1^5+x_1^4-2*x_1^3+x_1^2-x_1+1)

</pre></div>

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

<h4>7.2 <span class="Heading">Nilpotent groups</span></h4>

<p>The following example computes</p>

<p><span class="SimpleMath">\(H_4(N,\mathbb Z) = \mathbb (Z_3)^4 \oplus \mathbb Z^{84}\)</span></p>

<p>for the free nilpotent group <span class="SimpleMath">\(N\)</span> of class <span class="SimpleMath">\(2\)</span> on four generators.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=FreeGroup(4);; N:=NilpotentQuotient(F,2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">GroupHomology(N,4);</span>
[ 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]

</pre></div>

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

<h4>7.3 <span class="Heading">Crystallographic and Almost Crystallographic groups</span></h4>

<p>The following example computes</p>

<p><span class="SimpleMath">\(H_5(G,\mathbb Z) = \mathbb Z_2 \oplus \mathbb Z_2\)</span></p>

<p>for the <span class="SimpleMath">\(3\)</span>-dimensional crystallographic space group <span class="SimpleMath">\(G\)</span> with Hermann-Mauguin symbol "P62"</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">GroupHomology(SpaceGroupBBNWZ("P62"),5);</span>
[ 2, 2 ]

</pre></div>

<p>The following example computes</p>

<p><span class="SimpleMath">\(H^5(G,\mathbb Z)= \mathbb Z\)</span></p>

<p>for an almost crystallographic group.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=AlmostCrystallographicPcpGroup( 4, 50, [ 1, -4, 1, 2 ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">GroupCohomology(G,4);</span>
[ 0 ]

</pre></div>

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

<h4>7.4 <span class="Heading">Arithmetic groups</span></h4>

<p>The following example computes</p>

<p><span class="SimpleMath">\(H_6(SL_2({\cal O},\mathbb Z) = \mathbb Z_2 \oplus \mathbb Z_{12}\)</span></p>

<p>for <span class="SimpleMath">\({\cal O}\)</span> the ring of integers of the number field <span class="SimpleMath">\(\mathbb Q(\sqrt{-2})\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=ContractibleGcomplex("SL(2,O-2)");;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=FreeGResolution(C,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(TensorWithIntegers(R),6);</span>
[ 2, 12 ]

</pre></div>

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

<h4>7.5 <span class="Heading">Artin groups</span></h4>

<p>The following example computes</p>

<p><span class="SimpleMath">\(H_n(G,\mathbb Z) =\left\{ \begin{array}{ll} \mathbb Z &n=0,1,7,8\\ \mathbb Z_2, &n=2,3\\ \mathbb Z_2\oplus \mathbb Z_6, &n=4,6\\ \mathbb Z_3 \oplus \mathbb Z_6,& n=5\\ 0, &n>8 \end{array}\right. \)</span></p>

<p>for <span class="SimpleMath">\(G\)</span> the Artin group of type <span class="SimpleMath">\(E_8\)</span>. (Similar commands can be used to compute a resolution and homology of arbitrary Artin monoids and, in thoses cases such as the spherical cases where the <span class="SimpleMath">\(K(\pi,1)\)</span>-conjecture is known to hold, the homology is equal to that of the corresponding Artin group.)</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">D:=[[1,[2,3]],[2,[3,3]],[3,[4,3],[5,3]],[5,[6,3]],[6,[7,3]],[7,[8,3]]];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">CoxeterDiagramDisplay(D);;</span>

</pre></div>

<p><img src="images/e8diagram.gif" align="center" height="200" alt="Coxeter diagram for E8"/></p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionArtinGroup(D,9);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=TensorWithIntegers(R);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">List([0..8],n->Homology(C,n));</span>
[ [ 0 ], [ 0 ], [ 2 ], [ 2 ], [ 2, 6 ], [ 3, 6 ], [ 2, 6 ], [ 0 ], [ 0 ] ]

</pre></div>

<p>The Artin group <span class="SimpleMath">\(G\)</span> projects onto the Coxeter group <span class="SimpleMath">\(W\)</span> of type <span class="SimpleMath">\(E_8\)</span>. The group <span class="SimpleMath">\(W\)</span> has a natural representation as a group of <span class="SimpleMath">\(8\times 8\)</span> integer matrices. This projection gives rise to a representation <span class="SimpleMath">\(\rho\colon G\rightarrow GL_8(\mathbb Z)\)</span>. The following command computes the cohomology group <span class="SimpleMath">\(H^6(G,\rho) = (\mathbb Z_2)^6\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=R!.group;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">gensG:=GeneratorsOfGroup(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">W:=CoxeterDiagramMatCoxeterGroup(D);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">gensW:=GeneratorsOfGroup(W);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">rho:=GroupHomomorphismByImages(G,W,gensG,gensW);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=HomToIntegralModule(R,rho);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Cohomology(C,6);</span>
[ 2, 2, 2, 2, 2, 2 ]

</pre></div>

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

<h4>7.6 <span class="Heading">Graphs of groups</span></h4>

<p>The following example computes</p>

<p><span class="SimpleMath">\(H_5(G,\mathbb Z) = \mathbb Z_2\oplus Z_2\oplus Z_2 \oplus Z_2 \oplus Z_2\)</span></p>

<p>for <span class="SimpleMath">\(G\)</span> the graph of groups corresponding to the amalgamated product <span class="SimpleMath">\(G=S_5*_{S_3}S_4\)</span> of the symmetric groups <span class="SimpleMath">\(S_5\)</span> and <span class="SimpleMath">\(S_4\)</span> over the canonical subgroup <span class="SimpleMath">\(S_3\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S5:=SymmetricGroup(5);SetName(S5,"S5");</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S4:=SymmetricGroup(4);SetName(S4,"S4");</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">A:=SymmetricGroup(3);SetName(A,"S3");</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">AS5:=GroupHomomorphismByFunction(A,S5,x->x);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">AS4:=GroupHomomorphismByFunction(A,S4,x->x);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">D:=[S5,S4,[AS5,AS4]];</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">GraphOfGroupsDisplay(D);</span>

</pre></div>

<p><img src="images/graphgroups.png" align="center" height="100" alt="graph of groups"/></p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionGraphOfGroups(D,6);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(TensorWithIntegers(R),5);</span>
[ 2, 2, 2, 2, 2 ]

</pre></div>

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

<h4>7.7 <span class="Heading">Lie algebra homology and free nilpotent groups</span></h4>

<p>One method of producting a Lie algebra <span class="SimpleMath">\(L\)</span> from a group <span class="SimpleMath">\(G\)</span> is by forming the direct sum <span class="SimpleMath">\(L(G) = G/\gamma_2G \oplus \gamma_2G/\gamma_3G \oplus \gamma_3G/\gamma_4G \oplus \cdots\)</span> of the quotients of the lower central series <span class="SimpleMath">\(\gamma_1G=G\)</span>, <span class="SimpleMath">\(\gamma_{n+1}G=[\gamma_nG,G]\)</span>. Commutation in <span class="SimpleMath">\(G\)</span> induces a Lie bracket <span class="SimpleMath">\(L(G)\times L(G) \rightarrow L(G)\)</span>.</p>

<p>The homology <span class="SimpleMath">\(H_n(L)\)</span> of a Lie algebra (with trivial coefficients) can be calculated as the homology of the Chevalley-Eilenberg chain complex <span class="SimpleMath">\(C_\ast(L)\)</span>. This chain complex is implemented in <strong class="button">HAP</strong> in the cases where the underlying additive group of <span class="SimpleMath">\(L\)</span> is either finitely generated torsion free or finitely generated of prime exponent <span class="SimpleMath">\(p\)</span>. In these two cases the ground ring for the Lie algebra/ Chevalley-Eilenberg complex is taken to be <span class="SimpleMath">\(\mathbb Z\)</span> and <span class="SimpleMath">\(\mathbb Z_p\)</span> respectively.</p>

<p>For example, consider the quotient <span class="SimpleMath">\(G=F/\gamma_8F\)</span> of the free group <span class="SimpleMath">\(F=F(x,y)\)</span> on two generators by eighth term of its lower central series. So <span class="SimpleMath">\(G\)</span> is the <em>free nilpotent group of class 7 on two generators</em>. The following commands compute <span class="SimpleMath">\(H_4(L(G)) = \mathbb Z_2^{77} \oplus \mathbb Z_6^8 \oplus \mathbb Z_{12}^{51} \oplus \mathbb Z_{132}^{11} \oplus \mathbb Z^{2024}\)</span> and show that the fourth homology in this case contains 2-, 3- and 11-torsion. (The commands take an hour or so to complete.)</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=Image(NqEpimorphismNilpotentQuotient(FreeGroup(2),7));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:=LowerCentralSeriesLieAlgebra(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">h:=LieAlgebraHomology(L,4);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Collected(h);</span>
[ [ 0, 2024 ], [ 2, 77 ], [ 6, 8 ], [ 12, 51 ], [ 132, 11 ] ]

</pre></div>

<p>For a free nilpotent group <span class="SimpleMath">\(G\)</span> the additive homology <span class="SimpleMath">\(H_n(L(G))\)</span> of the Lie algebra can be computed more quickly in <strong class="button">HAP</strong> than the integral group homology <span class="SimpleMath">\(H_n(G,\mathbb Z)\)</span>. Clearly there are isomorphisms<span class="SimpleMath">\(H_1(G) \cong H_1(L(G)) \cong G_{ab}\)</span> of abelian groups in homological degree <span class="SimpleMath">\(n=1\)</span>. Hopf's formula can be used to establish an isomorphism \(H_2(G) \cong H_2(L(G))\) also in degree \(n=2\). The following two theorems provide further isomorphisms that allow for the homology of a free nilpotent group to be calculated more efficiently as the homology of the associated Lie algebra.



<p><strong class="button">Theorem 1.</strong> <a href="chapBib_mj.html#biBkuzmin">[KS98]</a> <em>Let <span class="SimpleMath">\(G\)</span> be a finitely generated free nilpotent group of class 2. Then the integral group homology <span class="SimpleMath">\(H_n(G,\mathbb Z)\)</span> is isomorphic to the integral Lie algebra homology <span class="SimpleMath">\(H_n(L(G),\mathbb Z)\)</span> in each degree <span class="SimpleMath">\(n\ge0\)</span>.</em></p>

<p><strong class="button">Theorem 2.</strong> <a href="chapBib_mj.html#biBigusa">[IO01]</a> <em>Let <span class="SimpleMath">\(G\)</span> be a finitely generated free nilpotent group (of any class). Then the integral group homology <span class="SimpleMath">\(H_n(G,\mathbb Z)\)</span> is isomorphic to the integral Lie algebra homology <span class="SimpleMath">\(H_n(L(G),\mathbb Z)\)</span> in degrees <span class="SimpleMath">\(n=0, 1, 2, 3\)</span>.</em></p>

<p>We should remark that experimentation on free nilpotent groups of class <span class="SimpleMath">\(\ge 4\)</span> has not yielded a group for which the isomorphism <span class="SimpleMath">\(H_n(G,\mathbb Z) \cong H_n(L(G),\mathbb G)\)</span> fails. For instance, the isomorphism holds in degree <span class="SimpleMath">\(n=4\)</span> for the free nilpotent group of class 5 on two generators, and for the free nilpotent group of class 2 on four generators:</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=Image(NqEpimorphismNilpotentQuotient(FreeGroup(2),5));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:=LowerCentralSeriesLieAlgebra(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Collected( LieAlgebraHomology(L,4) );</span>
[ [ 0, 85 ], [ 7, 1 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Collected( GroupHomology(G,4) );</span>
[ [ 0, 85 ], [ 7, 1 ] ]

<span class="GAPprompt">gap></span> <span class="GAPinput">G:=Image(NqEpimorphismNilpotentQuotient(FreeGroup(4),2));;  </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:=LowerCentralSeriesLieAlgebra(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Collected( LieAlgebraHomology(L,4) );</span>
[ [ 0, 84 ], [ 3, 4 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Collected( GroupHomology(G,4) );</span>
[ [ 0, 84 ], [ 3, 4 ] ]

</pre></div>

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

<h4>7.8 <span class="Heading">Cohomology with coefficients in a module</span></h4>

<p>There are various ways to represent a <span class="SimpleMath">\(\mathbb ZG\)</span>-module <span class="SimpleMath">\(A\)</span> with action <span class="SimpleMath">\(G\times A \rightarrow A, (g,a)\mapsto \alpha(g,a)\)</span>.</p>

<p>One possibility is to use the data type of a <em><span class="SimpleMath">\(G\)</span>-Outer Group</em> which involves three components: an <span class="SimpleMath">\(ActedGroup\)</span> <span class="SimpleMath">\(A\)</span>; an <span class="SimpleMath">\(Acting Group\)</span> <span class="SimpleMath">\(G\)</span>; a <span class="SimpleMath">\(Mapping\)</span> <span class="SimpleMath">\((g,a)\mapsto \alpha(g,a)\)</span>. The following example uses this data type to compute the cohomology <span class="SimpleMath">\(H^4(G,A) =\mathbb Z_5 \oplus \mathbb Z_{10}\)</span> of the symmetric group <span class="SimpleMath">\(G=S_6\)</span> with coefficients in the integers <span class="SimpleMath">\(A=\mathbb Z\)</span> where odd permutations act non-trivially on <span class="SimpleMath">\(A\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SymmetricGroup(6);;</span>

<span class="GAPprompt">gap></span> <span class="GAPinput">A:=AbelianPcpGroup([0]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">alpha:=function(g,a); return a^SignPerm(g); end;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">A:=GModuleAsGOuterGroup(G,A,alpha);</span>
ZG-module with abelian invariants [ 0 ] and G= SymmetricGroup( [ 1 .. 6 ] )

<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionFiniteGroup(G,5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=HomToGModule(R,A);</span>
G-cocomplex of length 5 . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Cohomology(C,4);</span>
[ 2, 2, 5 ]

</pre></div>

<p>If <span class="SimpleMath">\(A=\mathbb Z^n\)</span> and <span class="SimpleMath">\(G\)</span> acts as</p>

<p><span class="SimpleMath">\(G\times A \rightarrow A, (g, v) \mapsto \rho(g)\, v \)</span></p>

<p>where <span class="SimpleMath">\(\rho\colon G\rightarrow Gl_n(\mathbb Z)\)</span> is a (not necessarily faithful) matrix representation of degree <span class="SimpleMath">\(n\)</span> then we can avoid the use of <span class="SimpleMath">\(G\)</span>-outer groups and use just the homomorphism <span class="SimpleMath">\(\rho\)</span> instead. The following example uses this data type to compute the cohomology</p>

<p><span class="SimpleMath">\(H^6(G,A) =\mathbb Z_2 \)</span></p>

<p>and the homology</p>

<p><span class="SimpleMath">\(H_6(G,A) = 0 \)</span></p>

<p>of the alternating group <span class="SimpleMath">\(G=A_5\)</span> with coefficients in <span class="SimpleMath">\(A=\mathbb Z^5\)</span> where elements of <span class="SimpleMath">\(G\)</span> act on <span class="SimpleMath">\(\mathbb Z^5\)</span> via an irreducible representation.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=AlternatingGroup(5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">rho:=IrreducibleRepresentations(G)[5];</span>
[ (1,2,3,4,5), (3,4,5) ] -> 

  [ [ 0, 0, 1, 0, 0 ], [ -1, -1, 0, 0, 1 ], [ 0, 1, 1, 1, 0 ], 
      [ 1, 0, -1, 0, -1 ], [ -1, -1, 0, -1, 0 ] ], 
  [ [ -1, -1, 0, 0, 1 ], [ 1, 0, -1, 0, -1 ], [ 0, 0, 0, 0, 1 ], 
      [ 0, 0, 1, 0, 0 ], [ 0, 0, 0, 1, 0 ] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionFiniteGroup(G,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=HomToIntegralModule(R,rho);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Cohomology(C,6);</span>
[ 2 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">D:=TensorWithIntegralModule(R,rho);</span>
Chain complex of length 7 in characteristic 0 . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(D,6);</span>
[  ]

</pre></div>

<p>If <span class="SimpleMath">\(V=K^d\)</span> is a vetor space of dimension <span class="SimpleMath">\(d\)</span> over the field <span class="SimpleMath">\(K=GF(p)\)</span> with <span class="SimpleMath">\(p\)</span> a prime and <span class="SimpleMath">\(G\)</span> acts on <span class="SimpleMath">\(V\)</span> via a homomorphism <span class="SimpleMath">\(\rho\colon G\rightarrow GL_d(K)\)</span> then the homology <span class="SimpleMath">\(H^n(G,V)\)</span> can again be computed without the use of G-outer groups. As an example, the following commands compute</p>

<p><span class="SimpleMath">\(H^4(GL(3,2),V) =K^2\)</span></p>

<p>where <span class="SimpleMath">\(K=GF(2)\)</span> and <span class="SimpleMath">\(GL(3,2)\)</span> acts with its natural action on <span class="SimpleMath">\(V=K^3\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=GL(3,2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">rho:=GroupHomomorphismByFunction(G,G,x->x);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionFiniteGroup(G,5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=HomToModPModule(R,rho);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Cohomology(C,4);</span>
2

</pre></div>

<p>It can be computationally difficult to compute resolutions for large finite groups. But the <span class="SimpleMath">\(p\)</span>-primary part of the homology can be computed using resolutions of Sylow <span class="SimpleMath">\(p\)</span>-subgroups. This approach is used in the following example that computes the <span class="SimpleMath">\(2\)</span>-primary part</p>

<p><span class="SimpleMath">\(H_{2}(G,\mathbb Z)_{(2)} = \mathbb Z_2 \oplus \mathbb Z_2\oplus \mathbb Z_2\)</span></p>

<p>of the degree 2 integral homology of the Rubik's cube group \(G\). This group has order \(43252003274489856000\).




<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">gens:= [</span>
<span class="GAPprompt">></span> <span class="GAPinput">   ( 1, 3, 8, 6)( 2, 5, 7, 4)( 9,33,25,17)(10,34,26,18)(11,35,27,19),</span>
<span class="GAPprompt">></span> <span class="GAPinput">   ( 9,11,16,14)(10,13,15,12)( 1,17,41,40)( 4,20,44,37)( 6,22,46,35),</span>
<span class="GAPprompt">></span> <span class="GAPinput">   (17,19,24,22)(18,21,23,20)( 6,25,43,16)( 7,28,42,13)( 8,30,41,11),</span>
<span class="GAPprompt">></span> <span class="GAPinput">   (25,27,32,30)(26,29,31,28)( 3,38,43,19)( 5,36,45,21)( 8,33,48,24),</span>
<span class="GAPprompt">></span> <span class="GAPinput">   (33,35,40,38)(34,37,39,36)( 3, 9,46,32)( 2,12,47,29)( 1,14,48,27),</span>
<span class="GAPprompt">></span> <span class="GAPinput">   (41,43,48,46)(42,45,47,44)(14,22,30,38)(15,23,31,39)(16,24,32,40)</span>
<span class="GAPprompt">></span> <span class="GAPinput"> ];; G:=Group(gens);;P:=SylowSubgroup(G,2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionNormalSeries(BigStepUCS(P,6),3);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">PrimePartDerivedFunctorViaSubgroupChain(G,R,TensorWithIntegers,2);</span>
[ 2, 2, 2 ]

</pre></div>

<p>The same approach is used in the following example that computes the <span class="SimpleMath">\(2\)</span>-primary part</p>

<p><span class="SimpleMath">\(H_{11}(A_7,A)_{(2)} = \mathbb Z_2 \oplus \mathbb Z_2\oplus \mathbb Z_4\)</span></p>

<p>of the degree 11 homology of the alternating group <span class="SimpleMath">\(A_7\)</span> of degree <span class="SimpleMath">\(7\)</span> with coefficients in the module <span class="SimpleMath">\(A=\mathbb Z^7\)</span> on which <span class="SimpleMath">\(A_7\)</span> acts by permuting basis vectors.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=AlternatingGroup(7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">rho:=PermToMatrixGroup(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionFiniteGroup(SylowSubgroup(G,2),12);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=function(X); return TensorWithIntegralModule(X,rho); end;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">PrimePartDerivedFunctorViaSubgroupChain(G,R,F,11);</span>
[ 2, 2, 4 ]

</pre></div>

<p>Similar commands compute</p>

<p><span class="SimpleMath">\(H_{3}(A_{10},A)_{(2)} = \mathbb Z_4\)</span></p>

<p>with coefficient module <span class="SimpleMath">\(A=\mathbb Z^{10}\)</span> on which <span class="SimpleMath">\(A_{10}\)</span> acts by permuting basis vectors.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=AlternatingGroup(10);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">rho:=PermToMatrixGroup(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionFiniteGroup(SylowSubgroup(G,2),4);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=function(X); return TensorWithIntegralModule(X,rho); end;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">PrimePartDerivedFunctorViaSubgroupChain(G,R,F,3);</span>
[ 4 ]

</pre></div>

<p>The following commands compute</p>

<p><span class="SimpleMath">\(H_{100}(GL(3,2),V)= K^{34}\)</span></p>

<p>where <span class="SimpleMath">\(V\)</span> is the vector space of dimension <span class="SimpleMath">\(3\)</span> over <span class="SimpleMath">\(K=GF(2)\)</span> acting via some irreducible representation <span class="SimpleMath">\(\rho\colon GL(3,2) \rightarrow GL(V)\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=GL(3,2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">rho:=IrreducibleRepresentations(G,GF(2))[3];</span>
CompositionMapping( [ (5,7)(6,8), (2,3,5)(4,7,6) ] -> 
[ <an immutable 3x3 matrix over GF2>, <an immutable 3x3 matrix over GF2> ],
 <action isomorphism> )
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=function(X); return TensorWithModPModule(X,rho); end;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S:=ResolutionPrimePowerGroup(SylowSubgroup(G,2),101);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">PrimePartDerivedFunctorViaSubgroupChain(G,S,F,100);</span>
[ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
  2, 2, 2, 2, 2, 2, 2, 2, 2 ]

</pre></div>

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

<h4>7.9 <span class="Heading">Cohomology as a functor of the first variable</span></h4>

<p>Suppose given a group homomorphism <span class="SimpleMath">\(f\colon G_1\rightarrow G_2\)</span> and a <span class="SimpleMath">\(G_2\)</span>-module <span class="SimpleMath">\(A\)</span>. Then <span class="SimpleMath">\(A\)</span> is naturally a <span class="SimpleMath">\(G_1\)</span>-module with action via <span class="SimpleMath">\(f\)</span>, and there is an induced cohomology homomorphism <span class="SimpleMath">\(H^n(f,A)\colon H^n(G_2,A) \rightarrow H^n(G_1,A)\)</span>.</p>

<p>The following example computes this cohomology homomorphism in degree <span class="SimpleMath">\(n=6\)</span> for the inclusion <span class="SimpleMath">\(f\colon A_5 \rightarrow S_5\)</span> and <span class="SimpleMath">\(A=\mathbb Z^5\)</span> with action that permutes the canonical basis. The final commands determine that the kernel of the homomorphism <span class="SimpleMath">\(H^6(f,A)\)</span> is the Klein group of order <span class="SimpleMath">\(4\)</span> and that the cokernel is cyclic of order <span class="SimpleMath">\(6\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G1:=AlternatingGroup(5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G2:=SymmetricGroup(5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">f:=GroupHomomorphismByFunction(G1,G2,x->x);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">pi:=PermToMatrixGroup(G2,5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R1:=ResolutionFiniteGroup(G1,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R2:=ResolutionFiniteGroup(G2,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=EquivariantChainMap(R1,R2,f);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=HomToIntegralModule(F,pi);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">c:=Cohomology(C,6);</span>
[ g1, g2, g3 ] -> [ id, id, g3 ]

<span class="GAPprompt">gap></span> <span class="GAPinput">AbelianInvariants(Kernel(c));</span>
[ 2, 2 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">AbelianInvariants(Range(c)/Image(c));</span>
[ 2, 3 ]

</pre></div>

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

<h4>7.10 <span class="Heading">Cohomology as a functor of the second variable and the long exact coefficient sequence</span></h4>

<p>A short exact sequence of <span class="SimpleMath">\(\mathbb ZG\)</span>-modules <span class="SimpleMath">\(A \rightarrowtail B \twoheadrightarrow C\)</span> induces a long exact sequence of cohomology groups</p>

<p><span class="SimpleMath">\( \rightarrow H^n(G,A) \rightarrow H^n(G,B) \rightarrow H^n(G,C) \rightarrow H^{n+1}(G,A) \rightarrow \)</span> .</p>

<p>Consider the symmetric group <span class="SimpleMath">\(G=S_4\)</span> and the sequence <span class="SimpleMath">\( \mathbb Z_4 \rightarrowtail \mathbb Z_8 \twoheadrightarrow \mathbb Z_2\)</span> of trivial <span class="SimpleMath">\(\mathbb ZG\)</span>-modules. The following commands compute the induced cohomology homomorphism</p>

<p><span class="SimpleMath">\(f\colon H^3(S_4,\mathbb Z_4) \rightarrow H^3(S_4,\mathbb Z_8)\)</span></p>

<p>and determine that the image of this induced homomorphism has order <span class="SimpleMath">\(8\)</span> and that its kernel has order <span class="SimpleMath">\(2\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SymmetricGroup(4);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">x:=(1,2,3,4,5,6,7,8);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">a:=Group(x^2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">b:=Group(x);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ahomb:=GroupHomomorphismByFunction(a,b,y->y);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">A:=TrivialGModuleAsGOuterGroup(G,a);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">B:=TrivialGModuleAsGOuterGroup(G,b);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">phi:=GOuterGroupHomomorphism();;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">phi!.Source:=A;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">phi!.Target:=B;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">phi!.Mapping:=ahomb;;</span>
 
<span class="GAPprompt">gap></span> <span class="GAPinput">Hphi:=CohomologyHomomorphism(phi,3);;</span>

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(ImageOfGOuterGroupHomomorphism(Hphi));</span>
8

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(KernelOfGOuterGroupHomomorphism(Hphi));</span>
2

</pre></div>

<p>The following commands then compute the homomorphism</p>

<p><span class="SimpleMath">\(H^3(S_4,\mathbb Z_8) \rightarrow H^3(S_4,\mathbb Z_2)\)</span></p>

<p>induced by <span class="SimpleMath">\(\mathbb Z_4 \rightarrowtail \mathbb Z_8 \twoheadrightarrow \mathbb Z_2\)</span>, and determine that the kernel of this homomorphsim has order <span class="SimpleMath">\(8\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">bhomc:=NaturalHomomorphismByNormalSubgroup(b,a);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">B:=TrivialGModuleAsGOuterGroup(G,b);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=TrivialGModuleAsGOuterGroup(G,Image(bhomc));</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">psi:=GOuterGroupHomomorphism();</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">psi!.Source:=B;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">psi!.Target:=C;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">psi!.Mapping:=bhomc;</span>

<span class="GAPprompt">gap></span> <span class="GAPinput">Hpsi:=CohomologyHomomorphism(psi,3);</span>

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(KernelOfGOuterGroupHomomorphism(Hpsi));</span>
8

</pre></div>

<p>The following commands then compute the connecting homomorphism</p>

<p><span class="SimpleMath">\(H^2(S_4,\mathbb Z_2) \rightarrow H^3(S_4,\mathbb Z_4)\)</span></p>

<p>and determine that the image of this homomorphism has order <span class="SimpleMath">\(2\)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">delta:=ConnectingCohomologyHomomorphism(psi,2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(ImageOfGOuterGroupHomomorphism(delta));</span>

</pre></div>

<p>Note that the various orders are consistent with exactness of the sequence</p>

<p><span class="SimpleMath">\(H^2(S_4,\mathbb Z_2) \rightarrow H^3(S_4,\mathbb Z_4) \rightarrow H^3(S_4,\mathbb Z_8) \rightarrow H^3(S_4,\mathbb Z_2) \)</span> .</p>

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

<h4>7.11 <span class="Heading">Transfer Homomorphism</span></h4>

<p>Consider the action of the symmetric group <span class="SimpleMath">\(G=S_5\)</span> on <span class="SimpleMath">\(A=\mathbb Z^5\)</span> which permutes the canonical basis. The action restricts to the sylow <span class="SimpleMath">\(2\)</span>-subgroup <span class="SimpleMath">\(P=Syl_2(G)\)</span>. The following commands compute the cohomology transfer homomorphism <span class="SimpleMath">\(t^4\colon H^4(P,A) \rightarrow H^4(S_5,A)\)</span> and determine its kernel and image. The integral homology transfer <span class="SimpleMath">\(t_4\colon H_4(S_5,\mathbb Z) \rightarrow H_5(P,\mathbb Z)\)</span> is also computed.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SymmetricGroup(5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">P:=SylowSubgroup(G,2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionFiniteGroup(G,5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">A:=PermToMatrixGroup(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">tr:=TransferCochainMap(R,P,A);</span>
Cochain Map between complexes of length 5 . 

<span class="GAPprompt">gap></span> <span class="GAPinput">t4:=Cohomology(tr,4);</span>
[ g1, g2, g3, g4 ] -> [ id, g1, g2, g4 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription(Kernel(t4));</span>
"C2 x C2"
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription(Image(t4));</span>
"C4 x C2"

<span class="GAPprompt">gap></span> <span class="GAPinput">tr:=TransferChainMap(R,P);</span>
Chain Map between complexes of length 5 . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(tr,4);</span>
[ g1 ] -> [ g1 ]

</pre></div>

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

<h4>7.12 <span class="Heading">Cohomology rings of finite fundamental groups of 3-manifolds
</span></h4>

<p>A <em>spherical 3-manifold</em> is a 3-manifold arising as the quotient <span class="SimpleMath">\(S^3/\Gamma\)</span> of the 3-sphere <span class="SimpleMath">\(S^3\)</span> by a finite subgroup <span class="SimpleMath">\(\Gamma\)</span> of <span class="SimpleMath">\(SO(4)\)</span> acting freely as rotations. The geometrization conjecture, proved by Grigori Perelman, implies that every closed connected 3-manifold with a finite fundamental group is homeomorphic to a spherical 3-manifold.</p>

<p>A spherical 3-manifold <span class="SimpleMath">\(S^3/\Gamma\)</span> has finite fundamental group isomorphic to <span class="SimpleMath">\(\Gamma\)</span>. This fundamental group is one of:</p>


<ul>
<li><p><span class="SimpleMath">\(\Gamma=C_m=\langle x\ |\ x^m\rangle\)</span> (<strong class="button">cyclic fundamental group</strong>)</p>

</li>
<li><p><span class="SimpleMath">\(\Gamma=C_m\times \langle x,y \ |\ xyx^{-1}=y^{-1}, x^{2^k}=y^n \rangle\)</span> for integers <span class="SimpleMath">\(k, m\ge 1, n\ge 2\)</span> and <span class="SimpleMath">\(m\)</span> coprime to <span class="SimpleMath">\(2n\)</span> (<strong class="button">prism manifold case</strong>)</p>

</li>
<li><p><span class="SimpleMath">\(\Gamma= C_m\times \langle x,y, z \ |\ (xy)^2=x^2=y^2, zxz^{-1}=y, zyz^{-1}=xy, z^{3^k}=1\rangle \)</span> for integers <span class="SimpleMath">\(k,m\ge 1\)</span> and <span class="SimpleMath">\(m\)</span> coprime to 6 (<strong class="button">tetrahedral case</strong>)</p>

</li>
<li><p><span class="SimpleMath">\(\Gamma=C_m\times\langle x,y\ |\ (xy)^2=x^3=y^4\rangle \)</span> for <span class="SimpleMath">\(m\ge 1\)</span> coprime to 6 (<strong class="button">octahedral case</strong>)</p>

</li>
<li><p><span class="SimpleMath">\(\Gamma=C_m\times \langle x,y\ |\ (xy)^2=x^3=y^5\rangle \)</span> for <span class="SimpleMath">\(m\ge 1\)</span> coprime to 30 (<strong class="button">icosahedral case</strong>).</p>

</li>
</ul>
<p>This list of cases is taken from the <span class="URL"><a href="https://en.wikipedia.org/wiki/Spherical_3-manifold">Wikipedia pages</a></span>. The group <span class="SimpleMath">\(\Gamma\)</span> has periodic cohomology since it acts on a sphere. The cyclic group has period 2 and in the other four cases it has period 4. (Recall that in general a finite group <span class="SimpleMath">\(G\)</span> has <em>periodic cohomology of period <span class="SimpleMath">\(n\)</span></em> if there is an element <span class="SimpleMath">\(u\in H^n(G,\mathbb Z)\)</span> such that the cup product <span class="SimpleMath">\(-\ \cup u\colon H^k(G,\mathbb Z) \rightarrow H^{k+n}(G,\mathbb Z)\)</span> is an isomorphism for all <span class="SimpleMath">\(k\ge 1\)</span>. It can be shown that <span class="SimpleMath">\(G\)</span> has periodic cohomology of period <span class="SimpleMath">\(n\)</span> if and only if <span class="SimpleMath">\(H^{n}(G,\mathbb Z)=\mathbb Z_{|G|}\)</span>.)</p>

<p>The cohomology of the cyclic group is well-known, and the cohomology of a direct product can be obtained from that of the factors using the Kunneth formula.</p>

<p>In the icosahedral case with <span class="SimpleMath">\(m=1\)</span> the following commands yield $$H^\ast(\Gamma,\mathbb Z)=Z[t]/(120t=0)$$ with generator <span class="SimpleMath">\(t\)</span> of degree 4. The final command demonstrates that a periodic resolution is used in the computation.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=FreeGroup(2);;x:=F.1;;y:=F.2;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=F/[(x*y)^2*x^-3, x^3*y^-5];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Order(G);</span>
120
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionSmallGroup(G,5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=0;;Cohomology(HomToIntegers(R),n);</span>
[ 0 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=1;;Cohomology(HomToIntegers(R),n);</span>
[  ]
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=2;;Cohomology(HomToIntegers(R),n);</span>
[  ]
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=3;;Cohomology(HomToIntegers(R),n);</span>
[  ]
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=4;;Cohomology(HomToIntegers(R),n);</span>
[ 120 ]

<span class="GAPprompt">gap></span> <span class="GAPinput">List([0..5],k->R!.dimension(k));</span>
[ 1, 2, 2, 1, 1, 2 ]

</pre></div>

<p>In the octahedral case with <span class="SimpleMath">\(m=1\)</span> we obtain $$H^\ast(\Gamma,\mathbb Z) = \mathbb Z[s,t]/(s^2=24t, 2s=0, 48t=0)$$ where <span class="SimpleMath">\(s\)</span> has degree 2 and <span class="SimpleMath">\(t\)</span> has degree 4, from the following commands.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=FreeGroup(2);;x:=F.1;;y:=F.2;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=F/[(x*y)^2*x^-3, x^3*y^-4];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Order(G);</span>
48
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionFiniteGroup(G,5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=0;;Cohomology(HomToIntegers(R),n);</span>
[ 0 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=1;;Cohomology(HomToIntegers(R),n);</span>
[  ]
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=2;;Cohomology(HomToIntegers(R),n);</span>
[ 2 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=3;;Cohomology(HomToIntegers(R),n);</span>
[  ]
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=4;;Cohomology(HomToIntegers(R),n);</span>
[ 48 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IntegralCupProduct(R,[1],[1],2,2);</span>
[ 24 ]

</pre></div>

<p>In the tetrahedral case with <span class="SimpleMath">\(m=1\)</span> we obtain $$H^\ast(\Gamma,\mathbb Z) = \mathbb Z[s,t]/(s^2=16t, 3s=0, 24t=0)$$ where <span class="SimpleMath">\(s\)</span> has degree 2 and <span class="SimpleMath">\(t\)</span> has degree 4, from the following commands.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=FreeGroup(3);;x:=F.1;;y:=F.2;;z:=F.3;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=F/[(x*y)^2*x^-2, x^2*y^-2, z*x*z^-1*y^-1, z*y*z^-1*y^-1*x^-1,z^3];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Order(G);</span>
24
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionFiniteGroup(G,5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=1;;Cohomology(HomToIntegers(R),n);</span>
[  ]
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=2;;Cohomology(HomToIntegers(R),n);</span>
[ 3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=3;;Cohomology(HomToIntegers(R),n);</span>
[  ]
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=4;;Cohomology(HomToIntegers(R),n);</span>
[ 24 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IntegralCupProduct(R,[1],[1],2,2);</span>
[ 16 ]

</pre></div>

<p>A theoretical calculation of the integral and mod-p cohomology rings of all of these fundamental groups of spherical 3-manifolds is given in <a href="chapBib_mj.html#biBtomoda">[TZ08]</a>.</p>

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

<h4>7.13 <span class="Heading">Explicit cocycles </span></h4>

<p>Given a <span class="SimpleMath">\(\mathbb ZG\)</span>-resolution <span class="SimpleMath">\(R_\ast\)</span> and a <span class="SimpleMath">\(\mathbb ZG\)</span>-module <span class="SimpleMath">\(A\)</span>, one defines an <em><span class="SimpleMath">\(n\)</span>-cocycle</em> to be a <span class="SimpleMath">\(\mathbb ZG\)</span>-homomorphism <span class="SimpleMath">\(f\colon R_n \rightarrow A\)</span> for which the composite homomorphism <span class="SimpleMath">\(fd_{n+1}\colon R_{n+1}\rightarrow A\)</span> is zero. If <span class="SimpleMath">\(R_\ast\)</span> happens to be the standard bar resolution (i.e. the cellular chain complex of the nerve of the group <span class="SimpleMath">\(G\)</span> considered as a one object category) then the free <span class="SimpleMath">\(\mathbb ZG\)</span>-generators of <span class="SimpleMath">\(R_n\)</span> are indexed by <span class="SimpleMath">\(n\)</span>-tuples <span class="SimpleMath">\((g_1 | g_2 | \ldots | g_n)\)</span> of elements <span class="SimpleMath">\(g_i\)</span> in <span class="SimpleMath">\(G\)</span>. In this case we say that the <span class="SimpleMath">\(n\)</span>-cocycle is a <em>standard n-cocycle</em> and we think of it as a set-theoretic function</p>

<p><span class="SimpleMath">\(f \colon G \times G \times \cdots \times G \longrightarrow A\)</span></p>

<p>satisfying a certain algebraic cocycle condition. Bearing in mind that a standard <span class="SimpleMath">\(n\)</span>-cocycle really just assigns an element <span class="SimpleMath">\(f(g_1, \ldots ,g_n) \in A\)</span> to an <span class="SimpleMath">\(n\)</span>-simplex in the nerve of <span class="SimpleMath">\(G\)</span> , the cocycle condition is a very natural one which states that <em><span class="SimpleMath">\(f\)</span> must vanish on the boundary of a certain <span class="SimpleMath">\((n+1)\)</span>-simplex</em>. For <span class="SimpleMath">\(n=2\)</span> the condition is that a <span class="SimpleMath">\(2\)</span>-cocycle <span class="SimpleMath">\(f(g_1,g_2)\)</span> must satisfy</p>

<p><span class="SimpleMath">\(g.f(h,k) + f(g,hk) = f(gh,k) + f(g,h)\)</span></p>

<p>for all <span class="SimpleMath">\(g,h,k \in G\)</span>. This equation is explained by the following picture.</p>

<p><img src="images/cocycle.png" align="center" height="200" alt="2-cocycle equation"/></p>

<p>The definition of a cocycle clearly depends on the choice of <span class="SimpleMath">\(\mathbb ZG\)</span>-resolution <span class="SimpleMath">\(R_\ast\)</span>. However, the cohomology group <span class="SimpleMath">\(H^n(G,A)\)</span>, which is a group of equivalence classes of <span class="SimpleMath">\(n\)</span>-cocycles, is independent of the choice of <span class="SimpleMath">\(R_\ast\)</span>.</p>

<p>There are some occasions when one needs explicit examples of standard cocycles. For instance:</p>


<ul>
<li><p>Let <span class="SimpleMath">\(G\)</span> be a finite group and <span class="SimpleMath">\(k\)</span> a field of characteristic <span class="SimpleMath">\(0\)</span>. The group algebra <span class="SimpleMath">\(k(G)\)</span>, and the algebra <span class="SimpleMath">\(F(G)\)</span> of functions <span class="SimpleMath">\(d_g\colon G\rightarrow k, h\rightarrow d_{g,h}\)</span>, are both Hopf algebras. The tensor product <span class="SimpleMath">\(F(G) \otimes k(G)\)</span> also admits a Hopf algebra structure known as the quantum double <span class="SimpleMath">\(D(G)\)</span>. A twisted quantum double <span class="SimpleMath">\(D_f(G)\)</span> was introduced by R. Dijkraaf, V. Pasquier & P. Roche <a href="chapBib_mj.html#biBdpr">[DPR91]</a>. The twisted double is a quasi-Hopf algebra depending on a <span class="SimpleMath">\(3\)</span>-cocycle <span class="SimpleMath">\(f\colon G\times G\times G\rightarrow k\)</span>. The multiplication is given by <span class="SimpleMath">\((d_g \otimes x)(d_h \otimes y) = d_{gx,xh}\beta_g(x,y)(d_g \otimes xy)\)</span> where <span class="SimpleMath">\(\beta_a \)</span> is defined by <span class="SimpleMath">\(\beta_a(h,g) = f(a,h,g) f(h,h^{-1}ah,g)^{-1} f(h,g,(hg)^{-1}ahg)\)</span> . Although the algebraic structure of <span class="SimpleMath">\(D_f(G)\)</span> depends very much on the particular <span class="SimpleMath">\(3\)</span>-cocycle <span class="SimpleMath">\(f\)</span>, representation-theoretic properties of <span class="SimpleMath">\(D_f(G)\)</span> depend only on the cohomology class of <span class="SimpleMath">\(f\)</span>.</p>

</li>
<li><p>An explicit <span class="SimpleMath">\(2\)</span>-cocycle <span class="SimpleMath">\(f\colon G\times G\rightarrow A\)</span> is needed to construct the multiplication <span class="SimpleMath">\((a,g)(a',g') = (a + g\cdot a' + f(g,g'), gg')\) in the extension a group \(G\) by a \(\mathbb ZG\)-module \(A\) determined by the cohomology class of \(f\) in \(H^2(G,A)\). See 6.7.



</li>
--> --------------------

--> maximum size reached

--> --------------------

100%


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