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


Quelle  chap11.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/hap/tutorial/chap11.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 11: Resolutions</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="chap11"  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="chap10.html">[Previous Chapter]</a>    <a href="chap12.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap11_mj.html">[MathJax on]</a></p>
<p><a id="X7C0B125E7D5415B4" name="X7C0B125E7D5415B4"></a></p>
<div class="ChapSects"><a href="chap11.html#X7C0B125E7D5415B4">11 <span class="Heading">Resolutions</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X83E8F9DA7CDC0DA7">11.1 <span class="Heading">Resolutions for small finite groups</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X7EEA738385CC3AEA">11.2 <span class="Heading">Resolutions for very small finite groups</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X86C0983E81F706F5">11.3 <span class="Heading">Resolutions for finite groups acting on orbit polytopes</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X85374EA47E3D97CF">11.4 <span class="Heading">Minimal resolutions for finite <span class="SimpleMath">p</span>-groups over <span class="SimpleMath">F_p</span></span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X866C8D91871D1170">11.5 <span class="Heading">Resolutions for abelian groups</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X7B332CBE85120B38">11.6 <span class="Heading">Resolutions for nilpotent groups</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X7B03997084E00509">11.7 <span class="Heading">Resolutions for groups with subnormal series</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X814FFCE080B3A826">11.8 <span class="Heading">Resolutions for groups with normal series</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X81227BF185C417AF">11.9 <span class="Heading">Resolutions for polycyclic (almost) crystallographic groups </span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X814BCDD6837BB9C5">11.10 <span class="Heading">Resolutions for Bieberbach groups </span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X87ADCB7D7FC0B4D3">11.11 <span class="Heading">Resolutions for arbitrary crystallographic groups</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X7B9B3AF487338A9B">11.12 <span class="Heading">Resolutions for crystallographic groups  admitting cubical fundamental domain</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X78DD8D068349065A">11.13 <span class="Heading">Resolutions for Coxeter groups </span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X7C69E7227F919CC9">11.14 <span class="Heading">Resolutions for Artin groups </span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X8032647F8734F4EB">11.15 <span class="Heading">Resolutions for <span class="SimpleMath">G=SL_2( Z[1/m])</span></span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X7BE4DE82801CD38E">11.16 <span class="Heading">Resolutions for selected groups 
<span class="SimpleMath">G=SL_2( mathcal O( Q(sqrtd) )</span></span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X7D9CCB2C7DAA2310">11.17 <span class="Heading">Resolutions for selected groups
<span class="SimpleMath">G=PSL_2( mathcal O( Q(sqrtd) )</span></span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X7F699587845E6DB1">11.18 <span class="Heading">Resolutions for a few higher-dimensional arithmetic groups
</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X7812EB3F7AC45F87">11.19 <span class="Heading">Resolutions for finite-index subgroups
</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X84CAAA697FAC8E0D">11.20 <span class="Heading">Simplifying resolutions
</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X780C3F038148A1C7">11.21 <span class="Heading">Resolutions for graphs of groups and for groups with aspherical presentations
</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap11.html#X85AB973F8566690A">11.22 <span class="Heading">Resolutions for <span class="SimpleMath">FG</span>-modules
</span></a>
</span>
</div>
</div>

<h3>11 <span class="Heading">Resolutions</span></h3>

<p>There is a range of functions in HAP that input a group <span class="SimpleMath">G</span>, integer <span class="SimpleMath">n</span>, and attempt to return the first <span class="SimpleMath">n</span> terms of a free <span class="SimpleMath">ZG</span>-resolution <span class="SimpleMath">R_∗</span> of the trivial module <span class="SimpleMath">Z</span>. In some cases an explicit contracting homotopy is provided on the resolution. The function <code class="code">Size(R)</code> returns a list whose <span class="SimpleMath">k</span>th term is the sum of the lengths of the boundaries of the generators in degree <span class="SimpleMath">k</span>.</p>

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

<h4>11.1 <span class="Heading">Resolutions for small finite groups</span></h4>

<p>The following uses discrete Morse theory to construct a resolution.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SymmetricGroup(6);; n:=6;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionFiniteGroup(G,n);</span>
Resolution of length 6 in characteristic 0 for Group([ (1,2), (1,2,3,4,5,6) 
 ]) .

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 10, 58, 186, 452, 906, 1436 ]

</pre></div>

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

<h4>11.2 <span class="Heading">Resolutions for very small finite groups</span></h4>

<p>The following uses linear algebra over <span class="SimpleMath">Z</span> to construct a resolution.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Q:=QuaternionGroup(128);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionSmallGroup(Q,20);</span>
Resolution of length 20 in characteristic 0 for <pc group of size 128 with 
2 generators> . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 4, 42, 8, 128, 4, 42, 8, 128, 4, 42, 8, 128, 4, 42, 8, 128, 4, 42, 8, 128 ]

