GAP (HAP commands) - Chapter 12: Simplicial groups

Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax on]

12 Simplicial groups
12.1 Crossed modules
12.2 Eilenberg-MacLane spaces as simplicial groups (not recommended)
12.3 Eilenberg-MacLane spaces as simplicial free abelian groups (recommended)
12.4 Elementary theoretical information on H^∗(K(π,n), Z)
12.5 The first three non-trivial homotopy groups of spheres
12.6 The first two non-trivial homotopy groups of the suspension and double suspension of a K(G,1)
12.7 Postnikov towers and π_5(S^3)
12.8 Towards π_4(Σ K(G,1))
12.9 Enumerating homotopy 2-types
12.10 Identifying cat^1-groups of low order
12.11 Identifying crossed modules of low order

### 12 Simplicial groups

#### 12.1 Crossed modules

A crossed module consists of a homomorphism of groups ∂: M→ G together with an action (g,m)↦ ^gm of G on M satisfying

1. ∂(^gm) = gmg^-1

2. ^∂ mm' = mm'm^-1

for g∈ G, m,m'∈ M.

A crossed module ∂: M→ G is equivalent to a cat^1-group (H,s,t) (see 6.11) where H=M ⋊ G, s(m,g) = (1,g), t(m,g)=(1,(∂ m)g). A cat^1-group is, in turn, equivalent to a simplicial group with Moore complex has length 1. The simplicial group is constructed by considering the cat^1-group as a category and taking its nerve. Alternatively, the simplicial group can be constructed by viewing the crossed module as a crossed complex and using a nonabelian version of the Dold-Kan theorem.

The following example concerns the crossed module

∂: G→ Aut(G), g↦ (x↦ gxg^-1)

associated to the dihedral group G of order 16. This crossed module represents, up to homotopy type, a connected space X with π_iX=0 for i≥ 3, π_2X=Z(G), π_1X = Aut(G)/Inn(G). The space X can be represented, up to homotopy, by a simplicial group. That simplicial group is used in the example to compute

H_1(X, Z)= Z_2 ⊕ Z_2,

H_2(X, Z)= Z_2,

H_3(X, Z)= Z_2 ⊕ Z_2 ⊕ Z_2,

H_4(X, Z)= Z_2 ⊕ Z_2 ⊕ Z_2,

H_5(X, Z)= Z_2 ⊕ Z_2 ⊕ Z_2 ⊕ Z_2⊕ Z_2⊕ Z_2.

    gap> C:=AutomorphismGroupAsCatOneGroup(DihedralGroup(16));
    Cat-1-group with underlying group Group(
    [ f1, f2, f3, f4, f5, f6, f7, f8, f9 ] ) .

    gap> Size(C);
    512
    gap> Q:=QuasiIsomorph(C);
    Cat-1-group with underlying group Group( [ f9, f8, f1, f2*f3, f5 ] ) .

    gap> Size(Q);
    32

    gap> N:=NerveOfCatOneGroup(Q,6);
    Simplicial group of length 6

    gap> K:=ChainComplexOfSimplicialGroup(N);
    Chain complex of length 6 in characteristic 0 .

    gap> Homology(K,1);
    [ 2, 2 ]
    gap> Homology(K,2);
    [ 2 ]
    gap> Homology(K,3);
    [ 2, 2, 2 ]
    gap> Homology(K,4);
    [ 2, 2, 2 ]
    gap> Homology(K,5);
    [ 2, 2, 2, 2, 2, 2 ]

#### 12.2 Eilenberg-MacLane spaces as simplicial groups (not recommended)

The following example concerns the Eilenberg-MacLane space X=K( Z_3,3) which is a path-connected space with π_3X= Z_3, π_iX=0 for 3ne i≥ 1. This space is represented by a simplicial group, and perturbation techniques are used to compute

