  
  [1X8 [33X[0;0YCohomology rings and Steenrod operations for 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
  
  
  [1X8.6 [33X[0;0YMod-[22Xp[122X[101X[1X cohomology rings of crystallographic groups[133X[101X
  
  [33X[0;0YMod  [22Xp[122X  cohomology  ring  computations  can be attempted for any group [22XG[122X for
  which  we  can  compute sufficiently many terms of a free [22XZG[122X-resolution with
  contracting  homotopy.  The  contracting  homotopy is not needed if only the
  dimensions  of  the  cohomology  in each degree are sought. Crystallographic
  groups  are  one  class  of  infinite  groups where such computations can be
  attempted.[133X
  
  
  [1X8.6-1 [33X[0;0YPoincare series for crystallographic groups[133X[101X
  
  [33X[0;0YConsider  the  space  group  [22XG=SpaceGroupOnRightIT(3,226,'1')[122X. The following
  computation computes the infinite series[133X
  
  [33X[0;0Y[22X(-2x^4+2x^2+1)/(-x^5+2x^4-x^3+x^2-2x+1)[122X[133X
  
  [33X[0;0Yin  which  the  coefficient  of  the monomial [22Xx^n[122X is guaranteed to equal the
  dimension  of  the vector space [22XH^n(G, Z_2)[122X in degrees [22Xn≤ 14[122X. One would need
  to  involve  a  theoretical argument to establish that this equality in fact
  holds in every degree [22Xn≥ 0[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SpaceGroupIT(3,226);[127X[104X
    [4X[28XSpaceGroupOnRightIT(3,226,'1')[128X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionSpaceGroup(G,15);[127X[104X
    [4X[28XResolution of length 15 in characteristic 0 for <matrix group with [128X[104X
    [4X[28X8 generators> . [128X[104X
    [4X[28XNo contracting homotopy available. [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XD:=List([0..14],n->Cohomology(HomToIntegersModP(R,2),n));[127X[104X
    [4X[28X[ 1, 2, 5, 9, 11, 15, 20, 23, 28, 34, 38, 44, 51, 56, 63 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XPoincareSeries(D,14);[127X[104X
    [4X[28X(-2*x_1^4+2*x_1^2+1)/(-x_1^5+2*x_1^4-x_1^3+x_1^2-2*x_1+1)[128X[104X
    [4X[28X[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YConsider  the  space  group  [22XSpaceGroupOnRightIT(3,103,'1')[122X.  The  following
  computation  uses  a  different construction of a free resolution to compute
  the infinite series[133X
  
  [33X[0;0Y[22X(x^3+2x^2+2x+1)/(-x+1)[122X[133X
  
  [33X[0;0Yin  which  the  coefficient  of  the monomial [22Xx^n[122X is guaranteed to equal the
  dimension  of  the  vector  space  [22XH^n(G,  Z_2)[122X  in degrees [22Xn≤ 99[122X. The final
  commands  show that [22XG[122X acts on a (cubical) cellular decomposition of [22XR^3[122X with
  cell  ctabilizers  being either trivial or cyclic of order [22X2[122X or [22X4[122X. From this
  extra  calculation  it  follows  that  the cohomology is periodic in degrees
  greater  than  [22X3[122X and that the Poincare series is correct in every degree [22Xn ≥
  0[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SpaceGroupIT(3,103);[127X[104X
    [4X[28XSpaceGroupOnRightIT(3,103,'1')[128X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionCubicalCrystGroup(G,100);[127X[104X
    [4X[28XResolution of length 100 in characteristic 0 for <matrix group with 6 generators> . [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XD:=List([0..99],n->Cohomology(HomToIntegersModP(R,2),n));;[127X[104X
    [4X[25Xgap>[125X [27XPoincareSeries(D,99);[127X[104X
    [4X[28X(x_1^3+2*x_1^2+2*x_1+1)/(-x_1+1)[128X[104X
    [4X[28X[128X[104X
    [4X[28X[128X[104X
    [4X[28X#Torsion subgroups are cyclic[128X[104X
    [4X[25Xgap>[125X [27XB:=CrystGFullBasis(G);;[127X[104X
    [4X[25Xgap>[125X [27XC:=CrystGcomplex(GeneratorsOfGroup(G),B,1);;[127X[104X
    [4X[25Xgap>[125X [27Xfor n in [0..3] do[127X[104X
    [4X[25X>[125X [27Xfor k in [1..C!.dimension(n)] do[127X[104X
    [4X[25X>[125X [27XPrint(StructureDescription(C!.stabilizer(n,k)),"  ");[127X[104X
    [4X[25X>[125X [27Xod;od;[127X[104X
    [4X[28XC4  C2  C4  1  1  C4  C2  C4  1  1  1  1  [128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X8.6-2 [33X[0;0YMod [22X2[122X[101X[1X cohomology rings of [22X3[122X[101X[1X-dimensional crystallographic groups[133X[101X
  
  [33X[0;0YComputations  in  the  [13Xintegral[113X  cohomology  of a crystallographic group are
  illustrated in Section [14X1.19[114X. The commands underlying that illustration could
  be further developed and adapted to mod [22Xp[122X cohomology. Indeed, the authors of
  the paper [LY24a] have developed commands for accessing the mod [22X2[122X cohomology
  of  [22X3[122X-dimensional  crystallographic  groups  with  the aim of establishing a
  connection  between  these  rings and the lattice structure of crystals with
  space  group  symmetry.  Their  code  is  available at the github repository
  [LY24b]. In particular, their code contains the command[133X
  
  [30X    [33X[0;6Y[10XSpaceGroupCohomologyRingGapInterface(ITC)[110X[133X
  
  [33X[0;0Ythat  inputs  an  integer  in  the  range  [22X1≤  ITC≤ 230[122X corresponding to the
  numbering  of  a  [22X3[122X-dimensional space group [22XG[122X in the International Table for
  Crystallography. This command returns[133X
  
  [30X    [33X[0;6Ya  presentation  for  the  mod  [22X2[122X  cohomology  ring  [22XH^∗(G,  Z_2)[122X. The
        presentation is guaranteed to be correct for low degree cohomology. In
        cases  where  the cohomology is periodic in degrees [22Xgt 4[122X (which can be
        tested  using  [10XIsPeriodicSpaceGroup(G)[110X) the presentation is guaranteed
        correct   in  all  degrees.  In  non-periodic  cases  some  additional
        mathematical  argument  needs to be provided to be mathematically sure
        that the presentation is correct in all degrees.[133X
  
  [30X    [33X[0;6Ythe  Lieb-Schultz-Mattis  anomaly  (degree-3 cocycles) associated with
        the  Irreducible  Wyckoff  Position  (see  the  paper  [LY24a]  for  a
        definition).[133X
  
  [33X[0;0YThe  command  [10XSpaceGroupCohomologyRingGapInterface(ITC)[110X  is  fast  for  most
  groups  (a  few  seconds  to a few minutes) but can be very slow for certain
  space  groups  (e.g.  ITC  [22X=  228[122X and ITC [22X= 142[122X). The following illustration
  assumes  that  two  relevant  files  have  been  downloaded from [LY24b] and
  illustrates the command for ITC [22X=30[122X and ITC [22X=216[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XRead("SpaceGroupCohomologyData.gi");        #These two files must be [127X[104X
    [4X[25Xgap>[125X [27XRead("SpaceGroupCohomologyFunctions.gi");   #downloaded from[127X[104X
    [4X[25Xgap>[125X [27X      #https://github.com/liuchx1993/Space-Group-Cohomology-and-LSM/[127X[104X
    [4X[28X [128X[104X
    [4X[25Xgap>[125X [27XIsPeriodicSpaceGroup(SpaceGroupIT(3,30));[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XSpaceGroupCohomologyRingGapInterface(30);[127X[104X
    [4X[28X===========================================[128X[104X
    [4X[28XMod-2 Cohomology Ring of Group No. 30:[128X[104X
    [4X[28XZ2[Ac,Am,Ax,Bb]/<R2,R3,R4>[128X[104X
    [4X[28XR2:  Ac.Am  Am^2  Ax^2+Ac.Ax  [128X[104X
    [4X[28XR3:  Am.Bb  [128X[104X
    [4X[28XR4:  Bb^2  [128X[104X
    [4X[28X===========================================[128X[104X
    [4X[28XLSM:[128X[104X
    [4X[28X2a Ac.Bb+Ax.Bb[128X[104X
    [4X[28X2b Ax.Bb[128X[104X
    [4X[28Xtrue[128X[104X
    [4X[28X[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XIsPeriodicSpaceGroup(SpaceGroupIT(3,216));[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XSpaceGroupCohomologyRingGapInterface(216);[127X[104X
    [4X[28X===========================================[128X[104X
    [4X[28XMod-2 Cohomology Ring of Group No. 216:[128X[104X
    [4X[28XZ2[Am,Ba,Bb,Bxyxzyz,Ca,Cb,Cc,Cxyz]/<R4,R5,R6>[128X[104X
    [4X[28XR4:  Am.Ca  Am.Cb  Ba.Bxyxzyz+Am.Cc  Bb^2+Am.Cc+Ba.Bb  Bb.Bxyxzyz+Am^2.Bb+Am.Cxyz  Bxyxzyz^2  [128X[104X
    [4X[28XR5:  Bxyxzyz.Ca  Ba.Cb+Bb.Ca  Bb.Cb+Bb.Ca  Bxyxzyz.Cb  Bxyxzyz.Cc  Ba.Cxyz+Am.Ba.Bb+Bb.Cc  Bb.Cxyz+Am^2.Cc+Am.Ba.Bb+Bb.Cc  Bxyxzyz.Cxyz+Am^3.Bb+Am^2.Cxyz [128X[104X
    [4X[28X===========================================[128X[104X
    [4X[28XLSM:[128X[104X
    [4X[28X4a Ca+Cc+Cxyz[128X[104X
    [4X[28X4b Cb+Cc+Cxyz[128X[104X
    [4X[28X4c Cb+Cxyz[128X[104X
    [4X[28X4d Cxyz[128X[104X
    [4X[28Xtrue[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  the  example the naming convention for ring generators follows the paper
  [LY24a].[133X
  
