|
|
|
|
Quelle chap12.html
Sprache: HTML
|
|
| products/Sources/formale Sprachen/GAP/pkg/hap/tutorial/chap12.html |
 |
<?xml version= "1.0" encoding= "UTF-8"?>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns= "http://www.w3.org/1999/xhtml" xml:lang= "en">
< head>
< title>GAP (HAP commands) - Chapter 12: Simplicial groups</ 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= "chap12" onload= "jscontent()">
< div class= "chlinktop">< span class= "chlink1">Goto Chapter: </ span>< a href= "chap0.html">Top</ a> < a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chap10.html">10</a> <a href="chap11.html">11</a> <a href="chap12.html">12</a> <a href="chap13.html">13</a> <a href="chap14.html">14</a> <a href="chap15.html">15</a> <a href="chap16.html">16</a> <a href="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="chap11.html">[Previous Chapter]</a> <a href="chap13.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap12_mj.html">[MathJax on]</a></p>
<p><a id="X7D818E5F80F4CF63" name="X7D818E5F80F4CF63"></a></p>
<div class="ChapSects"><a href="chap12.html#X7D818E5F80F4CF63">12 <span class="Heading">Simplicial groups</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap12.html#X808C6B357F8BADC1">12.1 <span class="Heading">Crossed modules</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap12.html#X795E339978B42775">12.2 <span class="Heading">Eilenberg-MacLane spaces as simplicial groups (not recommended)</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap12.html#X7D91E64D7DD7F10F">12.3 <span class="Heading">Eilenberg-MacLane spaces as simplicial free abelian groups (recommended)</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap12.html#X84ABCA497C577132">12.4 <span class="Heading">Elementary theoretical information on
<span class="SimpleMath">H^∗(K(π,n), Z)</span></span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap12.html#X7F828D8D8463CC20">12.5 <span class="Heading">The first three non-trivial homotopy groups of spheres</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap12.html#X81E2F80384ADF8C2">12.6 <span class="Heading">The first two non-trivial homotopy groups of the suspension and double suspension of a <span class="SimpleMath">K(G,1)</span></span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap12.html#X83EAC40A8324571F">12.7 <span class="Heading">Postnikov towers and <span class="SimpleMath">π_5(S^3)</span> </span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap12.html#X8227000D83B9A17F">12.8 <span class="Heading">Towards <span class="SimpleMath">π_4(Σ K(G,1))</span> </span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap12.html#X7F5E6C067B2AE17A">12.9 <span class="Heading">Enumerating homotopy 2-types</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap12.html#X7D99B7AA780D8209">12.10 <span class="Heading">Identifying cat<span class="SimpleMath">^1</span>-groups of low order</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap12.html#X7F386CF078CB9A20">12.11 <span class="Heading">Identifying crossed modules of low order</span></a>
</span>
</div>
</div>
<h3>12 <span class="Heading">Simplicial groups</span></h3>
<p><a id="X808C6B357F8BADC1" name="X808C6B357F8BADC1"></a></p>
<h4>12.1 <span class="Heading">Crossed modules</span></h4>
<p>A <em>crossed module</em> consists of a homomorphism of groups <span class="SimpleMath">∂: M→ G</span> together with an action <span class="SimpleMath">(g,m)↦ ^gm</span> of <span class="SimpleMath">G</span> on <span class="SimpleMath">M</span> satisfying</p>
<ol>
<li><p><span class="SimpleMath">∂(^gm) = gmg^-1</span></p>
</li>
<li><p><span class="SimpleMath">^∂ mm' = mm'm^-1</span></p>
</li>
</ol>
<p>for <span class="SimpleMath">g∈ G</span>, <span class="SimpleMath">m,m'∈ M</span>.</p>
<p>A crossed module <span class="SimpleMath">∂: M→ G</span> is equivalent to a cat<span class="SimpleMath">^1</span>-group <span class="SimpleMath">(H,s,t)</span> (see <a href="chap6.html#X78040D8580D35D53"><span class="RefLink">6.11</span></a>) where <span class="SimpleMath">H=M ⋊ G</span>, <span class="SimpleMath">s(m,g) = (1,g)</span>, <span class="SimpleMath">t(m,g)=(1,(∂ m)g)</span>. A cat<span class="SimpleMath">^1</span>-group is, in turn, equivalent to a simplicial group with Moore complex has length <span class="SimpleMath">1</span>. The simplicial group is constructed by considering the cat<span class="SimpleMath">^1</span>-group as a category and taking its nerve. Alternatively, the simplicial group can be constructed by viewing the crossed module as a crossed complex and using a nonabelian version of the Dold-Kan theorem.</p>
<p>The following example concerns the crossed module</p>
<p><span class="SimpleMath">∂: G→ Aut(G), g↦ (x↦ gxg^-1)</span></p>
<p>associated to the dihedral group <span class="SimpleMath">G</span> of order <span class="SimpleMath">16</span>. This crossed module represents, up to homotopy type, a connected space <span class="SimpleMath">X</span> with <span class="SimpleMath">π_iX=0</span> for <span class="SimpleMath">i≥ 3</span>, <span class="SimpleMath">π_2X=Z(G)</span>, <span class="SimpleMath">π_1X = Aut(G)/Inn(G)</span>. The space <span class="SimpleMath">X</span> can be represented, up to homotopy, by a simplicial group. That simplicial group is used in the example to compute</p>
<p><span class="SimpleMath">H_1(X, Z)= Z_2 ⊕ Z_2</span>,</p>
<p><span class="SimpleMath">H_2(X, Z)= Z_2</span>,</p>
<p><span class="SimpleMath">H_3(X, Z)= Z_2 ⊕ Z_2 ⊕ Z_2</span>,</p>
<p><span class="SimpleMath">H_4(X, Z)= Z_2 ⊕ Z_2 ⊕ Z_2</span>,</p>
<p><span class="SimpleMath">H_5(X, Z)= Z_2 ⊕ Z_2 ⊕ Z_2 ⊕ Z_2⊕ Z_2⊕ Z_2</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=AutomorphismGroupAsCatOneGroup(DihedralGroup(16));</span>
Cat-1-group with underlying group Group(
[ f1, f2, f3, f4, f5, f6, f7, f8, f9 ] ) .
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(C);</span>
512
<span class="GAPprompt">gap></span> <span class="GAPinput">Q:=QuasiIsomorph(C);</span>
Cat-1-group with underlying group Group( [ f9, f8, f1, f2*f3, f5 ] ) .
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(Q);</span>
32
<span class="GAPprompt">gap></span> <span class="GAPinput">N:=NerveOfCatOneGroup(Q,6);</span>
Simplicial group of length 6
<span class="GAPprompt">gap></span> <span class="GAPinput">K:=ChainComplexOfSimplicialGroup(N);</span>
Chain complex of length 6 in characteristic 0 .
<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(K,1);</span>
[ 2, 2 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(K,2);</span>
[ 2 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(K,3);</span>
[ 2, 2, 2 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(K,4);</span>
[ 2, 2, 2 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(K,5);</span>
[ 2, 2, 2, 2, 2, 2 ]
</pre></div>
<p><a id="X795E339978B42775" name="X795E339978B42775"></a></p>
<h4>12.2 <span class="Heading">Eilenberg-MacLane spaces as simplicial groups (not recommended)</span></h4>
<p>The following example concerns the Eilenberg-MacLane space <span class="SimpleMath">X=K( Z_3,3)</span> which is a path-connected space with <span class="SimpleMath">π_3X= Z_3</span>, <span class="SimpleMath">π_iX=0</span> for <span class="SimpleMath">3ne i≥ 1</span>. This space is represented by a simplicial group, and perturbation techniques are used to compute</p>
<p><span class="SimpleMath">H_7(X, Z)= Z_3 ⊕ Z_3</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">A:=AbelianGroup([3]);;AbelianInvariants(A); </span>
[ 3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput"> K:=EilenbergMacLaneSimplicialGroup(A,3,8);</span>
Simplicial group of length 8
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=ChainComplex(K);</span>
Chain complex of length 8 in characteristic 0 .
<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(C,7); </span>
[ 3, 3 ]
</pre></div>
<p><a id="X7D91E64D7DD7F10F" name="X7D91E64D7DD7F10F"></a></p>
<h4>12.3 <span class="Heading">Eilenberg-MacLane spaces as simplicial free abelian groups (recommended)</span></h4>
<p>For integer <span class="SimpleMath">n>1</span> and abelian group <span class="SimpleMath">A</span> the Eilenberg-MacLane space <span class="SimpleMath">K(A,n)</span> is better represented as a simplicial free abelian group. (The reason is that the functorial bar resolution of a group can be replaced in computations by the smaller functorial Chevalley-Eilenberg complex of the group when the group is free abelian, obviating the need for perturbation techniques. When <span class="SimpleMath">A</span> has torision we can replace it with an inclusion of free abelian groups <span class="SimpleMath">A_1 ↪ A_0</span> with <span class="SimpleMath">A≅ A_0/A_1</span> and again invoke the Chevalley-Eilenberg complex. The current implementation unfortunately handles only free abelian <span class="SimpleMath">A</span> but the easy extension to non-free <span class="SimpleMath">A</span> is planned for a future release.)</p>
<p>The following commands compute the integral homology <span class="SimpleMath">H_n(K( Z,3), Z)</span> for <span class="SimpleMath">0≤ n ≤ 16</span>. (Note that one typically needs fewer than <span class="SimpleMath">n</span> terms of the Eilenberg-MacLance space to compute its <span class="SimpleMath">n</span>-th homology -- an error is printed if too few terms of the space are available for a given computation.)</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">A:=AbelianPcpGroup([0]);; #infinite cyclic group </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">K:=EilenbergMacLaneSimplicialFreeAbelianGroup(A,3,14);</span>
Simplicial free abelian group of length 14
<span class="GAPprompt">gap></span> <span class="GAPinput">for n in [0..16] do</span>
<span class="GAPprompt">></span> <span class="GAPinput">Print("Degree ",n," integral homology of K is ",Homology(K,n),"\n");</span>
<span class="GAPprompt">></span> <span class="GAPinput">od;</span>
Degree 0 integral homology of K is [ 0 ]
Degree 1 integral homology of K is [ ]
Degree 2 integral homology of K is [ ]
Degree 3 integral homology of K is [ 0 ]
Degree 4 integral homology of K is [ ]
Degree 5 integral homology of K is [ 2 ]
Degree 6 integral homology of K is [ ]
Degree 7 integral homology of K is [ 3 ]
Degree 8 integral homology of K is [ 2 ]
Degree 9 integral homology of K is [ 2 ]
Degree 10 integral homology of K is [ 3 ]
Degree 11 integral homology of K is [ 5, 2 ]
Degree 12 integral homology of K is [ 2 ]
Degree 13 integral homology of K is [ ]
Degree 14 integral homology of K is [ 10, 2 ]
Degree 15 integral homology of K is [ 7, 6 ]
Degree 16 integral homology of K is [ ]
</pre></div>
<p>For an <span class="SimpleMath">n</span>-connected pointed space <span class="SimpleMath">X</span> the Freudenthal Suspension Theorem states that the map <span class="SimpleMath">X → Ω(Σ X)</span> induces a map <span class="SimpleMath">π_k(X) → π_k(Ω(Σ X))</span> which is an isomorphism for <span class="SimpleMath">k≤ 2n</span> and epimorphism for <span class="SimpleMath">k=2n+1</span>. Thus the Eilenberg-MacLane space <span class="SimpleMath">K(A,n+1)</span> can be constructed from the suspension <span class="SimpleMath">Σ K(A,n)</span> by attaching cells in dimensions <span class="SimpleMath">≥ 2n+1</span>. In particular, there is an isomorphism <span class="SimpleMath">H_k-1(K(A,n), Z) → H_k(K(A,n+1), Z)</span> for <span class="SimpleMath">k≤ 2n</span> and epimorphism for <span class="SimpleMath">k=2n+1</span>.</p>
<p>For instance, <span class="SimpleMath">H_k-1(K( Z,3), Z) ≅ H_k(K( Z,4), Z)</span> for <span class="SimpleMath">k≤ 6</span> and <span class="SimpleMath">H_6(K( Z,3), Z) ↠ H_7(K( Z,4), Z)</span>. This assertion is seen in the following session.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">A:=AbelianPcpGroup([0]);; #infinite cyclic group </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">K:=EilenbergMacLaneSimplicialFreeAbelianGroup(A,4,11);</span>
Simplicial free abelian group of length 11
<span class="GAPprompt">gap></span> <span class="GAPinput">for n in [0..13] do</span>
<span class="GAPprompt">></span> <span class="GAPinput">Print("Degree ",n," integral homology of K is ",Homology(K,n),"\n");</span>
<span class="GAPprompt">></span> <span class="GAPinput">od;</span>
Degree 0 integral homology of K is [ 0 ]
Degree 1 integral homology of K is [ ]
Degree 2 integral homology of K is [ ]
Degree 3 integral homology of K is [ ]
Degree 4 integral homology of K is [ 0 ]
Degree 5 integral homology of K is [ ]
Degree 6 integral homology of K is [ 2 ]
Degree 7 integral homology of K is [ ]
Degree 8 integral homology of K is [ 3, 0 ]
Degree 9 integral homology of K is [ ]
Degree 10 integral homology of K is [ 2, 2 ]
Degree 11 integral homology of K is [ ]
Degree 12 integral homology of K is [ 5, 12, 0 ]
Degree 13 integral homology of K is [ 2 ]
</pre></div>
<p><a id="X84ABCA497C577132" name="X84ABCA497C577132"></a></p>
<h4>12.4 <span class="Heading">Elementary theoretical information on
<span class="SimpleMath">H^∗(K(π,n), Z)</span></span></h4>
<p>The cup product is not implemented for the cohomology ring <span class="SimpleMath">H^∗(K(π,n), Z)</span>. Standard theoretical spectral sequence arguments have to be applied to obtain basic information relating to the ring structure. To illustrate this the following commands compute <span class="SimpleMath">H^n(K( Z,2), Z)</span> for the first few values of <span class="SimpleMath">n</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">K:=EilenbergMacLaneSimplicialFreeAbelianGroup(A,2,10);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">List([0..10],k->Cohomology(K,k));</span>
[ [ 0 ], [ ], [ 0 ], [ ], [ 0 ], [ ], [ 0 ], [ ], [ 0 ], [ ], [ 0 ] ]
</pre></div>
<p>There is a fibration sequence <span class="SimpleMath">K(π,n) ↪ ∗ ↠ K(π,n+1)</span> in which <span class="SimpleMath">∗</span> denotes a contractible space. For <span class="SimpleMath">n=1, π= Z</span> the terms of the <span class="SimpleMath">E_2</span> page of the Serre integral cohomology spectral sequence for this fibration are</p>
<ul>
<li><p><span class="SimpleMath">E_2^pq= H^p( K( Z,2), H^q(K( Z,1), Z) )</span> .</p>
</li>
</ul>
<p>Since <span class="SimpleMath">K( Z,1)</span> can be taken to be the circle <span class="SimpleMath">S^1</span> we know that it has non-trivial cohomology in degrees <span class="SimpleMath">0</span> and <span class="SimpleMath">1</span> only. The first few terms of the <span class="SimpleMath">E_2</span> page are given in the following table.</p>
<div class="pcenter"><table class="GAPDocTable">
<caption class="GAPDocTable"><b>Table: </b><span class="SimpleMath">E^2</span> cohomology page for <span class="SimpleMath">K( Z,1) ↪ ∗ ↠ K( Z,2)</span></caption>
<tr>
<td class="tdleft"><span class="SimpleMath">1</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">q/p</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">1</span></td>
<td class="tdleft"><span class="SimpleMath">2</span></td>
<td class="tdleft"><span class="SimpleMath">3</span></td>
<td class="tdleft"><span class="SimpleMath">4</span></td>
<td class="tdleft"><span class="SimpleMath">5</span></td>
<td class="tdleft"><span class="SimpleMath">6</span></td>
<td class="tdleft"><span class="SimpleMath">7</span></td>
<td class="tdleft"><span class="SimpleMath">8</span></td>
<td class="tdleft"><span class="SimpleMath">9</span></td>
<td class="tdleft"><span class="SimpleMath">10</span></td>
</tr>
</table><br />
</div>
<p>Let <span class="SimpleMath">x</span> denote the generator of <span class="SimpleMath">H^1(K( Z,1), Z)</span> and <span class="SimpleMath">y</span> denote the generator of <span class="SimpleMath">H^2(K( Z,2), Z)</span>. Since <span class="SimpleMath">∗</span> has zero cohomology in degrees <span class="SimpleMath">≥ 1</span> we see that the differential must restrict to an isomorphism <span class="SimpleMath">d_2: E_2^0,1 → E_2^2,0</span> with <span class="SimpleMath">d_2(x)=y</span>. Then we see that the differential must restrict to an isomorphism <span class="SimpleMath">d_2: E_2^2,1 → E_2^4,0</span> defined on the generator <span class="SimpleMath">xy</span> of <span class="SimpleMath">E_2^2,1</span> by</p>
<p class="pcenter">d_2(xy) = d_2(x)y + (-1)^{{\rm deg}(x)}xd_2(y) =y^2\ . </p>
<p>Hence <span class="SimpleMath">E_2^4,0 ≅ H^4(K( Z,2), Z)</span> is generated by <span class="SimpleMath">y^2</span>. The argument extends to show that <span class="SimpleMath">H^6(K( Z,2), Z)</span> is generated by <span class="SimpleMath">y^3</span>, <span class="SimpleMath">H^8(K( Z,2), Z)</span> is generated by <span class="SimpleMath">y^4</span>, and so on.</p>
<p>In fact, to obtain a complete description of the ring <span class="SimpleMath">H^∗(K( Z,2), Z)</span> in this fashion there is no benefit to using computer methods at all. We only need to know the cohomology ring <span class="SimpleMath">H^∗(K( Z,1), Z) =H^∗(S^1, Z)</span> and the single cohomology group <span class="SimpleMath">H^2(K( Z,2), Z)</span>.</p>
<p>A similar approach can be attempted for <span class="SimpleMath">H^∗(K( Z,3), Z)</span> using the fibration sequence <span class="SimpleMath">K( Z,2) ↪ ∗ ↠ K( Z,3)</span> and, as explained in Chapter 5 of <a href="chapBib.html#biBhatcher">[Hat01]</a>, yields the computation of the group <span class="SimpleMath">H^i(K( Z,3), Z)</span> for <span class="SimpleMath">4≤ i≤ 13</span>. The method does not directly yield <span class="SimpleMath">H^3(K( Z,3), Z)</span> and breaks down in degree <span class="SimpleMath">14</span> yielding only that <span class="SimpleMath">H^14(K( Z,3), Z) = 0 ~or~ Z_3</span>. The following commands provide <span class="SimpleMath">H^3(K( Z,3), Z)= Z</span> and <span class="SimpleMath">H^14(K( Z,3), Z) =0</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">A:=AbelianPcpGroup([0]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">K:=EilenbergMacLaneSimplicialFreeAbelianGroup(A,3,15);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Cohomology(K,3);</span>
[ 0 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Cohomology(K,14);</span>
[ ]
</pre></div>
<p>However, the implementation of these commands is currently a bit naive, and computationally inefficient, since they do not currently employ any homological perturbation techniques.</p>
<p><a id="X7F828D8D8463CC20" name="X7F828D8D8463CC20"></a></p>
<h4>12.5 <span class="Heading">The first three non-trivial homotopy groups of spheres</span></h4>
<p>The Hurewicz Theorem immediately gives</p>
<p class="pcenter">\pi_n(S^n)\cong \mathbb Z ~~~ (n\ge 1)</p>
<p>and</p>
<p class="pcenter">\pi_k(S^n)=0 ~~~ (k\le n-1).</p>
<p>As a CW-complex the Eilenberg-MacLane space <span class="SimpleMath">K=K( Z,n)</span> can be obtained from an <span class="SimpleMath">n</span>-sphere <span class="SimpleMath">S^n=e^0∪ e^n</span> by attaching cells in dimensions <span class="SimpleMath">≥ n+2</span> so as to kill the higher homotopy groups of <span class="SimpleMath">S^n</span>. From the inclusion <span class="SimpleMath">ι: S^n↪ K( Z,n)</span> we can form the mapping cone <span class="SimpleMath">X=C(ι)</span>. The long exact homotopy sequence</p>
<p><span class="SimpleMath">⋯ → π_k+1K → π_k+1(K,S^n) → π_k S^n → π_kK → π_k(K,S^n) → ⋯</span></p>
<p>implies that <span class="SimpleMath">π_k(K,S^n)=0</span> for <span class="SimpleMath">0 ≤ k≤ n+1</span> and <span class="SimpleMath">π_n+2(K,S^n)≅ π_n+1(S^n)</span>. The relative Hurewicz Theorem gives an isomorphism <span class="SimpleMath">π_n+2(K,S^n) ≅ H_n+2(K,S^n, Z)</span>. The long exact homology sequence</p>
<p><span class="SimpleMath">⋯ H_n+2(S^n, Z) → H_n+2(K, Z) → H_n+2(K,S^n, Z) → H_n+1(S^n, Z) → ⋯</span></p>
<p>arising from the cofibration <span class="SimpleMath">S^n ↪ K ↠ X</span> implies that <span class="SimpleMath">π_n+1(S^n)≅ π_n+2(K,S^n) ≅ H_n+2(K,S^n, Z) ≅ H_n+2(K, Z)</span>. From the <strong class="button">GAP</strong> computations in <a href="chap12.html#X7D91E64D7DD7F10F"><span class="RefLink">12.3</span></a> and the Freudenthal Suspension Theorem we find:</p>
<p class="pcenter"> \pi_3S^2 \cong \mathbb Z, ~~~~~~ \pi_{n+1}(S^n)\cong \mathbb Z_2~~~(n\ge 3).</p>
<p>The Hopf fibration <span class="SimpleMath">S^3→ S^2</span> has fibre <span class="SimpleMath">S^1 = K( Z,1)</span>. It can be constructed by viewing <span class="SimpleMath">S^3</span> as all pairs <span class="SimpleMath">(z_1,z_2)∈ C^2</span> with <span class="SimpleMath">|z_1|^2+|z_2|^2=1</span> and viewing <span class="SimpleMath">S^2</span> as <span class="SimpleMath">C∪ ∞</span>; the map sends <span class="SimpleMath">(z_1,z_2)↦ z_1/z_2</span>. The homotopy exact sequence of the Hopf fibration yields <span class="SimpleMath">π_k(S^3) ≅ π_k(S^2)</span> for <span class="SimpleMath">k≥ 3</span>, and in particular</p>
<p class="pcenter">\pi_4(S^2) \cong \pi_4(S^3) \cong \mathbb Z_2\ .</p>
<p>It will require further techniques (such as the Postnikov tower argument in Section <a href="chap12.html#X83EAC40A8324571F"><span class="RefLink">12.7</span></a> below) to establish that <span class="SimpleMath">π_5(S^3) ≅ Z_2</span>. Once we have this isomorphism for <span class="SimpleMath">π_5(S^3)</span>, the generalized Hopf fibration <span class="SimpleMath">S^3 ↪ S^7 ↠ S^4</span> comes into play. This fibration is contructed as for the classical fibration, but using pairs <span class="SimpleMath">(z_1,z_2)</span> of quaternions rather than pairs of complex numbers. The Hurewicz Theorem gives <span class="SimpleMath">π_3(S^7)=0</span>; the fibre <span class="SimpleMath">S^3</span> is thus homotopic to a point in <span class="SimpleMath">S^7</span> and the inclusion of the fibre induces the zero homomorphism <span class="SimpleMath">π_k(S^3) stackrel0⟶ π_k(S^7) ~~(k≥ 1)</span>. The exact homotopy sequence of the generalized Hopf fibration then gives <span class="SimpleMath">π_k(S^4)≅ π_k(S^7)⊕ π_k-1(S^3)</span>. On taking <span class="SimpleMath">k=6</span> we obtain <span class="SimpleMath">π_6(S^4)≅ π_5(S^3) ≅ Z_2</span>. Freudenthal suspension then gives</p>
<p class="pcenter">\pi_{n+2}(S^n)\cong \mathbb Z_2,~~~(n\ge 2).</p>
<p><a id="X81E2F80384ADF8C2" name="X81E2F80384ADF8C2"></a></p>
<h4>12.6 <span class="Heading">The first two non-trivial homotopy groups of the suspension and double suspension of a <span class="SimpleMath">K(G,1)</span></span></h4>
<p>For any group <span class="SimpleMath">G</span> we consider the homotopy groups <span class="SimpleMath">π_n(Σ K(G,1))</span> of the suspension <span class="SimpleMath">Σ K(G,1)</span> of the Eilenberg-MacLance space <span class="SimpleMath">K(G,1)</span>. On taking <span class="SimpleMath">G= Z</span>, and observing that <span class="SimpleMath">S^2 = Σ K( Z,1)</span>, we specialize to the homotopy groups of the <span class="SimpleMath">2</span>-sphere <span class="SimpleMath">S^2</span>.</p>
<p>By construction,</p>
<p class="pcenter">\pi_1(\Sigma K(G,1))=0\ .</p>
<p>The Hurewicz Theorem gives</p>
<p class="pcenter">\pi_2(\Sigma K(G,1)) \cong G_{ab}</p>
<p>via the isomorphisms <span class="SimpleMath">π_2(Σ K(G,1)) ≅ H_2(Σ K(G,1), Z) ≅ H_1(K(G,1), Z) ≅ G_ab</span>. R. Brown and J.-L. Loday <a href="chapBib.html#biBbrownloday">[BL87]</a> obtained the formulae</p>
<p class="pcenter">\pi_3(\Sigma K(G,1)) \cong \ker (G\otimes G \rightarrow G, x\otimes y\mapsto [x,y]) \ ,</p>
<p class="pcenter">\pi_4(\Sigma^2 K(G,1)) \cong \ker (G\, {\widetilde \otimes}\, G \rightarrow G, x\, {\widetilde \otimes}\, y\mapsto [x,y]) </p>
<p>involving the nonabelian tensor square and nonabelian symmetric square of the group <span class="SimpleMath">G</span>. The following commands use the nonabelian tensor and symmetric product to compute the third and fourth homotopy groups for <span class="SimpleMath">G =Syl_2(M_12)</span> the Sylow <span class="SimpleMath">2</span>-subgroup of the Mathieu group <span class="SimpleMath">M_12</span>.</p>
<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">ThirdHomotopyGroupOfSuspensionB(G); </span>
[ 2, 2, 2, 2, 2, 2, 2, 2, 2 ]
gap>
<span class="GAPprompt">gap></span> <span class="GAPinput">FourthHomotopyGroupOfDoubleSuspensionB(G);</span>
[ 2, 2, 2, 2, 2, 2 ]
</pre></div>
<p><a id="X83EAC40A8324571F" name="X83EAC40A8324571F"></a></p>
<h4>12.7 <span class="Heading">Postnikov towers and <span class="SimpleMath">π_5(S^3)</span> </span></h4>
<p>A Postnikov system for the sphere <span class="SimpleMath">S^3</span> consists of a sequence of fibrations <span class="SimpleMath">⋯ X_3stackrelp_3→ X_2stackrelp_2→ X_1stackrelp_1→ ∗</span> and a sequence of maps <span class="SimpleMath">ϕ_n: S^3 → X_n</span> such that</p>
<ul>
<li><p><span class="SimpleMath">p_n ∘ ϕ_n =ϕ_n-1</span></p>
</li>
<li><p>The map <span class="SimpleMath">ϕ_n: S^3 → X_n</span> induces an isomorphism <span class="SimpleMath">π_k(S^3)→ π_k(X_n)</span> for all <span class="SimpleMath">k≤ n</span></p>
</li>
<li><p><span class="SimpleMath">π_k(X_n)=0</span> for <span class="SimpleMath">k > n</span></p>
</li>
<li><p>and consequently each fibration <span class="SimpleMath">p_n</span> has fibre an Eilenberg-MacLane space <span class="SimpleMath">K(π_n(S^3),n)</span>.</p>
</li>
</ul>
<p>The space <span class="SimpleMath">X_n</span> is obtained from <span class="SimpleMath">S^3</span> by adding cells in dimensions <span class="SimpleMath">≥ n+2</span> and thus</p>
<ul>
<li><p><span class="SimpleMath">H_k(X_n, Z)=H_k(S^3, Z)</span> for <span class="SimpleMath">k≤ n+1</span>.</p>
</li>
</ul>
<p>So in particular <span class="SimpleMath">X_1=X_2=∗, X_3=K( Z,3)</span> and we have a fibration sequence <span class="SimpleMath">K(π_4(S^3),4) ↪ X_4 ↠ K( Z,3)</span>. The terms in the <span class="SimpleMath">E_2</span> page of the Serre integral cohomology spectral sequence of this fibration are</p>
<ul>
<li><p><span class="SimpleMath">E_2^p,q=H^p(K( Z,3),H_q(K( Z_2,4), Z))</span>.</p>
</li>
</ul>
<p>The first few terms in the <span class="SimpleMath">E_2</span> page can be computed using the commands of Sections <a href="chap12.html#X795E339978B42775"><span class="RefLink">12.2</span></a> and <a href="chap12.html#X7D91E64D7DD7F10F"><span class="RefLink">12.3</span></a> and recorded as follows.</p>
<div class="pcenter"><table class="GAPDocTable">
<caption class="GAPDocTable"><b>Table: </b><span class="SimpleMath">E_2</span> cohomology page for <span class="SimpleMath">K(π_4(S^3),4) ↪ X_4 ↠ X_3</span></caption>
<tr>
<td class="tdleft"><span class="SimpleMath">8</span></td>
<td class="tdleft"><span class="SimpleMath">Z_2</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">7</span></td>
<td class="tdleft"><span class="SimpleMath">Z_2</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">6</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">5</span></td>
<td class="tdleft"><span class="SimpleMath">π_4(S^3)</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">π_4(S^3)</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">4</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td>160;</td>
<td>160;</td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">3</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
<td>160;</td>
<td>160;</td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">2</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">1</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z_2</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z_3</span></td>
<td class="tdleft"><span class="SimpleMath">Z_2</span></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">q/p</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">1</span></td>
<td class="tdleft"><span class="SimpleMath">2</span></td>
<td class="tdleft"><span class="SimpleMath">3</span></td>
<td class="tdleft"><span class="SimpleMath">4</span></td>
<td class="tdleft"><span class="SimpleMath">5</span></td>
<td class="tdleft"><span class="SimpleMath">6</span></td>
<td class="tdleft"><span class="SimpleMath">7</span></td>
<td class="tdleft"><span class="SimpleMath">8</span></td>
<td class="tdleft"><span class="SimpleMath">9</span></td>
</tr>
</table><br />
</div>
<p>Since we know that <span class="SimpleMath">H^5(X_4, Z) =0</span>, the differentials in the spectral sequence must restrict to an isomorphism <span class="SimpleMath">E_2^0,5=π_4(S^3) stackrel≅⟶ E_2^6,0= Z_2</span>. This provides an alternative derivation of <span class="SimpleMath">π_4(S^3) ≅ Z_2</span>. We can also immediately deduce that <span class="SimpleMath">H^6(X_4, Z)=0</span>. Let <span class="SimpleMath">x</span> be the generator of <span class="SimpleMath">E_2^0,5</span> and <span class="SimpleMath">y</span> the generator of <span class="SimpleMath">E_2^3,0</span>. Then the generator <span class="SimpleMath">xy</span> of <span class="SimpleMath">E_2^3,5</span> gets mapped to a non-zero element <span class="SimpleMath">d_7(xy)=d_7(x)y -xd_7(y)</span>. Hence the term <span class="SimpleMath">E_2^0,7= Z_2</span> must get mapped to zero in <span class="SimpleMath">E_2^3,5</span>. It follows that <span class="SimpleMath">H^7(X_4, Z)= Z_2</span>.</p>
<p>The integral cohomology of Eilenberg-MacLane spaces yields the following information on the <span class="SimpleMath">E_2</span> page <span class="SimpleMath">E_2^p,q=H_p(X_4,H^q(K(π_5S^3,5), Z))</span> for the fibration <span class="SimpleMath">K(π_5(S^3),5) ↪ X_5 ↠ X_4</span>.</p>
<div class="pcenter"><table class="GAPDocTable">
<caption class="GAPDocTable"><b>Table: </b><span class="SimpleMath">E_2</span> cohomology page for <span class="SimpleMath">K(π_5(S^3),5) ↪ X_5 ↠ X_4</span></caption>
<tr>
<td class="tdleft"><span class="SimpleMath">6</span></td>
<td class="tdleft"><span class="SimpleMath">π_5(S^3)</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">π_5(S^3)</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">5</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">4</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">3</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">2</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">1</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">H^7(X_4, Z)</span></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">q/p</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">1</span></td>
<td class="tdleft"><span class="SimpleMath">2</span></td>
<td class="tdleft"><span class="SimpleMath">3</span></td>
<td class="tdleft"><span class="SimpleMath">4</span></td>
<td class="tdleft"><span class="SimpleMath">5</span></td>
<td class="tdleft"><span class="SimpleMath">6</span></td>
<td class="tdleft"><span class="SimpleMath">7</span></td>
</tr>
</table><br />
</div>
<p>Since we know that <span class="SimpleMath">H^6(X_5, Z)=0</span>, the differentials in the spectral sequence must restrict to an isomorphism <span class="SimpleMath">E_2^0,6=π_5(S^3) stackrel≅⟶ E_2^7,0=H^7(X_4, Z)</span>. We can conclude the desired result:</p>
<p class="pcenter">\pi_5(S^3) = \mathbb Z_2\ .</p>
<p><span class="SimpleMath">~~~</span></p>
<p>Note that the fibration <span class="SimpleMath">X_4 ↠ K( Z,3)</span> is determined by a cohomology class <span class="SimpleMath">κ ∈ H^5(K( Z,3), Z_2) = Z_2</span>. If <span class="SimpleMath">κ=0</span> then we'd have <span class="SimpleMath">X_4 =K( Z_2,4)× K( Z,3)</span> and, as the following commands show, we'd then have <span class="SimpleMath">H_4(X_4, Z)= Z_2</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">K:=EilenbergMacLaneSimplicialGroup(AbelianPcpGroup([0]),3,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:=EilenbergMacLaneSimplicialGroup(CyclicGroup(2),4,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">CK:=ChainComplex(K);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">CL:=ChainComplex(L);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">T:=TensorProduct(CK,CL);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(T,4);</span>
[ 2 ]
</pre></div>
<p>Since we know that <span class="SimpleMath">H_4(X_4, Z)=0</span> we can conclude that the Postnikov invariant <span class="SimpleMath">κ</span> is the non-zero class in <span class="SimpleMath">H^5(K( Z,3), Z_2) = Z_2</span>.</p>
<p><a id="X8227000D83B9A17F" name="X8227000D83B9A17F"></a></p>
<h4>12.8 <span class="Heading">Towards <span class="SimpleMath">π_4(Σ K(G,1))</span> </span></h4>
<p>Consider the suspension <span class="SimpleMath">X=Σ K(G,1)</span> of a classifying space of a group <span class="SimpleMath">G</span> once again. This space has a Postnikov system in which <span class="SimpleMath">X_1 = ∗</span>, <span class="SimpleMath">X_2= K(G_ab,2)</span>. We have a fibration sequence <span class="SimpleMath">K(π_3 X, 3) ↪ X_3 ↠ K(G_ab,2)</span>. The corresponding integral cohomology Serre spectral sequence has <span class="SimpleMath">E_2</span> page with terms</p>
<ul>
<li><p><span class="SimpleMath">E_2^p,q=H^p(K(G_ab,2), H^q(K(π_3 X,3)), Z) )</span>.</p>
</li>
</ul>
<p>As an example, for the Alternating group <span class="SimpleMath">G=A_4</span> of order <span class="SimpleMath">12</span> the following commands of Section <a href="chap12.html#X81E2F80384ADF8C2"><span class="RefLink">12.6</span></a> compute <span class="SimpleMath">G_ab = Z_3</span> and <span class="SimpleMath">π_3 X = Z_6</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">AbelianInvariants(G);</span>
[ 3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ThirdHomotopyGroupOfSuspensionB(G);</span>
[ 2, 3 ]
</pre></div>
<p>The first terms of the <span class="SimpleMath">E_2</span> page can be calculated using the commands of Sections <a href="chap12.html#X795E339978B42775"><span class="RefLink">12.2</span></a> and <a href="chap12.html#X7D91E64D7DD7F10F"><span class="RefLink">12.3</span></a>.</p>
<div class="pcenter"><table class="GAPDocTable">
<caption class="GAPDocTable"><b>Table: </b><span class="SimpleMath">E^2</span> cohomology page for <span class="SimpleMath">K(π_3 X,3) ↪ X_3 ↠ X_2</span></caption>
<tr>
<td class="tdleft"><span class="SimpleMath">7</span></td>
<td class="tdleft"><span class="SimpleMath">Z_2</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">6</span></td>
<td class="tdleft"><span class="SimpleMath">Z_2</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">5</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">4</span></td>
<td class="tdleft"><span class="SimpleMath">Z_6</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z_3</span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">3</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">2</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">1</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z_3</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z_3</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z_9</span></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">q/p</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">1</span></td>
<td class="tdleft"><span class="SimpleMath">2</span></td>
<td class="tdleft"><span class="SimpleMath">3</span></td>
<td class="tdleft"><span class="SimpleMath">4</span></td>
<td class="tdleft"><span class="SimpleMath">5</span></td>
<td class="tdleft"><span class="SimpleMath">6</span></td>
<td class="tdleft"><span class="SimpleMath">7</span></td>
</tr>
</table><br />
</div>
<p>We know that <span class="SimpleMath">H^1(X_3, Z)=0</span>, <span class="SimpleMath">H^2(X_3, Z)=H^1(G, Z) =0</span>, <span class="SimpleMath">H^3(X_3, Z)=H^2(G, Z) = Z_3</span>, and that <span class="SimpleMath">H^4(X_3, Z)</span> is a subgroup of <span class="SimpleMath">H^3(G, Z) = Z_2</span>. It follows that the differential induces a surjection <span class="SimpleMath">E_2^0,4= Z_6 ↠ E_2^5,0= Z_3</span>. Consequently <span class="SimpleMath">H^4(X_3, Z)= Z_2</span> and <span class="SimpleMath">H^5(X_3, Z)=0</span> and <span class="SimpleMath">H^6(X_3, Z)= Z_2</span>.</p>
<p>The <span class="SimpleMath">E_2</span> page for the fibration <span class="SimpleMath">K(π_4 X,4) ↪ X_4 ↠ X_3</span> contains the following terms.</p>
<div class="pcenter"><table class="GAPDocTable">
<caption class="GAPDocTable"><b>Table: </b><span class="SimpleMath">E^2</span> cohomology page for <span class="SimpleMath">K(π_4 X,4) ↪ X_4 ↠ X_3</span></caption>
<tr>
<td class="tdleft"><span class="SimpleMath">5</span></td>
<td class="tdleft"><span class="SimpleMath">π_4 X</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">4</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">3</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath"></span></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">2</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">1</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z_3</span></td>
<td class="tdleft"><span class="SimpleMath">Z_2</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">Z_2</span></td>
</tr>
<tr>
<td class="tdleft"><span class="SimpleMath">q/p</span></td>
<td class="tdleft"><span class="SimpleMath">0</span></td>
<td class="tdleft"><span class="SimpleMath">1</span></td>
<td class="tdleft"><span class="SimpleMath">2</span></td>
<td class="tdleft"><span class="SimpleMath">3</span></td>
<td class="tdleft"><span class="SimpleMath">4</span></td>
<td class="tdleft"><span class="SimpleMath">5</span></td>
<td class="tdleft"><span class="SimpleMath">6</span></td>
</tr>
</table><br />
</div>
<p>We know that <span class="SimpleMath">H^5(X_4, Z)</span> is a subgroup of <span class="SimpleMath">H^4(G, Z)= Z_6</span>, and hence that there is a homomorphisms <span class="SimpleMath">π_4X → Z_2</span> whose kernel is a subgroup of <span class="SimpleMath">Z_6</span>. If follows that <span class="SimpleMath">|π_4 X|≤ 12</span>.</p>
<p><a id="X7F5E6C067B2AE17A" name="X7F5E6C067B2AE17A"></a></p>
<h4>12.9 <span class="Heading">Enumerating homotopy 2-types</span></h4>
<p>A <em>2-type</em> is a CW-complex <span class="SimpleMath">X</span> whose homotopy groups are trivial in dimensions <span class="SimpleMath">n=0</span> and <span class="SimpleMath">n>2</span>. As explained in <a href="chap6.html#X78040D8580D35D53"><span class="RefLink">6.11</span></a> the homotopy type of such a space can be captured algebraically by a cat<span class="SimpleMath">^1</span>-group <span class="SimpleMath">G</span>. Let <span class="SimpleMath">X</span>, <span class="SimpleMath">Y</span> be <span class="SimpleMath">2</span>-tytpes represented by cat<span class="SimpleMath">^1</span>-groups <span class="SimpleMath">G</span>, <span class="SimpleMath">H</span>. If <span class="SimpleMath">X</span> and <span class="SimpleMath">Y</span> are homotopy equivalent then there exists a sequence of morphisms of cat<span class="SimpleMath">^1</span>-groups</p>
<p class="pcenter">G \rightarrow K_1 \rightarrow K_2 \leftarrow K_3 \rightarrow \cdots \rightarrow K_n \leftarrow H</p>
<p>in which each morphism induces isomorphisms of homotopy groups. When such a sequence exists we say that <span class="SimpleMath">G</span> is <em>quasi-isomorphic</em> to <span class="SimpleMath">H</span>. We have the following result.</p>
<p><strong class="button">Theorem.</strong> The <span class="SimpleMath">2</span>-types <span class="SimpleMath">X</span> and <span class="SimpleMath">Y</span> are homotopy equivalent if and only if the associated cat<span class="SimpleMath">^1</span>-groups <span class="SimpleMath">G</span> and <span class="SimpleMath">H</span> are quasi-isomorphic.</p>
<p>The following commands produce a list <span class="SimpleMath">L</span> of all of the <span class="SimpleMath">62</span> non-isomorphic cat<span class="SimpleMath">^1</span>-groups whose underlying group has order <span class="SimpleMath">16</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:=[];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">for G in AllSmallGroups(16) do</span>
<span class="GAPprompt">></span> <span class="GAPinput">Append(L,CatOneGroupsByGroup(G));</span>
<span class="GAPprompt">></span> <span class="GAPinput">od;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Length(L);</span>
62
</pre></div>
<p>The next commands use the first and second homotopy groups to prove that the list <span class="SimpleMath">L</span> contains at least <span class="SimpleMath">37</span> distinct quasi-isomorphism types.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Invariants:=function(G)</span>
<span class="GAPprompt">></span> <span class="GAPinput">local inv;</span>
<span class="GAPprompt">></span> <span class="GAPinput">inv:=[];</span>
<span class="GAPprompt">></span> <span class="GAPinput">inv[1]:=IdGroup(HomotopyGroup(G,1));</span>
<span class="GAPprompt">></span> <span class="GAPinput">inv[2]:=IdGroup(HomotopyGroup(G,2));</span>
<span class="GAPprompt">></span> <span class="GAPinput">return inv;</span>
<span class="GAPprompt">></span> <span class="GAPinput">end;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=Classify(L,Invariants);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Length(C);</span>
</pre></div>
<p>The following additional commands use second and third integral homology in conjunction with the first two homotopy groups to prove that the list <span class="SimpleMath">L</span> contains <strong class="button">at least</strong> <span class="SimpleMath">49</span> distinct quasi-isomorphism types.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Invariants2:=function(G)</span>
<span class="GAPprompt">></span> <span class="GAPinput">local inv;</span>
<span class="GAPprompt">></span> <span class="GAPinput">inv:=[];</span>
<span class="GAPprompt">></span> <span class="GAPinput">inv[1]:=Homology(G,2);</span>
<span class="GAPprompt">></span> <span class="GAPinput">inv[2]:=Homology(G,3);</span>
<span class="GAPprompt">></span> <span class="GAPinput">return inv;</span>
<span class="GAPprompt">></span> <span class="GAPinput">end;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=RefineClassification(C,Invariants2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Length(C);</span>
49
</pre></div>
<p>The following commands show that the above list <span class="SimpleMath">L</span> contains <strong class="button">at most</strong> <span class="SimpleMath">51</span> distinct quasi-isomorphism types.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Q:=List(L,QuasiIsomorph);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M:=[];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">for q in Q do</span>
<span class="GAPprompt">></span> <span class="GAPinput">bool:=true;;</span>
<span class="GAPprompt">></span> <span class="GAPinput">for m in M do</span>
<span class="GAPprompt">></span> <span class="GAPinput">if not IsomorphismCatOneGroups(m,q)=fail then bool:=false; break; fi;</span>
<span class="GAPprompt">></span> <span class="GAPinput">od;</span>
<span class="GAPprompt">></span> <span class="GAPinput">if bool then Add(M,q); fi;</span>
<span class="GAPprompt">></span> <span class="GAPinput">od;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Length(M);</span>
51
</pre></div>
<p><a id="X7D99B7AA780D8209" name="X7D99B7AA780D8209"></a></p>
<h4>12.10 <span class="Heading">Identifying cat<span class="SimpleMath">^1</span>-groups of low order</span></h4>
<p>Let us define the <em>order</em> of a cat<span class="SimpleMath">^1</span>-group to be the order of its underlying group. The function <code class="code">IdQuasiCatOneGroup(C)</code> inputs a cat<span class="SimpleMath">^1</span>-group <span class="SimpleMath">C</span> of "low order" and returns an integer pair <span class="SimpleMath">[n,k]</span> that uniquely idenifies the quasi-isomorphism type of <span class="SimpleMath">C</span>. The integer <span class="SimpleMath">n</span> is the order of a smallest cat<span class="SimpleMath">^1</span>-group quasi-isomorphic to <span class="SimpleMath">C</span>. The integer <span class="SimpleMath">k</span> identifies a particular cat<span class="SimpleMath">^1</span>-group of order <span class="SimpleMath">n</span>.</p>
<p>The following commands use this function to show that there are precisely <span class="SimpleMath">49</span> distinct quasi-isomorphism types of cat<span class="SimpleMath">^1</span>-groups of order <span class="SimpleMath">16</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L:=[];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">for G in AllSmallGroups(16) do</span>
<span class="GAPprompt">></span> <span class="GAPinput">Append(L,CatOneGroupsByGroup(G));</span>
<span class="GAPprompt">></span> <span class="GAPinput">od;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M:=List(L,IdQuasiCatOneGroup);</span>
[ [ 16, 1 ], [ 16, 2 ], [ 16, 3 ], [ 16, 4 ], [ 16, 5 ], [ 4, 4 ], [ 1, 1 ],
[ 16, 6 ], [ 16, 7 ], [ 16, 8 ], [ 16, 9 ], [ 16, 10 ], [ 16, 11 ],
[ 16, 9 ], [ 16, 12 ], [ 16, 13 ], [ 16, 14 ], [ 16, 15 ], [ 4, 1 ],
[ 4, 2 ], [ 16, 16 ], [ 16, 17 ], [ 16, 18 ], [ 16, 19 ], [ 16, 20 ],
[ 16, 21 ], [ 16, 22 ], [ 16, 23 ], [ 16, 24 ], [ 16, 25 ], [ 16, 26 ],
[ 16, 27 ], [ 16, 28 ], [ 4, 3 ], [ 4, 1 ], [ 4, 4 ], [ 4, 4 ], [ 4, 2 ],
[ 4, 5 ], [ 16, 29 ], [ 16, 30 ], [ 16, 31 ], [ 16, 32 ], [ 16, 33 ],
[ 16, 34 ], [ 4, 3 ], [ 4, 4 ], [ 4, 4 ], [ 16, 35 ], [ 16, 36 ], [ 4, 3 ],
[ 16, 37 ], [ 16, 38 ], [ 16, 39 ], [ 16, 40 ], [ 16, 41 ], [ 16, 42 ],
[ 16, 43 ], [ 4, 3 ], [ 4, 4 ], [ 1, 1 ], [ 4, 5 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Length(SSortedList(M));</span>
49
</pre></div>
<p>The next example first identifies the order and the identity number of the cat<span class="SimpleMath">^1</span>-group <span class="SimpleMath">C</span> corresponding to the crossed module (see <a href="chap12.html#X808C6B357F8BADC1"><span class="RefLink">12.1</span></a>)</p>
<p class="pcenter">\iota\colon G \longrightarrow Aut(G), g \mapsto (x\mapsto gxg^{-1})</p>
<p>for the dihedral group <span class="SimpleMath">G</span> of order <span class="SimpleMath">10</span>. It then realizes a smallest possible cat<span class="SimpleMath">^1</span>-group <span class="SimpleMath">D</span> of this quasi-isomorphism type.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=AutomorphismGroupAsCatOneGroup(DihedralGroup(10));</span>
Cat-1-group with underlying group Group( [ f1, f2, f3, f4, f5 ] ) .
<span class="GAPprompt">gap></span> <span class="GAPinput">Order(C);</span>
200
<span class="GAPprompt">gap></span> <span class="GAPinput">IdCatOneGroup(C);</span>
[ 200, 42, 4 ]
<span class="GAPprompt">gap></span> <span class="GAPinput"></span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IdQuasiCatOneGroup(C);</span>
[ 2, 1 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">D:=SmallCatOneGroup(2,1);</span>
Cat-1-group with underlying group Group( [ f1 ] ) .
</pre></div>
<p><a id="X7F386CF078CB9A20" name="X7F386CF078CB9A20"></a></p>
<h4>12.11 <span class="Heading">Identifying crossed modules of low order</span></h4>
<p>The following commands construct the crossed module <span class="SimpleMath">∂ : G⊗ G → G</span> involving the nonabelian tensor square of the dihedral group $G$ of order <span class="SimpleMath">10</span>, identify it as being number <span class="SimpleMath">71</span> in the list of crossed modules of order <span class="SimpleMath">100</span>, create a quasi-isomorphic crossed module of order <span class="SimpleMath">4</span>, and finally construct the corresponding cat<span class="SimpleMath">^1</span>-group of order <span class="SimpleMath">100</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=DihedralGroup(10);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">T:=NonabelianTensorSquareAsCrossedModule(G);</span>
Crossed module with group homomorphism GroupHomomorphismByImages( Group(
[ f3*f1*f3^-1*f1^-1, f3*f2*f3^-1*f2^-1 ] ), Group( [ f1, f2 ] ),
[ f3*f1*f3^-1*f1^-1, f3*f2*f3^-1*f2^-1 ], [ <identity> of ..., f2^3 ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">IdCrossedModule(T);</span>
[ 100, 71 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Q:=QuasiIsomorph(T);</span>
Crossed module with group homomorphism Pcgs([ f2 ]) -> [ <identity> of ... ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Order(Q);</span>
4
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=CatOneGroupByCrossedModule(T);</span>
Cat-1-group with underlying group Group( [ F1, F2, F1 ] ) .
</pre></div>
<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap11.html">[Previous Chapter]</a> <a href="chap13.html">[Next Chapter]</a> </div>
<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chap8.html">8</a> <a href="chap9.html">9</a> <a href="chap10.html">10</a> <a href="chap11.html">11</a> <a href="chap12.html">12</a> <a href="chap13.html">13</a> <a href="chap14.html">14</a> <a href="chap15.html">15</a> <a href="chap16.html">16</a> <a href="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>
¤ Dauer der Verarbeitung: 0.51 Sekunden
¤
*© Formatika GbR, Deutschland
|
|
2026-11-04
|
|
|
|
|
Neuigkeiten |
| Aktuelles |
| Motto des Tages |
|
Open Source Software |
|
|
|
Jenseits des Üblichen ....
|
|
Besucherstatistik |
|
|
| Statistik |
| #Sources=1104857 |
| #Domains=438757 |
|
|