H_7(X, Z)= Z_3 ⊕ Z_3.

    gap> A:=AbelianGroup([3]);;AbelianInvariants(A);
    [ 3 ]
    gap>  K:=EilenbergMacLaneSimplicialGroup(A,3,8);
    Simplicial group of length 8

    gap> C:=ChainComplex(K);
    Chain complex of length 8 in characteristic 0 .

    gap> Homology(C,7);
    [ 3, 3 ]

#### 12.3 Eilenberg-MacLane spaces as simplicial free abelian groups (recommended)

For integer n>1 and abelian group A the Eilenberg-MacLane space K(A,n) is better represented as a simplicial free abelian group. (The reason is that the functorial bar resolution of a group can be replaced in computations by the smaller functorial Chevalley-Eilenberg complex of the group when the group is free abelian, obviating the need for perturbation techniques. When A has torision we can replace it with an inclusion of free abelian groups A_1 ↪ A_0 with A≅ A_0/A_1 and again invoke the Chevalley-Eilenberg complex. The current implementation unfortunately handles only free abelian A but the easy extension to non-free A is planned for a future release.)

The following commands compute the integral homology H_n(K( Z,3), Z) for 0≤ n ≤ 16. (Note that one typically needs fewer than n terms of the Eilenberg-MacLance space to compute its n-th homology -- an error is printed if too few terms of the space are available for a given computation.)

    gap> A:=AbelianPcpGroup([0]);; #infinite cyclic group
    gap> K:=EilenbergMacLaneSimplicialFreeAbelianGroup(A,3,14);
    Simplicial free abelian group of length 14

    gap> for n in [0..16] do
    > Print("Degree ",n," integral homology of K is ",Homology(K,n),"\n");
    > od;
    Degree 0 integral homology of K is [ 0 ]
    Degree 1 integral homology of K is [  ]
    Degree 2 integral homology of K is [  ]
    Degree 3 integral homology of K is [ 0 ]
    Degree 4 integral homology of K is [  ]
    Degree 5 integral homology of K is [ 2 ]
    Degree 6 integral homology of K is [  ]
    Degree 7 integral homology of K is [ 3 ]
    Degree 8 integral homology of K is [ 2 ]
    Degree 9 integral homology of K is [ 2 ]
    Degree 10 integral homology of K is [ 3 ]
    Degree 11 integral homology of K is [ 5, 2 ]
    Degree 12 integral homology of K is [ 2 ]
    Degree 13 integral homology of K is [  ]
    Degree 14 integral homology of K is [ 10, 2 ]
    Degree 15 integral homology of K is [ 7, 6 ]
    Degree 16 integral homology of K is [  ]

For an n-connected pointed space X the Freudenthal Suspension Theorem states that the map X → Ω(Σ X) induces a map π_k(X) → π_k(Ω(Σ X)) which is an isomorphism for k≤ 2n and epimorphism for k=2n+1. Thus the Eilenberg-MacLane space K(A,n+1) can be constructed from the suspension Σ K(A,n) by attaching cells in dimensions ≥ 2n+1. In particular, there is an isomorphism H_k-1(K(A,n), Z) → H_k(K(A,n+1), Z) for k≤ 2n and epimorphism for k=2n+1.

For instance, H_k-1(K( Z,3), Z) ≅ H_k(K( Z,4), Z) for k≤ 6 and H_6(K( Z,3), Z) ↠ H_7(K( Z,4), Z). This assertion is seen in the following session.

    gap> A:=AbelianPcpGroup([0]);; #infinite cyclic group
    gap> K:=EilenbergMacLaneSimplicialFreeAbelianGroup(A,4,11);
    Simplicial free abelian group of length 11

    gap> for n in [0..13] do
    > Print("Degree ",n," integral homology of K is ",Homology(K,n),"\n");
    > od;
    Degree 0 integral homology of K is [ 0 ]
    Degree 1 integral homology of K is [  ]
    Degree 2 integral homology of K is [  ]
    Degree 3 integral homology of K is [  ]
    Degree 4 integral homology of K is [ 0 ]
    Degree 5 integral homology of K is [  ]
    Degree 6 integral homology of K is [ 2 ]
    Degree 7 integral homology of K is [  ]
    Degree 8 integral homology of K is [ 3, 0 ]
    Degree 9 integral homology of K is [  ]
    Degree 10 integral homology of K is [ 2, 2 ]
    Degree 11 integral homology of K is [  ]
    Degree 12 integral homology of K is [ 5, 12, 0 ]
    Degree 13 integral homology of K is [ 2 ]

