About HAP: Homology of simplicial groups

This page illustrates functions written by Le Van Luyen for computing the integral homology of simplicial groups.
To obtain an interesting example of a simplicial group let us consider the dihedral group G of order 16, and the canonical homomorphism µ:G --> Aut(G) from G to its automorphism group which sends an element g to the inner automorphism x--> gxg-1 . The homomorphism µ is an example of a crossed module and, as such, is equivalent to a cat-1-group C. The following commands construct this cat-1-group and show that C has order 512, has fundamental group C2xC2 and second homotopy group C2.
gap>  C:=AutomorphismGroupAsCatOneGroup(DihedralGroup(16));
Cat-1-group with underlying group Group( [ f1, f2, f3, f4, f5, f6, f7, f8, f9
 ] ) .

gap> Size(C);

gap> Pi_1:=HomotopyGroup(C,1);;
gap> Pi_2:=HomotopyGroup(C,2);;
gap> StructureDescription(Pi_1);
"C2 x C2"
gap> StructureDescription(Pi_2);
A morphism C->Q of cat-1-groups is called a quasi-isomorphism if it induces isomorphisms of homotopy groups. Quasi-isomorphic cat-1-groups have the same homology and cohomology.

The following commands construct a quasi-isomorphic cat-1-group Q of order 32.
gap> Q:=QuasiIsomorph(C);
Cat-1-group with underlying group Group( [ f5, f9, f1, f2*f3, f8 ] ) .

gap> Size(Q);
Now a cat-1-group Q can be regarded as a category endowed with a "compatible" group operation (i.e. it is a category object in the category of groups). The classical nerve of the category Q will be a simplicial group. The following command constructs the nerve of Q (up to degree 6).
gap> N:=NerveOfCatOneGroup(Q,6);
Simplicial group of length 6
By taking the nerve of each group Nn in the simplicial group N we obtain a bisimplicial set. The diagonal of this bisimplicial set is a simplicial set which we denote by D. By taking the free abelian group FDn on each set in D we obtain a simplicial free abelian group FD. Let Chn(N) denote the standard chain complex of this simplicial abelian group FD.  (The chain groups Chn(N)n are just the free abelian groups FDn;  the boundary homomorphisms in Chn(N) are got by taking alternating sums of the homomorphisms in FD.)


The homology groups of the chain complex Chn(N) are isomorphic to the homology groups of a connected CW-space X  whose homotopy type is represented by  the simplicial group N.

The chain complex Chn(N) is typically enormous. The following command (due to Le Van Luyen) returns a vastly smaller chain complex K which is chain homotopic to Chn(N). (The  smaller chain complex is constructed using homological perturbation theory.)
gap> K:=ChainComplexOfSimplicialGroup(N);
Chain complex of length 6 in characteristic 0 .
The following commands now yield, by definition, the low-dimensional integral homology groups of our original crossed module µ .
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 ]
Other examples of cat-1-groups and their nerves can be obtained from the XMOD package for GAP. This package contains a library of all cat-1-groups with underlying group C of small order. For instance, the following commands construct the nerve of a cat-1-group  whose underlying groups C has order 8.
gap> LoadPackage("xmod");;
loading XMod 2.008 for GAP 4.4 - Murat Alp and Chris Wensley

gap> C:=Cat1Select(8,5,3);

gap> N:=NerveOfCatOneGroup(C,4);
Simplicial group of length 4
Other examples of simplicial groups are the Eilenberg-MacLane simplicial groups K(G,n) with (n-1)-st homotopy group equal to G and all other homotopy groups equal to 0. The group G must be abelian when n>0.

The following computes the first eleven terms of the chain complex CK of the Eilenberg-MacLane space K(Z,2) and shows that in dimension d the number of free generators of this complex is the d-th Fibonacci number.
gap> ZZ:=AbelianPcpGroup(1,[0]);;  #ZZ is the infinite cyclic group
gap> K:=EilenbergMacLaneSimplicialGroup(ZZ,2,10);;
gap> CK:=ChainComplexOfSimplicialGroup(K);;

gap> List([0..10],CK!.dimension);
[ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 ]
The following produces a chain complex D which is quasi-isomorphic to CK and which has just one generator in each odd dimension. (This corresponds to the standard CW-structure on complex projective space  involving just one cell in each even dimension.)
gap> D:=CoreducedChainComplex(CK);;
gap> List([0..9],D!.dimension);
[ 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ]
The following analogous commands produce a chain complex for K(Z/2Z,2) in which the number of free generators in degree d+2 is the d-th Fibonacci number.
gap> K:=EilenbergMacLaneSimplicialGroup(CyclicGroup(2),2,10);;
gap> CK:=ChainComplexOfSimplicialGroup(K);;
gap> List([0..10],CK!.dimension);
[ 1, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 ]
gap> D:=CoreducedChainComplex(CK);;
gap> List([0..9],D!.dimension);
[ 1, 0, 1, 1, 2, 3, 5, 8, 13, 21 ]
Many homotopy 2-types are direct products of Eilenberg-MacLane spaces. For instance, if a 2-type is represented by a cat-1-group whose underlying group is abelian, then the 2-type is a product of Eilenberg-MacLane spaces.

For a non-ableian example let us consider the automorphism cat-1-group C of the 5-th small group of order 36. By definition the fundamental group of C acts trivially on the second homotopy group. Moreover, the following commands show that the order of C is equal to the product of the orders of its homotopy groups. This implies that C is a direct product of a K(G,1) and a K(A,2).
gap> G:=SmallGroup(36,5);;
gap> C:=AutomorphismGroupAsCatOneGroup(G);;
gap> Order(HomotopyGroup(C,1))*;Order(HomotopyGroup(C,2)) = Size(C);
The following commands imply that C is quasi-isomorphic to the product of Eilenberg-MacLane spaces K(Z/2Z,2) x K(Z/2Z,2) x K(Z/9Z,2) x K(C6,1) x K(S3,1) .
gap> StructureDescription(HomotopyGroup(C,2));
"C18 x C2"
gap> StructureDescription(HomotopyGroup(C,1));
"C6 x S3"
The following commands compute the homology of the cat-1-group C in degree 4.
gap> C1:=TensorWithIntegers(ResolutionFiniteGroup(SymmetricGroup(3),5));;
gap> C2:=TensorWithIntegers(ResolutionFiniteGroup(CyclicGroup(6),5));;
gap> G3:=EilenbergMacLaneSimplicialGroup(CyclicGroup(9),2,5);;
gap> C3:=ChainComplexOfSimplicialGroup(G3);;
gap> G4:=EilenbergMacLaneSimplicialGroup(CyclicGroup(2),2,5);;
gap> C4:=ChainComplexOfSimplicialGroup(G3);;
gap> C5:=C4;;

gap> D1:=CoreducedChainComplex(C1);;
gap> D2:=CoreducedChainComplex(C2);;
gap> D3:=CoreducedChainComplex(C3);;
gap> D4:=CoreducedChainComplex(C4);;
gap> D5:=D4;;

gap> T:=TensorProductOfChainComplexes(D1,D2);;
gap> T:=TensorProductOfChainComplexes(D3,T);;
gap> T:=TensorProductOfChainComplexes(D4,T);;
gap> T:=TensorProductOfChainComplexes(D5,T);;

gap> Homology(T,4);
[ 3, 3, 3, 3, 9, 9, 9, 9, 18, 18 ]
Previous Page
Next page