<Chapter Label="resolutions"><Heading>Resolutions</Heading>

There is a range of functions in HAP that input a group <M>G</M>, integer <M>n</M>, and attempt to return the first <M>n</M> terms of a free <M>\mathbb ZG</M>-resolution <M>R_\ast</M> of the trivial module <M>\mathbb Z</M>. In some cases an explicit contracting homotopy  is provided on the resolution.

The function <Code>Size(R)</Code> returns a list whose <M>k</M>th term is the sum of the lengths of the boundaries of the generators in degree <M>k</M>.

<Section><Heading>Resolutions for small finite groups</Heading>

The following uses discrete Morse theory to construct a resolution.

<Example>
<#Include SYSTEM "tutex/14.1.txt">
</Example>

</Section>


<Section><Heading>Resolutions for very small finite groups</Heading>

The following uses linear algebra over <M>\mathbb Z</M> to construct a 
resolution.
<Example>
<#Include SYSTEM "tutex/14.2.txt">
</Example>
The suspicion that this resolution <M>R_\ast</M>
is periodic of period <M>4</M> can be confirmed by 
 constructing the chain complex <M>C_\ast=R_\ast\otimes_{\mathbb Z}\mathbb ZG</M> and verifying that boundary matrices repeat with period <M>4</M>.

<P/> A second example of a periodic resolution, for the Dihedral group 
<M>D_{2k+1}=\langle x, y\ |\ x^2= xy^kx^{-1}y^{-k-1} = 1\rangle</M> of order <M>2k+2</M> in the case <M>k=1</M>, is constructed and verified for periodicity in the next example.
<Example>
<#Include SYSTEM "tutex/14.2a.txt">
</Example>

This periodic resolution for <M>D_3</M> can be found in a paper by R. Swan
<Cite Key="swan2"/>. The resolution was proved for arbitrary <M>D_{2k+1}</M>
by Irina Kholodna <Cite Key="kholodna"/> (Corollary 5.5)
 and is the cellular chain complex of the universal cover of a CW-complex <M>X</M> with two cells in dimensions <M>1, 2 \bmod 4</M> and one cell in dimensions <M>0,3 \bmod 4</M>. The <M>2</M>-skelecton is the <M>2</M>-complex for the given presentation of <M>D_{2k+1}</M> and an attaching map for the <M>3</M>-cell is represented as follows.

<P/>
<Alt Only="HTML">&lt;img src="images/syzygyjsc.jpg" align="center" height="300" alt="homotopical syzygy"/></Alt>
<P/>
A slightly different periodic resolution for <M>D_{2k+1}</M> has been obtain more recently by FEA Johnson <Cite Key="johnson"/>. Johnson's resolution has two free generators in each degree. Interestingly, running the following code for many values of <M>k &gt;1</M> seems to produce a periodic resolution with  two free generators in each degree for most values of <M>k</M>.

<Example>
<#Include SYSTEM "tutex/14.2b.txt">
</Example>

<P/>The performance of the
	function <Code>ResolutionSmallGroup(G,n)</Code> is very sensistive to the choice of presentation for the input group <M>G</M>. If <M>G</M> 
		is an fp-group then the defining presentation for <M>G</M> is used. If <M>G</M>
			is a permutaion group or finite matrix group then <B>GAP</B> functions are invoked to find a presentation for <M>G</M>. The following commands use a geometrically derived presentation for <M>SL(2,5)</M> as input in order to obtain the first few terms of a periodic resolution for this group of period <M>4</M>.
				<Example>
<#Include SYSTEM "tutex/14.2c.txt">
</Example>

</Section>

<Section><Heading>Resolutions for finite groups acting on orbit polytopes</Heading>
The following uses Polymake convex hull computations and homological perturbation theory to construct a resolution.

<Example>
<#Include SYSTEM "tutex/14.3.txt">
</Example>

