


The
integral cohomology H^{n}(G,Z) of a group G is by definition
the quotient
where Hom_{ZG}(R_{n},Z) denotes the abelian group of Gequivariant homomorphisms from the nth term of a free ZGresolution R to the trivial Gmodule Z. The ZGhomomorphisms in Z_{n}(R,Z) = Ker( Hom_{ZG}(R_{n},Z)
→ Hom_{ZG}(R_{n+1},Z)
)
are called ncocycles. Those cocycles lying in B_{n}(R,Z) = Image( Hom_{ZG}(R_{n1},Z) → Hom_{ZG}(R_{n},Z)
are called ncoboundaries. For a finite group G the Universal Coefficient Theorem and the lack of torsion in Z imply an isomorphism H^{n+1}(G,Z) = H_{n}(G,Z) for n>0. The isomorphism does not hold in general for infinite groups. The following commands calculate the integral cohomology groups of the Artin group defined by the diagram and show that they are different to its
integral homology groups calculated on the previous page.


gap>
D:=[ [1,[2,3],[4,3]], [2,[3,3],[5,0]], [3,[4,4]], [5,[6,4],[7,4]] ];; gap> R:=ResolutionArtinGroup(D,8);; gap> TR:=HomToIntegers(R);; gap> for i in [1..7] do > Print(Cohomology(TR,i),"\n"); > od; [ 0, 0, 0, 0 ] [ 0, 0, 0, 0, 0, 0, 0, 0 ] [ 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] [ 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] [ 2, 2, 0, 0, 0, 0 ] [ ] [ ] 

Cohomology
is a contravariant functor, meaning
that a group homomorphism f:G→Q induces a cohomology homomorphism H^{n}(f):H^{n}(Q,Z)
→ H^{n}(G,Z) for all n. The following commands compute the
orders of the kernel and image of H^{3}(f) for the quotient
homomorphism f:B_{5} → S_{5} from the 5string braid
group to the symmetric group of degree 5. 

gap>
D:=[[1,[2,3]],[2,[3,3]],[3,[4,3]]];; gap> R:=ResolutionArtinGroup(D,4);; gap> TR:=HomToIntegers(R);; gap> for i in [1..3] do #These seemingly unnecessary commands are needed to gap> x:=Cohomology(TR,i);; od;; #construct the boundary homomorphisms in R. gap> B5:=R!.group;; B5gens:=GeneratorsOfGroup(B5);; gap> S5:=SymmetricGroup(5);; S5gens:=[(1,2),(2,3),(3,4),(4,5)];; gap> S:=ResolutionFiniteGroup(S5,4);; gap> f:=GroupHomomorphismByImages(B5,S5,B5gens,S5gens);; gap> eqchmap:=EquivariantChainMap(R,S,f);; gap> chmap:=HomToIntegers(eqchmap);; gap> Hf:=Cohomology(chmap,3);; gap> Order(Kernel(Hf)); 1 gap> Order(Image(Hf)); 2 

For any group G there is a
bilinear mapping
called the cup product. The product is associative, and u·v = (1)^{pq} v·u . (One construction of the cup product is as follows. Let R be a ZGresolution of Z. The cohomology class u is represented by a cocycle u : R_{p} → Z which induces a chain mapping u_{n} : R_{n}→ R_{np} (for n > p1). The composition of u_{p+q} with the cocycle v: R_{q} → Z is a cocycle representing a cohomology class u·v in H^{p+q}(G,Z).) We need some notation for the HAP function IntegralCupProduct(R,u,v,p,q) .


gap>
R:=ResolutionFiniteGroup(SymmetricGroup(4), 9 );; gap> TR:=HomToIntegers(R);; gap> Cohomology(TR,4); [ 2, 12 ] gap> Cohomology(TR,8); [ 2, 2, 12 ] gap> u:=[1,0];; v:=[0,1];; p:=4;; q:=4;; gap> IntegralCupProduct(R,u,v,p,q); [ 1, 0, 6 ] 

The
above command can be used to compute the complete cohomology ring H^{*}(G,Z)
for finite index subgroups of Artin groups where the K(pi,1) conjecture
is known to hold (once I've implemented the contracting homotopy on the
associated resolution). For example, the four generator affine braid
group, which was considered on the previous page, has cohomology ring H^{*}(A_{D},Z) =
Z[s,t,u_{1},u_{2},u_{3},u_{4}] / (st, 2u_{3},
2u_{4}, J_{>3})
where deg(s)=1, deg(t)=2, deg(u_{i})=3.The integral cohomology ring was computed for all 4generator Artin groups with compact hyperbolic Coxeter group in the preprint [G. Ellis & E. Sköldberg, "Cohomology rings for some nonspherical Artin groups", http://hamilton.nuigalway.ie] using Haskell code written by Emil Sköldberg. Previously, the integral cohomology rings of all the spherical Artin groups has been calculated by theoretical methods in the papers:


Given a ZGresolution R the
function IntegralRingGenerators(R,n)
returns a list of cohomology classes in H^{n}(G,Z)
which, together with all cup products of classes of lower degrees,
generates the group H^{n}(G,Z). The following commands show that, for the free nilpotent group G of class 2 on three generators, the cohomology H^{*}(G,Z) is generated as a ring by three classes in dimension 1, eight classes in dimension 2 and six classes in dimension 3. They also show that, as an abelian group, the ring H^{*}(G,Z) is free abelian of rank 35. 

gap>
F:=FreeGroup(3);;G:=NilpotentQuotient(F,2);; gap> R:=ResolutionNilpotentGroup(G,10);; gap> for n in [1..9] do > Print("Cohomology group in dimension ",n," = ",Cohomology(HomToIntegers(R),n),"\n"); >od; Cohomology group in dimension 1 = [ 0, 0, 0 ] Cohomology group in dimension 2 = [ 0, 0, 0, 0, 0, 0, 0, 0 ] Cohomology group in dimension 3 = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] Cohomology group in dimension 4 = [ 0, 0, 0, 0, 0, 0, 0, 0 ] Cohomology group in dimension 5 = [ 0, 0, 0 ] Cohomology group in dimension 6 = [ 0 ] Cohomology group in dimension 7 = [ ] Cohomology group in dimension 8 = [ ] Cohomology group in dimension 9 = [ ] gap> for n in [1..9] do > Print("Ring generators in dimension ",n, " = ",IntegralRingGenerators(R,n),"\n"); > od; Ring generators in dimension 1 = [ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ] Ring generators in dimension 2 = [ [ 1, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 1 ] ] Ring generators in dimension 3 = [ [ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ] ] Ring generators in dimension 4 = [ ] Ring generators in dimension 5 = [ ] Ring generators in dimension 6 = [ ] Ring generators in dimension 7 = [ ] Ring generators in dimension 8 = [ ] Ring generators in dimension 9 = [ ] 

Similar
commands can be used to obtain partial information on the cohomology
rings of finite groups. For instance, the following commands show that
the first fifteen
degrees of the (infinite dimensional) graded ring H^{*}(S_{4},Z)
are generated
by


gap>
R:=ResolutionFiniteGroup(SymmetricGroup(4),16);; gap> TR:=HomToIntegers(R);; gap> for n in [1..15] do > Print("The cohomology in degree ", n," is ", Cohomology(TR,n),"\n"); > Print("The cohomology ring generators in degree ", n, " are ", > IntegralRingGenerators(R,n), "\n"); > od; The cohomology in degree 1 is [ ] The cohomology ring generators in degree 1 are [ ] The cohomology in degree 2 is [ 2 ] The cohomology ring generators in degree 2 are [ [ 1 ] ] The cohomology in degree 3 is [ 2 ] The cohomology ring generators in degree 3 are [ [ 1 ] ] The cohomology in degree 4 is [ 2, 12 ] The cohomology ring generators in degree 4 are [ [ 0, 1 ] ] The cohomology in degree 5 is [ 2 ] The cohomology ring generators in degree 5 are [ ] The cohomology in degree 6 is [ 2, 2, 2 ] The cohomology ring generators in degree 6 are [ ] The cohomology in degree 7 is [ 2, 2 ] The cohomology ring generators in degree 7 are [ ] The cohomology in degree 8 is [ 2, 2, 12 ] The cohomology ring generators in degree 8 are [ ] The cohomology in degree 9 is [ 2, 2, 2 ] The cohomology ring generators in degree 9 are [ ] The cohomology in degree 10 is [ 2, 2, 2, 2 ] The cohomology ring generators in degree 10 are [ ] The cohomology in degree 11 is [ 2, 2, 2 ] The cohomology ring generators in degree 11 are [ ] The cohomology in degree 12 is [ 2, 2, 2, 2, 12 ] The cohomology ring generators in degree 12 are [ ] The cohomology in degree 13 is [ 2, 2, 2, 2 ] The cohomology ring generators in degree 13 are [ ] The cohomology in degree 14 is [ 2, 2, 2, 2, 2 ] The cohomology ring generators in degree 14 are [ ] The cohomology in degree 15 is [ 2, 2, 2, 2, 2 ] The cohomology ring generators in degree 15 are [ ] 

