Previous
About HAP: Enumerating homotopy 2-types
next

A 2-type is a CW-space X whose homotopy groups are trivial in dimensions n=0 and n>2. As explained in a previous page the homotopy type of such a space can be captured algebraically by a cat1-group G.

Let us consider two 2-types X, Y represented by cat1-groups G, H. If X and Y are homotopy equivalent then there exists a sequence of morphisms of cat1-groups

G --> K1 <-- K2 --> K3 <-- ... --> Kn <-- H

each morphism inducing an isomorphism on homotopy  groups.  When such a sequence of morphisms 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 cat1-groups G and H are quasi-isomorphic.

We mention that crossed modules are a well-known alternative algebraic formulation of cat1-groups. There is a categorical equivalence between these two algebraic notions. We have opted to work through the language of cat1-groups.
All small cat1-groups G have been listed up to isomorphism in the GAP package XMod. For example, the following commands produce a list L of all of the 62 non-isomorphic cat1-groups whose underlying group has order 16.
gap> LoadPackage("xmod");
gap> L:=[];;
gap> for n in [1..NrSmallGroups(16)] do
> k:=Cat1Select(16,n);;
> for m in [1..k] do
> G:=Cat1Select(16,n,m);;
> Add(L,XmodToHAP(G));
> od;od;

gap> Length(L);
62
The following 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);
37
The following 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> Invariants:=function(G)
> local inv;
> inv:=[];
> inv[1]:=IdGroup(HomotopyGroup(G,1));
> inv[2]:=IdGroup(HomotopyGroup(G,2));
> inv[3]:=Homology(G,2);
> inv[4]:=Homology(G,3);
> return inv;
> end;;

gap> C:=Classify(L,Invariants);;
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
Identification of homotopy 2-types of low order

Let us define the "order" of a cat-1-group to be the order of its underlying group. Le Van Luyen  has incorporated the above techniques into a function IdCatOneGroup(C) which 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 in fact precisely 49 distinct quasi-isomorphism types of cat-1-groups of order 16.
gap> M:=List(L,IdCatOneGroup);
[ [ 16, 1 ], [ 16, 2 ], [ 16, 3 ], [ 16, 4 ], [ 1, 1 ], [ 4, 4 ], [ 16, 6 ], [ 16, 7 ], [ 16, 8 ], [ 16, 5 ], [ 16, 9 ], [ 16, 10 ], [ 16, 5 ],
  [ 16, 11 ], [ 16, 12 ], [ 16, 13 ], [ 4, 1 ], [ 16, 14 ], [ 4, 2 ], [ 16, 15 ], [ 16, 16 ], [ 16, 17 ], [ 16, 18 ], [ 16, 19 ], [ 16, 20 ],
  [ 16, 21 ], [ 16, 22 ], [ 16, 23 ], [ 16, 24 ], [ 4, 1 ], [ 4, 3 ], [ 16, 25 ], [ 4, 4 ], [ 16, 26 ], [ 4, 4 ], [ 16, 27 ], [ 4, 2 ], [ 4, 5 ],
  [ 16, 28 ], [ 16, 29 ], [ 16, 30 ], [ 16, 31 ], [ 4, 4 ], [ 16, 32 ], [ 4, 4 ], [ 16, 33 ], [ 4, 5 ], [ 16, 34 ], [ 16, 35 ], [ 4, 5 ],
  [ 16, 36 ], [ 16, 37 ], [ 16, 38 ], [ 16, 39 ], [ 16, 40 ], [ 4, 3 ], [ 16, 41 ], [ 4, 4 ], [ 1, 1 ], [ 16, 42 ], [ 4, 5 ], [ 16, 43 ] ]
gap> Length(SSortedList(M));
49
The following command identify the order and then quasi-isomorphism type of the cat-1-group C associated to the crossed module

G ---> Aut(G)
 
for G equal to the dihedral group of order 10. They then realize a smallest possible cat-1-group D of this quasi-isomorphism type. (The realization of the quasi-isomorphism type depends on the XMod package.)
C:=AutomorphismGroupAsCatOneGroup(DihedralGroup(10));
Cat-1-group with underlying group Group( [ f1, f2, f3, f4, f5 ] ) .

gap> Order(C);
200
gap> IdCatOneGroup(C);
[ 2, 2 ]

gap> D:=SmallCatOneGroup(2,2);
Cat-1-group with underlying group C2 .
Previous Page
Contents
Next page