</pre></div>

<p>The suspicion that this resolution <span class="SimpleMath">R_∗</span> is periodic of period <span class="SimpleMath">4</span> can be confirmed by constructing the chain complex <span class="SimpleMath">C_∗=R_∗⊗_ Z ZG</span> and verifying that boundary matrices repeat with period <span class="SimpleMath">4</span>.</p>

<p>A second example of a periodic resolution, for the Dihedral group <span class="SimpleMath">D_2k+1=⟨ x, y | x^2= xy^kx^-1y^-k-1 = 1⟩</span> of order <span class="SimpleMath">2k+2</span> in the case <span class="SimpleMath">k=1</span>, is constructed and verified for periodicity in the next example.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=FreeGroup(2);;D:=F/[F.1^2,F.1*F.2*F.1^-1*F.2^-2];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionSmallGroup(D,15);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 4, 7, 8, 6, 4, 8, 8, 6, 4, 8, 8, 6, 4, 8, 8 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=TensorWithIntegersOverSubgroup(R,Group(One(D)));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=4;;BoundaryMatrix(C,n)=BoundaryMatrix(C,n+4);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=5;;BoundaryMatrix(C,n)=BoundaryMatrix(C,n+4);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=6;;BoundaryMatrix(C,n)=BoundaryMatrix(C,n+4);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=7;;BoundaryMatrix(C,n)=BoundaryMatrix(C,n+4);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">n:=8;;BoundaryMatrix(C,n)=BoundaryMatrix(C,n+4);</span>
true

</pre></div>

<p>This periodic resolution for <span class="SimpleMath">D_3</span> can be found in a paper by R. Swan <a href="chapBib.html#biBswan2">[Swa60]</a>. The resolution was proved for arbitrary <span class="SimpleMath">D_2k+1</span> by Irina Kholodna <a href="chapBib.html#biBkholodna">[Kho01]</a> (Corollary 5.5) and is the cellular chain complex of the universal cover of a CW-complex <span class="SimpleMath">X</span> with two cells in dimensions <span class="SimpleMath">1, 2 mod 4</spanand one cell in dimensions <span class="SimpleMath">0,3 mod 4</span>. The <span class="SimpleMath">2</span>-skelecton is the <span class="SimpleMath">2</span>-complex for the given presentation of <span class="SimpleMath">D_2k+1</span> and an attaching map for the <span class="SimpleMath">3</span>-cell is represented as follows.</p>

<p><img src="images/syzygyjsc.jpg" align="center" height="300" alt="homotopical syzygy"/></p>

<p>A slightly different periodic resolution for <span class="SimpleMath">D_2k+1</span> has been obtain more recently by FEA Johnson <a href="chapBib.html#biBjohnson">[Joh16]</a>. Johnson's resolution has two free generators in each degree. Interestingly, running the following code for many values of k >1 seems to produce a periodic resolution with two free generators in each degree for most values of k.




<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">k:=20;;rels:=[x^2,x*y^k*x^-1*y^(-1-k)];;D:=F/rels;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionSmallGroup(D,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">List([0..7],R!.dimension);</span>
[ 1, 2, 2, 2, 2, 2, 2, 2 ]

</pre></div>

