


The
homology groups H_{n}(X,Z) of a space are reasonably
straighforward invariants to
compute. Its homotopy groups Pi_{n}(X) are, by contrast,
extremely
difficult to compute and the difficulty
increases with n. For instance, the
homotopy groups of one of
the most basic spaces, the 2dimensional sphere S^{2}, are
still only known
for relatively small n. When homotopy groups were introduced back in the 1930s they were at first believed to be isomorphic to the homology groups. Heinz Hopf's surprising discovery that Pi_{3}(S^{2}) = Z soon put pay to that belief. The sphere can be regarded as a suspension S^{2}=SK(Z,1) of an EilenbergMac Lane space K(Z,1) for the infinite cyclic group Z. There has recently been some interest in computing the third homotopy group Pi_{3}(SK(G,1)) of the suspension of EilenbergMac Lane spaces for other groups G. (The Hurewicz Theorem shows that Pi_{2}(G)=G_{ab} and Pi_{1}(G)=0.) A purely group theoretic description of Pi_{3}(SK(G,1)) was found in [R. Brown & J.L. Loday, "van Kampen theorems diagrams for diagrams of spaces", Topology 1987]. They described it as a kernel of a group homomorphism
where G(×)G denotes a certain "nonabelian tensor square" of the group G. The following command uses this isomorphism to compute Pi_{3}(SK(G,1)) = Z^{30 }for G_{ }the free nilpotent group of class 2 on four generators. The command implements a method for calculating the nonabelian tensor which is described in [G. Ellis & F. Leonard, "Computations of nonabelian tensor products and Schur multipliers of finite groups", Proc. Royal Irish Acad. 1997]. A result in [A. McDermott, "Nonabelian tensor products", PhD thesis, Galway 1997] enables the implementation to run on certain infinite groups. The computational significance of McDermott's result was pointed out by R.F. Morse. 

gap>
F:=FreeGroup(4);;G:=NilpotentQuotient(F,2);; gap> ThirdHomotopyGroupOfSuspensionB(G); [ 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 ] 

The BlakersMassey Theorem can be used to show that, for any abelian group A, the third homotopy group Pi_{3}(SK(A,1)) is isomorphic to the usual tensor square of A. The homotopy groups Pi_{3}(SK(G,1)) were calculated for all nonabelian groups G of order G<31 by R. Brown, D.L. Johnson and E. Robertson in ["The nonabelian tensor square of groups", J. Algebra 1987]. These calculations are recovered by the following commands which use GAP's small groups library.  
gap>
for i in [2..30] do for G in
AllSmallGroups(i) do > if not IsAbelian(G) then > name:=IdSmallGroup(G); pi:=ThirdHomotopyGroupOfSuspensionB(G); > Print("Small group G = ", name," has Pi3(SK(G,1))= ", pi,"\n"); > fi;od;od; Small group G = [ 6, 1 ] has Pi3(SK(G,1))= [ 2 ] Small group G = [ 8, 3 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2 ] Small group G = [ 8, 4 ] has Pi3(SK(G,1))= [ 2, 4, 4 ] Small group G = [ 10, 1 ] has Pi3(SK(G,1))= [ 2 ] Small group G = [ 12, 1 ] has Pi3(SK(G,1))= [ 4 ] Small group G = [ 12, 3 ] has Pi3(SK(G,1))= [ 2, 3 ] Small group G = [ 12, 4 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2 ] Small group G = [ 14, 1 ] has Pi3(SK(G,1))= [ 2 ] Small group G = [ 16, 3 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2, 4 ] Small group G = [ 16, 4 ] has Pi3(SK(G,1))= [ 2, 2, 4, 4 ] Small group G = [ 16, 6 ] has Pi3(SK(G,1))= [ 2, 2, 8 ] Small group G = [ 16, 7 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2 ] Small group G = [ 16, 8 ] has Pi3(SK(G,1))= [ 2, 2, 4 ] Small group G = [ 16, 9 ] has Pi3(SK(G,1))= [ 2, 2, 4 ] Small group G = [ 16, 11 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2, 2, 2, 2, 2, 2 ] Small group G = [ 16, 12 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2, 2, 2, 4, 4 ] Small group G = [ 16, 13 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2, 2, 2, 2, 2 ] Small group G = [ 18, 1 ] has Pi3(SK(G,1))= [ 2 ] Small group G = [ 18, 3 ] has Pi3(SK(G,1))= [ 2, 3 ] Small group G = [ 18, 4 ] has Pi3(SK(G,1))= [ 2, 3 ] Small group G = [ 20, 1 ] has Pi3(SK(G,1))= [ 4 ] Small group G = [ 20, 3 ] has Pi3(SK(G,1))= [ 4 ] Small group G = [ 20, 4 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2 ] Small group G = [ 21, 1 ] has Pi3(SK(G,1))= [ 3 ] Small group G = [ 22, 1 ] has Pi3(SK(G,1))= [ 2 ] Small group G = [ 24, 1 ] has Pi3(SK(G,1))= [ 8 ] Small group G = [ 24, 3 ] has Pi3(SK(G,1))= [ 3 ] Small group G = [ 24, 4 ] has Pi3(SK(G,1))= [ 2, 4, 4 ] Small group G = [ 24, 5 ] has Pi3(SK(G,1))= [ 2, 2, 2, 4 ] Small group G = [ 24, 6 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2 ] Small group G = [ 24, 7 ] has Pi3(SK(G,1))= [ 2, 2, 2, 4 ] Small group G = [ 24, 8 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2 ] Small group G = [ 24, 10 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2, 3 ] Small group G = [ 24, 11 ] has Pi3(SK(G,1))= [ 2, 3, 4, 4 ] Small group G = [ 24, 12 ] has Pi3(SK(G,1))= [ 2, 2 ] Small group G = [ 24, 13 ] has Pi3(SK(G,1))= [ 2, 2, 3 ] Small group G = [ 24, 14 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2, 2, 2, 2, 2, 2 ] Small group G = [ 24, 15 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 3 ] Small group G = [ 26, 1 ] has Pi3(SK(G,1))= [ 2 ] Small group G = [ 27, 3 ] has Pi3(SK(G,1))= [ 3, 3, 3, 3, 3 ] Small group G = [ 27, 4 ] has Pi3(SK(G,1))= [ 3, 3, 3 ] Small group G = [ 28, 1 ] has Pi3(SK(G,1))= [ 4 ] Small group G = [ 28, 3 ] has Pi3(SK(G,1))= [ 2, 2, 2, 2 ] Small group G = [ 30, 1 ] has Pi3(SK(G,1))= [ 2, 5 ] Small group G = [ 30, 2 ] has Pi3(SK(G,1))= [ 2, 3 ] Small group G = [ 30, 3 ] has Pi3(SK(G,1))= [ 2 ] 