#### 12.4 Elementary theoretical information on H^∗(K(π,n), Z)

The cup product is not implemented for the cohomology ring H^∗(K(π,n), Z). Standard theoretical spectral sequence arguments have to be applied to obtain basic information relating to the ring structure. To illustrate this the following commands compute H^n(K( Z,2), Z) for the first few values of n.

    gap> K:=EilenbergMacLaneSimplicialFreeAbelianGroup(A,2,10);;
    gap> List([0..10],k->Cohomology(K,k));
    [ [ 0 ], [  ], [ 0 ], [  ], [ 0 ], [  ], [ 0 ], [  ], [ 0 ], [  ], [ 0 ] ]

There is a fibration sequence K(π,n) ↪ ∗ ↠ K(π,n+1) in which ∗ denotes a contractible space. For n=1, π= Z the terms of the E_2 page of the Serre integral cohomology spectral sequence for this fibration are

- E_2^pq= H^p( K( Z,2), H^q(K( Z,1), Z) ) .

Since K( Z,1) can be taken to be the circle S^1 we know that it has non-trivial cohomology in degrees 0 and 1 only. The first few terms of the E_2 page are given in the following table.

Table: E^2 cohomology page for K( Z,1) ↪ ∗ ↠ K( Z,2)
1 | Z | 0 | Z | 0 | Z | 0 | Z | 0 | Z | 0 | Z
0 | Z | 0 | Z | 0 | Z | 0 | Z | 0 | Z | 0 | Z
q/p | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10

Let x denote the generator of H^1(K( Z,1), Z) and y denote the generator of H^2(K( Z,2), Z). Since ∗ has zero cohomology in degrees ≥ 1 we see that the differential must restrict to an isomorphism d_2: E_2^0,1 → E_2^2,0 with d_2(x)=y. Then we see that the differential must restrict to an isomorphism d_2: E_2^2,1 → E_2^4,0 defined on the generator xy of E_2^2,1 by

d_2(xy) = d_2(x)y + (-1)^{{\rm deg}(x)}xd_2(y) =y^2\ .

Hence E_2^4,0 ≅ H^4(K( Z,2), Z) is generated by y^2. The argument extends to show that H^6(K( Z,2), Z) is generated by y^3, H^8(K( Z,2), Z) is generated by y^4, and so on.

In fact, to obtain a complete description of the ring H^∗(K( Z,2), Z) in this fashion there is no benefit to using computer methods at all. We only need to know the cohomology ring H^∗(K( Z,1), Z) =H^∗(S^1, Z) and the single cohomology group H^2(K( Z,2), Z).

A similar approach can be attempted for H^∗(K( Z,3), Z) using the fibration sequence K( Z,2) ↪ ∗ ↠ K( Z,3) and, as explained in Chapter 5 of [Hat01], yields the computation of the group H^i(K( Z,3), Z) for 4≤ i≤ 13. The method does not directly yield H^3(K( Z,3), Z) and breaks down in degree 14 yielding only that H^14(K( Z,3), Z) = 0 ~or~ Z_3. The following commands provide H^3(K( Z,3), Z)= Z and H^14(K( Z,3), Z) =0.

    gap> A:=AbelianPcpGroup([0]);;
    gap> K:=EilenbergMacLaneSimplicialFreeAbelianGroup(A,3,15);;
    gap> Cohomology(K,3);
    [ 0 ]
    gap> Cohomology(K,14);
    [  ]