<p>The performance of the function <code class="code">ResolutionSmallGroup(G,n)</code> is very sensistive to the choice of presentation for the input group <span class="SimpleMath">G</span>. If <span class="SimpleMath">G</span> is an fp-group then the defining presentation for <span class="SimpleMath">G</span> is used. If <span class="SimpleMath">G</span> is a permutaion group or finite matrix group then <strong class="button">GAP</strong> functions are invoked to find a presentation for <span class="SimpleMath">G</span>. The following commands use a geometrically derived presentation for <span class="SimpleMath">SL(2,5)</span> as input in order to obtain the first few terms of a periodic resolution for this group of period <span class="SimpleMath">4</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Y:=PoincareDodecahedronCWComplex( </span>
<span class="GAPprompt">></span> <span class="GAPinput">[[1,2,3,4,5],[6,7,8,9,10]],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[[1,11,16,12,2],[19,9,8,18,14]],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[[2,12,17,13,3],[20,10,9,19,15]],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[[3,13,18,14,4],[16,6,10,20,11]],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[[4,14,19,15,5],[17,7,6,16,12]],</span>
<span class="GAPprompt">></span> <span class="GAPinput">[[5,15,20,11,1],[18,8,7,17,13]]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=FundamentalGroup(Y);</span>
<fp group on the generators [ f1, f2 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">RelatorsOfFpGroup(G);</span>
[ f2^-1*f1^-1*f2*f1^-1*f2^-1*f1, f2^-1*f1*f2^2*f1*f2^-1*f1^-1 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription(G);</span>
"SL(2,5)"
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionSmallGroup(G,3);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">List([0..3],R!.dimension);    </span>
[ 1, 2, 2, 1 ]

</pre></div>

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

<h4>11.3 <span class="Heading">Resolutions for finite groups acting on orbit polytopes</span></h4>

<p>The following uses Polymake convex hull computations and homological perturbation theory to construct a resolution.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SignedPermutationGroup(5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription(G);</span>
"C2 x ((C2 x C2 x C2 x C2) : S5)"

<span class="GAPprompt">gap></span> <span class="GAPinput">v:=[1,2,3,4,5];;  #The resolution depends on the choice of vector.</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">P:=PolytopalComplex(G,[1,2,3,4,5]);</span>
Non-free resolution in characteristic 0 for <matrix group of size 3840 with 
9 generators> . 
No contracting homotopy available.

<span class="GAPprompt">gap></span> <span class="GAPinput">R:=FreeGResolution(P,6);</span>
Resolution of length 5 in characteristic 0 for <matrix group of size 
3840 with 9 generators> . 
No contracting homotopy available.
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 10, 60, 214, 694, 6247, 273600 ]

</pre></div>

<p>The convex polytope <span class="SimpleMath">P_G(v)= Convex~Hull{g⋅ v | g∈ G}</span> used in the resolution depends on the choice of vector <span class="SimpleMath">v∈ R^n</span>. Two such polytopes for the alternating group <span class="SimpleMath">G=A_4</span> acting on <span class="SimpleMath">R^4</span> can be visualized as follows.</p>


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

<span class="GAPprompt">gap></span> <span class="GAPinput">P1:=PolytopalComplex(G,[1,2,3,4]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">P2:=PolytopalComplex(G,[1,1,3,4]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R1:=FreeGResolution(P1,20);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R2:=FreeGResolution(P2,20);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R1);</span>
[ 6, 11, 32, 24, 36, 60, 65, 102, 116, 168, 172, 248, 323, 628, 650, 1093, 
  1107, 2456, 2344, 6115 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R2);</span>
[ 4, 11, 20, 24, 36, 60, 65, 102, 116, 168, 172, 248, 323, 628, 650, 1093, 
  1107, 2456, 2344, 6115 ]

</pre></div>

<p><img src="images/orb-poly-1.png" align="center" height="300" alt="an orbit polytope"/> <img src="images/orb-poly-2.png" align="center" height="300" alt="an orbit polytope"/></p>

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

<h4>11.4 <span class="Heading">Minimal resolutions for finite <span class="SimpleMath">p</span>-groups over <span class="SimpleMath">F_p</span></span></h4>

<p>The following uses linear algebra to construct a minimal free <span class="SimpleMath">F_pG</span>-resolution of the trivial module <span class="SimpleMath">F</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">P:=SylowSubgroup(MathieuGroup(12),2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionPrimePowerGroup(P,20);</span>
Resolution of length 20 in characteristic 2 for Group(
[ (2,8,4,12)(3,11,7,9), (2,3)(4,7)(6,10)(9,11), (3,7)(6,10)(8,11)(9,12), 
  (1,10)(3,7)(5,6)(8,12), (2,4)(3,7)(8,12)(9,11), (1,5)(6,10)(8,12)(9,11) 
 ]) . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 6, 62, 282, 740, 1810, 3518, 6440, 10600, 17040, 24162, 34774, 49874, 
  62416, 81780, 106406, 145368, 172282, 208926, 262938, 320558 ]

</pre></div>

<p>The resolution has the minimum number of generators possible in each degree and can be used to guess a formula for the Poincare series</p>

<p><span class="SimpleMath">P(x) = Σ_k≥ 0 dim_ F_pH^k(G, F_p)x^k</span>.</p>

<p>The guess is certainly correct for the coefficients of <span class="SimpleMath">x^k</span> for <span class="SimpleMath">k≤ 20</span> and can be used to guess the dimension of say <span class="SimpleMath">H^2000(G, F_p)</span>.</p>

<p>Most likely <span class="SimpleMath">dim_ F_2H^2000(G, F_2) = 2001000</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">P:=PoincareSeries(R,20);</span>
(1)/(-x_1^3+3*x_1^2-3*x_1+1)

<span class="GAPprompt">gap></span> <span class="GAPinput">ExpansionOfRationalFunction(P,2000)[2000];</span>
2001000

</pre></div>

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

<h4>11.5 <span class="Heading">Resolutions for abelian groups</span></h4>

<p>The following uses the formula for the tensor product of chain complexes to construct a resolution.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">A:=AbelianPcpGroup([2,4,8,0,0]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription(A);</span>
"Z x Z x C8 x C4 x C2"

<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionAbelianGroup(A,10);</span>
Resolution of length 10 in characteristic 0 for Pcp-group with orders 
[ 2, 4, 8, 0, 0 ] . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 14, 90, 296, 680, 1256, 2024, 2984, 4136, 5480, 7016 ]

</pre></div>

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

<h4>11.6 <span class="Heading">Resolutions for nilpotent groups</span></h4>

<p>The following uses the NQ package to express the free nilpotent group of class <span class="SimpleMath">3</span> on three generators as a Pcp group <span class="SimpleMath">G</span>, and then uses homological perturbation on the lower central series to construct a resolution. The resolution is used to exhibit <span class="SimpleMath">2</span>-torsion in <span class="SimpleMath">H_4(G, Z)</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=FreeGroup(3);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=Image(NqEpimorphismNilpotentQuotient(F,3));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionNilpotentGroup(G,5);</span>
Resolution of length 5 in characteristic 0 for Pcp-group with orders 
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 28, 377, 2377, 9369, 25850 ]

<span class="GAPprompt">gap></span> <span class="GAPinput">Homology(TensorWithIntegers(R),4);</span>
[ 2, 2, 2, 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, 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, 0, 0, 0 ]

</pre></div>

<p>The following example uses a simplification procedure for resolutions to construct a resolution <span class="SimpleMath">S_∗</span> for the free nilpotent group <span class="SimpleMath">G</span> of class <span class="SimpleMath">2</span> on <span class="SimpleMath">3</span> generators that has the minimal possible number of free generators in each degree.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=Image(NqEpimorphismNilpotentQuotient(FreeGroup(3),2));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionNilpotentGroup(G,10);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S:=ContractedComplex(R);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C:=TensorWithIntegers(S);; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">List([1..10],i->IsZero(BoundaryMatrix(C,i)));</span>
[ true, true, true, true, true, true, true, true, true, true ]

</pre></div>

<p>The following example uses homological perturbation on the lower central series to construct a resolution for the Sylow <span class="SimpleMath">2</span>-subgroup <span class="SimpleMath">P=Syl_2(M_12)</span> of the Mathieu simple group <span class="SimpleMath">M_12</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=MathieuGroup(12);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">P:=SylowSubgroup(G,2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription(P);</span>
"((C4 x C4) : C2) : C2"

<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionNilpotentGroup(P,9);</span>
Resolution of length 9 in characteristic 
0 for <permutation group with 279 generators> . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 12, 80, 310, 939, 2556, 6768, 19302, 61786, 237068 ]

