|
|||
---|---|---|---|
The
homology groups Hn(X,Z) of a space are reasonably
straighforward invariants to
compute. Its homotopy groups Pin(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 2-dimensional sphere S2, 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 Pi3(S2) = Z soon put pay to that belief. The sphere can be regarded as a suspension S2=SK(Z,1) of an Eilenberg-Mac Lane space K(Z,1) for the infinite cyclic group Z. There has recently been some interest in computing the third homotopy group Pi3(SK(G,1)) of the suspension of Eilenberg-Mac Lane spaces for other groups G. (The Hurewicz Theorem shows that Pi2(G)=Gab and Pi1(G)=0.) A purely group theoretic description of Pi3(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 Pi3(SK(G,1)) = (Z2)4 for G = D512 the dihedral group of order 1024. 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]. |
|||
gap>
ThirdHomotopyGroupOfSuspensionB(DihedralGroup(512)); [2,2,2,2] |
|||
The Blakers-Massey Theorem can be used to show that, for any abelian group A, the third homotopy group Pi3(SK(A,1)) is isomorphic to the usual tensor square of A. The homotopy groups Pi3(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 [1..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 TensorSquare(G) and ThirdHomotopyGroupOfSuspensionB(G) first
decide if G is nilpotent. If it is then the nilpotent 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. (If |G| is solvable then a solvable quotient algorithm could
in principle be used on H but, as such an algorithm is not a standard
GAP function, coset enumeration is used in this case.) |
|||
|