However, the implementation of these commands is currently a bit naive, and computationally inefficient, since they do not currently employ any homological perturbation techniques.

#### 12.5 The first three non-trivial homotopy groups of spheres

The Hurewicz Theorem immediately gives

\pi_n(S^n)\cong \mathbb Z ~~~ (n\ge 1)

and

\pi_k(S^n)=0 ~~~ (k\le n-1).

As a CW-complex the Eilenberg-MacLane space K=K( Z,n) can be obtained from an n-sphere S^n=e^0∪ e^n by attaching cells in dimensions ≥ n+2 so as to kill the higher homotopy groups of S^n. From the inclusion ι: S^n↪ K( Z,n) we can form the mapping cone X=C(ι). The long exact homotopy sequence

⋯ → π_k+1K → π_k+1(K,S^n) → π_k S^n → π_kK → π_k(K,S^n) → ⋯

implies that π_k(K,S^n)=0 for 0 ≤ k≤ n+1 and π_n+2(K,S^n)≅ π_n+1(S^n). The relative Hurewicz Theorem gives an isomorphism π_n+2(K,S^n) ≅ H_n+2(K,S^n, Z). The long exact homology sequence

⋯ H_n+2(S^n, Z) → H_n+2(K, Z) → H_n+2(K,S^n, Z) → H_n+1(S^n, Z) → ⋯

arising from the cofibration S^n ↪ K ↠ X implies that π_n+1(S^n)≅ π_n+2(K,S^n) ≅ H_n+2(K,S^n, Z) ≅ H_n+2(K, Z). From the GAP computations in 12.3 and the Freudenthal Suspension Theorem we find:

\pi_3S^2 \cong \mathbb Z, ~~~~~~ \pi_{n+1}(S^n)\cong \mathbb Z_2~~~(n\ge 3).

The Hopf fibration S^3→ S^2 has fibre S^1 = K( Z,1). It can be constructed by viewing S^3 as all pairs (z_1,z_2)∈ C^2 with |z_1|^2+|z_2|^2=1 and viewing S^2 as C∪ ∞; the map sends (z_1,z_2)↦ z_1/z_2. The homotopy exact sequence of the Hopf fibration yields π_k(S^3) ≅ π_k(S^2) for k≥ 3, and in particular

\pi_4(S^2) \cong \pi_4(S^3) \cong \mathbb Z_2\ .

It will require further techniques (such as the Postnikov tower argument in Section 12.7 below) to establish that π_5(S^3) ≅ Z_2. Once we have this isomorphism for π_5(S^3), the generalized Hopf fibration S^3 ↪ S^7 ↠ S^4 comes into play. This fibration is contructed as for the classical fibration, but using pairs (z_1,z_2) of quaternions rather than pairs of complex numbers. The Hurewicz Theorem gives π_3(S^7)=0; the fibre S^3 is thus homotopic to a point in S^7 and the inclusion of the fibre induces the zero homomorphism π_k(S^3) stackrel0⟶ π_k(S^7) ~~(k≥ 1). The exact homotopy sequence of the generalized Hopf fibration then gives π_k(S^4)≅ π_k(S^7)⊕ π_k-1(S^3). On taking k=6 we obtain π_6(S^4)≅ π_5(S^3) ≅ Z_2. Freudenthal suspension then gives

\pi_{n+2}(S^n)\cong \mathbb Z_2,~~~(n\ge 2).

#### 12.6 The first two non-trivial homotopy groups of the suspension and double suspension of a K(G,1)

For any group G we consider the homotopy groups π_n(Σ K(G,1)) of the suspension Σ K(G,1) of the Eilenberg-MacLance space K(G,1). On taking G= Z, and observing that S^2 = Σ K( Z,1), we specialize to the homotopy groups of the 2-sphere S^2.

By construction,

\pi_1(\Sigma K(G,1))=0\ .

