<Chapter><Heading>Cohomology of groups</Heading>
<Section><Heading>Finite groups </Heading>

<P/>It is possible to compute the low degree (co)homology of a
 finite group or monoid 
of small order directly from the bar resolution. 
The following commands take this approach to computing the fifth integral
homology 
<P/><M>H_5(Q_4,\mathbb Z) = \mathbb Z_2\oplus\mathbb Z_2</M>
<P/>of the quaternion group <M>G=Q_4</M> of order <M>8</M>.
<Example>
<#Include SYSTEM "tutex/6.0.txt">
</Example>
<P/>However, this approach is of limited applicability since the bar resolution involves  <M>|G|^k</M> free generators in degree <M>k</M>. A range of techniques, tailored to specific classes of groups, can be used to compute the (co)homology of larger finite groups. 


<P/> The following example computes the fourth integral cohomomogy of the Mathieu group <M>M_{24}</M>.
<P/><M>H^4(M_{24},\mathbb Z) = \mathbb Z_{12}</M>

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

<P/>The following example computes the third integral homology of the Weyl group <M>W=Weyl(E_8)</M>, a group of order <M>696729600</M>.
<P/><M>H_3(Weyl(E_8),\mathbb Z) = \mathbb Z_2 \oplus \mathbb Z_2 \oplus \mathbb Z_{12}</M>
<Example>
<#Include SYSTEM "tutex/6.2.txt">
</Example>

<P/>The preceding calculation could be achieved more quickly by noting that 
<M>W=Weyl(E_8)</M> is a Coxeter group, and by using the associated Coxeter polytope. The following example uses this approach to compute the fourth integral homology of <M>W</M>. It begins by displaying the Coxeter diagram of <M>W</M>,
and then computes
<P/><M>H_4(Weyl(E_8),\mathbb Z) = \mathbb Z_2 \oplus \mathbb Z_2 \oplus 
Z_2 \oplus \mathbb Z_2</M>.
<Example>
<#Include SYSTEM "tutex/6.4.txt">
</Example>
<Alt Only="HTML">&lt;img src="images/e8diagram.gif" align="center" height="200" alt="Coxeter diagram for E8"/>
</Alt>
<Example>
<#Include SYSTEM "tutex/6.5.txt">
</Example>



<P/>The following example computes the sixth mod-<M>2</M> homology of the Sylow
<M>2</M>-subgroup <M>Syl_2(M_{24})</M> of the Mathieu group <M>M_{24}</M>.
<P/><M>H_6(Syl_2(M_{24}),\mathbb Z_2) = \mathbb Z_2^{143}</M>

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

