  
  [1X8 [33X[0;0YCohomology rings and Steenrod operations for finite groups[133X[101X
  
  
  [1X8.1 [33X[0;0YMod-[22Xp[122X[101X[1X cohomology rings of finite groups[133X[101X
  
  [33X[0;0YFor  a  finite  group  [22XG[122X,  prime  [22Xp[122X  and  positive  integer [22Xdeg[122X the function
  [10XModPCohomologyRing(G,p,deg)[110X  computes a finite dimensional graded ring equal
  to the cohomology ring [22XH^≤ deg(G, Z_p) := H^∗(G, Z_p)/{x=0 : degree(x)>deg }[122X
  .[133X
  
  [33X[0;0YThe  following  example computes the first [22X14[122X degrees of the cohomology ring
  [22XH^∗(M_11,  Z_2)[122X  where  [22XM_11[122X is the Mathieu group of order [22X7920[122X. The ring is
  seen to be generated by three elements [22Xa_3, a_4, a_6[122X in degrees [22X3,4,5[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=MathieuGroup(11);;          [127X[104X
    [4X[25Xgap>[125X [27Xp:=2;;deg:=14;;[127X[104X
    [4X[25Xgap>[125X [27XA:=ModPCohomologyRing(G,p,deg);[127X[104X
    [4X[28X<algebra over GF(2), with 20 generators>[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xgns:=ModPRingGenerators(A);[127X[104X
    [4X[28X[ v.1, v.6, v.8+v.10, v.13 ][128X[104X
    [4X[25Xgap>[125X [27XList(gns,A!.degree);[127X[104X
    [4X[28X[ 0, 3, 4, 5 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  following  additional  command  produces a rational function [22Xf(x)[122X whose
  series  expansion  [22Xf(x)  =  ∑_i=0^∞  f_ix^i[122X  has  coefficients [22Xf_i[122X which are
  guaranteed to satisfy [22Xf_i = dim H^i(G, Z_p)[122X in the range [22X0≤ i≤ deg[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xf:=PoincareSeries(A);[127X[104X
    [4X[28X(x_1^4-x_1^3+x_1^2-x_1+1)/(x_1^6-x_1^5+x_1^4-2*x_1^3+x_1^2-x_1+1)[128X[104X
    [4X[28X[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XLet's use f to list the first few cohomology dimensions[127X[104X
    [4X[25Xgap>[125X [27XExpansionOfRationalFunction(f,deg); [127X[104X
    [4X[28X[ 1, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X8.1-1 [33X[0;0YRing presentations (for the commutative [22Xp=2[122X[101X[1X case)[133X[101X
  
  [33X[0;0YThe  cohomology  ring  [22XH^∗(G,  Z_p)[122X is graded commutative which, in the case
  [22Xp=2[122X,  implies strictly commutative. The following additional commands can be
  applied  in  the  [22Xp=2[122X  setting  to  determine  a  presentation  for a graded
  commutative  ring  [22XF[122X  that  is guaranteed to be isomorphic to the cohomology
  ring  [22XH^∗(G,  Z_p)[122X  in degrees [22Xi≤ deg[122X. If [22Xdeg[122X is chosen "sufficiently large"
  then [22XF[122X will be isomorphic to the cohomology ring.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XF:=PresentationOfGradedStructureConstantAlgebra(A);[127X[104X
    [4X[28XGraded algebra GF(2)[ x_1, x_2, x_3 ] / [ x_1^2*x_2+x_3^2 [128X[104X
    [4X[28X ] with indeterminate degrees [ 3, 4, 5 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe additional command[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xp:=HilbertPoincareSeries(F);[127X[104X
    [4X[28X(x_1^4-x_1^3+x_1^2-x_1+1)/(x_1^6-x_1^5+x_1^4-2*x_1^3+x_1^2-x_1+1)[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0Yinvokes  a call to [12XSingular[112X in order to calculate the Poincare series of the
  graded algebra [22XF[122X.[133X
  
  
  [1X8.2 [33X[0;0YFunctorial ring homomorphisms in Mod-[22Xp[122X[101X[1X cohomology[133X[101X
  
  [33X[0;0YThe following example constructs the ring homomorphism[133X
  
  [33X[0;0Y[22XF: H^≤ deg(G, Z_p) → H^≤ deg(H, Z_p)[122X[133X
  
  [33X[0;0Yinduced by the group homomorphism [22Xf: H→ G[122X with [22XH=A_5[122X, [22XG=S_5[122X, [22Xf[122X the canonical
  inclusion of the alternating group into the symmetric group, [22Xp=2[122X and [22Xdeg=7[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SymmetricGroup(5);;H:=AlternatingGroup(5);;[127X[104X
    [4X[25Xgap>[125X [27Xf:=GroupHomomorphismByFunction(H,G,x->x);;[127X[104X
    [4X[25Xgap>[125X [27Xp:=2;; deg:=7;;[127X[104X
    [4X[25Xgap>[125X [27XF:=ModPCohomologyRing(f,p,deg);[127X[104X
    [4X[28X[ 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, [128X[104X
    [4X[28X  v.18, v.19, v.20, v.22+v.24+v.28, v.23, v.25, v.26, v.27 ] -> [128X[104X
    [4X[28X[ 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, [128X[104X
    [4X[28X  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, [128X[104X
    [4X[28X  v.25, 0*v.1, 0*v.1, 0*v.1 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X8.2-1 [33X[0;0YTesting homomorphism properties[133X[101X
  
  [33X[0;0YThe following commands are consistent with [22XF[122X being a ring homomorphism.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xx:=Random(Source(F));[127X[104X
    [4X[28Xv.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[128X[104X
    [4X[25Xgap>[125X [27Xy:=Random(Source(F));[127X[104X
    [4X[28Xv.1+v.2+v.7+v.9+v.13+v.23+v.26+v.27+v.32+v.33+v.34+v.35[128X[104X
    [4X[25Xgap>[125X [27XImage(F,x)+Image(F,y)=Image(F,x+y);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XImage(F,x)*Image(F,y)=Image(F,x*y);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X8.2-2 [33X[0;0YTesting functorial properties[133X[101X
  
  [33X[0;0YThe  following  example  takes  two  "random" automorphisms [22Xf,g: K→ K[122X of the
  group  [22XK[122X of order [22X24[122X arising as the direct product [22XK=C_3× Q_8[122X and constructs
  the three ring isomorphisms [22XF,G,FG: H^≤ 5(K, Z_2) → H^≤ 5(K, Z_2)[122X induced by
  [22Xf,  g[122X and the composite [22Xf∘ g[122X. It tests that [22XFG[122X is indeed the composite [22XG∘ F[122X.
  Note  that  when we create the ring [22XH^≤ 5(K, Z_2)[122X twice in [12XGAP[112X we obtain two
  canonically  isomorphic  but  distinct implimentations of the ring. Thus the
  canocial  isomorphism  between  these  distinct  implementations needs to be
  incorporated into the test. Note also that [12XGAP[112X defines [22Xg∗ f = f∘ g[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XK:=SmallGroup(24,11);;[127X[104X
    [4X[25Xgap>[125X [27Xaut:=AutomorphismGroup(K);;[127X[104X
    [4X[25Xgap>[125X [27Xf:=Elements(aut)[5];;[127X[104X
    [4X[25Xgap>[125X [27Xg:=Elements(aut)[8];;[127X[104X
    [4X[25Xgap>[125X [27Xfg:=g*f;;[127X[104X
    [4X[25Xgap>[125X [27XF:=ModPCohomologyRing(f,2,5);[127X[104X
    [4X[28X[ v.1, v.2, v.3, v.4, v.5, v.6, v.7 ] -> [ v.1, v.2+v.3, v.3, v.4+v.5, v.5, [128X[104X
    [4X[28X  v.6, v.7 ][128X[104X
    [4X[25Xgap>[125X [27XG:=ModPCohomologyRing(g,2,5);[127X[104X
    [4X[28X[ v.1, v.2, v.3, v.4, v.5, v.6, v.7 ] -> [ v.1, v.2+v.3, v.2, v.5, v.4+v.5, [128X[104X
    [4X[28X  v.6, v.7 ][128X[104X
    [4X[25Xgap>[125X [27XFG:=ModPCohomologyRing(fg,2,5);[127X[104X
    [4X[28X[ v.1, v.2, v.3, v.4, v.5, v.6, v.7 ] -> [ v.1, v.3, v.2, v.4, v.4+v.5, v.6, [128X[104X
    [4X[28X  v.7 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XsF:=Source(F);;tF:=Target(F);;[127X[104X
    [4X[25Xgap>[125X [27XsG:=Source(G);; [127X[104X
    [4X[25Xgap>[125X [27XtGsF:=AlgebraHomomorphismByImages(tF,sG,Basis(tF),Basis(sG));;[127X[104X
    [4X[25Xgap>[125X [27XList(GeneratorsOfAlgebra(sF),x->Image(G,Image(tGsF,Image(F,x))));[127X[104X
    [4X[28X[ v.1, v.3, v.2, v.4, v.4+v.5, v.6, v.7 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X8.2-3 [33X[0;0YComputing with larger groups[133X[101X
  
  [33X[0;0YMod-[22Xp[122X  cohomology  rings  of  finite  groups are constructed as the rings of
  stable  elements  in  the  cohomology  of  a (non-functorially) chosen Sylow
  [22Xp[122X-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 computations construct free resolutions
  for the entire groups [22XG,H[122X. This is a more expensive computation than finding
  resolutions just for Sylow subgroups.[133X
  
  [33X[0;0YThe   default  algorithm  used  by  the  function  [10XModPCohomologyRing()[110X  for
  constructing  resolutions  of a finite group [22XG[122X is [10XResolutionFiniteGroup()[110X or
  [10XResolutionPrimePowerGroup()[110X  in  the  case  when  [22XG[122X happens to be a group of
  prime-power  order.  If the user is able to construct the first [22Xdeg[122X terms of
  free  resolutions  [22XRG,  RH[122X  for the groups [22XG, H[122X then the pair [10X[RG,RH][110X can be
  entered as the third input variable of [10XModPCohomologyRing()[110X.[133X
  
  [33X[0;0YFor instance, the following example constructs the ring homomorphism[133X
  
  [33X[0;0Y[22XF: H^≤ 7(A_6, Z_2) → H^≤ 7(S_6, Z_2)[122X[133X
  
  [33X[0;0Yinduced by the the canonical inclusion of the alternating group [22XA_6[122X into the
  symmetric group [22XS_6[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SymmetricGroup(6);;[127X[104X
    [4X[25Xgap>[125X [27XH:=AlternatingGroup(6);;[127X[104X
    [4X[25Xgap>[125X [27Xf:=GroupHomomorphismByFunction(H,G,x->x);;[127X[104X
    [4X[25Xgap>[125X [27XRG:=ResolutionFiniteGroup(G,7);;   [127X[104X
    [4X[25Xgap>[125X [27XRH:=ResolutionFiniteSubgroup(RG,H);;[127X[104X
    [4X[25Xgap>[125X [27XF:=ModPCohomologyRing(f,2,[RG,RH]);       [127X[104X
    [4X[28X[ 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, [128X[104X
    [4X[28X  v.14+v.16+v.19, v.17, v.22, v.23+v.28+v.32+v.35, [128X[104X
    [4X[28X  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, [128X[104X
    [4X[28X  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, [128X[104X
    [4X[28X  v.38+v.45+v.47+v.49+v.50+v.55, v.40, [128X[104X
    [4X[28X  v.41+v.43+v.45+v.47+v.48+v.49+v.50+v.53+v.55, [128X[104X
    [4X[28X  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,[128X[104X
    [4X[28X  v.51+v.52, v.58+v.60, v.59+v.68+v.73+v.77+v.81+v.83, [128X[104X
    [4X[28X  v.62+v.68+v.74+v.77+v.78+v.80+v.81+v.83+v.84, [128X[104X
    [4X[28X  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, [128X[104X
    [4X[28X  v.66+v.75+v.81, v.67+v.68+v.69+v.70+v.73+v.74+v.78+v.80+v.84, [128X[104X
    [4X[28X  v.71+v.72+v.73+v.76+v.77+v.78+v.80+v.82+v.83+v.84, v.79 ] -> [128X[104X
    [4X[28X[ 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, [128X[104X
    [4X[28X  v.12+v.13+v.14+v.15, v.12+v.13+v.14+v.15, v.12+v.13+v.14+v.15, [128X[104X
    [4X[28X  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, [128X[104X
    [4X[28X  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, [128X[104X
    [4X[28X  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,[128X[104X
    [4X[28X  v.22+v.24+v.26+v.27+v.28, v.23 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X8.3 [33X[0;0YCohomology rings of finite [22X2[122X[101X[1X-groups[133X[101X
  
  [33X[0;0YThe  following  example  determines  a  presentation for the cohomology ring
  [22XH^∗(Syl_2(M_12),  Z_2)[122X.  The  Lyndon-Hochschild-Serre spectral sequence, and
  Groebner  basis  routines from [12XSingular[112X (for commutative rings), are used to
  determine how much of a resolution to compute for the presentation.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SylowSubgroup(MathieuGroup(12),2);;[127X[104X
    [4X[25Xgap>[125X [27XMod2CohomologyRingPresentation(G);[127X[104X
    [4X[28XAlpha version of completion test code will be used. This needs further work.[128X[104X
    [4X[28XGraded algebra GF(2)[ x_1, x_2, x_3, x_4, x_5, x_6, x_7 ] / [128X[104X
    [4X[28X[ x_2*x_3, x_1*x_2, x_2*x_4, x_3^3+x_3*x_5, [128X[104X
    [4X[28X  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, [128X[104X
    [4X[28X  x_1^2*x_3^2+x_1*x_3*x_5+x_3^2*x_5+x_3*x_6, [128X[104X
    [4X[28X  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, [128X[104X
    [4X[28X  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^\[128X[104X
    [4X[28X2+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, [128X[104X
    [4X[28X  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, [128X[104X
    [4X[28X  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+\[128X[104X
    [4X[28Xx_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^\[128X[104X
    [4X[28X2, 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, [128X[104X
    [4X[28X  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 [128X[104X
    [4X[28X ] with indeterminate degrees [ 1, 1, 1, 2, 2, 3, 4 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X8.4 [33X[0;0YSteenrod operations for finite [22X2[122X[101X[1X-groups[133X[101X
  
  [33X[0;0YThe  command  [10XCohomologicalData(G,n)[110X  prints  complete  information  for the
  cohomology  ring  [22XH^∗(G,  Z_2  )[122X  and  steenrod  operations  for a [22X2[122X-group [22XG[122X
  provided that the integer [22Xn[122X is at least the maximal degree of a generator or
  relator in a minimal set of generatoirs and relators for the ring.[133X
  
  [33X[0;0YThe  following example produces complete information on the Steenrod algebra
  of  group  number  [22X8[122X  in [12XGAP[112X's library of groups of order [22X32[122X. Groebner basis
  routines  (for  commutative  rings) from [12XSingular[112X are called in the example.
  (This  example  take  over 2 hours to run. Most other groups of order 32 run
  significantly quicker.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XCohomologicalData(SmallGroup(32,8),12);[127X[104X
    [4X[28X[128X[104X
    [4X[28XInteger argument is large enough to ensure completeness of cohomology ring presentation.[128X[104X
    [4X[28X[128X[104X
    [4X[28XGroup number: 8[128X[104X
    [4X[28XGroup description: C2 . ((C4 x C2) : C2) = (C2 x C2) . (C4 x C2)[128X[104X
    [4X[28X[128X[104X
    [4X[28XCohomology generators[128X[104X
    [4X[28XDegree 1: a, b[128X[104X
    [4X[28XDegree 2: c, d[128X[104X
    [4X[28XDegree 3: e[128X[104X
    [4X[28XDegree 5: f, g[128X[104X
    [4X[28XDegree 6: h[128X[104X
    [4X[28XDegree 8: p[128X[104X
    [4X[28X[128X[104X
    [4X[28XCohomology relations[128X[104X
    [4X[28X1: f^2[128X[104X
    [4X[28X2: c*h+e*f[128X[104X
    [4X[28X3: c*f[128X[104X
    [4X[28X4: b*h+c*g[128X[104X
    [4X[28X5: b*e+c*d[128X[104X
    [4X[28X6: a*h[128X[104X
    [4X[28X7: a*g[128X[104X
    [4X[28X8: a*f+b*f[128X[104X
    [4X[28X9: a*e+c^2[128X[104X
    [4X[28X10: a*c[128X[104X
    [4X[28X11: a*b[128X[104X
    [4X[28X12: a^2[128X[104X
    [4X[28X13: d*e*h+e^2*g+f*h[128X[104X
    [4X[28X14: d^2*h+d*e*f+d*e*g+f*g[128X[104X
    [4X[28X15: c^2*d+b*f[128X[104X
    [4X[28X16: b*c*g+e*f[128X[104X
    [4X[28X17: b*c*d+c*e[128X[104X
    [4X[28X18: b^2*g+d*f[128X[104X
    [4X[28X19: b^2*c+c^2[128X[104X
    [4X[28X20: b^3+a*d[128X[104X
    [4X[28X21: c*d^2*e+c*d*g+d^2*f+e*h[128X[104X
    [4X[28X22: c*d^3+d*e^2+d*h+e*f+e*g[128X[104X
    [4X[28X23: b^2*d^2+c*d^2+b*f+e^2[128X[104X
    [4X[28X24: b^3*d[128X[104X
    [4X[28X25: d^3*e^2+d^2*e*f+c^2*p+h^2[128X[104X
    [4X[28X26: d^4*e+b*c*p+e^2*g+g*h[128X[104X
    [4X[28X27: d^5+b*d^2*g+b^2*p+f*g+g^2[128X[104X
    [4X[28X[128X[104X
    [4X[28XPoincare series[128X[104X
    [4X[28X(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)[128X[104X
    [4X[28X[128X[104X
    [4X[28XSteenrod squares[128X[104X
    [4X[28XSq^1(c)=0[128X[104X
    [4X[28XSq^1(d)=b*b*b+d*b[128X[104X
    [4X[28XSq^1(e)=c*b*b[128X[104X
    [4X[28XSq^2(e)=e*d+f[128X[104X
    [4X[28XSq^1(f)=c*d*b*b+d*d*b*b[128X[104X
    [4X[28XSq^2(f)=g*b*b[128X[104X
    [4X[28XSq^4(f)=p*a[128X[104X
    [4X[28XSq^1(g)=d*d*d+g*b[128X[104X
    [4X[28XSq^2(g)=0[128X[104X
    [4X[28XSq^4(g)=c*d*d*d*b+g*d*b*b+g*d*d+p*a+p*b[128X[104X
    [4X[28XSq^1(h)=c*d*d*b+e*d*d[128X[104X
    [4X[28XSq^2(h)=d*d*d*b*b+c*d*d*d+g*c*b[128X[104X
    [4X[28XSq^4(h)=d*d*d*d*b*b+g*e*d+p*c[128X[104X
    [4X[28XSq^1(p)=c*d*d*d*b[128X[104X
    [4X[28XSq^2(p)=d*d*d*d*b*b+c*d*d*d*d[128X[104X
    [4X[28XSq^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[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X8.5 [33X[0;0YSteenrod operations on the classifying space of a finite [22Xp[122X[101X[1X-group[133X[101X
  
  [33X[0;0YThe  following  example  constructs  the  first  eight  degrees of the mod-[22X3[122X
  cohomology  ring  [22XH^∗(G,  Z_3)[122X  for the group [22XG[122X number 4 in [12XGAP[112X's library of
  groups  of order [22X81[122X. It determines a minimal set of ring generators lying in
  degree  [22X≤  8[122X  and  it  evaluates the Bockstein operator on these generators.
  Steenrod  powers  for  [22Xp≥  3[122X  are  not implemented as no efficient method of
  implementation is known.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SmallGroup(81,4);;[127X[104X
    [4X[25Xgap>[125X [27XA:=ModPSteenrodAlgebra(G,8);;[127X[104X
    [4X[25Xgap>[125X [27XList(ModPRingGenerators(A),x->Bockstein(A,x));[127X[104X
    [4X[28X[ 0*v.1, 0*v.1, v.5, 0*v.1, (Z(3))*v.7+v.8+(Z(3))*v.9 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