</pre></div>

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

<h4>11.7 <span class="Heading">Resolutions for groups with subnormal series</span></h4>

<p>The following uses homological perturbation on a subnormal series to construct a resolution for the Sylow <span class="SimpleMath">2</span>-subgroup <span class="SimpleMath">P=Syl_2(M_12)</span> of the Mathieu simple group <span class="SimpleMath">M_12</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">P:=SylowSubgroup(MathieuGroup(12),2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">sn:=ElementaryAbelianSeries(P);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionSubnormalSeries(sn,9);</span>
Resolution of length 9 in characteristic 
0 for <permutation group with 64 generators> . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 12, 78, 288, 812, 1950, 4256, 8837, 18230, 39120 ]

</pre></div>

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

<h4>11.8 <span class="Heading">Resolutions for groups with normal series</span></h4>

<p>The following uses homological perturbation on a normal series to construct a resolution for the Sylow <span class="SimpleMath">2</span>-subgroup <span class="SimpleMath">P=Syl_2(M_12)</span> of the Mathieu simple group <span class="SimpleMath">M_12</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">P:=SylowSubgroup(MathieuGroup(12),2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">P1:=EfficientNormalSubgroups(P)[1];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">P2:=Intersection(DerivedSubgroup(P),P1);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">P3:=Group(One(P));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionNormalSeries([P,P1,P2,P3],9);</span>
Resolution of length 9 in characteristic 
0 for <permutation group with 64 generators> . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 10, 60, 200, 532, 1238, 2804, 6338, 15528, 40649 ]