The convex polytope <M>P_G(v)={\rm Convex~Hull}\{g\cdot v\ |\ g\in G\}</M>
used in the resolution depends on the choice of vector <M>v\in \mathbb R^n</M>. Two such polytopes for the alternating group <M>G=A_4</M> acting on <M>\mathbb R^4</M> can be visualized as follows.

<Example>
<#Include SYSTEM "tutex/14.3a.txt">
</Example>

<P/>
<Alt Only="HTML">&lt;img src="images/orb-poly-1.png" align="center" height="300" alt="an orbit polytope"/></Alt>
<Alt Only="HTML">&lt;img src="images/orb-poly-2.png" align="center" height="300" alt="an orbit polytope"/>

</Alt>


</Section>


<Section><Heading>Minimal resolutions for finite <M>p</M>-groups over <M>\mathbb F_p</M></Heading>
The following uses linear algebra to construct a minimal free <M>\mathbb F_pG</M>-resolution of the trivial module <M>\mathbb F</M>.

<Example>
<#Include SYSTEM "tutex/14.16.txt">
</Example>

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/><M>P(x) = \Sigma_{k\ge 0} \dim_{\mathbb F_p}H^k(G,\mathbb F_p)\,x^k</M>. 
<P/>The guess is certainly correct for the coefficients of <M>x^k</M> for <M>k\le 20</M> and can be used to guess the dimension of say <M>H^{2000}(G,\mathbb F_p)</M>.  

<P/> Most likely <M>\dim_{\mathbb F_2}H^{2000}(G,\mathbb F_2) = 2001000</M>.

<Example>
<#Include SYSTEM "tutex/14.17.txt">
</Example>
</Section>


<Section><Heading>Resolutions for abelian groups</Heading>
The following uses the formula for the tensor product of chain complexes to construct a resolution. 

<Example>
<#Include SYSTEM "tutex/14.4.txt">
</Example>

</Section>

<Section><Heading>Resolutions for nilpotent groups</Heading>
The following uses the NQ package to express the free nilpotent group of class <M>3</M> on three generators as a Pcp group <M>G</M>, and then uses homological perturbation on the lower central series to construct a resolution. The resolution is used to exhibit <M>2</M>-torsion in <M>H_4(G,\mathbb Z)</M>. 

<Example>
<#Include SYSTEM "tutex/14.5.txt">
</Example>

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

			<Example>
<#Include SYSTEM "tutex/14.5a.txt">
</Example>

The following example uses  homological perturbation on the lower central series
 to construct a resolution for the Sylow <M>2</M>-subgroup <M>P=Syl_2(M_{12})</M> of the Mathieu simple group <M>M_{12}</M>.

<Example>
<#Include SYSTEM "tutex/14.6.txt">
</Example>
</Section>

<Section><Heading>Resolutions for groups with subnormal series</Heading>


The following uses  homological perturbation on a subnormal series
 to construct a resolution for the Sylow <M>2</M>-subgroup <M>P=Syl_2(M_{12})</M> of the Mathieu simple group <M>M_{12}</M>.

<Example>
<#Include SYSTEM "tutex/14.7.txt">
</Example>
</Section>

<Section><Heading>Resolutions for groups with normal series</Heading>


The following uses  homological perturbation on a normal series
 to construct a resolution for the Sylow <M>2</M>-subgroup <M>P=Syl_2(M_{12})</M> of the Mathieu simple group <M>M_{12}</M>.

<Example>
<#Include SYSTEM "tutex/14.8.txt">
</Example>
</Section>

<Section><Heading>Resolutions for polycyclic (almost) crystallographic groups </Heading>


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

<Example>
<#Include SYSTEM "tutex/14.9.txt">
</Example>

The following constructs a resolution for an almost crystallographic Pcp group
<M>G</M>. The final commands establish that <M>G</M> is not isomorphic to a crystallographic group.

<Example>
<#Include SYSTEM "tutex/14.10.txt">
</Example>

</Section>

<Section><Heading>Resolutions for Bieberbach groups </Heading>