The Hurewicz Theorem gives

\pi_2(\Sigma K(G,1)) \cong G_{ab}

via the isomorphisms π_2(Σ K(G,1)) ≅ H_2(Σ K(G,1), Z) ≅ H_1(K(G,1), Z) ≅ G_ab. R. Brown and J.-L. Loday [BL87] obtained the formulae

\pi_3(\Sigma K(G,1)) \cong \ker (G\otimes G \rightarrow G, x\otimes y\mapsto [x,y]) \ ,

\pi_4(\Sigma^2 K(G,1)) \cong \ker (G\, {\widetilde \otimes}\, G \rightarrow G, x\, {\widetilde \otimes}\, y\mapsto [x,y])

involving the nonabelian tensor square and nonabelian symmetric square of the group G. The following commands use the nonabelian tensor and symmetric product to compute the third and fourth homotopy groups for G =Syl_2(M_12) the Sylow 2-subgroup of the Mathieu group M_12.

    gap> G:=SylowSubgroup(MathieuGroup(12),2);;
    gap> ThirdHomotopyGroupOfSuspensionB(G);
    [ 2, 2, 2, 2, 2, 2, 2, 2, 2 ]
    gap>
    gap> FourthHomotopyGroupOfDoubleSuspensionB(G);
    [ 2, 2, 2, 2, 2, 2 ]

#### 12.7 Postnikov towers and π_5(S^3)

A Postnikov system for the sphere S^3 consists of a sequence of fibrations ⋯ X_3stackrelp_3→ X_2stackrelp_2→ X_1stackrelp_1→ ∗ and a sequence of maps ϕ_n: S^3 → X_n such that

- p_n ∘ ϕ_n =ϕ_n-1

- The map ϕ_n: S^3 → X_n induces an isomorphism π_k(S^3)→ π_k(X_n) for all k≤ n

- π_k(X_n)=0 for k > n

- and consequently each fibration p_n has fibre an Eilenberg-MacLane space K(π_n(S^3),n).

The space X_n is obtained from S^3 by adding cells in dimensions ≥ n+2 and thus

- H_k(X_n, Z)=H_k(S^3, Z) for k≤ n+1.

So in particular X_1=X_2=∗, X_3=K( Z,3) and we have a fibration sequence K(π_4(S^3),4) ↪ X_4 ↠ K( Z,3). The terms in the E_2 page of the Serre integral cohomology spectral sequence of this fibration are

- E_2^p,q=H^p(K( Z,3),H_q(K( Z_2,4), Z)).

The first few terms in the E_2 page can be computed using the commands of Sections 12.2 and 12.3 and recorded as follows.

Table: E_2 cohomology page for K(π_4(S^3),4) ↪ X_4 ↠ X_3
8 | Z_2 | 0 | 0 |  |  |  |  |  |  |
7 | Z_2 | 0 | 0 |  |  |  |  |  |  |
6 | 0 | 0 | 0 |  |  |  |  |  |  |
5 | π_4(S^3) | 0 | 0 | π_4(S^3) | 0 | 0 | 0 |  |  |
4 | 0 | 0 | 0 | 0 | 0 | 0 |  |  |  |
3 | 0 | 0 | 0 | 0 | 0 | 0 |  |  |  |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |  |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |  |
0 | Z | 0 | 0 | Z | 0 | 0 | Z_2 | 0 | Z_3 | Z_2
q/p | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Since we know that H^5(X_4, Z) =0, the differentials in the spectral sequence must restrict to an isomorphism E_2^0,5=π_4(S^3) stackrel≅⟶ E_2^6,0= Z_2. This provides an alternative derivation of π_4(S^3) ≅ Z_2. We can also immediately deduce that H^6(X_4, Z)=0. Let x be the generator of E_2^0,5 and y the generator of E_2^3,0. Then the generator xy of E_2^3,5 gets mapped to a non-zero element d_7(xy)=d_7(x)y -xd_7(y). Hence the term E_2^0,7= Z_2 must get mapped to zero in E_2^3,5. It follows that H^7(X_4, Z)= Z_2.