<P/>The following example constructs the Poincare polynomial
<P/><M>p(x)=\frac{1}{-x^3+3*x^2-3*x+1}</M>
<P/>for the cohomology <M>H^\ast(Syl_2(M_{12},\mathbb F_2)</M>. The coefficient
 of <M>x^n</M> in the expansion of <M>p(x)</M> is equal to the dimension of the vector space <M>H^n(Syl_2(M_{12},\mathbb F_2)</M>. The computation involves <B>Singular</B>'s Groebner basis algorithms and the Lyndon-Hochschild-Serre spectral sequence.

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

<P/>The following example constructs the  polynomial
<P/><M>p(x)=\frac{x^4-x^3+x^2-x+1}{x^6-x^5+x^4-2*x^3+x^2-x+1}</M>
<P/>whose coefficient of <M>x^n</M> is equal to the dimension of the vector space <M>H^n(M_{11},\mathbb F_2)</M> for all <M>n</M> in the range
<M>0\le n\le 14</M>. The coefficient is not guaranteed correct for 
<M>n\ge 15</M>. 


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


<Section><Heading>Nilpotent groups</Heading>

The following example computes 
<P/><M>H_4(N,\mathbb Z) = \mathbb (Z_3)^4 \oplus \mathbb Z^{84}</M>
<P/>for the free nilpotent group <M>N</M> of class <M>2</M> on four generators.
<Example>
<#Include SYSTEM "tutex/6.8.txt">
</Example>

</Section>

<Section><Heading>Crystallographic groups</Heading>
<P/>The following example computes
<P/><M>H_5(G,\mathbb Z) = \mathbb Z_2 \oplus \mathbb Z_2</M>
<P/>for the <M>3</M>-dimensional crystallographic space group <M>G</M>
 with Hermann-Mauguin symbol "P62" 

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


</Section>

<Section><Heading>Arithmetic groups</Heading>

<P/>The following example computes
<P/><M>H_6(SL_2({\cal O},\mathbb Z) = \mathbb Z_2</M>
<P/>for  <M>{\cal O}</M> the ring of integers of the
number field  <M>\mathbb Q(\sqrt{-2})</M>.


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

</Section>


<Section><Heading>Artin groups</Heading>

<P/>The following example computes
<P/><M>H_5(G,\mathbb Z) = \mathbb Z_3</M>
<P/>for  <M>G</M> the  classical braid group  on eight strings. 


<Example>
<#Include SYSTEM "tutex/6.11.txt">
</Example>
<Alt Only="HTML">&lt;img src="images/a7diagram.gif" align="center" height="200" alt="Coxeter diagram for A7"/>
</Alt>

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

</Section>

<Section><Heading>Graphs of groups</Heading>

<P/>The following example computes
<P/><M>H_5(G,\mathbb Z) = \mathbb Z_2\oplus Z_2\oplus Z_2 \oplus Z_2 \oplus Z_2</M>
<P/>for  <M>G</M> the graph of groups corresponding to
the amalgamated product <M>G=S_5*_{S_3}S_4</M>
 of the symmetric groups <M>S_5</M> and <M>S_4</M> over the canonical subgroup 
<M>S_3</M>.

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

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

<Section><Heading>Cohomology with coefficients in a module</Heading>
There are various ways to represent a <M>\mathbb ZG</M>-module <M>A</M>
with action <M>G\times A \rightarrow A, (g,a)\mapsto \alpha(g,a)</M>. 

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

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

<P/> If <M>A=\mathbb Z^n</M> and <M>G</M> acts as
<P/><M>G\times A \rightarrow A, (g, (x_1,x_2,\ldots,x_n)) \mapsto (x_{\pi(g)^{-1}(1)},
x_{\pi(g)^{-1}(2)}, \ldots, x_{\pi(g)^{-1}(n)})</M>
<P/> where <M>\pi\colon G\rightarrow S_n</M> is a (not necessarily faithful)
permutation representation of degree <M>n</M> then we can avoid the use of <M>G</M>-outer groups and use just the homomorphism <M>\pi</M> instead.
The following example 
 uses this data type to compute the cohomology 
<P/><M>H^6(G,A) =\mathbb Z_2 \oplus \mathbb Z_{6}</M>
<P/>and the homology
<P/><M>H_6(G,A) =\mathbb Z_2 </M>
<P/> of the alternating group <M>G=A_6</M> with coefficients in  <M>A=\mathbb Z^5</M> where elements of <M>G</M> act on <M>\mathbb Z^5</M> via the canonical  permutation of basis elements.



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


<Section><Heading>Exact cohomology coefficient sequence</Heading>
A short exact sequence of <M>\mathbb ZG</M>-modules
<M>A \rightarrowtail B \twoheadrightarrow C</M>
induces a long exact sequence of cohomology groups
<P/><M> \rightarrow H^n(G,A)  \rightarrow H^n(G,B) \rightarrow H^n(G,C) \rightarrow H^{n+1}(G,A) \rightarrow </M> .
<P/> Consider the symmetric group <M>G=S_4</M> and the sequence
<M> \mathbb Z_4  \rightarrowtail  \mathbb Z_8 \twoheadrightarrow \mathbb Z_2</M>
of trivial <M>\mathbb ZG</M>-modules.  The following commands compute the induced cohomology homomorphism

<P/><M>f\colon H^3(S_4,\mathbb Z_4)  \rightarrow  H^3(S_4,\mathbb Z_8)</M>

<P/>and determine that the image of this induced homomorphism has order <M>8</M> and that its kernel has order <M>2</M>. 

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

<P/>
The following commands then compute the homomorphism

<P/><M>H^3(S_4,\mathbb Z_8)  \rightarrow  H^3(S_4,\mathbb Z_2)</M>

<P/>induced by

<M>\mathbb Z_4  \rightarrowtail  \mathbb Z_8 \twoheadrightarrow \mathbb Z_2</M>, 

and determine that the kernel of this homomorphsim has order <M>8</M>.

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

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

<P/><M>H^2(S_4,\mathbb Z_2)  \rightarrow  H^3(S_4,\mathbb Z_4)</M>

<P/>and determine that the image of this homomorphism has order <M>2</M>.

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

Note that the various orders are consistent with exactness of the sequence

<P/><M>H^2(S_4,\mathbb Z_2)  \rightarrow  H^3(S_4,\mathbb Z_4) \rightarrow  H^3(S_4,\mathbb Z_8) \rightarrow  H^3(S_4,\mathbb Z_2) </M> .

</Section>

</Chapter>