The following constructs a resolution for the Bieberbach group
<Code>G=SpaceGroup(3,165)</Code> by using convex hull algorithms to construct a Dirichlet domain for its free action on Euclidean space <M>\mathbb R^3</M>.
By construction the  resolution is trivial in degrees <M>\ge 3</M>.

<Example>
<#Include SYSTEM "tutex/14.11.txt">
</Example>

The fundamental domain constructed for the above resolution 
can be visualized using the following commands.

<Example>
<#Include SYSTEM "tutex/14.12.txt">
</Example>

<P/>
<Alt Only="HTML">&lt;img src="images/3-165-0.png" align="center" height="300" alt="a Dirichlet domain"/>
</Alt>

<P/> A different fundamental 
domain and resolution for <M>G</M> can be obtained by changing the choice of vector <M>v\in \mathbb R^3</M> in the definition of the Dirichlet domain
<P/><M>D(v) = \{x\in \mathbb R^3\ | \ ||x-v|| \le ||x-g.v||\ {\rm for~all~} g\in G\}</M>.

<Example>
<#Include SYSTEM "tutex/14.13.txt">
</Example>

<P/>
<Alt Only="HTML">&lt;img src="images/3-165-1.png" align="center" height="300" alt="a Dirichlet domain"/>
</Alt>

<P/> A higher dimensional example is handled in the next session. A list of the <M>62</M> 
<M>7</M>-dimensional Hantze-Wendt Bieberbach groups is loaded and a resolution is computed for the first group in the list.

<Example>
<#Include SYSTEM "tutex/14.13a.txt">
</Example>

<P/>The homological perturbation techniques needed to extend this method to crystallographic groups acting non-freely on <M>\mathbb R^n</M> has not yet been implemenyed. This is on the TO-DO list.
</Section>

<Section><Heading>Resolutions for arbitrary crystallographic groups</Heading>
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>G:=SpaceGroupIT(3,227)</Code>.

<Example>
<#Include SYSTEM "tutex/14.13b.txt">
</Example>

</Section> 

<Section><Heading>Resolutions for crystallographic groups  admitting cubical fundamental domain</Heading>


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

<Example>
<#Include SYSTEM "tutex/14.14.txt">
</Example>

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

<Example>
<#Include SYSTEM "tutex/14.15.txt">
</Example>

</Section>

<Section><Heading>Resolutions for Coxeter groups </Heading>
The following session constructs the Coxeter diagram for the Coxeter group
<M>B=B_7</M> of order <M>645120</M>. A resolution for <M>G</M> is then computed.

<Example>
<#Include SYSTEM "tutex/14.18.txt">
</Example>

<P/>
<Alt Only="HTML">&lt;img src="images/coxeter-diagram-b7.png" align="center" height="150" alt="a Dirichlet domain"/>
</Alt>

<Example>
<#Include SYSTEM "tutex/14.19.txt">
</Example>

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

<Section><Heading>Resolutions for Artin groups </Heading>
The following session constructs a resolution for the infinite Artin group <M>G</M>
associated to the Coxeter group
<M>B_7</M>. Exactness of the resolution depends on the solution to the
<M>K(\pi,1)</M> Conjecture for Artin groups of spherical type.

<Example>
<#Include SYSTEM "tutex/14.20.txt">
</Example>

</Section>

<Section><Heading>Resolutions for <M>G=SL_2(\mathbb Z[1/m])</M></Heading>

The following uses homological perturbation to construct a resolution
for <M>G=SL_2(\mathbb Z[1/6])</M>.

<Example>
<#Include SYSTEM "tutex/14.21.txt">
</Example>

</Section>