</pre></div>

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

<h4>11.9 <span class="Heading">Resolutions for polycyclic (almost) crystallographic groups </span></h4>

<p>The following uses the Polycyclic package and homological perturbation to construct a resolution for the crystallographic group <code class="code">G:=SpaceGroup(3,165)</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SpaceGroup(3,165);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=Image(IsomorphismPcpGroup(G));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionAlmostCrystalGroup(G,20);</span>
Resolution of length 20 in characteristic 0 for Pcp-group with orders 
[ 3, 2, 0, 0, 0 ] . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 10, 49, 117, 195, 273, 351, 429, 507, 585, 663, 741, 819, 897, 975, 1053, 
  1131, 1209, 1287, 1365, 1443 ]

</pre></div>

<p>The following constructs a resolution for an almost crystallographic Pcp group <span class="SimpleMath">G</span>. The final commands establish that <span class="SimpleMath">G</span> is not isomorphic to a 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">R:=ResolutionAlmostCrystalGroup(G,20);</span>
Resolution of length 20 in characteristic 0 for Pcp-group with orders 
[ 4, 0, 0, 0, 0 ] . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 10, 53, 137, 207, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 
  223, 223, 223, 223, 223 ]


<span class="GAPprompt">gap></span> <span class="GAPinput">T:=Kernel(NaturalHomomorphismOnHolonomyGroup(G));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsAbelian(T);</span>
false

</pre></div>

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

<h4>11.10 <span class="Heading">Resolutions for Bieberbach groups </span></h4>

<p>The following constructs a resolution for the Bieberbach group <code class="code">G=SpaceGroup(3,165)</code> by using convex hull algorithms to construct a Dirichlet domain for its free action on Euclidean space <span class="SimpleMath">R^3</span>. By construction the resolution is trivial in degrees <span class="SimpleMath">≥ 3</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SpaceGroup(3,165);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionBieberbachGroup(G);</span>
Resolution of length 4 in characteristic 
0 for SpaceGroupOnRightBBNWZ( 3, 6, 1, 1, 4 ) . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 10, 18, 8, 0 ]

</pre></div>

<p>The fundamental domain constructed for the above resolution can be visualized using the following commands.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">F:=FundamentalDomainBieberbachGroup(G);</span>
<polymake object>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(F);</span>

</pre></div>

<p><img src="images/3-165-0.png" align="center" height="300" alt="a Dirichlet domain"/></p>

<p>A different fundamental domain and resolution for <span class="SimpleMath">G</span> can be obtained by changing the choice of vector <span class="SimpleMath">v∈ R^3</span> in the definition of the Dirichlet domain</p>

<p><span class="SimpleMath">D(v) = {x∈ R^3 | ||x-v|| ≤ ||x-g.v|| for~all~ g∈ G}</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionBieberbachGroup(G,[1/2,1/2,1/2]);</span>
Resolution of length 4 in characteristic 
0 for SpaceGroupOnRightBBNWZ( 3, 6, 1, 1, 4 ) . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 28, 42, 16, 0 ]

<span class="GAPprompt">gap></span> <span class="GAPinput">F:=FundamentalDomainBieberbachGroup(G);</span>
<polymake object>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(F);</span>

</pre></div>

<p><img src="images/3-165-1.png" align="center" height="300" alt="a Dirichlet domain"/></p>