The integral cohomology of Eilenberg-MacLane spaces yields the following information on the E_2 page E_2^p,q=H_p(X_4,H^q(K(π_5S^3,5), Z)) for the fibration K(π_5(S^3),5) ↪ X_5 ↠ X_4.

Table: E_2 cohomology page for K(π_5(S^3),5) ↪ X_5 ↠ X_4
6 | π_5(S^3) | 0 | 0 | π_5(S^3) | 0 | 0 |  |
5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | Z | 0 | 0 | Z | 0 | 0 | 0 | H^7(X_4, Z)
q/p | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7

Since we know that H^6(X_5, Z)=0, the differentials in the spectral sequence must restrict to an isomorphism E_2^0,6=π_5(S^3) stackrel≅⟶ E_2^7,0=H^7(X_4, Z). We can conclude the desired result:

\pi_5(S^3) = \mathbb Z_2\ .

~~~

Note that the fibration X_4 ↠ K( Z,3) is determined by a cohomology class κ ∈ H^5(K( Z,3), Z_2) = Z_2. If κ=0 then we'd have X_4 =K( Z_2,4)× K( Z,3) and, as the following commands show, we'd then have H_4(X_4, Z)= Z_2.

    gap> K:=EilenbergMacLaneSimplicialGroup(AbelianPcpGroup([0]),3,7);;
    gap> L:=EilenbergMacLaneSimplicialGroup(CyclicGroup(2),4,7);;
    gap> CK:=ChainComplex(K);;
    gap> CL:=ChainComplex(L);;
    gap> T:=TensorProduct(CK,CL);;
    gap> Homology(T,4);
    [ 2 ]

Since we know that H_4(X_4, Z)=0 we can conclude that the Postnikov invariant κ is the non-zero class in H^5(K( Z,3), Z_2) = Z_2.

#### 12.8 Towards π_4(Σ K(G,1))

Consider the suspension X=Σ K(G,1) of a classifying space of a group G once again. This space has a Postnikov system in which X_1 = ∗, X_2= K(G_ab,2). We have a fibration sequence K(π_3 X, 3) ↪ X_3 ↠ K(G_ab,2). The corresponding integral cohomology Serre spectral sequence has E_2 page with terms

- E_2^p,q=H^p(K(G_ab,2), H^q(K(π_3 X,3)), Z) ).

As an example, for the Alternating group G=A_4 of order 12 the following commands of Section 12.6 compute G_ab = Z_3 and π_3 X = Z_6.

    gap> AbelianInvariants(G);
    [ 3 ]
    gap> ThirdHomotopyGroupOfSuspensionB(G);
    [ 2, 3 ]

The first terms of the E_2 page can be calculated using the commands of Sections 12.2 and 12.3.

Table: E^2 cohomology page for K(π_3 X,3) ↪ X_3 ↠ X_2
7 | Z_2 | 0 |  |  |  |  |  |
6 | Z_2 | 0 | 0 | 0 |  |  |  |
5 | 0 | 0 | 0 | 0 |  |  |  |
4 | Z_6 | 0 | 0 | Z_3 |  |  |  |
3 | 0 | 0 | 0 | 0 | 0 | 0 |  |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | Z | 0 | 0 | Z_3 | 0 | Z_3 | 0 | Z_9
q/p | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7

We know that H^1(X_3, Z)=0, H^2(X_3, Z)=H^1(G, Z) =0, H^3(X_3, Z)=H^2(G, Z) = Z_3, and that H^4(X_3, Z) is a subgroup of H^3(G, Z) = Z_2. It follows that the differential induces a surjection E_2^0,4= Z_6 ↠ E_2^5,0= Z_3. Consequently H^4(X_3, Z)= Z_2 and H^5(X_3, Z)=0 and H^6(X_3, Z)= Z_2.