<Section><Heading>Resolutions for selected groups 
<M>G=SL_2( {\mathcal O}(\mathbb Q(\sqrt{d}) )</M></Heading>

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

<Example>
<#Include SYSTEM "tutex/14.22.txt">
</Example>

</Section>

<Section><Heading>Resolutions for selected groups
<M>G=PSL_2( {\mathcal O}(\mathbb Q(\sqrt{d}) )</M></Heading>

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

<Example>
<#Include SYSTEM "tutex/14.23.txt">
</Example>

</Section>

<Section><Heading>Resolutions for a few higher-dimensional arithmetic groups
</Heading>

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

<Example>
<#Include SYSTEM "tutex/14.24.txt">
</Example>

</Section>

<Section><Heading>Resolutions for finite-index subgroups
</Heading>

The next commands first construct the congruence subgroup
<M>\Gamma_0(I)</M> of index <M>144</M> in <M>SL_2({\cal O}\mathbb Q(\sqrt{-2}))</M> for the ideal <M>I</M> in <M>{\cal O}\mathbb Q(\sqrt{-2})</M> generated by
<M>4+5\sqrt{-2}</M>.
 The commands then compute a resolution for the congruence subgroup
<M>G=\Gamma_0(I) \le SL_2({\cal O}\mathbb Q(\sqrt{-2}))</M>


<Example>
<#Include SYSTEM "tutex/14.25.txt">
</Example>

</Section>

<Section><Heading>Simplifying resolutions
</Heading>

The next commands construct a resolution <M>R_\ast</M> 
for the symmetric group <M>S_5</M> and convert it to a resolution <M>S_\ast</M> for the finite index subgroup <M>A_4 &lt; S_5</M>. An heuristic algorithm is applied to <M>S_\ast</M> in the hope of obtaining 
a smaller resolution <M>T_\ast</M> for the alternating group <M>A_4</M>.

<Example>
<#Include SYSTEM "tutex/14.26.txt">
</Example>

</Section>

<Section><Heading>Resolutions for graphs of groups and for groups with aspherical presentations
</Heading>

The following example constructs a resolution for a finitely presented group whose presentation is known to have the property that its associated <M>2</M>-complex is aspherical.

<Example>
<#Include SYSTEM "tutex/14.29.txt">
</Example>

The following commands create a resolution for a
graph of groups corresponding to the amalgamated product <M>G=H\ast_AK</M> where <M>H=S_5</M> is the symmetric group of degree <M>5</M>,  <M>K=S_4</M> is the symmetric group of degree <M>4</M> and the   common subgroup is <M>A=S_3</M>. 
</Section>


<Example>
<#Include SYSTEM "tutex/14.30.txt">
</Example>
<P/>
<Alt Only="HTML">&lt;img src="images/graphOFgroups.gif" align="center" height="100" alt="graph of groups"/></Alt>
<P/>

<Example>
<#Include SYSTEM "tutex/14.31.txt">
</Example>


<Section><Heading>Resolutions for <M>\mathbb FG</M>-modules
</Heading>
Let <M>\mathbb F=\mathbb F_p</M> be the field of <M>p</M> elements and let 
<M>M</M> be some <M>\mathbb FG</M>-module for <M>G</M> a finite <M>p</M>-group.    We might wish to construct a free <M>\mathbb FG</M>-resolution for <M>M</M>. We can handle this by
constructing a short exact sequence
<P/><M>    DM  \rightarrowtail P \twoheadrightarrow M</M>
<P/> in which <M>P</M> is free (or projective). Then any resolution of <M>DM</M>
yields a resolution of <M>M</M> and we can represent <M>DM</M> as a submodule
of <M>P</M>. We refer to <M>DM</M> as the <E>desuspension</E> of <M>M</M>.

Consider for instance <M>G=Syl_2(GL(4,2))</M> and <M>\mathbb F=\mathbb F_2</M>. The matrix group <M>G</M> acts via matrix
multiplication on <M>M=\mathbb F^4</M>. The following example constructs a free <M>\mathbb FG</M>-resolution for <M>M</M>.

<Example>
<#Include SYSTEM "tutex/14.28.txt">
</Example>

</Section>



</Chapter>