<p>A higher dimensional example is handled in the next session. A list of the <span class="SimpleMath">62</span> <span class="SimpleMath">7</span>-dimensional Hantze-Wendt Bieberbach groups is loaded and a resolution is computed for the first group in the list.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">file:=HapFile("HW-7dim.txt");;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Read(file);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=HWO7Gr[1];</span>
<matrix group with 7 generators>

<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionBieberbachGroup(G);</span>
Resolution of length 8 in characteristic 0 for <matrix group with 
7 generators> . 
No contracting homotopy available.

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 284, 1512, 3780, 4480, 2520, 840, 84, 0 ]

</pre></div>

<p>The homological perturbation techniques needed to extend this method to crystallographic groups acting non-freely on <span class="SimpleMath">R^n</span> has not yet been implemenyed. This is on the TO-DO list.</p>

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

<h4>11.11 <span class="Heading">Resolutions for arbitrary crystallographic groups</span></h4>

<p>An implementation of the above method for Bieberbach groups is also available for arbitrary crystallographic groups. The following example constructs a resolution for the group <code class="code">G:=SpaceGroupIT(3,227)</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SpaceGroupIT(3,227);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionSpaceGroup(G,11);</span>
Resolution of length 11 in characteristic 0 for <matrix group with 
8 generators> . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 38, 246, 456, 644, 980, 1427, 2141, 2957, 3993, 4911, 6179 ]

</pre></div>

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

<h4>11.12 <span class="Heading">Resolutions for crystallographic groups  admitting cubical fundamental domain</span></h4>

<p>The following uses subdivision techniques to construct a resolution for the Bieberbach group <code class="code">G:=SpaceGroup(4,122)</code>. The resolution is endowed with a contracting homotopy.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SpaceGroup(4,122);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionCubicalCrystGroup(G,20);</span>
Resolution of length 20 in characteristic 0 for <matrix group with 
6 generators> . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 8, 24, 24, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]

</pre></div>

<p>Subdivision and homological perturbation are used to construct the following resolution (with contracting homotopy) for a crystallographic group with non-free action.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=SpaceGroup(4,1100);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionCubicalCrystGroup(G,20);</span>
Resolution of length 20 in characteristic 0 for <matrix group with 
8 generators> . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 40, 215, 522, 738, 962, 1198, 1466, 1734, 2034, 2334, 2666, 2998, 3362, 
  3726, 4122, 4518, 4946, 5374, 5834, 6294 ]

</pre></div>

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

<h4>11.13 <span class="Heading">Resolutions for Coxeter groups </span></h4>

<p>The following session constructs the Coxeter diagram for the Coxeter group <span class="SimpleMath">B=B_7</span> of order <span class="SimpleMath">645120</span>. A resolution for <span class="SimpleMath">G</span> is then computed.</p>


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

</pre></div>

<p><img src="images/coxeter-diagram-b7.png" align="center" height="150" alt="a Dirichlet domain"/></p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionCoxeterGroup(D,5);</span>
Resolution of length 5 in characteristic 
0 for <permutation group of size 645120 with 7 generators> . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 14, 112, 492, 1604, 5048 ]

</pre></div>

<p>The routine extension of this method to infinite Coxeter groups is on the TO-DO list.</p>

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

<h4>11.14 <span class="Heading">Resolutions for Artin groups </span></h4>

<p>The following session constructs a resolution for the infinite Artin group <span class="SimpleMath">G</span> associated to the Coxeter group <span class="SimpleMath">B_7</span>. Exactness of the resolution depends on the solution to the <span class="SimpleMath">K(π,1)</span> Conjecture for Artin groups of spherical type.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionArtinGroup(D,8);</span>
Resolution of length 8 in characteristic 0 for <fp group on the generators 
[ f1, f2, f3, f4, f5, f6, f7 ]> . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 14, 98, 310, 610, 918, 1326, 2186, 0 ]

</pre></div>

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

<h4>11.15 <span class="Heading">Resolutions for <span class="SimpleMath">G=SL_2( Z[1/m])</span></span></h4>

<p>The following uses homological perturbation to construct a resolution for <span class="SimpleMath">G=SL_2( Z[1/6])</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionSL2Z(6,10);</span>
Resolution of length 10 in characteristic 0 for SL(2,Z[1/6]) . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 44, 679, 6910, 21304, 24362, 48506, 43846, 90928, 86039, 196210 ]

</pre></div>

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

