  
  [1X7 [33X[0;0YCohomology of groups (and Lie Algebras)[133X[101X
  
  
  [1X7.1 [33X[0;0YFinite groups[133X[101X
  
  
  [1X7.1-1 [33X[0;0YNaive homology computation for a very small group[133X[101X
  
  [33X[0;0YIt  is  possible to compute the low degree (co)homology of a finite group or
  monoid  of  small  order  directly  from  the  bar resolution. The following
  commands take this approach to computing the fifth integral homology[133X
  
  [33X[0;0Y[22XH_5(Q_4, Z) = Z_2⊕ Z_2[122X[133X
  
  [33X[0;0Yof the quaternion group [22XG=Q_4[122X of order [22X8[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XQ:=QuaternionGroup(8);;[127X[104X
    [4X[25Xgap>[125X [27XB:=BarComplexOfMonoid(Q,6);;                 [127X[104X
    [4X[25Xgap>[125X [27XC:=ContractedComplex(B);;[127X[104X
    [4X[25Xgap>[125X [27XHomology(C,5);[127X[104X
    [4X[28X[ 2, 2 ][128X[104X
    [4X[28X[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XList([0..6],B!.dimension);[127X[104X
    [4X[28X[ 1, 7, 49, 343, 2401, 16807, 117649 ][128X[104X
    [4X[25Xgap>[125X [27XList([0..6],C!.dimension);[127X[104X
    [4X[28X[ 1, 2, 2, 1, 2, 4, 102945 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YHowever,  this approach is of limited applicability since the bar resolution
  involves  [22X|G|^k[122X free generators in degree [22Xk[122X. A range of techniques, tailored
  to  specific  classes  of groups, can be used to compute the (co)homology of
  larger finite groups.[133X
  
  [33X[0;0YThis  naive  approach  does  have the merit of being applicable to arbitrary
  small  monoids.  The  following  calculates the homology in degrees [22X≤ 7[122X of a
  monoid of order 8, the monoid being specified by its multiplication table.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XT:=[ [  1,  1,  1,  4,  4,  4,  4,  1 ],[127X[104X
    [4X[25X>[125X [27X        [  1,  1,  1,  4,  4,  4,  4,  2 ],[127X[104X
    [4X[25X>[125X [27X        [  1,  1,  1,  4,  4,  4,  4,  3 ],[127X[104X
    [4X[25X>[125X [27X        [  4,  4,  4,  1,  1,  1,  1,  4 ],[127X[104X
    [4X[25X>[125X [27X        [  4,  4,  4,  1,  1,  1,  1,  5 ],[127X[104X
    [4X[25X>[125X [27X        [  4,  4,  4,  1,  1,  1,  1,  6 ],[127X[104X
    [4X[25X>[125X [27X        [  4,  4,  4,  1,  1,  1,  1,  7 ],[127X[104X
    [4X[25X>[125X [27X        [  1,  2,  3,  4,  5,  6,  7,  8 ] ];;[127X[104X
    [4X[25Xgap>[125X [27XM:=MonoidByMultiplicationTable(T);[127X[104X
    [4X[28X<monoid of size 8, with 8 generators>[128X[104X
    [4X[25Xgap>[125X [27XB:=BarComplexOfMonoid(M,8);;[127X[104X
    [4X[25Xgap>[125X [27XC:=ContractedComplex(B);;[127X[104X
    [4X[25Xgap>[125X [27XList([0..7],i->Homology(C,i));[127X[104X
    [4X[28X[ [ 0 ], [ 2 ], [  ], [ 2 ], [  ], [ 2 ], [  ], [ 2 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XList([0..8],B!.dimension);[127X[104X
    [4X[28X[ 1, 7, 49, 343, 2401, 16807, 117649, 823543, 5764801 ][128X[104X
    [4X[25Xgap>[125X [27XList([0..8],C!.dimension);[127X[104X
    [4X[28X[ 1, 1, 1, 1, 1, 1, 1, 1, 5044201 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.1-2 [33X[0;0YA more efficient homology computation[133X[101X
  
  [33X[0;0YThe following example computes the seventh integral homology[133X
  
  [33X[0;0Y[22XH_7(M_23, Z) = Z_16⊕ Z_15[122X[133X
  
  [33X[0;0Yand fourth integral cohomomogy[133X
  
  [33X[0;0Y[22XH^4(M_24, Z) = Z_12[122X[133X
  
  [33X[0;0Yand fifth integral homology[133X
  
  [33X[0;0Y[22XH_5(M_24, Z) = Z_14[122X[133X
  
  [33X[0;0Yof  the Mathieu groups [22XM_23[122X and [22XM_24[122X. (Warning: the computation of [22XH_7(M_23,
  Z)[122X takes a couple of hours to run and the computation for [22XH_5(M_24, Z)[122X takes
  an hour to run.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XGroupHomology(MathieuGroup(23),7);[127X[104X
    [4X[28X[ 16, 3, 5 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XGroupCohomology(MathieuGroup(24),4);[127X[104X
    [4X[28X[ 4, 3 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XGroupHomology(MathieuGroup(24),5);[127X[104X
    [4X[28X[ 2, 7 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.1-3 [33X[0;0YComputation of an induced homology homomorphism[133X[101X
  
  [33X[0;0YThe following example computes the cokernel[133X
  
  [33X[0;0Y[22Xcoker( H_3(A_7, Z) → H_3(S_10, Z)) ≅ Z_2⊕ Z_2[122X[133X
  
  [33X[0;0Yof  the  degree-3  integral  homomogy  homomorphism induced by the canonical
  inclusion  [22XA_7  →  S_10[122X  of  the  alternating  group  on  [22X7[122X letters into the
  symmetric  group  on  [22X10[122X  letters.  The analogous cokernel with [22XZ_2[122X homology
  coefficients is also computed.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SymmetricGroup(10);;[127X[104X
    [4X[25Xgap>[125X [27XH:=AlternatingGroup(7);;[127X[104X
    [4X[25Xgap>[125X [27Xf:=GroupHomomorphismByFunction(H,G,x->x);;[127X[104X
    [4X[25Xgap>[125X [27XF:=GroupHomology(f,3);[127X[104X
    [4X[28XMappingByFunction( Pcp-group with orders [ 4, 3 ], Pcp-group with orders [128X[104X
    [4X[28X[ 2, 2, 4, 3 ], function( x ) ... end )[128X[104X
    [4X[25Xgap>[125X [27XAbelianInvariants(Range(F)/Image(F));[127X[104X
    [4X[28X[ 2, 2 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XFmod2:=GroupHomology(f,3,2);;[127X[104X
    [4X[25Xgap>[125X [27XAbelianInvariants(Range(Fmod2)/Image(Fmod2));[127X[104X
    [4X[28X[ 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.1-4 [33X[0;0YSome other finite group homology computations[133X[101X
  
  [33X[0;0YThe following example computes the third integral homology of the Weyl group
  [22XW=Weyl(E_8)[122X, a group of order [22X696729600[122X.[133X
  
  [33X[0;0Y[22XH_3(Weyl(E_8), Z) = Z_2 ⊕ Z_2 ⊕ Z_12[122X[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XL:=SimpleLieAlgebra("E",8,Rationals);;[127X[104X
    [4X[25Xgap>[125X [27XW:=WeylGroup(RootSystem(L));;[127X[104X
    [4X[25Xgap>[125X [27XOrder(W);[127X[104X
    [4X[28X696729600[128X[104X
    [4X[25Xgap>[125X [27XGroupHomology(W,3);[127X[104X
    [4X[28X[ 2, 2, 4, 3 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  preceding  calculation  could  be  achieved more quickly by noting that
  [22XW=Weyl(E_8)[122X  is  a  Coxeter  group,  and  by  using  the  associated Coxeter
  polytope.  The  following  example  uses this approach to compute the fourth
  integral  homology  of  [22XW[122X. It begins by displaying the Coxeter diagram of [22XW[122X,
  and then computes[133X
  
  [33X[0;0Y[22XH_4(Weyl(E_8), Z) = Z_2 ⊕ Z_2 ⊕ Z_2 ⊕ Z_2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XD:=[[1,[2,3]],[2,[3,3]],[3,[4,3],[5,3]],[5,[6,3]],[6,[7,3]],[7,[8,3]]];;[127X[104X
    [4X[25Xgap>[125X [27XCoxeterDiagramDisplay(D);[127X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xpolytope:=CoxeterComplex_alt(D,5);;[127X[104X
    [4X[25Xgap>[125X [27XR:=FreeGResolution(polytope,5);[127X[104X
    [4X[28XResolution of length 5 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 [27XC:=TensorWithIntegers(R);[127X[104X
    [4X[28XChain complex of length 5 in characteristic 0 . [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XHomology(C,4);[127X[104X
    [4X[28X[ 2, 2, 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  following  example  computes  the  sixth  mod-[22X2[122X  homology  of the Sylow
  [22X2[122X-subgroup [22XSyl_2(M_24)[122X of the Mathieu group [22XM_24[122X.[133X
  
  [33X[0;0Y[22XH_6(Syl_2(M_24), Z_2) = Z_2^143[122X[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XGroupHomology(SylowSubgroup(MathieuGroup(24),2),6,2);[127X[104X
    [4X[28X[ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, [128X[104X
    [4X[28X  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, [128X[104X
    [4X[28X  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, [128X[104X
    [4X[28X  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, [128X[104X
    [4X[28X  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, [128X[104X
    [4X[28X  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, [128X[104X
    [4X[28X  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe following example computes the sixth mod-[22X2[122X homology of the Unitary group
  [22XU_3(4)[122X of order 312000.[133X
  
  [33X[0;0Y[22XH_6(U_3(4), Z_2) = Z_2^4[122X[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=GU(3,4);;[127X[104X
    [4X[25Xgap>[125X [27XOrder(G);[127X[104X
    [4X[28X312000[128X[104X
    [4X[25Xgap>[125X [27XGroupHomology(G,6,2);[127X[104X
    [4X[28X[ 2, 2, 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe following example constructs the Poincare series[133X
  
  [33X[0;0Y[22Xp(x)=frac1-x^3+3*x^2-3*x+1[122X[133X
  
  [33X[0;0Yfor  the  cohomology  [22XH^∗(Syl_2(M_12,  F_2)[122X.  The  coefficient of [22Xx^n[122X in the
  expansion   of   [22Xp(x)[122X  is  equal  to  the  dimension  of  the  vector  space
  [22XH^n(Syl_2(M_12,  F_2)[122X.  The  computation  involves [12XSingular[112X's Groebner basis
  algorithms and the Lyndon-Hochschild-Serre spectral sequence.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SylowSubgroup(MathieuGroup(12),2);;[127X[104X
    [4X[25Xgap>[125X [27XP:=PoincareSeriesLHS(G);[127X[104X
    [4X[28X(1)/(-x_1^3+3*x_1^2-3*x_1+1)[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe additional following command uses the Poincare series[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XRankHomologyPGroup(G,P,1000);[127X[104X
    [4X[28X251000[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0Yto   determine  that  [22XH_1000(Syl_2(M_12,  Z)[122X  is  a  direct  sum  of  251000
  non-trivial cyclic [22X2[122X-groups.[133X
  
  [33X[0;0YThe following example constructs the series[133X
  
  [33X[0;0Y[22Xp(x)=fracx^4-x^3+x^2-x+1x^6-x^5+x^4-2*x^3+x^2-x+1[122X[133X
  
  [33X[0;0Ywhose  coefficient  of  [22Xx^n[122X  is  equal  to the dimension of the vector space
  [22XH^n(M_11,  F_2)[122X  for  all  [22Xn[122X  in  the range [22X0≤ n≤ 14[122X. The coefficient is not
  guaranteed correct for [22Xn≥ 15[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPoincareSeriesPrimePart(MathieuGroup(11),2,14);[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
  
  
  [1X7.2 [33X[0;0YNilpotent groups[133X[101X
  
  [33X[0;0YThe following example computes[133X
  
  [33X[0;0Y[22XH_4(N, Z) = (Z_3)^4 ⊕ Z^84[122X[133X
  
  [33X[0;0Yfor the free nilpotent group [22XN[122X of class [22X2[122X on four generators.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XF:=FreeGroup(4);; N:=NilpotentQuotient(F,2);;[127X[104X
    [4X[25Xgap>[125X [27XGroupHomology(N,4);[127X[104X
    [4X[28X[ 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [128X[104X
    [4X[28X  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [128X[104X
    [4X[28X  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [128X[104X
    [4X[28X  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.3 [33X[0;0YCrystallographic and Almost Crystallographic groups[133X[101X
  
  [33X[0;0YThe following example computes[133X
  
  [33X[0;0Y[22XH_5(G, Z) = Z_2 ⊕ Z_2[122X[133X
  
  [33X[0;0Yfor  the  [22X3[122X-dimensional  crystallographic space group [22XG[122X with Hermann-Mauguin
  symbol "P62"[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XGroupHomology(SpaceGroupBBNWZ("P62"),5);[127X[104X
    [4X[28X[ 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe following example computes[133X
  
  [33X[0;0Y[22XH^5(G, Z)= Z[122X[133X
  
  [33X[0;0Yfor an almost crystallographic group.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=AlmostCrystallographicPcpGroup( 4, 50, [ 1, -4, 1, 2 ] );;[127X[104X
    [4X[25Xgap>[125X [27XGroupCohomology(G,4);[127X[104X
    [4X[28X[ 0 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.4 [33X[0;0YArithmetic groups[133X[101X
  
  [33X[0;0YThe following example computes[133X
  
  [33X[0;0Y[22XH_6(SL_2(cal O), Z) = Z_2 ⊕ Z_12[122X[133X
  
  [33X[0;0Yfor [22Xcal O[122X the ring of integers of the number field [22XQ(sqrt-2)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XC:=ContractibleGcomplex("SL(2,O-2)");;[127X[104X
    [4X[25Xgap>[125X [27XR:=FreeGResolution(C,7);;[127X[104X
    [4X[25Xgap>[125X [27XHomology(TensorWithIntegers(R),6);[127X[104X
    [4X[28X[ 2, 12 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe following example computes[133X
  
  [33X[0;0Y[22XH_n(SL_4(  Z), Z) = { beginarrayll 0, &n=1 Z_2 ⊕ Z_2, & n=2 Z ⊕ Z_2 ⊕ Z_12 ⊕
  Z_240, &n=3 Z_2 ⊕ Z_2 ⊕ Z_10, & n=4 ( Z_2)^7, & n=5 . endarray.[122X[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XK:=ContractibleGcomplex("SL4Z_d");;[127X[104X
    [4X[25Xgap>[125X [27XR:=FreeGResolution(K,6);;[127X[104X
    [4X[25Xgap>[125X [27XHomology(TensorWithIntegers(R),1);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27XHomology(TensorWithIntegers(R),2);[127X[104X
    [4X[28X[ 2, 2 ][128X[104X
    [4X[25Xgap>[125X [27XHomology(TensorWithIntegers(R),3);[127X[104X
    [4X[28X[ 2, 12, 240, 0 ][128X[104X
    [4X[25Xgap>[125X [27XHomology(TensorWithIntegers(R),4);[127X[104X
    [4X[28X[ 2, 2, 10 ][128X[104X
    [4X[25Xgap>[125X [27XHomology(TensorWithIntegers(R),5);[127X[104X
    [4X[28X[ 2, 2, 2, 2, 2, 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YFor  the  congruence  subgroup  [22XΓ_0(31)  <  SL_3(  Z)[122X  the following example
  computes[133X
  
  [33X[0;0Y[22XH_n(Γ_0(31),  Z)=  {beginarrayll  Z_30,  &  n=1  ( Z_2)^8, &n=2 ( Z_6)^2 ⊕ (
  Z_12)^2 ⊕ Z^4, & n=3 . endarray.[122X[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X	[128X[104X
    [4X[25Xgap>[125X [27XG:=HAPCongruenceSubgroupGamma0(3,31);;[127X[104X
    [4X[25Xgap>[125X [27XK:=ContractibleGcomplex("SL(3,Z)a");;[127X[104X
    [4X[25Xgap>[125X [27XR:=FreeGResolution(K,4);;[127X[104X
    [4X[25Xgap>[125X [27XS:=ResolutionFiniteSubgroup(R,G);;[127X[104X
    [4X[25Xgap>[125X [27XC:=TensorWithIntegers(S);;[127X[104X
    [4X[25Xgap>[125X [27XD:=ContractedComplex(C);;[127X[104X
    [4X[25Xgap>[125X [27XHomology(D,1);[127X[104X
    [4X[28X[ 30 ][128X[104X
    [4X[25Xgap>[125X [27XHomology(D,2);[127X[104X
    [4X[28X[ 2, 2, 2, 2, 2, 2, 2, 2 ][128X[104X
    [4X[25Xgap>[125X [27XHomology(D,3);[127X[104X
    [4X[28X[ 6, 6, 12, 12, 0, 0, 0, 0 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  the preceding code [22XK[122X is a representation of a [22X3[122X-dimensional contractible
  regular  CW-complex  (a  'well-rounded  retract')  on which [22XSL_3( Z)[122X acts by
  permuting  cells  and for which every cell stabilizer is a finite group. The
  following  code  shows  that there is just one orbit of [22X3[122X-cells and displays
  the [22X1[122X-skeleton of the closure of a [22X3[122X-cell. (Further investigation of [22XK[122X shows
  that  the  2-cells are either hexagonal or triangular. Each hexagonal [22X2[122X-cell
  is incident with three [22X3[122X-cells; each triangular [22X2[122X-cell is incident with four
  [22X3[122X-cells.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X        [128X[104X
    [4X[25Xgap>[125X [27XK:=ContractibleGcomplex("SL(3,Z)a");;[127X[104X
    [4X[25Xgap>[125X [27XList([0..4],K!.dimension);[127X[104X
    [4X[28X[ 1, 1, 2, 1, 0 ][128X[104X
    [4X[25Xgap>[125X [27XY:=GComplexToFiniteRegularCWRegion(K,0);;[127X[104X
    [4X[25Xgap>[125X [27XDisplay(GraphOfRegularCWComplex(Y));[127X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  command  [10XY:=GComplexToFiniteRegularCWRegion(K,r)[110X  returns  a  'ball  of
  radius [22Xr[122X' in the contractible CW-complex represented by [22XK[122X for any integer [22Xr≥
  0[122X.  The  ball  is returned as a finite regular CW-complex. For instance, the
  following  code  constructs  a  ball  of radius [22Xr=6[122X and builds a contracting
  disctete vector field on this ball. The component [10XY!.G_Cells[n+1][k][110X returns
  a  pair  [22X[e,g][122X  with  integer  [22Xe[122X  specifying a representative of an orbit of
  [22Xn[122X-cells  in  [22XK[122X  and  [22Xg[122X  an element in [22XSL(3, Z)[122X such that the [22Xk[122Xth [22Xn[122X-cell of [22XY[122X
  corresponds to [22Xg.e[122X .[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X        [128X[104X
    [4X[25Xgap>[125X [27XK:=ContractibleGcomplex("SL(3,Z)a");;[127X[104X
    [4X[25Xgap>[125X [27XY:=GComplexToFiniteRegularCWRegion(K,6);;[127X[104X
    [4X[25Xgap>[125X [27XSize(Y); #number of cells in Y[127X[104X
    [4X[28X15328275[128X[104X
    [4X[25Xgap>[125X [27XY!.nrCells(3); #number of 3-cells in Y[127X[104X
    [4X[28X792577[128X[104X
    [4X[25Xgap>[125X [27XCriticalCells(Y);[127X[104X
    [4X[28X[ [ 0, 3116128 ] ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.5 [33X[0;0YArtin groups[133X[101X
  
  [33X[0;0YThe following example computes[133X
  
  [33X[0;0Y[22XH_n(G,  Z)  ={  beginarrayll Z &n=0,1,7,8 Z_2, &n=2,3 Z_2⊕ Z_6, &n=4,6 Z_3 ⊕
  Z_6,& n=5 0, &n>8 endarray.[122X[133X
  
  [33X[0;0Yfor  [22XG[122X the Artin group of type [22XE_8[122X. (Similar commands can be used to compute
  a  resolution  and  homology of arbitrary Artin monoids and, in thoses cases
  such  as  the  spherical cases where the [22XK(π,1)[122X-conjecture is known to hold,
  the homology is equal to that of the corresponding Artin group.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XD:=[[1,[2,3]],[2,[3,3]],[3,[4,3],[5,3]],[5,[6,3]],[6,[7,3]],[7,[8,3]]];;[127X[104X
    [4X[25Xgap>[125X [27XCoxeterDiagramDisplay(D);;[127X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionArtinGroup(D,9);;[127X[104X
    [4X[25Xgap>[125X [27XC:=TensorWithIntegers(R);;[127X[104X
    [4X[25Xgap>[125X [27XList([0..8],n->Homology(C,n));[127X[104X
    [4X[28X[ [ 0 ], [ 0 ], [ 2 ], [ 2 ], [ 2, 6 ], [ 3, 6 ], [ 2, 6 ], [ 0 ], [ 0 ] ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe Artin group [22XG[122X projects onto the Coxeter group [22XW[122X of type [22XE_8[122X. The group [22XW[122X
  has  a  natural  representation  as  a  group of [22X8× 8[122X integer matrices. This
  projection  gives  rise  to  a  representation [22Xρ: G→ GL_8( Z)[122X. The following
  command computes the cohomology group [22XH^6(G,ρ) = ( Z_2)^6[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=R!.group;;[127X[104X
    [4X[25Xgap>[125X [27XgensG:=GeneratorsOfGroup(G);;[127X[104X
    [4X[25Xgap>[125X [27XW:=CoxeterDiagramMatCoxeterGroup(D);;[127X[104X
    [4X[25Xgap>[125X [27XgensW:=GeneratorsOfGroup(W);;[127X[104X
    [4X[25Xgap>[125X [27Xrho:=GroupHomomorphismByImages(G,W,gensG,gensW);;[127X[104X
    [4X[25Xgap>[125X [27XC:=HomToIntegralModule(R,rho);;[127X[104X
    [4X[25Xgap>[125X [27XCohomology(C,6);[127X[104X
    [4X[28X[ 2, 2, 2, 2, 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.6 [33X[0;0YGraphs of groups[133X[101X
  
  [33X[0;0YThe following example computes[133X
  
  [33X[0;0Y[22XH_5(G, Z) = Z_2⊕ Z_2⊕ Z_2 ⊕ Z_2 ⊕ Z_2[122X[133X
  
  [33X[0;0Yfor  [22XG[122X  the  graph  of  groups  corresponding  to  the  amalgamated  product
  [22XG=S_5*_S_3S_4[122X  of  the  symmetric  groups  [22XS_5[122X  and  [22XS_4[122X  over the canonical
  subgroup [22XS_3[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XS5:=SymmetricGroup(5);SetName(S5,"S5");[127X[104X
    [4X[25Xgap>[125X [27XS4:=SymmetricGroup(4);SetName(S4,"S4");[127X[104X
    [4X[25Xgap>[125X [27XA:=SymmetricGroup(3);SetName(A,"S3");[127X[104X
    [4X[25Xgap>[125X [27XAS5:=GroupHomomorphismByFunction(A,S5,x->x);[127X[104X
    [4X[25Xgap>[125X [27XAS4:=GroupHomomorphismByFunction(A,S4,x->x);[127X[104X
    [4X[25Xgap>[125X [27XD:=[S5,S4,[AS5,AS4]];[127X[104X
    [4X[25Xgap>[125X [27XGraphOfGroupsDisplay(D);[127X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionGraphOfGroups(D,6);;[127X[104X
    [4X[25Xgap>[125X [27XHomology(TensorWithIntegers(R),5);[127X[104X
    [4X[28X[ 2, 2, 2, 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  next  example computes the integral homology of [22XSL_2( Z)[122X in degrees [22X≤ 5[122X
  using the isomorphism [22XSL_2( Z) ≅ C_4∗_C_2C_6[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xx:=(1,2,3,4,5,6,7,8,9,10,11,12);;[127X[104X
    [4X[25Xgap>[125X [27XC6:=Group(x^2);;SetName(C6,"C6");;[127X[104X
    [4X[25Xgap>[125X [27XC4:=Group(x^3);;SetName(C4,"C4");;[127X[104X
    [4X[25Xgap>[125X [27XC2:=Group(x^6);;SetName(C2,"C2");;[127X[104X
    [4X[25Xgap>[125X [27XC2C6:=GroupHomomorphismByFunction(C2,C6,x->x);;[127X[104X
    [4X[25Xgap>[125X [27XC2C4:=GroupHomomorphismByFunction(C2,C4,x->x);;[127X[104X
    [4X[25Xgap>[125X [27XD:=[C6,C4,[C2C6,C2C4]];;[127X[104X
    [4X[25Xgap>[125X [27XGraphOfGroupsDisplay(D);[127X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionGraphOfGroups(D,6);;[127X[104X
    [4X[25Xgap>[125X [27XList([0..5],n->Homology(TensorWithIntegers(R),n));[127X[104X
    [4X[28X[ [ 0 ], [ 12 ], [  ], [ 12 ], [  ], [ 12 ] ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  next  commands  compute the integral homology in degree [22X7[122X of a graph of
  groups  corresponding  to  the HNN extension [22XG=H*_A[122X where [22XH[122X is the symmetric
  group [22XH=S_5[122X and [22XA[122X is the subgroup [22XA=S_3[122X and [22Xf:A→ H[122X is the homomorphism [22X(1,2)
  → (3,4)[122X, [22X(1,2,3) → (3,4,5)[122X. The HNN extension [22XG[122X is obtained from [22XH[122X by adding
  a generator [22Xt[122X subject to the relations [22Xt^-1 a t = f(a)[122X for [22Xa ∈ A[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XS5:=SymmetricGroup(5);SetName(S5,"S5");;[127X[104X
    [4X[25Xgap>[125X [27XA:=SymmetricGroup(3);SetName(A,"S3");;[127X[104X
    [4X[25Xgap>[125X [27Xf:=GroupHomomorphismByImages(A,S5,[(1,2),(1,2,3)],[(3,4),(3,4,5)]);;[127X[104X
    [4X[25Xgap>[125X [27Xg:=GroupHomomorphismByFunction(A,S5,x->x);;[127X[104X
    [4X[25Xgap>[125X [27XD:=[S5,[f,g]];;[127X[104X
    [4X[25Xgap>[125X [27XGraphOfGroupsDisplay(D);;[127X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionGraphOfGroups(D,8);;[127X[104X
    [4X[25Xgap>[125X [27XHomology(TensorWithIntegers(R),7);[127X[104X
    [4X[28X[ 2, 2, 60 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.7 [33X[0;0YLie algebra homology and free nilpotent groups[133X[101X
  
  [33X[0;0YOne  method  of  producting a Lie algebra [22XL[122X from a group [22XG[122X is by forming the
  direct sum [22XL(G) = G/γ_2G ⊕ γ_2G/γ_3G ⊕ γ_3G/γ_4G ⊕ ⋯[122X of the quotients of the
  lower central series [22Xγ_1G=G[122X, [22Xγ_n+1G=[γ_nG,G][122X. Commutation in [22XG[122X induces a Lie
  bracket [22XL(G)× L(G) → L(G)[122X.[133X
  
  [33X[0;0YThe  homology  [22XH_n(L)[122X  of  a  Lie algebra (with trivial coefficients) can be
  calculated  as the homology of the Chevalley-Eilenberg chain complex [22XC_∗(L)[122X.
  This  chain  complex is implemented in [12XHAP[112X in the cases where the underlying
  additive  group  of  [22XL[122X is either finitely generated torsion free or finitely
  generated  of  prime  exponent [22Xp[122X. In these two cases the ground ring for the
  Lie   algebra/  Chevalley-Eilenberg  complex  is  taken  to  be  [22XZ[122X  and  [22XZ_p[122X
  respectively.[133X
  
  [33X[0;0YFor  example,  consider  the quotient [22XG=F/γ_8F[122X of the free group [22XF=F(x,y)[122X on
  two  generators by eighth term of its lower central series. So [22XG[122X is the [13Xfree
  nilpotent group of class 7 on two generators[113X. The following commands compute
  [22XH_4(L(G))  =  Z_2^77 ⊕ Z_6^8 ⊕ Z_12^51 ⊕ Z_132^11 ⊕ Z^2024[122X and show that the
  fourth  homology  in this case contains 2-, 3- and 11-torsion. (The commands
  take an hour or so to complete.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=Image(NqEpimorphismNilpotentQuotient(FreeGroup(2),7));;[127X[104X
    [4X[25Xgap>[125X [27XL:=LowerCentralSeriesLieAlgebra(G);;[127X[104X
    [4X[25Xgap>[125X [27Xh:=LieAlgebraHomology(L,4);;[127X[104X
    [4X[25Xgap>[125X [27XCollected(h);[127X[104X
    [4X[28X[ [ 0, 2024 ], [ 2, 77 ], [ 6, 8 ], [ 12, 51 ], [ 132, 11 ] ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YFor  a  free  nilpotent  group  [22XG[122X the additive homology [22XH_n(L(G))[122X of the Lie
  algebra can be computed more quickly in [12XHAP[112X than the integral group homology
  [22XH_n(G,  Z)[122X.  Clearly  there  are  isomorphisms[22XH_1(G)  ≅  H_1(L(G)) ≅ G_ab[122X of
  abelian  groups  in  homological  degree  [22Xn=1[122X. Hopf's formula can be used to
  establish  an  isomorphism  [22XH_2(G)  ≅  H_2(L(G))[122X  also  in  degree  [22Xn=2[122X. The
  following  two  theorems  provide  further  isomorphisms  that allow for the
  homology  of a free nilpotent group to be calculated more efficiently as the
  homology of the associated Lie algebra.[133X
  
  [33X[0;0Y[12XTheorem  1.[112X  [KS98]  [13XLet  [22XG[122X  be a finitely generated free nilpotent group of
  class  2.  Then  the  integral group homology [22XH_n(G, Z)[122X is isomorphic to the
  integral Lie algebra homology [22XH_n(L(G), Z)[122X in each degree [22Xn≥0[122X.[113X[133X
  
  [33X[0;0Y[12XTheorem 2.[112X [IO01] [13XLet [22XG[122X be a finitely generated free nilpotent group (of any
  class).  Then  the  integral  group  homology [22XH_n(G, Z)[122X is isomorphic to the
  integral Lie algebra homology [22XH_n(L(G), Z)[122X in degrees [22Xn=0, 1, 2, 3[122X.[113X[133X
  
  [33X[0;0YWe  should remark that experimentation on free nilpotent groups of class [22X≥ 4[122X
  has  not  yielded a group for which the isomorphism [22XH_n(G, Z) ≅ H_n(L(G), G)[122X
  fails.  For  instance,  the  isomorphism  holds  in  degree [22Xn=4[122X for the free
  nilpotent  group  of  class  5 on two generators, and for the free nilpotent
  group of class 2 on four generators:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=Image(NqEpimorphismNilpotentQuotient(FreeGroup(2),5));;[127X[104X
    [4X[25Xgap>[125X [27XL:=LowerCentralSeriesLieAlgebra(G);;[127X[104X
    [4X[25Xgap>[125X [27XCollected( LieAlgebraHomology(L,4) );[127X[104X
    [4X[28X[ [ 0, 85 ], [ 7, 1 ] ][128X[104X
    [4X[25Xgap>[125X [27XCollected( GroupHomology(G,4) );[127X[104X
    [4X[28X[ [ 0, 85 ], [ 7, 1 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XG:=Image(NqEpimorphismNilpotentQuotient(FreeGroup(4),2));;  [127X[104X
    [4X[25Xgap>[125X [27XL:=LowerCentralSeriesLieAlgebra(G);;[127X[104X
    [4X[25Xgap>[125X [27XCollected( LieAlgebraHomology(L,4) );[127X[104X
    [4X[28X[ [ 0, 84 ], [ 3, 4 ] ][128X[104X
    [4X[25Xgap>[125X [27XCollected( GroupHomology(G,4) );[127X[104X
    [4X[28X[ [ 0, 84 ], [ 3, 4 ] ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.8 [33X[0;0YCohomology with coefficients in a module[133X[101X
  
  [33X[0;0YThere  are  various  ways  to  represent a [22XZG[122X-module [22XA[122X with action [22XG× A → A,
  (g,a)↦ α(g,a)[122X.[133X
  
  [33X[0;0YOne  possibility  is  to use the data type of a [13X[22XG[122X-Outer Group[113X which involves
  three  components:  an  [22XActedGroup[122X  [22XA[122X;  an  [22XActing Group[122X [22XG[122X; a [22XMapping[122X [22X(g,a)↦
  α(g,a)[122X.  The following example uses this data type to compute the cohomology
  [22XH^4(G,A)  = Z_5 ⊕ Z_10[122X of the symmetric group [22XG=S_6[122X with coefficients in the
  integers [22XA= Z[122X where odd permutations act non-trivially on [22XA[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SymmetricGroup(6);;[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XA:=AbelianPcpGroup([0]);;[127X[104X
    [4X[25Xgap>[125X [27Xalpha:=function(g,a); return a^SignPerm(g); end;;[127X[104X
    [4X[25Xgap>[125X [27XA:=GModuleAsGOuterGroup(G,A,alpha);[127X[104X
    [4X[28XZG-module with abelian invariants [ 0 ] and G= SymmetricGroup( [ 1 .. 6 ] )[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(G,5);;[127X[104X
    [4X[25Xgap>[125X [27XC:=HomToGModule(R,A);[127X[104X
    [4X[28XG-cocomplex of length 5 . [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XCohomology(C,4);[127X[104X
    [4X[28X[ 2, 2, 5 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIf [22XA= Z^n[122X and [22XG[122X acts as[133X
  
  [33X[0;0Y[22XG× A → A, (g, v) ↦ ρ(g) v[122X[133X
  
  [33X[0;0Ywhere  [22Xρ:  G→ Gl_n( Z)[122X is a (not necessarily faithful) matrix representation
  of  degree  [22Xn[122X  then  we can avoid the use of [22XG[122X-outer groups and use just the
  homomorphism [22Xρ[122X instead. The following example uses this data type to compute
  the cohomology[133X
  
  [33X[0;0Y[22XH^6(G,A) = Z_2[122X[133X
  
  [33X[0;0Yand the homology[133X
  
  [33X[0;0Y[22XH_6(G,A) = 0[122X[133X
  
  [33X[0;0Yof the alternating group [22XG=A_5[122X with coefficients in [22XA= Z^5[122X where elements of
  [22XG[122X act on [22XZ^5[122X via an irreducible representation.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=AlternatingGroup(5);;[127X[104X
    [4X[25Xgap>[125X [27Xrho:=IrreducibleRepresentations(G)[5];[127X[104X
    [4X[28X[ (1,2,3,4,5), (3,4,5) ] -> [128X[104X
    [4X[28X[ [128X[104X
    [4X[28X  [ [ 0, 0, 1, 0, 0 ], [ -1, -1, 0, 0, 1 ], [ 0, 1, 1, 1, 0 ], [128X[104X
    [4X[28X      [ 1, 0, -1, 0, -1 ], [ -1, -1, 0, -1, 0 ] ], [128X[104X
    [4X[28X  [ [ -1, -1, 0, 0, 1 ], [ 1, 0, -1, 0, -1 ], [ 0, 0, 0, 0, 1 ], [128X[104X
    [4X[28X      [ 0, 0, 1, 0, 0 ], [ 0, 0, 0, 1, 0 ] ] ][128X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(G,7);;[127X[104X
    [4X[25Xgap>[125X [27XC:=HomToIntegralModule(R,rho);;[127X[104X
    [4X[25Xgap>[125X [27XCohomology(C,6);[127X[104X
    [4X[28X[ 2 ][128X[104X
    [4X[25Xgap>[125X [27XD:=TensorWithIntegralModule(R,rho);[127X[104X
    [4X[28XChain complex of length 7 in characteristic 0 . [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XHomology(D,6);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIf  [22XV=K^d[122X  is  a  vetor space of dimension [22Xd[122X over the field [22XK=GF(p)[122X with [22Xp[122X a
  prime  and  [22XG[122X  acts  on [22XV[122X via a homomorphism [22Xρ: G→ GL_d(K)[122X then the homology
  [22XH^n(G,V)[122X  can  again  be  computed  without the use of G-outer groups. As an
  example, the following commands compute[133X
  
  [33X[0;0Y[22XH^4(GL(3,2),V) =K^2[122X[133X
  
  [33X[0;0Ywhere [22XK=GF(2)[122X and [22XGL(3,2)[122X acts with its natural action on [22XV=K^3[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=GL(3,2);;[127X[104X
    [4X[25Xgap>[125X [27Xrho:=GroupHomomorphismByFunction(G,G,x->x);;[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(G,5);;[127X[104X
    [4X[25Xgap>[125X [27XC:=HomToModPModule(R,rho);;[127X[104X
    [4X[25Xgap>[125X [27XCohomology(C,4);[127X[104X
    [4X[28X2[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  following  example  constructs  the  Artin  braid  group [22XG=B_3[122X on three
  strings,  the  surjection [22XG↠ S_3[122X, a complex representation [22XS_3→ GL_2( C)[122X and
  the  composite representation [22Xρ: G→ GL_2( C)[122X. The group [22XG[122X acts on the vector
  space  [22XV=  C⊕ C[122X via [22Xρ[122X. Then the dimensions of the cohomology groups [22XH^n(G,V)[122X
  are computed.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XD:=[[1,[2,3]],[2,[3,3]]];;[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionArtinGroup(D,4);;[127X[104X
    [4X[25Xgap>[125X [27XG:=R!.group;; #Braid group[127X[104X
    [4X[25Xgap>[125X [27Xr:=[G.1^2,G.2^2,G.3^2];;Q:=G/r;;[127X[104X
    [4X[25Xgap>[125X [27Xq:=GroupHomomorphismByImages(G,Q,GeneratorsOfGroup(G),GeneratorsOfGroup(Q));;[127X[104X
    [4X[25Xgap>[125X [27Xh:=IrreducibleRepresentations(Q)[3];[127X[104X
    [4X[28XPcgs([ f1^-1*f2^-1*f3^-2*f1^-1, f3^-1*f2^-1*f1^-1*f2^-1, f2*f3^-1*f1^-1*f2^-1,[128X[104X
    [4X[28X  f3^-1*f1^-1 ]) -> [ [ [ 0, 1 ], [ 1, 0 ] ], [ [ E(3), 0 ], [ 0, E(3)^2 ] ], [128X[104X
    [4X[28X  [ [ 1, 0 ], [ 0, 1 ] ], [ [ 1, 0 ], [ 0, 1 ] ] ][128X[104X
    [4X[25Xgap>[125X [27Xrho:=GroupHomomorphismByFunction(G,Image(h),x->Image(h,Image(q,x)));;[127X[104X
    [4X[25Xgap>[125X [27XC:=HomToModuleOverCyclotomicField(R,rho);[127X[104X
    [4X[28XCochain complex of length 4 over field of characteristic 0. [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XCohomology(C,1);[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XCohomology(C,2);[127X[104X
    [4X[28X1[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIt  can be computationally difficult to compute resolutions for large finite
  groups.  But  the  [22Xp[122X-primary  part  of  the  homology  can be computed using
  resolutions  of  Sylow  [22Xp[122X-subgroups.  This approach is used in the following
  example that computes the [22X2[122X-primary part[133X
  
  [33X[0;0Y[22XH_2(G, Z)_(2) = Z_2 ⊕ Z_2⊕ Z_2[122X[133X
  
  [33X[0;0Yof  the  degree  2 integral homology of the Rubik's cube group [22XG[122X. This group
  has order [22X43252003274489856000[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xgens:= [[127X[104X
    [4X[25X>[125X [27X   ( 1, 3, 8, 6)( 2, 5, 7, 4)( 9,33,25,17)(10,34,26,18)(11,35,27,19),[127X[104X
    [4X[25X>[125X [27X   ( 9,11,16,14)(10,13,15,12)( 1,17,41,40)( 4,20,44,37)( 6,22,46,35),[127X[104X
    [4X[25X>[125X [27X   (17,19,24,22)(18,21,23,20)( 6,25,43,16)( 7,28,42,13)( 8,30,41,11),[127X[104X
    [4X[25X>[125X [27X   (25,27,32,30)(26,29,31,28)( 3,38,43,19)( 5,36,45,21)( 8,33,48,24),[127X[104X
    [4X[25X>[125X [27X   (33,35,40,38)(34,37,39,36)( 3, 9,46,32)( 2,12,47,29)( 1,14,48,27),[127X[104X
    [4X[25X>[125X [27X   (41,43,48,46)(42,45,47,44)(14,22,30,38)(15,23,31,39)(16,24,32,40)[127X[104X
    [4X[25X>[125X [27X ];; G:=Group(gens);;P:=SylowSubgroup(G,2);;[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionNormalSeries(BigStepUCS(P,6),3);;[127X[104X
    [4X[25Xgap>[125X [27XPrimePartDerivedFunctorViaSubgroupChain(G,R,TensorWithIntegers,2);[127X[104X
    [4X[28X[ 2, 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  same  approach  is  used  in  the  following  example that computes the
  [22X2[122X-primary part[133X
  
  [33X[0;0Y[22XH_11(A_7,A)_(2) = Z_2 ⊕ Z_2⊕ Z_4[122X[133X
  
  [33X[0;0Yof  the  degree  11  homology  of the alternating group [22XA_7[122X of degree [22X7[122X with
  coefficients  in  the  module  [22XA=  Z^7[122X  on which [22XA_7[122X acts by permuting basis
  vectors.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=AlternatingGroup(7);;[127X[104X
    [4X[25Xgap>[125X [27Xrho:=PermToMatrixGroup(G);;[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(SylowSubgroup(G,2),12);;[127X[104X
    [4X[25Xgap>[125X [27XF:=function(X); return TensorWithIntegralModule(X,rho); end;;[127X[104X
    [4X[25Xgap>[125X [27XPrimePartDerivedFunctorViaSubgroupChain(G,R,F,11);[127X[104X
    [4X[28X[ 2, 2, 4 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YSimilar commands compute[133X
  
  [33X[0;0Y[22XH_3(A_10,A)_(2) = Z_4[122X[133X
  
  [33X[0;0Ywith  coefficient  module  [22XA=  Z^10[122X  on  which  [22XA_10[122X acts by permuting basis
  vectors.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=AlternatingGroup(10);;[127X[104X
    [4X[25Xgap>[125X [27Xrho:=PermToMatrixGroup(G);;[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(SylowSubgroup(G,2),4);;[127X[104X
    [4X[25Xgap>[125X [27XF:=function(X); return TensorWithIntegralModule(X,rho); end;;[127X[104X
    [4X[25Xgap>[125X [27XPrimePartDerivedFunctorViaSubgroupChain(G,R,F,3);[127X[104X
    [4X[28X[ 4 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe following commands compute[133X
  
  [33X[0;0Y[22XH_100(GL(3,2),V)= K^34[122X[133X
  
  [33X[0;0Ywhere  [22XV[122X  is  the  vector  space of dimension [22X3[122X over [22XK=GF(2)[122X acting via some
  irreducible representation [22Xρ: GL(3,2) → GL(V)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=GL(3,2);;[127X[104X
    [4X[25Xgap>[125X [27Xrho:=IrreducibleRepresentations(G,GF(2))[3];[127X[104X
    [4X[28XCompositionMapping( [ (5,7)(6,8), (2,3,5)(4,7,6) ] -> [128X[104X
    [4X[28X[ <an immutable 3x3 matrix over GF2>, <an immutable 3x3 matrix over GF2> ],[128X[104X
    [4X[28X <action isomorphism> )[128X[104X
    [4X[25Xgap>[125X [27XF:=function(X); return TensorWithModPModule(X,rho); end;;[127X[104X
    [4X[25Xgap>[125X [27XS:=ResolutionPrimePowerGroup(SylowSubgroup(G,2),101);;[127X[104X
    [4X[25Xgap>[125X [27XPrimePartDerivedFunctorViaSubgroupChain(G,S,F,100);[127X[104X
    [4X[28X[ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, [128X[104X
    [4X[28X  2, 2, 2, 2, 2, 2, 2, 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.9 [33X[0;0YCohomology as a functor of the first variable[133X[101X
  
  [33X[0;0YSuppose given a group homomorphism [22Xf: G_1→ G_2[122X and a [22XG_2[122X-module [22XA[122X. Then [22XA[122X is
  naturally a [22XG_1[122X-module with action via [22Xf[122X, and there is an induced cohomology
  homomorphism [22XH^n(f,A): H^n(G_2,A) → H^n(G_1,A)[122X.[133X
  
  [33X[0;0YThe  following  example  computes this cohomology homomorphism in degree [22Xn=6[122X
  for  the  inclusion  [22Xf:  A_5  → S_5[122X and [22XA= Z^5[122X with action that permutes the
  canonical  basis.  The  final  commands  determine  that  the  kernel of the
  homomorphism [22XH^6(f,A)[122X is the Klein group of order [22X4[122X and that the cokernel is
  cyclic of order [22X6[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG1:=AlternatingGroup(5);;[127X[104X
    [4X[25Xgap>[125X [27XG2:=SymmetricGroup(5);;[127X[104X
    [4X[25Xgap>[125X [27Xf:=GroupHomomorphismByFunction(G1,G2,x->x);;[127X[104X
    [4X[25Xgap>[125X [27Xpi:=PermToMatrixGroup(G2,5);;[127X[104X
    [4X[25Xgap>[125X [27XR1:=ResolutionFiniteGroup(G1,7);;[127X[104X
    [4X[25Xgap>[125X [27XR2:=ResolutionFiniteGroup(G2,7);;[127X[104X
    [4X[25Xgap>[125X [27XF:=EquivariantChainMap(R1,R2,f);;[127X[104X
    [4X[25Xgap>[125X [27XC:=HomToIntegralModule(F,pi);;[127X[104X
    [4X[25Xgap>[125X [27Xc:=Cohomology(C,6);[127X[104X
    [4X[28X[ g1, g2, g3 ] -> [ id, id, g3 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XAbelianInvariants(Kernel(c));[127X[104X
    [4X[28X[ 2, 2 ][128X[104X
    [4X[25Xgap>[125X [27XAbelianInvariants(Range(c)/Image(c));[127X[104X
    [4X[28X[ 2, 3 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.10  [33X[0;0YCohomology  as  a  functor  of  the second variable and the long exact[101X
  [1Xcoefficient sequence[133X[101X
  
  [33X[0;0YA short exact sequence of [22XZG[122X-modules [22XA ↣ B ↠ C[122X induces a long exact sequence
  of cohomology groups[133X
  
  [33X[0;0Y[22X→ H^n(G,A) → H^n(G,B) → H^n(G,C) → H^n+1(G,A) →[122X .[133X
  
  [33X[0;0YConsider  the  symmetric  group  [22XG=S_4[122X  and  the sequence [22XZ_4 ↣ Z_8 ↠ Z_2[122X of
  trivial  [22XZG[122X-modules.  The  following commands compute the induced cohomology
  homomorphism[133X
  
  [33X[0;0Y[22Xf: H^3(S_4, Z_4) → H^3(S_4, Z_8)[122X[133X
  
  [33X[0;0Yand  determine  that  the image of this induced homomorphism has order [22X8[122X and
  that its kernel has order [22X2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SymmetricGroup(4);;[127X[104X
    [4X[25Xgap>[125X [27Xx:=(1,2,3,4,5,6,7,8);;[127X[104X
    [4X[25Xgap>[125X [27Xa:=Group(x^2);;[127X[104X
    [4X[25Xgap>[125X [27Xb:=Group(x);;[127X[104X
    [4X[25Xgap>[125X [27Xahomb:=GroupHomomorphismByFunction(a,b,y->y);;[127X[104X
    [4X[25Xgap>[125X [27XA:=TrivialGModuleAsGOuterGroup(G,a);;[127X[104X
    [4X[25Xgap>[125X [27XB:=TrivialGModuleAsGOuterGroup(G,b);;[127X[104X
    [4X[25Xgap>[125X [27Xphi:=GOuterGroupHomomorphism();;[127X[104X
    [4X[25Xgap>[125X [27Xphi!.Source:=A;;[127X[104X
    [4X[25Xgap>[125X [27Xphi!.Target:=B;;[127X[104X
    [4X[25Xgap>[125X [27Xphi!.Mapping:=ahomb;;[127X[104X
    [4X[28X [128X[104X
    [4X[25Xgap>[125X [27XHphi:=CohomologyHomomorphism(phi,3);;[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XSize(ImageOfGOuterGroupHomomorphism(Hphi));[127X[104X
    [4X[28X8[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XSize(KernelOfGOuterGroupHomomorphism(Hphi));[127X[104X
    [4X[28X2[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe following commands then compute the homomorphism[133X
  
  [33X[0;0Y[22XH^3(S_4, Z_8) → H^3(S_4, Z_2)[122X[133X
  
  [33X[0;0Yinduced  by  [22XZ_4  ↣  Z_8  ↠  Z_2[122X,  and  determine  that  the  kernel of this
  homomorphsim has order [22X8[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xbhomc:=NaturalHomomorphismByNormalSubgroup(b,a);[127X[104X
    [4X[25Xgap>[125X [27XB:=TrivialGModuleAsGOuterGroup(G,b);[127X[104X
    [4X[25Xgap>[125X [27XC:=TrivialGModuleAsGOuterGroup(G,Image(bhomc));[127X[104X
    [4X[25Xgap>[125X [27Xpsi:=GOuterGroupHomomorphism();[127X[104X
    [4X[25Xgap>[125X [27Xpsi!.Source:=B;[127X[104X
    [4X[25Xgap>[125X [27Xpsi!.Target:=C;[127X[104X
    [4X[25Xgap>[125X [27Xpsi!.Mapping:=bhomc;[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XHpsi:=CohomologyHomomorphism(psi,3);[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XSize(KernelOfGOuterGroupHomomorphism(Hpsi));[127X[104X
    [4X[28X8[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe following commands then compute the connecting homomorphism[133X
  
  [33X[0;0Y[22XH^2(S_4, Z_2) → H^3(S_4, Z_4)[122X[133X
  
  [33X[0;0Yand determine that the image of this homomorphism has order [22X2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xdelta:=ConnectingCohomologyHomomorphism(psi,2);;[127X[104X
    [4X[25Xgap>[125X [27XSize(ImageOfGOuterGroupHomomorphism(delta));[127X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote that the various orders are consistent with exactness of the sequence[133X
  
  [33X[0;0Y[22XH^2(S_4, Z_2) → H^3(S_4, Z_4) → H^3(S_4, Z_8) → H^3(S_4, Z_2)[122X .[133X
  
  
  [1X7.11 [33X[0;0YTransfer Homomorphism[133X[101X
  
  [33X[0;0YConsider  the  action  of the symmetric group [22XG=S_5[122X on [22XA= Z^5[122X which permutes
  the   canonical   basis.  The  action  restricts  to  the  sylow  [22X2[122X-subgroup
  [22XP=Syl_2(G)[122X.   The   following   commands  compute  the  cohomology  transfer
  homomorphism  [22Xt^4: H^4(P,A) → H^4(S_5,A)[122X and determine its kernel and image.
  The  integral  homology  transfer  [22Xt_4:  H_4(S_5,  Z)  →  H_5(P,  Z)[122X is also
  computed.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SymmetricGroup(5);;[127X[104X
    [4X[25Xgap>[125X [27XP:=SylowSubgroup(G,2);;[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(G,5);;[127X[104X
    [4X[25Xgap>[125X [27XA:=PermToMatrixGroup(G);;[127X[104X
    [4X[25Xgap>[125X [27Xtr:=TransferCochainMap(R,P,A);[127X[104X
    [4X[28XCochain Map between complexes of length 5 . [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xt4:=Cohomology(tr,4);[127X[104X
    [4X[28X[ g1, g2, g3, g4 ] -> [ id, g1, g2, g4 ][128X[104X
    [4X[25Xgap>[125X [27XStructureDescription(Kernel(t4));[127X[104X
    [4X[28X"C2 x C2"[128X[104X
    [4X[25Xgap>[125X [27XStructureDescription(Image(t4));[127X[104X
    [4X[28X"C4 x C2"[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xtr:=TransferChainMap(R,P);[127X[104X
    [4X[28XChain Map between complexes of length 5 . [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XHomology(tr,4);[127X[104X
    [4X[28X[ g1 ] -> [ g1 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.12 [33X[0;0YCohomology rings of finite fundamental groups of 3-manifolds[133X[101X
  
  [33X[0;0YA  [13Xspherical 3-manifold[113X is a 3-manifold arising as the quotient [22XS^3/Γ[122X of the
  3-sphere [22XS^3[122X by a finite subgroup [22XΓ[122X of [22XSO(4)[122X acting freely as rotations. The
  geometrization  conjecture,  proved  by Grigori Perelman, implies that every
  closed  connected 3-manifold with a finite fundamental group is homeomorphic
  to a spherical 3-manifold.[133X
  
  [33X[0;0YA  spherical  3-manifold [22XS^3/Γ[122X has finite fundamental group isomorphic to [22XΓ[122X.
  This fundamental group is one of:[133X
  
  [30X    [33X[0;6Y[22XΓ=C_m=⟨ x | x^m⟩[122X ([12Xcyclic fundamental group[112X)[133X
  
  [30X    [33X[0;6Y[22XΓ=C_m× ⟨ x,y | xyx^-1=y^-1, x^2^k=y^n ⟩[122X for integers [22Xk, m≥ 1, n≥ 2[122X and
        [22Xm[122X coprime to [22X2n[122X ([12Xprism manifold case[112X)[133X
  
  [30X    [33X[0;6Y[22XΓ=  C_m×  ⟨ x,y, z | (xy)^2=x^2=y^2, zxz^-1=y, zyz^-1=xy, z^3^k=1⟩[122X for
        integers [22Xk,m≥ 1[122X and [22Xm[122X coprime to 6 ([12Xtetrahedral case[112X)[133X
  
  [30X    [33X[0;6Y[22XΓ=C_m×⟨ x,y | (xy)^2=x^3=y^4⟩[122X for [22Xm≥ 1[122X coprime to 6 ([12Xoctahedral case[112X)[133X
  
  [30X    [33X[0;6Y[22XΓ=C_m×  ⟨  x,y  |  (xy)^2=x^3=y^5⟩[122X for [22Xm≥ 1[122X coprime to 30 ([12Xicosahedral
        case[112X).[133X
  
  [33X[0;0YThis    list    of    cases    is    taken    from   the   Wikipedia   pages
  ([7Xhttps://en.wikipedia.org/wiki/Spherical_3-manifold[107X).   The   group   [22XΓ[122X  has
  periodic cohomology since it acts on a sphere. The cyclic group has period 2
  and  in  the  other  four  cases  it has period 4. (Recall that in general a
  finite group [22XG[122X has [13Xperiodic cohomology of period [22Xn[122X[113X if there is an element [22Xu∈
  H^n(G,  Z)[122X  such  that  the cup product [22X- ∪ u: H^k(G, Z) → H^k+n(G, Z)[122X is an
  isomorphism  for all [22Xk≥ 1[122X. It can be shown that [22XG[122X has periodic cohomology of
  period [22Xn[122X if and only if [22XH^n(G, Z)= Z_|G|[122X.)[133X
  
  [33X[0;0YThe  cohomology  of  the cyclic group is well-known, and the cohomology of a
  direct  product  can  be obtained from that of the factors using the Kunneth
  formula.[133X
  
  [33X[0;0YIn   the   icosahedral   case   with   [22Xm=1[122X   the  following  commands  yield
  $$H^\ast(\Gamma,\mathbb Z)=Z[t]/(120t=0)$$ with generator [22Xt[122X of degree 4. The
  final  command  demonstrates  that  a  periodic  resolution  is  used in the
  computation.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XF:=FreeGroup(2);;x:=F.1;;y:=F.2;;[127X[104X
    [4X[25Xgap>[125X [27XG:=F/[(x*y)^2*x^-3, x^3*y^-5];;[127X[104X
    [4X[25Xgap>[125X [27XOrder(G);[127X[104X
    [4X[28X120[128X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionSmallGroup(G,5);;[127X[104X
    [4X[25Xgap>[125X [27Xn:=0;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[ 0 ][128X[104X
    [4X[25Xgap>[125X [27Xn:=1;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27Xn:=2;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27Xn:=3;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27Xn:=4;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[ 120 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XList([0..5],k->R!.dimension(k));[127X[104X
    [4X[28X[ 1, 2, 2, 1, 1, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  the  octahedral  case  with  [22Xm=1[122X  we obtain $$H^\ast(\Gamma,\mathbb Z) =
  \mathbb  Z[s,t]/(s^2=24t,  2s=0,  48t=0)$$  where  [22Xs[122X  has degree 2 and [22Xt[122X has
  degree 4, from the following commands.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XF:=FreeGroup(2);;x:=F.1;;y:=F.2;;[127X[104X
    [4X[25Xgap>[125X [27XG:=F/[(x*y)^2*x^-3, x^3*y^-4];;[127X[104X
    [4X[25Xgap>[125X [27XOrder(G);[127X[104X
    [4X[28X48[128X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(G,5);;[127X[104X
    [4X[25Xgap>[125X [27Xn:=0;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[ 0 ][128X[104X
    [4X[25Xgap>[125X [27Xn:=1;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27Xn:=2;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[ 2 ][128X[104X
    [4X[25Xgap>[125X [27Xn:=3;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27Xn:=4;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[ 48 ][128X[104X
    [4X[25Xgap>[125X [27XIntegralCupProduct(R,[1],[1],2,2);[127X[104X
    [4X[28X[ 24 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  the  tetrahedral  case  with  [22Xm=1[122X we obtain $$H^\ast(\Gamma,\mathbb Z) =
  \mathbb  Z[s,t]/(s^2=16t,  3s=0,  24t=0)$$  where  [22Xs[122X  has degree 2 and [22Xt[122X has
  degree 4, from the following commands.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XF:=FreeGroup(3);;x:=F.1;;y:=F.2;;z:=F.3;;[127X[104X
    [4X[25Xgap>[125X [27XG:=F/[(x*y)^2*x^-2, x^2*y^-2, z*x*z^-1*y^-1, z*y*z^-1*y^-1*x^-1,z^3];;[127X[104X
    [4X[25Xgap>[125X [27XOrder(G);[127X[104X
    [4X[28X24[128X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(G,5);;[127X[104X
    [4X[25Xgap>[125X [27Xn:=1;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27Xn:=2;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[ 3 ][128X[104X
    [4X[25Xgap>[125X [27Xn:=3;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27Xn:=4;;Cohomology(HomToIntegers(R),n);[127X[104X
    [4X[28X[ 24 ][128X[104X
    [4X[25Xgap>[125X [27XIntegralCupProduct(R,[1],[1],2,2);[127X[104X
    [4X[28X[ 16 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YA  theoretical calculation of the integral and mod-p cohomology rings of all
  of these fundamental groups of spherical 3-manifolds is given in [TZ08].[133X
  
  
  [1X7.13 [33X[0;0YExplicit cocycles[133X[101X
  
  [33X[0;0YGiven  a [22XZG[122X-resolution [22XR_∗[122X and a [22XZG[122X-module [22XA[122X, one defines an [13X[22Xn[122X-cocycle[113X to be
  a  [22XZG[122X-homomorphism  [22Xf:  R_n → A[122X for which the composite homomorphism [22Xfd_n+1:
  R_n+1→ A[122X is zero. If [22XR_∗[122X happens to be the standard bar resolution (i.e. the
  cellular  chain  complex  of  the  nerve  of the group [22XG[122X considered as a one
  object  category) then the free [22XZG[122X-generators of [22XR_n[122X are indexed by [22Xn[122X-tuples
  [22X(g_1  |  g_2 | ... | g_n)[122X of elements [22Xg_i[122X in [22XG[122X. In this case we say that the
  [22Xn[122X-cocycle  is  a  [13Xstandard  n-cocycle[113X  and we think of it as a set-theoretic
  function[133X
  
  [33X[0;0Y[22Xf : G × G × ⋯ × G ⟶ A[122X[133X
  
  [33X[0;0Ysatisfying  a  certain  algebraic  cocycle condition. Bearing in mind that a
  standard [22Xn[122X-cocycle really just assigns an element [22Xf(g_1, ... ,g_n) ∈ A[122X to an
  [22Xn[122X-simplex  in  the  nerve of [22XG[122X , the cocycle condition is a very natural one
  which  states that [13X[22Xf[122X must vanish on the boundary of a certain [22X(n+1)[122X-simplex[113X.
  For [22Xn=2[122X the condition is that a [22X2[122X-cocycle [22Xf(g_1,g_2)[122X must satisfy[133X
  
  [33X[0;0Y[22Xg.f(h,k) + f(g,hk) = f(gh,k) + f(g,h)[122X[133X
  
  [33X[0;0Yfor all [22Xg,h,k ∈ G[122X. This equation is explained by the following picture.[133X
  
  [33X[0;0YThe  definition  of a cocycle clearly depends on the choice of [22XZG[122X-resolution
  [22XR_∗[122X. However, the cohomology group [22XH^n(G,A)[122X, which is a group of equivalence
  classes of [22Xn[122X-cocycles, is independent of the choice of [22XR_∗[122X.[133X
  
  [33X[0;0YThere  are  some  occasions  when  one  needs  explicit examples of standard
  cocycles. For instance:[133X
  
  [30X    [33X[0;6YLet  [22XG[122X  be a finite group and [22Xk[122X a field of characteristic [22X0[122X. The group
        algebra  [22Xk(G)[122X,  and the algebra [22XF(G)[122X of functions [22Xd_g: G→ k, h→ d_g,h[122X,
        are  both  Hopf algebras. The tensor product [22XF(G) ⊗ k(G)[122X also admits a
        Hopf  algebra  structure  known  as the quantum double [22XD(G)[122X. A twisted
        quantum  double [22XD_f(G)[122X was introduced by R. Dijkraaf, V. Pasquier & P.
        Roche [DPR91]. The twisted double is a quasi-Hopf algebra depending on
        a  [22X3[122X-cocycle  [22Xf:  G×  G×  G→  k[122X. The multiplication is given by [22X(d_g ⊗
        x)(d_h  ⊗  y)  =  d_gx,xhβ_g(x,y)(d_g  ⊗  xy)[122X  where [22Xβ_a[122X is defined by
        [22Xβ_a(h,g)  = f(a,h,g) f(h,h^-1ah,g)^-1 f(h,g,(hg)^-1ahg)[122X . Although the
        algebraic  structure  of  [22XD_f(G)[122X  depends  very much on the particular
        [22X3[122X-cocycle [22Xf[122X, representation-theoretic properties of [22XD_f(G)[122X depend only
        on the cohomology class of [22Xf[122X.[133X
  
  [30X    [33X[0;6YAn  explicit  [22X2[122X-cocycle  [22Xf:  G×  G→  A[122X  is  needed  to  construct  the
        multiplication  [22X(a,g)(a',g')  =  (a  +  g⋅  a'  + f(g,g'), gg')[122X in the
        extension  a  group  [22XG[122X  by  a [22XZG[122X-module [22XA[122X determined by the cohomology
        class of [22Xf[122X in [22XH^2(G,A)[122X. See [14X6.7[114X.[133X
  
  [30X    [33X[0;6YIn work on coding theory and Hadamard matrices a number of papers have
        investigated  square matrices [22X(a_ij)[122X whose entries [22Xa_ij=f(g_i,g_j)[122X are
        the  values  of  a  [22X2[122X-cocycle  [22Xf: G× G → Z_2[122X where [22XG[122X is a finite group
        acting trivially on [22XZ_2[122X. See for instance [Hor00] and [14X6.10[114X.[133X
  
  [33X[0;0YGiven  a [22XZG[122X-resolution [22XR_∗[122X (with contracting homotopy) and a [22XZG[122X-module [22XA[122X one
  can  use  HAP  commands  to compute explicit standard [22Xn[122X-cocycles [22Xf: G^n → A[122X.
  With  the  twisted quantum double in mind, we illustrate the computation for
  [22Xn=3[122X,  [22XG=S_3[122X,  and  [22XA=U(1)[122X  the  group  of  complex numbers of modulus [22X1[122X with
  trivial [22XG[122X-action.[133X
  
  [33X[0;0YWe  first  compute  a  [22XZG[122X-resolution  [22XR_∗[122X. The Universal Coefficient Theorem
  gives   an   isomorphism   [22XH_3(G,U(1))   =  Hom_  Z(H_3(G,  Z),  U(1))[122X,  The
  multiplicative group [22XU(1)[122X can thus be viewed as [22XZ_m[122X where [22Xm[122X is a multiple of
  the exponent of [22XH_3(G, Z)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SymmetricGroup(3);;[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(G,4);;[127X[104X
    [4X[25Xgap>[125X [27XTR:=TensorWithIntegers(R);;[127X[104X
    [4X[25Xgap>[125X [27XHomology(TR,3);[127X[104X
    [4X[28X[ 6 ][128X[104X
    [4X[25Xgap>[125X [27XR!.dimension(3);[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27XR!.dimension(4);[127X[104X
    [4X[28X5[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe thus replace the very infinite group U(1) by the finite cyclic group [22XZ_6[122X.
  Since  the  resolution  [22XR_∗[122X  has [22X4[122X generators in degree [22X3[122X, a homomorphism [22Xf:
  R^3→  U(1)[122X  can be represented by a list [22Xf=[f_1, f_2, f_3, f_4][122X with [22Xf_i[122X the
  image  in  [22XZ_6[122X  of  the  [22Xi[122Xth  generator.  The  cocycle condition on [22Xf[122X can be
  expressed as a matrix equation[133X
  
  [33X[0;0Y[22XMf^t = 0 mod 6[122X.[133X
  
  [33X[0;0Ywhere  the  matrix  [22XM[122X is obtained from the following command and [22Xf^t[122X denotes
  the transpose.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XM:=CocycleCondition(R,3);;[127X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YA  particular  cocycle  [22Xf=[f_1, f_2, f_3, f_4][122X can be obtained by choosing a
  solution to the equation Mf^t=0.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSolutionsMod2:=NullspaceModQ(TransposedMat(M),2);[127X[104X
    [4X[28X[ [ 0, 0, 0, 0 ], [ 0, 0, 1, 1 ], [ 1, 1, 0, 0 ], [ 1, 1, 1, 1 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XSolutionsMod3:=NullspaceModQ(TransposedMat(M),3);[127X[104X
    [4X[28X[ [ 0, 0, 0, 0 ], [ 0, 0, 0, 1 ], [ 0, 0, 0, 2 ], [ 0, 0, 1, 0 ],[128X[104X
    [4X[28X  [ 0, 0, 1, 1 ], [ 0, 0, 1, 2 ], [ 0, 0, 2, 0 ], [ 0, 0, 2, 1 ],[128X[104X
    [4X[28X  [ 0, 0, 2, 2 ] ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YA  non-standard  [22X3[122X-cocycle  [22Xf[122X  can  be converted to a standard one using the
  command  [10XStandardCocycle(R,f,n,q)[110X  . This command inputs [22XR_∗[122X, integers [22Xn[122X and
  [22Xq[122X,  and an [22Xn[122X-cocycle [22Xf[122X for the resolution [22XR_∗[122X. It returns a standard cocycle
  [22XG^n → Z_q[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xf:=3*SolutionsMod2[3] - SolutionsMod3[5];   #An example solution to Mf=0 mod 6.[127X[104X
    [4X[28X[ 3, 3, -1, -1 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XStandard_f:=StandardCocycle(R,f,3,6);;[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xg:=Random(G); h:=Random(G); k:=Random(G);[127X[104X
    [4X[28X(1,2)[128X[104X
    [4X[28X(1,3,2)[128X[104X
    [4X[28X(1,3)[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XStandard_f(g,h,k);[127X[104X
    [4X[28X3[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YA function [22Xf: G× G× G → A[122X is a standard [22X3[122X-cocycle if and only if[133X
  
  [33X[0;0Y[22Xg⋅ f(h,k,l) - f(gh,k,l) + f(g,hk,l) - f(g,h,kl) + f(g,h,k) = 0[122X[133X
  
  [33X[0;0Yfor  all [22Xg,h,k,l ∈ G[122X. In the above example the group [22XG=S_3[122X acts trivially on
  [22XA=Z_6[122X.  The  following commands show that the standard [22X3[122X-cocycle produced in
  the example really does satisfy this [22X3[122X-cocycle condition.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xsf:=Standard_f;;[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XTest:=function(g,h,k,l);[127X[104X
    [4X[25X>[125X [27Xreturn sf(h,k,l) - sf(g*h,k,l) + sf(g,h*k,l) - sf(g,h,k*l) + sf(g,h,k);[127X[104X
    [4X[25X>[125X [27Xend;[127X[104X
    [4X[28Xfunction( g, h, k, l ) ... end[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xfor g in G do for h in G do for k in G do for l in G do[127X[104X
    [4X[25X>[125X [27XPrint(Test(g,h,k,l),",");[127X[104X
    [4X[25X>[125X [27Xod;od;od;od;[127X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,6,6,0,0,6,[128X[104X
    [4X[28X0,0,0,0,0,6,6,6,0,6,0,12,12,6,12,6,0,12,6,0,6,6,0,0,0,0,0,0,0,12,12,6,6,6,0,[128X[104X
    [4X[28X6,6,0,6,6,0,0,-6,0,0,0,0,0,0,0,0,0,0,6,6,6,6,6,0,0,0,0,0,0,0,6,0,0,6,6,0,6,6,[128X[104X
    [4X[28X0,6,0,0,6,6,6,0,0,0,0,0,0,0,-6,0,0,-6,0,-6,0,0,0,0,0,0,0,0,6,6,0,6,0,0,6,0,0,[128X[104X
    [4X[28X0,0,0,6,6,6,0,0,0,6,6,6,0,0,0,0,-6,0,6,6,0,0,0,0,0,0,0,12,6,6,0,6,0,0,0,0,12,[128X[104X
    [4X[28X6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,6,0,0,6,0,0,0,0,0,6,6,[128X[104X
    [4X[28X6,0,0,0,6,12,6,6,0,0,0,-6,0,0,6,0,0,0,0,0,0,0,12,12,6,6,6,0,0,0,0,6,6,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,6,0,6,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,6,0,[128X[104X
    [4X[28X6,6,0,6,6,0,12,12,6,12,12,0,0,0,0,0,0,0,6,6,0,0,0,0,6,6,6,12,12,0,-6,-6,0,0,[128X[104X
    [4X[28X0,0,6,6,0,0,6,0,0,6,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,[128X[104X
    [4X[28X0,6,0,0,6,0,0,0,0,0,0,0,0,0,0,0,6,6,0,6,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,6,6,0,6,6,0,6,0,0,6,6,6,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,-6,0,6,0,6,0,6,0,0,0,0,0,0,0,12,12,6,12,12,0,6,6,0,6,6,0,[128X[104X
    [4X[28X0,0,0,0,0,0,12,12,6,12,12,0,6,6,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,6,0,[128X[104X
    [4X[28X0,0,0,0,0,0,6,0,0,6,6,0,6,6,0,6,0,0,6,6,6,0,0,0,-6,0,0,0,-6,0,0,-6,0,-6,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,6,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,[128X[104X
    [4X[28X0,0,0,0,6,6,0,-6,0,0,-6,0,0,12,6,0,-6,-6,0,0,0,0,6,6,0,0,6,0,0,6,0,6,6,0,0,0,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[128X[104X
    [4X[28X0,0,0,-6,0,0,0,0,0,0,0,0,0,0,6,6,6,6,6,0,6,12,0,6,0,0,6,0,0,0,6,0,0,0,0,0,0,[128X[104X
    [4X[28X0,6,12,0,0,0,0,0,0,0,6,6,0,-6,-6,0,0,0,0,0,0,0,0,6,0,0,6,0,6,6,0,0,0,0,0,0,0,[128X[104X
    [4X[28X6,0,0,0,6,0,0,6,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,[128X[104X
    [4X[28X0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,6,6,0,6,6,0,6,6,6,12,12,0,0,0,0,0,0,0,6,6,0,[128X[104X
    [4X[28X6,6,0,6,6,6,12,12,0,0,0,0,0,0,0,6,6,0,0,6,0,0,6,0,6,6,[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.14 [33X[0;0YQuillen's complex and the [22Xp[122X[101X[1X-part of homology[133X[101X
  
  [33X[0;0YLet  [22XG[122X  be  a  finite  group  with  order  divisible by prime [22Xp[122X. Let [22Xmathcal
  A=mathcal  A_p(G)[122X  denote  Quillen's simplicial complex arising as the order
  complex of the poset of non-trivial elementary abelian [22Xp[122X-subgroups of [22XG[122X. The
  group [22XG[122X acts on [22Xmathcal A[122X. Denote the orbit of a [22Xk[122X-simplex [22Xe^k[122X by [22X[e^k][122X, and
  the stabilizer of [22Xe^k[122X by [22XStab(e^k) ≤ G[122X. For a finite abelian group [22XH[122X let [22XH_p[122X
  denote  the Sylow [22Xp[122X-subgroup or the "[22Xp[122X-part". In Theorem 3.3 of [Web87] P.J.
  Webb proved the following.[133X
  
  [33X[0;0Y[12XTheorem.[112X[Web87] For any [22XG[122X-module [22XM[122X there is a (non natural) isomomorphism[133X
  
  [33X[0;0Y[22XH_n(G,M)_p   ⊕   ⨁_[e^k]   :   k~  odd~H_n(Stab(e^k),M)_p  ≅  ⨁_[e^k]  :  k~
  even~H_n(Stab(e^k),M)_p[122X[133X
  
  [33X[0;0Yfor [22Xn≥ 1[122X. The isomorphism can also be expressed as[133X
  
  [33X[0;0Y[22XH_n(G,M)_p   ≅   ⨁_[e^k]   :  k~  even~H_n(Stab(e^k),M)_p  -  ⨁_[e^k]  :  k~
  odd~H_n(Stab(e^k),M)_p[122X[133X
  
  [33X[0;0Ywhere terms can often be cancelled.[133X
  
  [33X[0;0YThus the additive structure of the [22Xp[122X-part of the homology of [22XG[122X is determined
  by  that  of  the  stabilizer  groups.  The  result also holds with homology
  replaced by cohomology.[133X
  
  [33X[0;0Y[12XIllustration 1[112X[133X
  
  [33X[0;0YAs an illustration of the theorem, the following commands calculate[133X
  
  [33X[0;0Y[22XH_n(SL_3(  Z_2),  Z)  ≅  H_n(S_4,  Z)_2  ⊕  H_n(S_4,  Z)_2 ⊖ H_n(D_8, Z)_2 ⊕
  H_n(S_3, Z)_3 ⊕ H_n(C_7 : C_3, Z)_7[122X[133X
  
  [33X[0;0Ywhere  [22Xn≥  1[122X, [22XS_k[122X denotes the symmetric group on [22Xn[122X letters, [22XD_8[122X the dihedral
  group  of  order  [22X8[122X and [22XC_7 : C_3[122X a nonabelian semi-direct product of cyclic
  groups. Furthermore, for [22Xn≥ 1[122X[133X
  
  [33X[0;0Y[22XH_n(C_7 : C_3, Z)_7 ={beginarrayll Z_7, n ≡ 5 mod 6 0, otherwise endarray.[122X[133X
  
  [33X[0;0Yand[133X
  
  [33X[0;0Y[22XH_n(S_3, Z)_3 ={beginarrayll Z_3, n ≡ 3 mod 4 0, n ~otherwise . endarray.[122X[133X
  
  [33X[0;0YFormulas  for  [22XH_n(S_4,  Z)[122X  and [22XH_n(D_8, Z)[122X can be found in the literature.
  Alternatively,  they  can  be computed using [12XGAP[112X for a given value of [22Xn[122X. For
  [22Xn=27[122X we find[133X
  
  [33X[0;0Y[22XH_27(S_4,  Z)_2  ⊕ H_27(S_4, Z)_2 ⊖ H_27(D_8, Z)_2 ≅ Z_2 ⊕ Z_2 ⊕ Z_2 ⊕ Z_2 ⊕
  Z_4[122X[133X
  
  [33X[0;0Yand[133X
  
  [33X[0;0Y[22XH_27(SL_3( Z_2), Z) ≅ Z_2 ⊕ Z_2 ⊕ Z_2 ⊕ Z_2 ⊕ Z_4 ⊕ Z_3[122X .[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SL(3,2);;Factors(Order(G));[127X[104X
    [4X[28X[ 2, 2, 2, 3, 7 ][128X[104X
    [4X[25Xgap>[125X [27XD2:=HomologicalGroupDecomposition(G,2);;[127X[104X
    [4X[25Xgap>[125X [27XD3:=HomologicalGroupDecomposition(G,3);;[127X[104X
    [4X[25Xgap>[125X [27XD7:=HomologicalGroupDecomposition(G,7);;[127X[104X
    [4X[25Xgap>[125X [27XList(D2[1],StructureDescription);[127X[104X
    [4X[28X[ "S4", "S4" ][128X[104X
    [4X[25Xgap>[125X [27XList(D2[2],StructureDescription);[127X[104X
    [4X[28X[ "D8" ][128X[104X
    [4X[25Xgap>[125X [27XList(D3[1],StructureDescription);[127X[104X
    [4X[28X[ "S3" ][128X[104X
    [4X[25Xgap>[125X [27XList(D3[2],StructureDescription);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27XList(D7[1],StructureDescription);[127X[104X
    [4X[28X[ "C7 : C3" ][128X[104X
    [4X[25Xgap>[125X [27XList(D7[2],StructureDescription);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XCohomologicalPeriod(D7[1][1]);[127X[104X
    [4X[28X6[128X[104X
    [4X[25Xgap>[125X [27XList([1..6],n->GroupHomology(D7[1][1],n));[127X[104X
    [4X[28X[ [ 3 ], [  ], [ 3 ], [  ], [ 3, 7 ], [  ] ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XCohomologicalPeriod(D3[1][1]);[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27XList([1..4],n->GroupHomology(D3[1][1],n));[127X[104X
    [4X[28X[ [ 2 ], [  ], [ 6 ], [  ] ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XR_S4:=ResolutionFiniteGroup(Group([(1,2),(2,3),(3,4)]),28);;[127X[104X
    [4X[25Xgap>[125X [27XR_D8:=ResolutionFiniteGroup(Group([(1,2),(1,3)(2,4)]),28);;[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XHomology(TensorWithIntegers(R_S4),27);[127X[104X
    [4X[28X[ 2, 2, 2, 2, 2, 2, 2, 2, 2, 12 ][128X[104X
    [4X[25Xgap>[125X [27XHomology(TensorWithIntegers(R_D8),27);[127X[104X
    [4X[28X[ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y[12XIllustration 2[112X[133X
  
  [33X[0;0YAs a further illustration of the theorem, the following commands calculate[133X
  
  [33X[0;0Y[22XH_n(M_12,M)_3 ≅ ⨁_1≤ i≤ 3H_n(Stab_i,M)_3 - ⨁_4≤ i≤ 5H_n(Stab_i,M)_3[122X[133X
  
  [33X[0;0Yfor the Mathieu simple group [22XM_12[122X of order [22X95040[122X, where[133X
  
  [33X[0;0Y[22XStab_1≅ Stab_3=(((C_3 × C_3) : Q_8) : C_3) : C_2[122X[133X
  
  [33X[0;0Y[22XStab_2=A_4 × S_3[122X[133X
  
  [33X[0;0Y[22XStab_4=C_3 × S_3[122X[133X
  
  [33X[0;0Y[22XStab_5=((C_3 × C_3) : C_3) : (C_2 × C_2)[122X .[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=MathieuGroup(12);;[127X[104X
    [4X[25Xgap>[125X [27XD:=HomologicalGroupDecomposition(G,3);;[127X[104X
    [4X[25Xgap>[125X [27XList(D[1],StructureDescription);[127X[104X
    [4X[28X[ "(((C3 x C3) : Q8) : C3) : C2", "A4 x S3", "(((C3 x C3) : Q8) : C3) : C2" ][128X[104X
    [4X[25Xgap>[125X [27XList(D[2],StructureDescription);[127X[104X
    [4X[28X[ "C3 x S3", "((C3 x C3) : C3) : (C2 x C2)" ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y[12XIllustration 3[112X[133X
  
  [33X[0;0YAs  a  third illustration, the following commands show that [22XH_n(M_23,M)_p[122X is
  periodic  for  primes  [22Xp=5,  7,  11,  23[122X  of  periods  dividing [22X8, 6, 10, 22[122X
  respectively.  They  also  show  that [22XH_n(M_23, Z)_(3)=0[122X for [22Xn=8,9,12,13[122X and
  [22XH_n(M_23, Z)_(3)= Z_3[122X for [22Xn=10,11[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=MathieuGroup(23);;[127X[104X
    [4X[25Xgap>[125X [27XFactors(Order(G));[127X[104X
    [4X[28X[ 2, 2, 2, 2, 2, 2, 2, 3, 3, 5, 7, 11, 23 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xsd:=StructureDescription;;[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XD:=HomologicalGroupDecomposition(G,5);;[127X[104X
    [4X[25Xgap>[125X [27XList(D[1],sd);List(D[2],sd);[127X[104X
    [4X[28X[ "C15 : C4" ][128X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27XIsPeriodic(D[1][1]);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XCohomologicalPeriod(D[1][1]);[127X[104X
    [4X[28X8[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XD:=HomologicalGroupDecomposition(G,7);;[127X[104X
    [4X[25Xgap>[125X [27XList(D[1],sd);List(D[2],sd);[127X[104X
    [4X[28X[ "C2 x (C7 : C3)" ][128X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27XIsPeriodic(D[1][1]);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XCohomologicalPeriod(D[1][1]);[127X[104X
    [4X[28X6[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XD:=HomologicalGroupDecomposition(G,11);;[127X[104X
    [4X[25Xgap>[125X [27XList(D[1],sd);List(D[2],sd);[127X[104X
    [4X[28X[ "C11 : C5" ][128X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27XIsPeriodic(D[1][1]);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XCohomologicalPeriod(D[1][1]);[127X[104X
    [4X[28X10[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XD:=HomologicalGroupDecomposition(G,23);;[127X[104X
    [4X[25Xgap>[125X [27XList(D[1],sd);List(D[2],sd);[127X[104X
    [4X[28X[ "C23 : C11" ][128X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27XIsPeriodic(D[1][1]);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XCohomologicalPeriod(D[1][1]);[127X[104X
    [4X[28X22[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=MathieuGroup(23);;[127X[104X
    [4X[25Xgap>[125X [27XD:=HomologicalGroupDecomposition(G,3);;[127X[104X
    [4X[25Xgap>[125X [27XList(D[1],StructureDescription);List(D[2],StructureDescription);[127X[104X
    [4X[28X[ "(C3 x C3) : QD16", "A5 : S3" ][128X[104X
    [4X[28X[ "S3 x S3" ][128X[104X
    [4X[25Xgap>[125X [27Xfor n in [8..13] do[127X[104X
    [4X[25X>[125X [27XPrint(List(D[1],g->GroupHomology(g,n))," , ",List(D[2],g->GroupHomology(g,n)),"\n\n");[127X[104X
    [4X[25X>[125X [27Xod;[127X[104X
    [4X[28X[ [ 2, 2 ], [ 2, 2, 2 ] ] , [ [ 2, 2, 2, 2 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28X[ [ 2, 2, 2, 2 ], [ 2, 2, 2, 2 ] ] , [ [ 2, 2, 2, 2, 2, 2 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28X[ [ 2, 2, 3 ], [ 2, 2, 2, 3, 3 ] ] , [ [ 2, 2, 2, 2, 2, 3, 3 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28X[ [ 2, 2, 2, 8, 3 ], [ 2, 2, 2, 2, 4, 3, 3, 3, 3 ] ] , [128X[104X
    [4X[28X[ [ 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28X[ [ 2, 2, 2 ], [ 2, 2, 2, 2 ] ] , [ [ 2, 2, 2, 2, 2, 2 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28X[ [ 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2 ] ] , [ [ 2, 2, 2, 2, 2, 2, 2, 2 ] ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  order  [22X|M_23|=10200960[122X is divisible by primes [22Xp=2, 3, 5, 7, 11, 23[122X. For
  [22Xp=3[122X the following commands establish that the Poincare series[133X
  
  [33X[0;0Y[22X(x^16 - 2x^15[122X [22X+ 3x^14 - 4x^13[122X [22X+ 4x^12 - 4x^11[122X [22X+ 4x^10 - 3x^9[122X [22X+ 3x^8 - 3x^7 +[122X
  [22X4x^6  -  4x^5[122X [22X+ 4x^4 -4x^3[122X [22X+ 3x^2 -2x + 1) /[122X [22X(x^18 - 2x^17[122X [22X+ 3x^16 - 4x^15[122X [22X+
  4x^14  -[122X  [22X4x^13 + 4x^12[122X [22X- 4x^11 + 4x^10[122X [22X- 4x^9 + 4x^8[122X [22X- 4x^7 + 4x^6[122X [22X- 4x^5 +
  4x^4[122X [22X- 4x^3 +[122X [22X3x^2 - 2x + 1)[122X[133X
  
  [33X[0;0Ydescribes  the  dimension  of the vector space [22XH^n(M_23, Z_3)[122X up to at least
  degree  [22Xn=40[122X.  To  prove  that it describes the dimension in all degrees one
  would need to verify "completion criteria".[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=MathieuGroup(23);;[127X[104X
    [4X[25Xgap>[125X [27XD:=HomologicalGroupDecomposition(G,3);;[127X[104X
    [4X[25Xgap>[125X [27XList(D[1],StructureDescription);[127X[104X
    [4X[28X[ "(C3 x C3) : QD16", "A5 : S3" ][128X[104X
    [4X[25Xgap>[125X [27XList(D[2],StructureDescription);[127X[104X
    [4X[28X[ "S3 x S3" ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XP1:=PoincareSeriesPrimePart(D[1][1],3,40);[127X[104X
    [4X[28X(x_1^16-2*x_1^15+3*x_1^14-4*x_1^13+4*x_1^12-4*x_1^11+4*x_1^10-3*x_1^9+3*x_1^8-3*x_1^7+4*x_1^6-4*x_1^5+\[128X[104X
    [4X[28X4*x_1^4-4*x_1^3+3*x_1^2-2*x_1+1)/(x_1^18-2*x_1^17+3*x_1^16-4*x_1^15+4*x_1^14-4*x_1^13+4*x_1^12-4*x_1^1\[128X[104X
    [4X[28X1+4*x_1^10-4*x_1^9+4*x_1^8-4*x_1^7+4*x_1^6-4*x_1^5+4*x_1^4-4*x_1^3+3*x_1^2-2*x_1+1)[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XP2:=PoincareSeriesPrimePart(D[1][2],3,40);[127X[104X
    [4X[28X(x_1^4-2*x_1^3+3*x_1^2-2*x_1+1)/(x_1^6-2*x_1^5+3*x_1^4-4*x_1^3+3*x_1^2-2*x_1+1)[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XP3:=PoincareSeriesPrimePart(D[2][1],3,40);[127X[104X
    [4X[28X(x_1^4-2*x_1^3+3*x_1^2-2*x_1+1)/(x_1^6-2*x_1^5+3*x_1^4-4*x_1^3+3*x_1^2-2*x_1+1)[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.15 [33X[0;0YHomology of a Lie algebra[133X[101X
  
  [33X[0;0YLet [22XA[122X be the Lie algebra constructed from the associative algebra [22XM^4× 4( Q)[122X
  of  all [22X4× 4[122X rational matrices. Let [22XV[122X be its adjoint module (with underlying
  vector space of dimension [22X16[122X and equal to that of [22XA[122X). The following commands
  compute [22XH_4(A,V) = Q[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XM:=FullMatrixAlgebra(Rationals,4);; [127X[104X
    [4X[25Xgap>[125X [27XA:=LieAlgebra(M);;[127X[104X
    [4X[25Xgap>[125X [27XV:=AdjointModule(A);;[127X[104X
    [4X[25Xgap>[125X [27XC:=ChevalleyEilenbergComplex(V,17);;[127X[104X
    [4X[25Xgap>[125X [27XList([0..17],C!.dimension);[127X[104X
    [4X[28X[ 16, 256, 1920, 8960, 29120, 69888, 128128, 183040, 205920, 183040, 128128, [128X[104X
    [4X[28X  69888, 29120, 8960, 1920, 256, 16, 0 ][128X[104X
    [4X[25Xgap>[125X [27XHomology(C,4);[127X[104X
    [4X[28X1[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote  that  the eighth term [22XC_8(V)[122X in the Chevalley-Eilenberg complex [22XC_∗(V)[122X
  is  a vector space of dimension [22X205920[122X and so it will take longer to compute
  the homology in degree [22X8[122X.[133X
  
  [33X[0;0YAs  a  second  example, let [22XB[122X be the classical Lie ring of type [22XB_3[122X over the
  ring of integers. The following commands compute [22XH_3(B, Z)= Z ⊕ Z_2^105[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XA:=SimpleLieAlgebra("B",7,Integers);       [127X[104X
    [4X[28X<Lie algebra of dimension 105 over Integers>[128X[104X
    [4X[25Xgap>[125X [27XC:=ChevalleyEilenbergComplex(A,4,"sparse");[127X[104X
    [4X[28XSparse chain complex of length 4 in characteristic 0 . [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XD:=ContractedComplex(C);[127X[104X
    [4X[28XSparse chain complex of length 4 in characteristic 0 . [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XCollected(Homology(D,3));[127X[104X
    [4X[28X[ [ 0, 1 ], [ 2, 105 ] ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X7.16 [33X[0;0YCovers of Lie algebras[133X[101X
  
  [33X[0;0YA short exact sequence of Lie algebras[133X
  
  [33X[0;0Y[22XM ↣ C ↠ L[122X[133X
  
  [33X[0;0Y(over  a  field [22Xk[122X) is said to be a [13Xstem extension[113X of [22XL[122X if [22XM[122X lies both in the
  centre  [22XZ(C)[122X  and in the derived subalgeba [22XC^2[122X. If, in addition, the rank of
  the  vector  space  [22XM[122X is equal to the rank of the second Chevalley-Eilenberg
  homology [22XH_2(L,k)[122X then the Lie algebra [22XC[122X is said to be a [13Xcover[113X of [22XL[122X.[133X
  
  [33X[0;0YEach  finite  dimensional Lie algebra [22XL[122X admits a cover [22XC[122X, and this cover can
  be shown to be unique up to Lie isomorphism.[133X
  
  [33X[0;0YThe  cover  can  be  used  to determine whether there exists a Lie algebra [22XE[122X
  whose  central  quotient  [22XE/Z(E)[122X  is  isomorphic to [22XL[122X. The image in [22XL[122X of the
  centre  of  [22XC[122X is called the [13XLie Epicentre[113X of [22XL[122X, and this image is trivial if
  and only if such an [22XE[122X exists.[133X
  
  [33X[0;0YThe  cover can also be used to determine the stem extensions of [22XL[122X. It can be
  shown that each stem extension is a quotient of the cover by an ideal in the
  Lie multiplier [22XH_2(L,k)[122X.[133X
  
  
  [1X7.16-1 [33X[0;0YComputing a cover[133X[101X
  
  [33X[0;0YThe following commands compute the cover [22XC[122X of the solvable but non-nilpotent
  13-dimensional  Lie algebra [22XL[122X (over [22Xk= Q[122X) that was introduced by M. Wuestner
  [Wue92].  They  also  show  that:  the  second  homology of [22XC[122X is trivial and
  compute  the  ranks  of  the  homology  groups  in other dimensions; the Lie
  algebra [22XL[122X is not isomorphic to any central quotient [22XE/Z(E)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSCTL:=EmptySCTable(13,0,"antisymmetric");;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 1, 6, [ 1, 7 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 1, 8, [ 1, 9 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 1, 10, [ 1, 11 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 1, 12, [ 1, 13 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 1, 7, [ -1, 6 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 1, 9, [ -1, 8 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 1, 11, [ -1, 10 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 1, 13, [ -1, 12 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 6, 7, [ 1, 2 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 8, 9, [ 1, 3 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 6, 9, [ -1, 5 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 7, 8, [ 1, 5 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 2, 8, [ 1, 12 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 2, 9, [ 1, 13 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 3, 6, [ 1, 10 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 3, 7, [ 1, 11 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 2, 3, [ 1, 4 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 5, 6, [ -1, 12 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 5, 7, [ -1, 13 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 5, 8, [ -1, 10 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 5, 9, [ -1, 11 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 6, 11, [ -1/2, 4 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 7, 10, [ 1/2, 4 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 8, 13, [ 1/2, 4 ] );;[127X[104X
    [4X[25Xgap>[125X [27XSetEntrySCTable( SCTL, 9, 12, [ -1/2, 4 ] );;[127X[104X
    [4X[25Xgap>[125X [27XL:=LieAlgebraByStructureConstants(Rationals,SCTL);;[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XC:=Source(LieCoveringHomomorphism(L));[127X[104X
    [4X[28X<Lie algebra of dimension 15 over Rationals>[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27XDimension(LieEpiCentre(L));[127X[104X
    [4X[28X1[128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xch:=ChevalleyEilenbergComplex(C,17);;[127X[104X
    [4X[25Xgap>[125X [27XList([0..16],n->Homology(ch,n));     [127X[104X
    [4X[28X[ 1, 1, 0, 9, 23, 27, 47, 88, 88, 47, 27, 23, 9, 0, 1, 1, 0 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
