Previous | About HAP: Mod p cohomology rings | next

There is much interest in the ring structure of the mod p cohomology H*(G,Zp) of p-groups G.

- Jon Carlson has computed these rings for all groups of order 64, the smaller 2-groups having been handled previously. He has contributed some very efficient functions to the Magma computer algebra system. His methods are described here, and his calculations can be found here. His methods rely on matrix algebra over the field of p elements and are not directly suitable for large groups.
- David Green has developed non-abelian Gröbner basis methods for calculating the mod p homology of larger groups. He has implemented his methods as a stand-alone C package. His calculations can be found here.
- Marcus Bishop has implemented Jon Carlson's functions in the GAP package Crime.

Since the GAP package Crime focuses on mod p cohomology, only a few functions on this topic have so far been included in HAP.
At present these HAP functions work differently to those for integral cohomology in that they rely heavily on matrix algebra and minimal resolutions. More work needs to be done on improving the effeciency of these functions.

Let G be the group G=SmallGroup(64,135) in the small groups library. The following HAP commands compute the ring H*(G,Zp) modulo all elements of degree greater than 10. The ring is returned as a structure constant algebra A over the field of two elements.
gap> R:=ResolutionPrimePowerGroup(SmallGroup(64,135),10); Resolution of length 10 in characteristic 2 for <pc group of size 64 with 6 generators> . No contracting homotopy available. A partial contracting homotopy is available. gap> A:=ModPCohomologyRing(R); <algebra of dimension 187 over GF(2)>
The following additional command shows that the ring H*(G,Zp) is generated by three elements in degree 1, two in degree 2, one in degree 3, one in degree 5, one in degree 8 and possibly some generators of degree greater than 10.
gap> S:=ModPRingGenerators(A); [ 0, 1, 1, 1, 2, 2, 3, 5, 8 ]

The Poincare series for the cohomology ring H*(G,Zp) is the infinite series
a0 + a1x + a2x2 + a3x3 + ...
where ak is by definition the dimension of the vector space Hk(G,Zk) . The Poincare function is a rational function P(x)/Q(x) equal to the Poincare series.
The following commands compute the Poincare function for the Sylow 2-subgroup of the Mathieu group M12. They rely on an algorithm which seems unlikely to produce a wrong answer but for which we have no proof that the answer is always correct.

PoincareSeries(MathieuGroup(SylowSubgroup(MathieuGroup(12),2)); (1)/(-x^3+3*x^2-3*x+1)
Poincare series for groups of order 32 and most of the groups of order 64 are listed here.

Previous Page | Contents | Next page