The E_2 page for the fibration K(π_4 X,4) ↪ X_4 ↠ X_3 contains the following terms.

Table: E^2 cohomology page for K(π_4 X,4) ↪ X_4 ↠ X_3
5 | π_4 X | 0 | 0 |  |  |  |
4 | 0 | 0 | 0 | 0 |  |  |
3 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0
0 | Z | 0 | 0 | Z_3 | Z_2 | 0 | Z_2
q/p | 0 | 1 | 2 | 3 | 4 | 5 | 6

We know that H^5(X_4, Z) is a subgroup of H^4(G, Z)= Z_6, and hence that there is a homomorphisms π_4X → Z_2 whose kernel is a subgroup of Z_6. If follows that |π_4 X|≤ 12.

#### 12.9 Enumerating homotopy 2-types

A 2-type is a CW-complex X whose homotopy groups are trivial in dimensions n=0 and n>2. As explained in 6.11 the homotopy type of such a space can be captured algebraically by a cat^1-group G. Let X, Y be 2-tytpes represented by cat^1-groups G, H. If X and Y are homotopy equivalent then there exists a sequence of morphisms of cat^1-groups

G \rightarrow K_1 \rightarrow K_2 \leftarrow K_3 \rightarrow \cdots \rightarrow K_n \leftarrow H

in which each morphism induces isomorphisms of homotopy groups. When such a sequence exists we say that G is quasi-isomorphic to H. We have the following result.

Theorem. The 2-types X and Y are homotopy equivalent if and only if the associated cat^1-groups G and H are quasi-isomorphic.

The following commands produce a list L of all of the 62 non-isomorphic cat^1-groups whose underlying group has order 16.

    gap> L:=[];;
    gap> for G in AllSmallGroups(16) do
    > Append(L,CatOneGroupsByGroup(G));
    > od;
    gap> Length(L);
    62

The next commands use the first and second homotopy groups to prove that the list L contains at least 37 distinct quasi-isomorphism types.

    gap> Invariants:=function(G)
    > local inv;
    > inv:=[];
    > inv[1]:=IdGroup(HomotopyGroup(G,1));
    > inv[2]:=IdGroup(HomotopyGroup(G,2));
    > return inv;
    > end;;

    gap> C:=Classify(L,Invariants);;
    gap> Length(C);

The following additional commands use second and third integral homology in conjunction with the first two homotopy groups to prove that the list L contains at least 49 distinct quasi-isomorphism types.

    gap> Invariants2:=function(G)
    > local inv;
    > inv:=[];
    > inv[1]:=Homology(G,2);
    > inv[2]:=Homology(G,3);
    > return inv;
    > end;;
    gap> C:=RefineClassification(C,Invariants2);;

    gap> Length(C);
    49

The following commands show that the above list L contains at most 51 distinct quasi-isomorphism types.

    gap> Q:=List(L,QuasiIsomorph);;
    gap> M:=[];;

    gap> for q in Q do
    > bool:=true;;
    > for m in M do
    > if not IsomorphismCatOneGroups(m,q)=fail then bool:=false; break; fi;
    > od;
    > if bool then Add(M,q); fi;
    > od;

    gap> Length(M);
    51

#### 12.10 Identifying cat^1-groups of low order

Let us define the order of a cat^1-group to be the order of its underlying group. The function `IdQuasiCatOneGroup(C)` inputs a cat^1-group C of "low order" and returns an integer pair [n,k] that uniquely idenifies the quasi-isomorphism type of C. The integer n is the order of a smallest cat^1-group quasi-isomorphic to C. The integer k identifies a particular cat^1-group of order n.

