  
  [1X6 [33X[0;0YGroup theoretic computations[133X[101X
  
  
  [1X6.1 [33X[0;0YThird homotopy group of a supsension of an Eilenberg-MacLane space[133X[101X
  
  [33X[0;0YThe following example uses the nonabelian tensor square of groups to compute
  the third homotopy group[133X
  
  [33X[0;0Y[22Xπ_3(S(K(G,1))) = Z^30[122X[133X
  
  [33X[0;0Yof  the  suspension  of  the  Eigenberg-MacLane  space [22XK(G,1)[122X for [22XG[122X the free
  nilpotent group of class [22X2[122X on four generators.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XF:=FreeGroup(4);;G:=NilpotentQuotient(F,2);;[127X[104X
    [4X[25Xgap>[125X [27XThirdHomotopyGroupOfSuspensionB(G);[127X[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 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X6.2 [33X[0;0YRepresentations of knot quandles[133X[101X
  
  [33X[0;0YThe  following example constructs the finitely presented quandles associated
  to  the granny knot and square knot, and then computes the number of quandle
  homomorphisms  from  these  two  finitely  prresented  quandles to the [22X17[122X-th
  quandle  in  [12XHAP[112X's  library of connected quandles of order [22X24[122X. The number of
  homomorphisms  differs  between  the  two  cases.  The computation therefore
  establishes   that  the  complement  in  [22XR^3[122X  of  the  granny  knot  is  not
  homeomorphic to the complement of the square knot.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XQ:=ConnectedQuandle(24,17,"import");;[127X[104X
    [4X[25Xgap>[125X [27XK:=PureCubicalKnot(3,1);;[127X[104X
    [4X[25Xgap>[125X [27XL:=ReflectedCubicalKnot(K);;[127X[104X
    [4X[25Xgap>[125X [27Xsquare:=KnotSum(K,L);;[127X[104X
    [4X[25Xgap>[125X [27Xgranny:=KnotSum(K,K);;[127X[104X
    [4X[25Xgap>[125X [27Xgcsquare:=GaussCodeOfPureCubicalKnot(square);;[127X[104X
    [4X[25Xgap>[125X [27Xgcgranny:=GaussCodeOfPureCubicalKnot(granny);;[127X[104X
    [4X[25Xgap>[125X [27XQsquare:=PresentationKnotQuandle(gcsquare);;[127X[104X
    [4X[25Xgap>[125X [27XQgranny:=PresentationKnotQuandle(gcgranny);;[127X[104X
    [4X[25Xgap>[125X [27XNumberOfHomomorphisms(Qsquare,Q);[127X[104X
    [4X[28X408[128X[104X
    [4X[25Xgap>[125X [27XNumberOfHomomorphisms(Qgranny,Q);[127X[104X
    [4X[28X24[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  following  commands  compute  a  knot  quandle directly from a pdf file
  containing the following hand-drawn image of the knot.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X gc:=ReadLinkImageAsGaussCode("myknot.pdf");[127X[104X
    [4X[28X[ [ [ -2, 4, -1, 3, -3, 2, -4, 1 ] ], [ -1, -1, 1, -1 ] ][128X[104X
    [4X[25Xgap>[125X [27XQ:=PresentationKnotQuandle(gc);[127X[104X
    [4X[28XQuandle presentation of 4 generators and 4 relators.[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X6.3 [33X[0;0YIdentifying knots[133X[101X
  
  [33X[0;0YLow  index subgrops of the knot group can be used to identify knots with few
  crossings.  For instance, the following commands read in the following image
  of  a  knot and identify it as a sum of two trefoils. The commands determine
  the  prime  components  only up to reflection, and so they don't distinguish
  between the granny and square knots.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xgc:=ReadLinkImageAsGaussCode("myknot2.png");[127X[104X
    [4X[28X[ [ [ -4, 7, -5, 4, -7, 5, -3, 6, -2, 3, 8, -8, -6, 2, 1, -1 ] ], [128X[104X
    [4X[28X  [ 1, -1, -1, -1, -1, -1, -1, 1 ] ][128X[104X
    [4X[25Xgap>[125X [27XIdentifyKnot(gc);;[127X[104X
    [4X[28XPrimeKnot(3,1) + PrimeKnot(3,1)    modulo reflections of components. [128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X6.4 [33X[0;0YAspherical [22X2[122X[101X[1X-complexes[133X[101X
  
  [33X[0;0YThe  following  example  uses  Polymake's  linear  programming  routines  to
  establish  that  the [22X2[122X-complex associated to the group presentation [22X<x,y,z :
  xyx=yxy,   yzy=zyz,  xzx=zxz>[122X  is  aspherical  (that  is,  has  contractible
  universal  cover). The presentation is Tietze equivalent to the presentation
  used  in the computer code, and the associated [22X2[122X-complexes are thus homotopy
  equivalent.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XF:=FreeGroup(6);;[127X[104X
    [4X[25Xgap>[125X [27Xx:=F.1;;y:=F.2;;z:=F.3;;a:=F.4;;b:=F.5;;c:=F.6;;[127X[104X
    [4X[25Xgap>[125X [27Xrels:=[a^-1*x*y, b^-1*y*z, c^-1*z*x, a*x*(y*a)^-1,[127X[104X
    [4X[25X>[125X [27X   b*y*(z*b)^-1, c*z*(x*c)^-1];;[127X[104X
    [4X[25Xgap>[125X [27XPrint(IsAspherical(F,rels),"\n");[127X[104X
    [4X[28XPresentation is aspherical.[128X[104X
    [4X[28X[128X[104X
    [4X[28Xtrue[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X6.5 [33X[0;0YGroup presentations and homotopical syzygies[133X[101X
  
  [33X[0;0YFree  resolutons  for a group [22XG[122X are constructed in [12XHAP[112X as the cellular chain
  complex [22XR_∗=C_∗(tilde X)[122X of the universal cover of some CW-complex [22XX=K(G,1)[122X.
  The  [22X2[122X-skeleton of [22XX[122X gives rise to a free presentation for the group [22XG[122X. This
  presentation  depends  on a choice of maximal tree in the [22X1[122X-skeleton of [22XX[122X in
  cases  where  [22XX[122X has more than one [22X0[122X-cell. The attaching maps of [22X3[122X-cells in [22XX[122X
  can  be  regarded  as  [13Xhomotopical  syzygies[113X or van Kampen diagrams over the
  group presentation whose boundaries spell the trivial word.[133X
  
  [33X[0;0YThe  following  example  constructs  four terms of a resolution for the free
  abelian  group [22XG[122X on [22Xn=3[122X generators, and then extracts the group presentation
  from  the resolution as well as the unique homotopical syzygy. The syzygy is
  visualized  in  terms  of  its graph of edges, directed edges being coloured
  according  to  the  corresponding  group  generator.  (In  this  example the
  CW-complex   [22Xtilde  X[122X  is  regular,  but  in  cases  where  it  is  not  the
  visualization may be a quotient of the [22X1[122X-skeleton of the syzygy.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xn:=3;;c:=1;;[127X[104X
    [4X[25Xgap>[125X [27XG:=Image(NqEpimorphismNilpotentQuotient(FreeGroup(n),c));;[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionNilpotentGroup(G,4);;[127X[104X
    [4X[25Xgap>[125X [27XP:=PresentationOfResolution(R);;[127X[104X
    [4X[25Xgap>[125X [27XP.freeGroup;[127X[104X
    [4X[28X<free group on the generators [ x, y, z ]>[128X[104X
    [4X[25Xgap>[125X [27XP.relators;[127X[104X
    [4X[28X[ y^-1*x^-1*y*x, z^-1*x^-1*z*x, z^-1*y^-1*z*y ][128X[104X
    [4X[25Xgap>[125X [27XIdentityAmongRelatorsDisplay(R,1);[127X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThis homotopical syzygy represents a relationship between the three relators
  [22X[x,y][122X,  [22X[x,z][122X and [22X[y,z][122X where [22X[x,y]=xyx^-1y^-1[122X. The syzygy can be thought of
  as  a  geometric  relationship  between  commutators  corresponding  to  the
  well-known Hall-Witt identity:[133X
  
  [33X[0;0Y[22X[ [x,y], ^yz ] [ [y,z], ^zx ] [ [z,x], ^xy ] = 1 .[122X[133X
  
  [33X[0;0YThe  homotopical syzygy is special since in this example the edge directions
  and  labels  can  be  understood  as specifying three homeomorphisms between
  pairs  of  faces. Viewing the syzygy as the boundary of the [22X3[122X-ball, by using
  the  homeomorphisms  to  identify  the  faces  in each face pair we obtain a
  quotient  CW-complex  [22XM[122X involving one vertex, three edges, three [22X2[122X-cells and
  one  [22X3[122X-cell.  The  cell  structure on the quotient exists because, under the
  restrictions  of  homomorphisms to the edges, any cycle of edges retricts to
  the  identity map on any given edge. The following result tells us that [22XM[122X is
  in fact a closed oriented compact [22X3[122X-manifold.[133X
  
  [33X[0;0Y[12XTheorem.[112X  [Seifert  u.  Threlfall,  Topologie,  p.208]  [13XLet  [22XS^2[122X  denote the
  boundary  of  the  [22X3[122X-ball  [22XB^3[122X  and  suppose  that the sphere [22XS^2[122X is given a
  regular CW-structure in which the faces are partitioned into a collection of
  face  pairs.  Suppose  that  for  each  face  pair  there  is an orientation
  reversing  homeomorphism between the two faces that sends edges to edges and
  vertices to vertices. Suppose that by using these homeomorphisms to identity
  face  pairs  we  obtain  a  (not  necessarily  regular)  CW-structure on the
  quotient  [22XM[122X.  Then  [22XM[122X is a closed compact orientable manifold if and only if
  its Euler characteristic is [22Xχ(M)=0[122X.[113X[133X
  
  [33X[0;0YThe next commands construct a presentation and associated unique homotopical
  syzygy for the free nilpotent group of class [22Xc=2[122X on [22Xn=2[122X generators.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xn:=2;;c:=2;;[127X[104X
    [4X[25Xgap>[125X [27XG:=Image(NqEpimorphismNilpotentQuotient(FreeGroup(n),c));;[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionNilpotentGroup(G,4);;[127X[104X
    [4X[25Xgap>[125X [27XP:=PresentationOfResolution(R);;[127X[104X
    [4X[25Xgap>[125X [27XP.freeGroup;[127X[104X
    [4X[28X<free group on the generators [ x, y, z ]>[128X[104X
    [4X[25Xgap>[125X [27XP.relators;[127X[104X
    [4X[28X[ z*x*y*x^-1*y^-1, z*x*z^-1*x^-1, z*y*z^-1*y^-1 ][128X[104X
    [4X[25Xgap>[125X [27XIdentityAmongRelatorsDisplay(R,1);[127X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  syzygy  represents the following relationship between commutators (in a
  free group).[133X
  
  [33X[0;0Y[22X[ [x^-1,y][x,y] , [y,x][y^-1,x]y^-1 ] [ [y,x][y^-1,x] , x^-1 ] = 1[122X[133X
  
  [33X[0;0YAgain,  using  the  theorem  of  Seifert  and Threlfall we see that the free
  nilpotent  group  of  class  two on two generators arises as the fundamental
  group of a closed compact orientable [22X3[122X-manifold [22XM[122X.[133X
  
  
  [1X6.6 [33X[0;0YBogomolov multiplier[133X[101X
  
  [33X[0;0YThe  Bogomolov  multiplier of a group is an isoclinism invariant. Using this
  property,  the following example shows that there are precisely three groups
  of  order  [22X243[122X with non-trivial Bogomolov multiplier. The groups in question
  are numbered 28, 29 and 30 in [12XGAP[112X's library of small groups of order [22X243[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XL:=AllSmallGroups(3^5);;[127X[104X
    [4X[25Xgap>[125X [27XC:=IsoclinismClasses(L);;[127X[104X
    [4X[25Xgap>[125X [27Xfor c in C do[127X[104X
    [4X[25X>[125X [27Xif Length(BogomolovMultiplier(c[1]))>0 then[127X[104X
    [4X[25X>[125X [27XPrint(List(c,g->IdGroup(g)),"\n\n\n"); fi;[127X[104X
    [4X[25X>[125X [27Xod;[127X[104X
    [4X[28X[ [ 243, 28 ], [ 243, 29 ], [ 243, 30 ] ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X6.7 [33X[0;0YSecond group cohomology and group extensions[133X[101X
  
  [33X[0;0YAny group extension [22XN↣ E ↠ G[122X gives rise to:[133X
  
  [30X    [33X[0;6Yan outer action [22Xα: G→ Out(G)[122X of [22XG[122X on [22XN[122X.[133X
  
  [30X    [33X[0;6Yan  action  [22XG→  Aut(Z(N))[122X of [22XG[122X on the centre of [22XN[122X, uniquely induced by
        the outer action [22Xα[122X and the canonical action of [22XOut(N)[122X on [22XZ(N)[122X.[133X
  
  [30X    [33X[0;6Ya [22X2[122X-cocycle [22Xf: G× G→ Z(N)[122X with values in the [22XG[122X-module [22XA=Z(N)[122X.[133X
  
  [33X[0;0YAny  outer  homomorphism  [22Xα: G→ Out(N)[122X gives rise to a cohomology class [22Xk[122X in
  [22XH^3(G,Z(N))[122X.  It  was  shown  by  Eilenberg  and Mac[22X[122XLane that the class [22Xk[122X is
  trivial  if  and only if the outer action [22Xα[122X arises from some group extension
  [22XN↣  E↠  G[122X.  If  [22Xk[122X  is  trivial  then there is a bijection between the second
  cohomology group [22XH^2(G,Z(N))[122X and Yoneda equivalence classes of extensions of
  [22XG[122X by [22XN[122X that are compatible with [22Xα[122X.[133X
  
  [33X[0;0Y[12XFirst Example.[112X[133X
  
  [33X[0;0YConsider  the  group  [22XH=SmallGroup(64,134)[122X.  Consider  the  normal  subgroup
  [22XN=NormalSubgroups(G)[15][122X  and  quotient  group  [22XG=H/N[122X.  We  have [22XN=C_2× D_4[122X,
  [22XA=Z(N)=C_2× C_2[122X and [22XG=C_2× C_2[122X.[133X
  
  [33X[0;0YSuppose  we  wish  to  classify  all extensions [22XC_2× D_4 ↣ E ↠ C_2× C_2[122X that
  induce  the  given outer action of [22XG[122X on [22XN[122X. The following commands show that,
  up to Yoneda equivalence, there are two such extensions.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XH:=SmallGroup(64,134);;[127X[104X
    [4X[25Xgap>[125X [27XN:=NormalSubgroups(H)[15];;[127X[104X
    [4X[25Xgap>[125X [27XA:=Centre(GOuterGroup(H,N));;[127X[104X
    [4X[25Xgap>[125X [27XG:=ActingGroup(A);;[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(G,3);;[127X[104X
    [4X[25Xgap>[125X [27XC:=HomToGModule(R,A);;[127X[104X
    [4X[25Xgap>[125X [27XCohomology(C,2);[127X[104X
    [4X[28X[ 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  following  additional  commands  return  a standard [22X2[122X-cocycle [22Xf:G× G→ A
  =C_2×  C_2[122X  corresponding  to the non-trivial element in [22XH^2(G,A)[122X. The value
  [22Xf(g,h)[122X of the [22X2[122X-cocycle is calculated for all [22X16[122X pairs [22Xg,h ∈ G[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XCH:=CohomologyModule(C,2);;[127X[104X
    [4X[25Xgap>[125X [27XElts:=Elements(ActedGroup(CH));[127X[104X
    [4X[28X[ <identity> of ..., f1 ][128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xx:=Elts[2];;[127X[104X
    [4X[25Xgap>[125X [27Xc:=CH!.representativeCocycle(x);[127X[104X
    [4X[28XStandard 2-cocycle [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xf:=Mapping(c);;[127X[104X
    [4X[25Xgap>[125X [27Xfor g in G do for h in G do[127X[104X
    [4X[25X>[125X [27XPrint(f(g,h),"\n");[127X[104X
    [4X[25X>[125X [27Xod;[127X[104X
    [4X[25X>[125X [27Xod;[127X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28Xf6[128X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28Xf6[128X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28Xf6[128X[104X
    [4X[28X<identity> of ...[128X[104X
    [4X[28Xf6[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  following commands will then construct and identify all extensions of [22XN[122X
  by [22XG[122X corresponding to the given outer action of [22XG[122X on [22XN[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XH := SmallGroup(64,134);;[127X[104X
    [4X[25Xgap>[125X [27XN := NormalSubgroups(H)[15];;[127X[104X
    [4X[25Xgap>[125X [27XON := GOuterGroup(H,N);;[127X[104X
    [4X[25Xgap>[125X [27XA := Centre(ON);;[127X[104X
    [4X[25Xgap>[125X [27XG:=ActingGroup(A);;[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(G,3);;[127X[104X
    [4X[25Xgap>[125X [27XC:=HomToGModule(R,A);;[127X[104X
    [4X[25Xgap>[125X [27XCH:=CohomologyModule(C,2);;[127X[104X
    [4X[25Xgap>[125X [27XElts:=Elements(ActedGroup(CH));;[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xlst := List(Elts{[1..Length(Elts)]},x->CH!.representativeCocycle(x));;[127X[104X
    [4X[25Xgap>[125X [27Xccgrps := List(lst, x->CcGroup(ON, x));;[127X[104X
    [4X[25Xgap>[125X [27X#So ccgrps is a list of groups, each being an extension of G by N, corresponding[127X[104X
    [4X[25Xgap>[125X [27X#to the two elements in H^2(G,A).[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27X#The following command produces the GAP identification number for each group.[127X[104X
    [4X[25Xgap>[125X [27XL:=List(ccgrps,IdGroup);[127X[104X
    [4X[28X[ [ 64, 134 ], [ 64, 135 ] ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y[12XSecond Example[112X[133X
  
  [33X[0;0YThe  following  example illustrates how to construct a cohomology class [22Xk[122X in
  [22XH^2(G,  A)[122X  from  a  cocycle [22Xf:G × G → A[122X, where [22XG=SL_2( Z_4)[122X and [22XA= Z_8[122X with
  trivial action.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X#We'll construct G=SL(2,Z_4) as a permutation group.[127X[104X
    [4X[25Xgap>[125X [27XG:=SL(2,ZmodnZ(4));;[127X[104X
    [4X[25Xgap>[125X [27XG:=Image(IsomorphismPermGroup(G));;[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27X#We'll construct Z_8=Z/8Z as a G-outer group[127X[104X
    [4X[25Xgap>[125X [27Xz_8:=Group((1,2,3,4,5,6,7,8));;[127X[104X
    [4X[25Xgap>[125X [27XZ_8:=TrivialGModuleAsGOuterGroup(G,z_8);;[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27X#We'll compute the group h=H^2(G,Z_8)[127X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(G,3);;  #R is a free resolution[127X[104X
    [4X[25Xgap>[125X [27XC:=HomToGModule(R,Z_8);; # C is a chain complex[127X[104X
    [4X[25Xgap>[125X [27XH:=CohomologyModule(C,2);; #H is the second cohomology H^2(G,Z_8)[127X[104X
    [4X[25Xgap>[125X [27Xh:=ActedGroup(H);; #h is the underlying group of H[127X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27X#We'll compute  cocycles c2, c5 for the second and fifth cohomology classs[127X[104X
    [4X[25Xgap>[125X [27Xc2:=H!.representativeCocycle(Elements(h)[2]);[127X[104X
    [4X[28XStandard 2-cocycle [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27Xc5:=H!.representativeCocycle(Elements(h)[5]);[127X[104X
    [4X[28XStandard 2-cocycle [128X[104X
    [4X[28X[128X[104X
    [4X[25Xgap>[125X [27X#Now we'll construct the cohomology classes C2, C5 in the group h corresponding to the cocycles c2, c5.[127X[104X
    [4X[25Xgap>[125X [27XC2:=CohomologyClass(H,c2);;[127X[104X
    [4X[25Xgap>[125X [27XC5:=CohomologyClass(H,c5);;[127X[104X
    [4X[28X [128X[104X
    [4X[25Xgap>[125X [27X#Finally, we'll show that C2, C5 are distinct cohomology classes, both of order 4.[127X[104X
    [4X[25Xgap>[125X [27XC2=C5;[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XOrder(C2);[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27XOrder(C5);[127X[104X
    [4X[28X4[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X6.8 [33X[0;0YSecond group cohomology and cocyclic Hadamard matrices[133X[101X
  
  [33X[0;0YAn  [13XHadamard matrix[113X is a square [22Xn× n[122X matrix [22XH[122X whose entries are either [22X+1[122X or
  [22X-1[122X  and  whose  rows are mutually orthogonal, that is [22XH H^t = nI_n[122X where [22XH^t[122X
  denotes the transpose and [22XI_n[122X denotes the [22Xn× n[122X identity matrix.[133X
  
  [33X[0;0YGiven  a group [22XG={g_1,g_2,...,g_n}[122X of order [22Xn[122X and the abelian group [22XA={1,-1}[122X
  of  square  roots  of unity, any [22X2[122X-cocycle [22Xf: G× G→ A[122X corresponds to an [22Xn× n[122X
  matrix  [22XF=(f(g_i,g_j))_1≤  i,j≤ n[122X whose entries are [22X± 1[122X. If [22XF[122X is Hadamard it
  is called a [13Xcocyclic Hadamard matrix[113X corresponding to [22XG[122X.[133X
  
  [33X[0;0YThe following commands compute all [22X192[122X of the cocyclic Hadamard matrices for
  the abelian group [22XG= Z_4⊕ Z_4[122X of order [22Xn=16[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=AbelianGroup([4,4]);;[127X[104X
    [4X[25Xgap>[125X [27XF:=CocyclicHadamardMatrices(G);;[127X[104X
    [4X[25Xgap>[125X [27XLength(F);[127X[104X
    [4X[28X192[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X6.9 [33X[0;0YThird group cohomology and homotopy [22X2[122X[101X[1X-types[133X[101X
  
  [33X[0;0Y[12XHomotopy 2-types[112X[133X
  
  [33X[0;0YThe  third  cohomology [22XH^3(G,A)[122X of a group [22XG[122X with coefficients in a [22XG[122X-module
  [22XA[122X,  together  with  the  corresponding  [22X3[122X-cocycles,  can be used to classify
  homotopy  [22X2[122X-types.  A  [13Xhomotopy 2-type[113X is a CW-complex whose homotopy groups
  are  trivial  in dimensions [22Xn=0[122X and [22Xn>2[122X. There is an equivalence between the
  two categories[133X
  
  [31X1[131X   [33X[0;6Y(Homotopy  category  of connected CW-complexes [22XX[122X with trivial homotopy
        groups [22Xπ_n(X)[122X for [22Xn>2[122X)[133X
  
  [31X2[131X   [33X[0;6Y(Localization  of the category of simplicial groups with Moore complex
        of  length  [22X1[122X,  where  localization  is  with respect to homomorphisms
        inducing isomorphisms on homotopy groups)[133X
  
  [33X[0;0Ywhich  reduces  the  homotopy  theory of [22X2[122X-types to a 'computable' algebraic
  theory.  Furthermore,  a simplicial group with Moore complex of length [22X1[122X can
  be represented by a group [22XH[122X endowed with two endomorphisms [22Xs: H→ H[122X and [22Xt: H→
  H[122X satisfying the axioms[133X
  
  [30X    [33X[0;6Y[22Xss=s[122X, [22Xts=s[122X,[133X
  
  [30X    [33X[0;6Y[22Xtt=t[122X, [22Xst=t[122X,[133X
  
  [30X    [33X[0;6Y[22X[ker s, ker t] = 1[122X.[133X
  
  [33X[0;0YThs  triple  [22X(H,s,t)[122X was termed a [13Xcat[22X^1[122X-group[113X by J.-L. Loday since it can be
  regarded as a group [22XH[122X endowed with one compatible category structure.[133X
  
  [33X[0;0YThe   [13Xhomotopy   groups[113X  of  a  cat[22X^1[122X-group  [22XH[122X  are  defined  as:  [22Xπ_1(H)  =
  image(s)/t(ker(s))[122X;  [22Xπ_2(H)=ker(s)  ∩ ker(t)[122X; [22Xπ_n(H)=0[122X for [22Xn> 2[122X or [22Xn=0[122X. Note
  that [22Xπ_2(H)[122X is a [22Xπ_1(H)[122X-module where the action is induced by conjugation in
  [22XH[122X.[133X
  
  [33X[0;0YA homotopy [22X2[122X-type [22XX[122X can be represented by a cat[22X^1[122X-group [22XH[122X or by the homotopy
  groups  [22Xπ_1X=π_1H[122X,  [22Xπ_2X=π_2H[122X and a cohomology class [22Xk∈ H^3(π_1X,π_2X)[122X. This
  class [22Xk[122X is the [13XPostnikov invariant[113X.[133X
  
  [33X[0;0Y[12XRelation to Group Theory[112X[133X
  
  [33X[0;0YA  number  of standard group-theoretic constructions can be viewed naturally
  as a cat[22X^1[122X-group.[133X
  
  [31X1[131X   [33X[0;6YA  [22XZG[122X-module  [22XA[122X  can be viewed as a cat[22X^1[122X-group [22X(H,s,t)[122X where [22XH[122X is the
        semi-direct product [22XA⋊ G[122X and [22Xs(a,g)=(1,g)[122X, [22Xt(a,g)=(1,g)[122X. Here [22Xπ_1(H)=G[122X
        and [22Xπ_2(H)=A[122X.[133X
  
  [31X2[131X   [33X[0;6YA  group  [22XG[122X  with  normal  subgroup  [22XN[122X  can be viewed as a cat[22X^1[122X-group
        [22X(H,s,t)[122X  where  [22XH[122X  is  the  semi-direct product [22XN⋊ G[122X and [22Xs(n,g)=(1,g)[122X,
        [22Xt(n,g)=(1,ng)[122X. Here [22Xπ_1(H)=G/N[122X and [22Xπ_2(H)=0[122X.[133X
  
  [31X3[131X   [33X[0;6YThe  homomorphism  [22Xι  : G→ Aut(G)[122X which sends elements of a group [22XG[122X to
        the  corresponding  inner  automorphism can be viewed as a cat[22X^1[122X-group
        [22X(H,s,t)[122X where [22XH[122X is the semi-direct product [22XG⋊ Aut(G)[122X and [22Xs(g,a)=(1,a)[122X,
        [22Xt(g,a)=(1,ι  (g)a)[122X. Here [22Xπ_1(H)=Out(G)[122X is the outer automorphism group
        of [22XG[122X and [22Xπ_2(H)=Z(G)[122X is the centre of [22XG[122X.[133X
  
  [33X[0;0YThese three constructions are implemented in [12XHAP[112X.[133X
  
  [33X[0;0Y[12XExample[112X[133X
  
  [33X[0;0YThe   following   commands  begin  by  constructing  the  cat[22X^1[122X-group  [22XH[122X  of
  Construction  3  for the group [22XG=SmallGroup(64,134)[122X. They then construct the
  fundamental  group  of  [22XH[122X  and the second homotopy group of as a [22Xπ_1[122X-module.
  These homotopy groups have orders [22X8[122X and [22X2[122X respectively.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG:=SmallGroup(64,134);;[127X[104X
    [4X[25Xgap>[125X [27XH:=AutomorphismGroupAsCatOneGroup(G);;[127X[104X
    [4X[25Xgap>[125X [27Xpi_1:=HomotopyGroup(H,1);;[127X[104X
    [4X[25Xgap>[125X [27Xpi_2:=HomotopyModule(H,2);;[127X[104X
    [4X[25Xgap>[125X [27XOrder(pi_1);[127X[104X
    [4X[28X8[128X[104X
    [4X[25Xgap>[125X [27XOrder(ActedGroup(pi_2));[127X[104X
    [4X[28X2[128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe   following   additional  commands  show  that  there  are  [22X1024[122X  Yoneda
  equivalence  classes  of  cat[22X^1[122X-groups  with  fundamental group [22Xπ_1[122X and [22Xπ_1[122X-
  module equal to [22Xπ_2[122X in our example.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XR:=ResolutionFiniteGroup(pi_1,4);;[127X[104X
    [4X[25Xgap>[125X [27XC:=HomToGModule(R,pi_2);;[127X[104X
    [4X[25Xgap>[125X [27XCH:=CohomologyModule(C,3);;[127X[104X
    [4X[25Xgap>[125X [27XAbelianInvariants(ActedGroup(CH));[127X[104X
    [4X[28X[ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YA  [22X3[122X-cocycle  [22Xf : π_1 × π_1 × π_1 → π_2[122X corresponding to a random cohomology
  class [22Xk∈ H^3(π_1,π_2)[122X can be produced using the following command.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xx:=Random(Elements(ActedGroup(CH)));;[127X[104X
    [4X[25Xgap>[125X [27Xf:=CH!.representativeCocycle(x);[127X[104X
    [4X[28XStandard 3-cocycle [128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  [22X3[122X-cocycle  corresponding  to the Postnikov invariant of [22XH[122X itself can be
  easily  constructed directly from its definition in terms of a set-theoretic
  'section' of the crossed module corresponding to [22XH[122X.[133X
  
