The following example determines a presentation for the cohomology ring \(H^\ast(Syl_2(M_{12}),\mathbb Z_2)\). The Lyndon-Hochschild-Serre spectral sequence, and Groebner basis routines from Singular, are used to determine how much of a resolution to compute for the presentation.
gap> G:=SylowSubgroup(MathieuGroup(12),2);; gap> Mod2CohomologyRingPresentation(G); Graded algebra GF(2)[ x_1, x_2, x_3, x_4, x_5, x_6, x_7 ] / [ x_2*x_3, x_1*x_2, x_2*x_4, x_3^3+x_3*x_5, x_1^2*x_4+x_1*x_3*x_4+x_3^2*x_4+x_3^2*x_5+x_1*x_6+x_4^2+x_4*x_5, x_1^2*x_3^2+x_1*x_3*x_5+x_3^2*x_5+x_3*x_6, x_1^3*x_3+x_3^2*x_4+x_3^2*x_5+x_1*x_6+x_3*x_6+x_4*x_5, x_1*x_3^2*x_4+x_1*x_3*x_6+x_1*x_4*x_5+x_3*x_4^2+x_3*x_4*x_5+x_3*x_5^\ 2+x_4*x_6, x_1^2*x_3*x_5+x_1*x_3^2*x_5+x_3^2*x_6+x_3*x_5^2, x_3^2*x_4^2+x_3^2*x_5^2+x_1*x_5*x_6+x_3*x_4*x_6+x_4*x_5^2, x_1*x_3*x_4^2+x_1*x_3*x_4*x_5+x_1*x_3*x_5^2+x_3^2*x_5^2+x_1*x_4*x_6+\ x_2^2*x_7+x_2*x_5*x_6+x_3*x_4*x_6+x_3*x_5*x_6+x_4^2*x_5+x_4*x_5^2+x_6^\ 2, x_1*x_3^2*x_6+x_3^2*x_4*x_5+x_1*x_5*x_6+x_4*x_5^2, x_1^2*x_3*x_6+x_1*x_5*x_6+x_2^2*x_7+x_2*x_5*x_6+x_3*x_5*x_6+x_6^2 ] with indeterminate degrees [ 1, 1, 1, 2, 2, 3, 4 ]
The command CohomologicalData(G,n)
prints complete information for the cohomology ring \(H^\ast(G, Z_2 )\) and steenrod operations for a \(2\)-group \(G\) provided that the integer \(n\) is at least the maximal degree of a relator in a minimal set of relators for the ring.
The following example produces complete information on the Steenrod algebra of group number \(8\) in GAP's library of groups of order \(32\). Groebner basis routines from Singular are called involved in the example. (This example take over 2 hours to run. Most other groups of order 32 run significantly quicker.)
gap> CohomologicalData(SmallGroup(32,8),12); Group number: 8 Group description: C2 . ((C4 x C2) : C2) = (C2 x C2) . (C4 x C2) Cohomology generators Degree 1: a, b Degree 2: c, d Degree 3: e Degree 5: f, g Degree 6: h Degree 8: p Cohomology relations 1: f^2 2: c*h+e*f 3: c*f 4: b*h+c*g 5: b*e+c*d 6: a*h 7: a*g 8: a*f+b*f 9: a*e+c^2 10: a*c 11: a*b 12: a^2 13: d*e*h+e^2*g+f*h 14: d^2*h+d*e*f+d*e*g+f*g 15: c^2*d+b*f 16: b*c*g+e*f 17: b*c*d+c*e 18: b^2*g+d*f 19: b^2*c+c^2 20: b^3+a*d 21: c*d^2*e+c*d*g+d^2*f+e*h 22: c*d^3+d*e^2+d*h+e*f+e*g 23: b^2*d^2+c*d^2+b*f+e^2 24: b^3*d 25: d^3*e^2+d^2*e*f+c^2*p+h^2 26: d^4*e+b*c*p+e^2*g+g*h 27: d^5+b*d^2*g+b^2*p+f*g+g^2 Poincare series (x^5+x^2+1)/(x^8-2*x^7+2*x^6-2*x^5+2*x^4-2*x^3+2*x^2-2*x+1) Steenrod squares Sq^1(c)=0 Sq^1(d)=b*b*b+d*b Sq^1(e)=c*b*b Sq^2(e)=e*d+f Sq^1(f)=c*d*b*b+d*d*b*b Sq^2(f)=g*b*b Sq^4(f)=p*a Sq^1(g)=d*d*d+g*b Sq^2(g)=0 Sq^4(g)=c*d*d*d*b+g*d*b*b+g*d*d+p*a+p*b Sq^1(h)=c*d*d*b+e*d*d Sq^2(h)=d*d*d*b*b+c*d*d*d+g*c*b Sq^4(h)=d*d*d*d*b*b+g*e*d+p*c Sq^1(p)=c*d*d*d*b Sq^2(p)=d*d*d*d*b*b+c*d*d*d*d Sq^4(p)=d*d*d*d*d*b*b+d*d*d*d*d*d+g*d*d*d*b+g*g*d+p*d*d
For a finite group \(G\), prime \(p\) and positive integer \(deg\) the function ModPCohomologyRing(G,p,deg)
computes a finite dimensional graded ring equal to the cohomology ring \(H^{\le deg}(G,\mathbb Z_p) := H^\ast(G,\mathbb Z_p)/\{x=0\ :\ {\rm degree}(x)>deg \}\) .
The following example computes the first \(14\) degrees of the cohomology ring \(H^\ast(M_{11},\mathbb Z_2)\) where \(M_{11}\) is the Mathieu group of order \(7920\). The ring is seen to be generated by three elements \(a_3, a_4, a_6\) in degrees \(3,4,5\).
gap> G:=MathieuGroup(11);; gap> p:=2;;deg:=14;; gap> A:=ModPCohomologyRing(G,p,deg); <algebra over GF(2), with 20 generators> gap> gns:=ModPRingGenerators(A); [ v.1, v.6, v.8+v.10, v.13 ] gap> List(gns,A!.degree); [ 0, 3, 4, 5 ]
The following example constructs the ring homomorphism
\(F\colon H^{\le deg}(H,\mathbb Z_p) \rightarrow H^{\le deg}(G,\mathbb Z_p)\)
induced by the group homomorphism \(f\colon H\rightarrow G\) with \(H=A_5\), \(G=S_5\), \(f\) the canonical inclusion of the alternating group into the symmetric group, \(p=2\) and \(deg=7\).
gap> G:=SymmetricGroup(5);;H:=AlternatingGroup(5);; gap> f:=GroupHomomorphismByFunction(H,G,x->x);; gap> p:=2;; deg:=7;; gap> F:=ModPCohomologyRing(f,p,deg); [ v.1, v.2, v.4+v.6, v.5, v.7, v.8, v.9, v.12+v.15, v.13, v.14, v.16+v.17, v.18, v.19, v.20, v.22+v.24+v.28, v.23, v.25, v.26, v.27 ] -> [ v.1, 0*v.1, v.4+v.5+v.6, 0*v.1, v.7+v.8, 0*v.1, 0*v.1, v.14+v.15, 0*v.1, 0*v.1, v.16+v.17+v.19, 0*v.1, 0*v.1, 0*v.1, v.22+v.23+v.26+v.27+v.28, v.25, 0*v.1, 0*v.1, 0*v.1 ]
The following commands are consistent with \(F\) being a ring homomorphism.
gap> x:=Random(Source(F)); v.4+v.6+v.8+v.9+v.12+v.13+v.14+v.15+v.18+v.20+v.22+v.24+v.25+v.28+v.32+v.35 gap> y:=Random(Source(F)); v.1+v.2+v.7+v.9+v.13+v.23+v.26+v.27+v.32+v.33+v.34+v.35 gap> Image(F,x)+Image(F,y)=Image(F,x+y); true gap> Image(F,x)*Image(F,y)=Image(F,x*y); true
Mod-\(p\) cohomology rings of finite groups are constructed as the rings of stable elements in the cohomology of a (non-functorially) chosen Sylow \(p\)-subgroup and thus require the construction of a free resolution only for the Sylow subgroup. However, to ensure the functoriality of induced cohomology homomorphisms the above computation constructs free resolutions for the entire groups \(G,H\). This is a more expensive computation than finding resolutions just for Sylow subgroups.
The default algorithm used by the function ModPCohomologyRing()
for constructing resolutions of a finite group \(G\) is ResolutionFiniteGroup()
or ResolutionPrimePowerGroup()
in the case when \(G\) happens to be a group of prime-power order. If the user is able to construct the first \(deg\) terms of free resolutions \(RG, RH\) for the groups \(G, H\) then the pair [RG,RH]
can be entered as the third input variable of ModPCohomologyRing()
.
For instance, the following example constructs the ring homomorphism
\(F\colon H^{\le 7}(A_6,\mathbb Z_2) \rightarrow H^{\le 7}(S_6,\mathbb Z_2)\)
induced by the the canonical inclusion of the alternating group \(A_6\) into the symmetric group \(S_6\).
gap> G:=SymmetricGroup(6);; gap> H:=AlternatingGroup(6);; gap> f:=GroupHomomorphismByFunction(H,G,x->x);; gap> RG:=ResolutionFiniteGroup(G,7);; gap> RH:=ResolutionFiniteSubgroup(RG,H);; gap> F:=ModPCohomologyRing(f,2,[RG,RH]); [ v.1, v.2+v.3, v.6+v.8+v.10, v.7+v.9, v.11+v.12, v.13+v.15+v.16+v.18+v.19, v.14+v.16+v.19, v.17, v.22, v.23+v.28+v.32+v.35, v.24+v.26+v.27+v.29+v.32+v.33+v.35, v.25+v.26+v.27+v.29+v.32+v.33+v.35, v.30+v.32+v.33+v.34+v.35, v.36+v.39+v.43+v.45+v.47+v.49+v.50+v.55, v.38+v.45+v.47+v.49+v.50+v.55, v.40, v.41+v.43+v.45+v.47+v.48+v.49+v.50+v.53+v.55, v.42+v.43+v.45+v.46+v.47+v.49+v.53+v.54, v.44+v.45+v.46+v.47+v.49+v.53+v.54, v.51+v.52, v.58+v.60, v.59+v.68+v.73+v.77+v.81+v.83, v.62+v.68+v.74+v.77+v.78+v.80+v.81+v.83+v.84, v.63+v.69+v.73+v.74+v.78+v.80+v.84, v.64+v.68+v.73+v.77+v.81+v.83, v.65, v.66+v.75+v.81, v.67+v.68+v.69+v.70+v.73+v.74+v.78+v.80+v.84, v.71+v.72+v.73+v.76+v.77+v.78+v.80+v.82+v.83+v.84, v.79 ] -> [ v.1, 0*v.1, v.4+v.5+v.6, 0*v.1, v.8, v.8, 0*v.1, v.7, 0*v.1, v.12+v.13+v.14+v.15, v.12+v.13+v.14+v.15, v.12+v.13+v.14+v.15, v.12+v.13+v.14+v.15, v.18+v.19, 0*v.1, 0*v.1, v.18+v.19, v.18+v.19, v.18+v.19, v.16+v.17, 0*v.1, v.25, v.22+v.24+v.25+v.26+v.27+v.28, v.22+v.24+v.25+v.26+v.27+v.28, 0*v.1, 0*v.1, v.25, v.22+v.24+v.26+v.27+v.28, v.22+v.24+v.26+v.27+v.28, v.23 ]
The following example constructs the first eight degrees of the mod-\(3\) cohomology ring \(H^\ast(G,\mathbb Z_3)\) for the group \(G\) number 4 in GAP's library of groups of order \(81\). It determines a minimal set of ring generators lying in degree \(\le 8\) and it evaluates the Bockstein operator on these generators. Steenrod powers for \(p\ge 3\) are not implemented as no efficient method of implementation is known.
gap> G:=SmallGroup(81,4);; gap> A:=ModPSteenrodAlgebra(G,8);; gap> List(ModPRingGenerators(A),x->Bockstein(A,x)); [ 0*v.1, 0*v.1, v.5, 0*v.1, (Z(3))*v.7+v.8+(Z(3))*v.9 ]
generated by GAPDoc2HTML