The
functions NonableianTensorSquare(G)
and ThirdHomotopyGroupOfSuspensionB(G)
first
decide if G is nilpotent or solvable. If it is then the nilpotent or
solvable quotient
algorithm is used on a certain finitely presented group H of order
H=G^{2}G(×)G. Otherwise coset enumeration is used
on
H. (A more elaborate set of functions for computing the nonabelian tesnor product of distinct groups, and functorial homomorphisms, have been implemented in Magma and can be downloaded from here.) 

The
abelian group
was first studied algebraically in [R.K. Dennis, `In search of new "Homology" functors having a close relationship to Ktheory', preprint, Cornell, 1976] as an alternative to the second homology functor H_{2}(G,Z). The isomorphism J_{2}(G) = Pi_{3}(SK(G,1)) of Brown and Loday can be inserted into the famous Certain Exact Sequence of J.H.C. Whitehead to obtain the following exact sequence
in which the abelian group Gamma(G_{ab}) is Whitehead's universal quadratic functor. We immediately get that J_{2}(G) coincides with H_{2}(G,Z) for perfect groups G. This sequence, together with the fact that the homology of a Sylow psubgroup of G maps onto the ppart of the homology of G, also yields the following.
This last result is used in the function NonabelianTensorSquare(G) to bound the order of J_{2}(G) for a nonnilpotent solvable group G. The kernel of the quotient homomorphism J_{2}(P) → J_{2}(G) can be described by a CartanEilenberg double coset type formula like the one for group homology. So one should be able to compute the functor J_{2}(G) for an arbitrary finite group G from its values on the Sylow subgroups. This approach has, as yet, only been partially implemented in HAP. The command ThirdHomotopyGroupOfSuspensionB_alt(G) returns the abelian invariants of groups A and B related by a short exact sequence 0 → B → J_{2}(G) → A → 0. So, for instance, the following commands show that J_{2}(S_{12}) has order 4 for the symmetric group on 12 symbols. 

gap>
ThirdHomotopyGroupOfSuspensionB_alt(SymmetricGroup(12)); [ [ 2 ], [ 2 ] ] 

HAP
commands can be used to compare the two functors J_{2}(G) and H_{2}(G,Z)
empirically. For example, there are 92 primepower groups of order at
most 32. There are thus 4140 unordered pairs (G,Q) of distinct
primepower groups of order at most 32. The following commands show
that, of these pairs,


L:=[];;
H2:=[];; J2:=[];; H2J2:=[];; for i in [1..32] do if IsPrimePowerInt(i) then for G in AllSmallGroups(i) do x:=[IdSmallGroup(G),AbelianInvariants(G),GroupHomology(G,2), ThirdHomotopyGroupOfSuspensionB(G)]; Append(L,[x]); od; od;fi;od; gap> for x in L do for y in L do > if Position(L,x)<Position(L,y) then > if x[2]=y[2] and x[3]=y[3] then Append(H2,[[x,y]]); fi; > fi; > od;od; gap> Length(H2); 114 gap> for x in L do for y in L do > if Position(L,x)<Position(L,y) then > if x[2]=y[2] and x[4]=y[4] then Append(J2,[[x,y]]); fi; > fi; > od;od; gap> Length(J2); 47 gap> for x in L do for y in L do > if Position(L,x)<Position(L,y) then > if x[2]=y[2] and x[3]=y[3] and x[4]=y[4] then Append(H2J2,[[x,y]]); fi; > fi; > od;od; gap> Length(H2J2); 45 gap> Difference(J2,H2J2); [ [ [ [ 16, 12 ], [ 2, 2, 2 ], [ 2, 2 ], [ 2, 2, 2, 2, 2, 2, 4, 4 ] ], [ [ 32, 31 ], [ 2, 2, 2 ], [ 2, 4 ], [ 2, 2, 2, 2, 2, 2, 4, 4 ] ] ], [ [ [ 32, 29 ], [ 2, 2, 2 ], [ 2, 2 ], [ 2, 2, 2, 2, 2, 2, 4, 4 ] ], [ [ 32, 31 ], [ 2, 2, 2 ], [ 2, 4 ], [ 2, 2, 2, 2, 2, 2, 4, 4 ] ] ] ] 

Recall
that a primepower group G of order p^{n} and nilpotency class
c is said to have coclass
r=nc . In a recent preprint Bettina Eick has shown that the second
integral homology functor H_{2}(G,Z) sometimes has only finitely many
values for the infinitely many 2groups G of a given coclass. This
result extends to the functor J_{2}(G) thanks to the exact
sequence (1) . Her proof relies on the five term exact sequence in
integral group homology. There is an analogous sequence for the functor
J_{2}(G).
Sequences (1) and (2) yield the following result.
To prove the proposition we consider the canonical homomorphisms f_{n}:J_{2}(S) → J_{2}(S/T_{n}) and h_{n}:J_{2}(S/T_{n}) → J_{2}(S/T_{n1}) . Since f_{n1} = h_{n}f_{n } we have that Ker(f_{n+1}) lies in Ker(f_{n}) . Since S/T and T/T_{2 }are finite, then so too is S/T_{2}. Hence S_{ab} is finite. If H_{2}(S,Z) is finite, then so is J_{2}(S) by sequence (1) above. It follows that Ker(f_{n+1}) = Ker(f_{n}) for all sufficiently large n. Let A denote the cokernel of f_{n} (for n sufficiently large). The exact sequence (2) implies that J_{2}(S/T_{n}) is an extension of A by (T_{n}/T_{n+1}). Since (T_{n}/T_{n+1}) is elementary abelian we get J_{2}(S/T_{n}) = A + (T_{n}/T_{n+1}) as required. The statement for infinite H_{2}(G,Z) is got by showing that Ker(f_{n+1}) is in this case a proper subgroup of Ker(f_{n}) for all n. The interest in the proposition is that, associated to any pgroup G, there is an infinite space group S with normal translation subgroup T such that T_{n}/T_{n+1} is cyclic of order p and S/T_{n} has the same coclass as G for all sufficiently large n. Furthermore, for some n the quotient S/T_{n} is isomorphic to a lower central quotient of G. By the proposition, nearly all the values of J(S/T_{n}) will be equal if H_{2}(S,Z) is finite. Also, nearly all the values of H_{2}(S/T_{n},Z) will be equal. The following commands illustrate this phenomenon. 

gap>
S:=Image(IsomorphismPcpGroup(SpaceGroup(2,11)));; gap> IsAlmostCrystallographic(S);; gap> T:=Kernel(NaturalHomomorphismOnHolonomyGroup(S));; gap> RCS:=[];; RCS[1]:=T;; gap> for i in [2..7] do > RCS[i]:=CommutatorSubgroup(RCS[i1],S); > od; gap> Quotients:=List([1..7],i>RefinedPcGroup(Range(IsomorphismPcGroup(S/RCS[i]))));; gap> #RCS is the relative lower central series. Quotients is the list of quotient groups. gap> List([2..7],i>Order(RCS[i1]/RCS[i])); [ 2, 2, 2, 2, 2, 2 ] gap> List([1..7],i>Coclass(Quotients[i])); [ 1, 2, 3, 3, 3, 3, 3 ] gap> List([1..7],i>ThirdHomotopyGroupOfSuspensionB(Quotients[i])); [ [ 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, 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, 2, 2, 2 ], [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ] ] gap> List([1..7],i>GroupHomology(Quotients[i],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 ] ] 