The following commands use this function to show that there are precisely 49 distinct quasi-isomorphism types of cat^1-groups of order 16.

    gap> L:=[];;
    gap> for G in AllSmallGroups(16) do
    > Append(L,CatOneGroupsByGroup(G));
    > od;
    gap> M:=List(L,IdQuasiCatOneGroup);
    [ [ 16, 1 ], [ 16, 2 ], [ 16, 3 ], [ 16, 4 ], [ 16, 5 ], [ 4, 4 ], [ 1, 1 ],
      [ 16, 6 ], [ 16, 7 ], [ 16, 8 ], [ 16, 9 ], [ 16, 10 ], [ 16, 11 ],
      [ 16, 9 ], [ 16, 12 ], [ 16, 13 ], [ 16, 14 ], [ 16, 15 ], [ 4, 1 ],
      [ 4, 2 ], [ 16, 16 ], [ 16, 17 ], [ 16, 18 ], [ 16, 19 ], [ 16, 20 ],
      [ 16, 21 ], [ 16, 22 ], [ 16, 23 ], [ 16, 24 ], [ 16, 25 ], [ 16, 26 ],
      [ 16, 27 ], [ 16, 28 ], [ 4, 3 ], [ 4, 1 ], [ 4, 4 ], [ 4, 4 ], [ 4, 2 ],
      [ 4, 5 ], [ 16, 29 ], [ 16, 30 ], [ 16, 31 ], [ 16, 32 ], [ 16, 33 ],
      [ 16, 34 ], [ 4, 3 ], [ 4, 4 ], [ 4, 4 ], [ 16, 35 ], [ 16, 36 ], [ 4, 3 ],
      [ 16, 37 ], [ 16, 38 ], [ 16, 39 ], [ 16, 40 ], [ 16, 41 ], [ 16, 42 ],
      [ 16, 43 ], [ 4, 3 ], [ 4, 4 ], [ 1, 1 ], [ 4, 5 ] ]
    gap> Length(SSortedList(M));
    49

The next example first identifies the order and the identity number of the cat^1-group C corresponding to the crossed module (see 12.1)

\iota\colon G \longrightarrow Aut(G), g \mapsto (x\mapsto gxg^{-1})

for the dihedral group G of order 10. It then realizes a smallest possible cat^1-group D of this quasi-isomorphism type.

    gap> C:=AutomorphismGroupAsCatOneGroup(DihedralGroup(10));
    Cat-1-group with underlying group Group( [ f1, f2, f3, f4, f5 ] ) .

    gap> Order(C);
    200
    gap> IdCatOneGroup(C);
    [ 200, 42, 4 ]
    gap>
    gap> IdQuasiCatOneGroup(C);
    [ 2, 1 ]
    gap> D:=SmallCatOneGroup(2,1);
    Cat-1-group with underlying group Group( [ f1 ] ) .

#### 12.11 Identifying crossed modules of low order

The following commands construct the crossed module ∂ : G⊗ G → G involving the nonabelian tensor square of the dihedral group $G$ of order 10, identify it as being number 71 in the list of crossed modules of order 100, create a quasi-isomorphic crossed module of order 4, and finally construct the corresponding cat^1-group of order 100.

    gap> G:=DihedralGroup(10);;
    gap> T:=NonabelianTensorSquareAsCrossedModule(G);
    Crossed module with group homomorphism GroupHomomorphismByImages( Group(
    [ f3*f1*f3^-1*f1^-1, f3*f2*f3^-1*f2^-1 ] ), Group( [ f1, f2 ] ),
    [ f3*f1*f3^-1*f1^-1, f3*f2*f3^-1*f2^-1 ], [ <identity> of ..., f2^3 ] )

    gap> IdCrossedModule(T);
    [ 100, 71 ]
    gap> Q:=QuasiIsomorph(T);
    Crossed module with group homomorphism Pcgs([ f2 ]) -> [ <identity> of ... ]

    gap> Order(Q);
    4
    gap> C:=CatOneGroupByCrossedModule(T);
    Cat-1-group with underlying group Group( [ F1, F2, F1 ] ) .

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Bib Ind

generated by GAPDoc2HTML