Let denote a finite regular CW-complex. Let denote its universal covering space. The covering space inherits a regular CW-structure which can be computed and stored using the data type of a -equivariant CW-complex. The cellular chain complex of can be computed and stored as an equivariant chain complex. Given an admissible discrete vector field on , we can endow with a smaller non-regular CW-structre whose cells correspond to the critical cells in the vector field. This smaller CW-structure leads to a more efficient chain complex involving one free generator for each critical cell in the vector field.
The following commands construct a -dimensional regular CW-complex homotopy equivalent to a product of three circles.
gap> A:=[[1,1,1],[1,0,1],[1,1,1]];;
gap> S:=PureCubicalComplex(A);;
gap> T:=DirectProduct(S,S,S);;
gap> Y:=RegularCWComplex(T);;
gap> Size(Y);
110592
The CW-somplex has cells. The next commands construct a free -equivariant chain complex homotopy equivalent to the chain complex of the universal cover of . The chain complex has just free generators.
gap> Y:=ContractedComplex(Y);
gap> CU:=ChainComplexOfUniversalCover(Y,"vector field");;
gap> List([0..Dimension(Y)],n->CU!.dimension(n));
[ 1, 3, 3, 1 ]
The next commands construct a subgroup of index and the chain complex which is homotopy equivalent to the cellular chain complex of the -fold cover of corresponding to .
gap> L:=LowIndexSubgroupsFpGroup(CU!.group,50);;
gap> H:=L[Length(L)-1];;
gap> Index(CU!.group,H);
50
gap> D:=TensorWithIntegersOverSubgroup(CU,H);
Chain complex of length 3 in characteristic 0 .
General theory implies that the -fold covering space should again be homotopy equivalent to a product of three circles. As a check for this, the following commands establish that has the same integral homology as
gap> Homology(D,0);
[ 0 ]
gap> Homology(D,1);
[ 0, 0, 0 ]
gap> Homology(D,2);
[ 0, 0, 0 ]
gap> Homology(D,3);
[ 0 ]
The -equivariant cellular chain complex of the universal cover of a regular CW-complex can be used to compute the homology and cohomology of with local coefficients in a -module . To illustrate this we consister the space arising as the complement of the trefoil knot, with fundamental group . We take to be the integers with non-trivial -action given by . We then compute
gap> K:=PureCubicalKnot(3,1);;
gap> Y:=PureComplexComplement(K);;
gap> Y:=ContractedComplex(Y);;
gap> Y:=RegularCWComplex(Y);;
gap> Y:=SimplifiedComplex(Y);;
gap> C:=ChainComplexOfUniversalCover(Y);;
gap> G:=C!.group;;
gap> GeneratorsOfGroup(G);
[ f1, f2 ]
gap> RelatorsOfFpGroup(G);
[ f2^-1*f1^-1*f2^-1*f1*f2*f1, f1^-1*f2^-1*f1^-1*f2*f1*f2 ]
gap> hom:=GroupHomomorphismByImages(G,Group([[-1]]),[G.1,G.2],[[[-1]],[[-1]]]);;
gap> A:=function(x); return Determinant(Image(hom,x)); end;;
gap> D:=TensorWithTwistedIntegers(C,A); #Here the function A represents the integers with twisted action of G.
Chain complex of length 3 in characteristic 0 .
gap> Homology(D,0);
[ 2 ]
gap> Homology(D,1);
[ 3 ]
gap> Homology(D,2);
[ 0 ]
We next construct a 4-dimensional CW-complex
gap> G:=U!.group;;
gap> L:=LowIndexSubgroupsFpGroup(G,50);;
gap> H:=L[Length(L)-3];;Index(G,H);
50
gap> W:=EquivariantCWComplexToRegularCWComplex(U,H);
Regular CW-complex of dimension 4
gap> Size(W);
115200
gap> F:=FundamentalGroup(W);
<fp group of size infinity on the generators [ f1, f2 ]>
gap> RelatorsOfFpGroup(F);
[ f2^-1*f1*f2*f1^-1 ]
It may be that we are interested in the covering map
and for
gap> A:=[[1,1,1],[1,0,1],[1,1,1]];;
gap> S:=PureCubicalComplex(A);;
gap> T:=DirectProduct(S,S);;
gap> Y:=RegularCWComplex(T);;
gap> U:=UniversalCover(Y);
Equivariant CW-complex of dimension 4
gap> G:=U!.group;;
gap> L:=LowIndexSubgroupsFpGroup(G,9);;
gap> H:=L[58];;
gap> AbelianInvariants(G/H);
[ 3, 3 ]
gap> p:=EquivariantCWComplexToRegularCWMap(U,H);
Map of regular CW-complexes
gap> Source(p);
Regular CW-complex of dimension 4
gap> Size(Source(p));
20736
gap> Target(p);
Regular CW-complex of dimension 4
gap> Size(Target(p));
2304
The covering map
gap> P:=ChainMap(p);
Chain Map between complexes of length 4 .
gap> h0:=Homology(P,0);;
gap> AbelianInvariants(Target(h0)/Image(h0));
[ ]
gap> h1:=Homology(P,1);;
gap> AbelianInvariants(Target(h1)/Image(h1));
[ 3, 3 ]
gap> h2:=Homology(P,2);;
gap> AbelianInvariants(Target(h2)/Image(h2));
[ 9 ]
If
If the fundamental group of
gap> K:=[ [1,2,3], [1,3,4], [1,2,6], [1,5,6], [1,4,5], [2,3,5], [2,4,5], [2,4,6], [3,4,6], [3,5,6]];;
gap> K:=MaximalSimplicesToSimplicialComplex(K);
Simplicial complex of dimension 2.
gap> Y:=RegularCWComplex(K); # Y is a regular CW-complex corresponding to the projective plane.
Regular CW-complex of dimension 2
gap> U:=UniversalCover(Y);
Equivariant CW-complex of dimension 2
gap> G:=U!.group;; #G is the fundamental group of Y, which by the next command is finite of order 2.
gap> Order(G);
2
gap> U:=EquivariantCWComplexToRegularCWComplex(U,Group(One(G))); #U is the universal cover of Y
Regular CW-complex of dimension 2
gap> Homology(U,0);
[ 0 ]
gap> Homology(U,1);
[ ]
gap> Homology(U,2);
[ 0 ]
The above computation shows that the space
For any simply connected space
due to J.H.C.Whitehead. Here
Continuing with the above example where
gap> A:=AbelianPcpGroup([0]);
Pcp-group with orders [ 0 ]
gap> K:=EilenbergMacLaneSimplicialGroup(A,2,5);;
gap> C:=ChainComplexOfSimplicialGroup(K);
Chain complex of length 5 in characteristic 0 .
gap> Homology(C,4);
[ 0 ]
The following commands construct a 4-dimensional simplicial complex
gap> Y:=[ [ 1, 2, 4, 5, 6 ], [ 1, 2, 4, 5, 9 ], [ 1, 2, 5, 6, 8 ], [ 1, 2, 6, 4, 7 ], [ 2, 3, 4, 5, 8 ], [ 2, 3, 5, 6, 4 ], [ 2, 3, 5, 6, 7 ], [ 2, 3, 6, 4, 9 ], [ 3, 1, 4, 5, 7 ],
[ 3, 1, 5, 6, 9 ], [ 3, 1, 6, 4, 5 ], [ 3, 1, 6, 4, 8 ], [ 4, 5, 7, 8, 3 ], [ 4, 5, 7, 8, 9 ], [ 4, 5, 8, 9, 2 ], [ 4, 5, 9, 7, 1 ], [ 5, 6, 7, 8, 2 ], [ 5, 6, 8, 9, 1 ],
[ 5, 6, 8, 9, 7 ], [ 5, 6, 9, 7, 3 ], [ 6, 4, 7, 8, 1 ], [ 6, 4, 8, 9, 3 ], [ 6, 4, 9, 7, 2 ], [ 6, 4, 9, 7, 8 ], [ 7, 8, 1, 2, 3 ], [ 7, 8, 1, 2, 6 ], [ 7, 8, 2, 3, 5 ],
[ 7, 8, 3, 1, 4 ], [ 8, 9, 1, 2, 5 ], [ 8, 9, 2, 3, 1 ], [ 8, 9, 2, 3, 4 ], [ 8, 9, 3, 1, 6 ], [ 9, 7, 1, 2, 4 ], [ 9, 7, 2, 3, 6 ], [ 9, 7, 3, 1, 2 ], [ 9, 7, 3, 1, 5 ] ];;
gap> Y:=MaximalSimplicesToSimplicialComplex(Y);
Simplicial complex of dimension 4.
gap> Y:=RegularCWComplex(Y);
Regular CW-complex of dimension 4
gap> Order(FundamentalGroup(Y));
1
gap> Homology(Y,2);
[ 0 ]
gap> Homology(Y,3);
[ ]
gap> Homology(Y,4);
[ 0 ]
Whitehead's sequence reduces to an exact sequence
in which the first map is
[The simplicial complex in this second example is due to W. Kiihnel and
T. F. Banchoff and is of the homotopy type of the complex projective plane.
So, assuming this extra knowledge, we have