<h4>11.16 <span class="Heading">Resolutions for selected groups 
<span class="SimpleMath">G=SL_2( mathcal O( Q(sqrtd) )</span></span></h4>

<p>The following uses finite "Voronoi complexes" and homological perturbation to construct a resolution for <span class="SimpleMath">G=SL_2(mathcal O( Q(sqrt-5))</span>. The finite complexes were contributed independently by A. Rahm, M. Dutour-Scikiric and S. Schoenenbeck and are stored in the folder <code class="code">~pkg/Hap1.v/lib/Perturbations/Gcomplexes</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionSL2QuadraticIntegers(-5,10);</span>
Resolution of length 10 in characteristic 0 for matrix group . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 22, 114, 120, 200, 146, 156, 136, 254, 168, 170 ]

</pre></div>

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

<h4>11.17 <span class="Heading">Resolutions for selected groups
<span class="SimpleMath">G=PSL_2( mathcal O( Q(sqrtd) )</span></span></h4>

<p>The following uses finite "Voronoi complexes" and homological perturbation to construct a resolution for <span class="SimpleMath">G=PSL_2(mathcal O( Q(sqrt-11))</span>. The finite complexes were contributed independently by A. Rahm, M. Dutour-Scikiric and S. Schoenenbeck and are stored in the folder <code class="code">~pkg/Hap1.v/lib/Perturbations/Gcomplexes</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionPSL2QuadraticIntegers(-11,10);</span>
Resolution of length 10 in characteristic 0 for PSL(2,O-11) . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 12, 59, 89, 107, 125, 230, 208, 270, 326, 515 ]

</pre></div>

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

<h4>11.18 <span class="Heading">Resolutions for a few higher-dimensional arithmetic groups
</span></h4>

<p>The following uses finite "Voronoi complexes" and homological perturbation to construct a resolution for <span class="SimpleMath">G=PSL_4( Z)</span>. The finite complexes were contributed by M. Dutour-Scikiric and are stored in the folder <code class="code">~pkg/Hap1.v/lib/Perturbations/Gcomplexes</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput"> V:=ContractibleGcomplex("PSL(4,Z)_d");</span>
Non-free resolution in characteristic 0 for matrix group . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">R:=FreeGResolution(V,5);</span>
Resolution of length 5 in characteristic 0 for matrix group . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 18, 210, 1444, 26813 ]

</pre></div>

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

<h4>11.19 <span class="Heading">Resolutions for finite-index subgroups
</span></h4>

<p>The next commands first construct the congruence subgroup <span class="SimpleMath">Γ_0(I)</span> of index <span class="SimpleMath">144</span> in <span class="SimpleMath">SL_2(cal O Q(sqrt-2))</span> for the ideal <span class="SimpleMath">I</span> in <span class="SimpleMath">cal O Q(sqrt-2)</span> generated by <span class="SimpleMath">4+5sqrt-2</span>. The commands then compute a resolution for the congruence subgroup <span class="SimpleMath">G=Γ_0(I) ≤ SL_2(cal O Q(sqrt-2))</span></p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Q:=QuadraticNumberField(-2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">OQ:=RingOfIntegers(Q);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=QuadraticIdeal(OQ,4+5*Sqrt(-2));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=HAP_CongruenceSubgroupGamma0(I);</span>
<[group of 2x2 matrices in characteristic 0>
<span class="GAPprompt">gap></span> <span class="GAPinput"></span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IndexInSL2O(G);</span>
144
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionSL2QuadraticIntegers(-2,4,true);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S:=ResolutionFiniteSubgroup(R,G);</span>
Resolution of length 4 in characteristic 0 for <matrix group with 
290 generators> . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
[ 1152, 8496, 30960, 59616 ]

</pre></div>

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

<h4>11.20 <span class="Heading">Simplifying resolutions
</span></h4>

<p>The next commands construct a resolution <span class="SimpleMath">R_∗</span> for the symmetric group <span class="SimpleMath">S_5</span> and convert it to a resolution <span class="SimpleMath">S_∗</span> for the finite index subgroup <span class="SimpleMath">A_4 < S_5</span>. An heuristic algorithm is applied to <span class="SimpleMath">S_∗</span> in the hope of obtaining a smaller resolution <span class="SimpleMath">T_∗</span> for the alternating group <span class="SimpleMath">A_4</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionFiniteGroup(SymmetricGroup(5),5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S:=ResolutionFiniteSubgroup(R,AlternatingGroup(4));</span>
Resolution of length 5 in characteristic 0 for Alt( [ 1 .. 4 ] ) . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(S);</span>
[ 80, 380, 1000, 2040, 3400 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">T:=SimplifiedComplex(S);</span>
Resolution of length 5 in characteristic 0 for Alt( [ 1 .. 4 ] ) . 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(T);</span>
[ 4, 34, 22, 19, 196 ]

</pre></div>

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

<h4>11.21 <span class="Heading">Resolutions for graphs of groups and for groups with aspherical presentations
</span></h4>

<p>The following example constructs a resolution for a finitely presented group whose presentation is known to have the property that its associated <span class="SimpleMath">2</span>-complex is aspherical.</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">rels:=[x*y*x*(y*x*y)^-1, y*z*y*(z*y*z)^-1, z*x*z*(x*z*x)^-1];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=F/rels;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionAsphericalPresentation(G,10);</span>
Resolution of length 10 in characteristic 0 for <fp group on the generators 
[ f1, f2, f3 ]> . 
No contracting homotopy available. 

<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 6, 18, 0, 0, 0, 0, 0, 0, 0, 0 ]

</pre></div>

<p>The following commands create a resolution for a graph of groups corresponding to the amalgamated product <span class="SimpleMath">G=H∗_AK</span> where <span class="SimpleMath">H=S_5</spanis the symmetric group of degree <span class="SimpleMath">5</span>, <span class="SimpleMath">K=S_4</span> is the symmetric group of degree <span class="SimpleMath">4</span> and the common subgroup is <span class="SimpleMath">A=S_3</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S5:=SymmetricGroup(5);SetName(S5,"S5");;</span>
Sym( [ 1 .. 5 ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">S4:=SymmetricGroup(4);SetName(S4,"S4");;</span>
Sym( [ 1 .. 4 ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">A:=SymmetricGroup(3);SetName(A,"S3");;</span>
Sym( [ 1 .. 3 ] )
<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/graphOFgroups.gif" align="center" height="100" alt="graph of groups"/></p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionGraphOfGroups(D,8);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(R);</span>
[ 16, 68, 162, 302, 480, 627, 869, 1290 ]

</pre></div>

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

<h4>11.22 <span class="Heading">Resolutions for <span class="SimpleMath">FG</span>-modules
</span></h4>

<p>Let <span class="SimpleMath">F= F_p</span> be the field of <span class="SimpleMath">p</span> elements and let <span class="SimpleMath">M</span> be some <span class="SimpleMath">FG</span>-module for <span class="SimpleMath">G</span> a finite <span class="SimpleMath">p</span>-group. We might wish to construct a free <span class="SimpleMath">FG</span>-resolution for <span class="SimpleMath">M</span>. We can handle this by constructing a short exact sequence</p>

<p><span class="SimpleMath">DM ↣ P ↠ M</span></p>

<p>in which <span class="SimpleMath">P</span> is free (or projective). Then any resolution of <span class="SimpleMath">DM</span> yields a resolution of <span class="SimpleMath">M</span> and we can represent <span class="SimpleMath">DM</span> as a submodule of <span class="SimpleMath">P</span>. We refer to <span class="SimpleMath">DM</span> as the <em>desuspension</em> of <span class="SimpleMath">M</span>. Consider for instance <span class="SimpleMath">G=Syl_2(GL(4,2))</span> and <span class="SimpleMath">F= F_2</span>. The matrix group <span class="SimpleMath">G</span> acts via matrix multiplication on <span class="SimpleMath">M= F^4</span>. The following example constructs a free <span class="SimpleMath">FG</span>-resolution for <span class="SimpleMath">M</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G:=GL(4,2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">S:=SylowSubgroup(G,2);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">M:=GModuleByMats(GeneratorsOfGroup(S),GF(2));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">DM:=DesuspensionMtxModule(M);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionFpGModule(DM,20);</span>
Resolution of length 20 in characteristic 2 for <matrix group of 
size 64 with 3 generators> .

<span class="GAPprompt">gap></span> <span class="GAPinput">List([0..20],R!.dimension);</span>
[ 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 
153, 171, 190, 210, 231, 253 ]

</pre></div>


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

96%


¤ Dauer der Verarbeitung: 0.29 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge