Let \(Y\) denote a finite regular CW-complex. Let \(\widetilde Y\) denote its universal covering space. The covering space inherits a regular CW-structure which can be computed and stored using the datatype of a \(\pi_1Y\)-equivariant CW-complex. The cellular chain complex \(C_\ast\widetilde Y\) of \(\widetilde Y\) can be computed and stored as an equivariant chain complex. Given an admissible discrete vector field on \( Y,\) we can endow \(Y\) 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 \(C_\ast \widetilde Y\) involving one free generator for each critical cell in the vector field.
The following commands construct a \(6\)-dimensional regular CW-complex \(Y\simeq S^1 \times S^1\times S^1\) 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);; Regular CW-complex of dimension 6 gap> Size(Y); 110592
The CW-somplex \(Y\) has \(110592\) cells. The next commands construct a free \(\pi_1Y\)-equivariant chain complex \(C_\ast\widetilde Y\) homotopy equivalent to the chain complex of the universal cover of \(Y\). The chain complex \(C_\ast\widetilde Y\) has just \(8\) free generators.
gap> Y:=ContractedComplex(Y);; gap> CU:=ChainComplexOfUniversalCover(Y);; gap> List([0..Dimension(Y)],n->CU!.dimension(n)); [ 1, 3, 3, 1 ]
The next commands construct a subgroup \(H < \pi_1Y\) of index \(50\) and the chain complex \(C_\ast\widetilde Y\otimes_{\mathbb ZH}\mathbb Z\) which is homotopy equivalent to the cellular chain complex \(C_\ast\widetilde Y_H\) of the \(50\)-fold cover \(\widetilde Y_H\) of \(Y\) corresponding to \(H\).
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 . gap> List([0..3],D!.dimension); [ 50, 150, 150, 50 ]
General theory implies that the \(50\)-fold covering space \(\widetilde Y_H\) should again be homotopy equivalent to a product of three circles. In keeping with this, the following commands verify that \(\widetilde Y_H\) has the same integral homology as \(S^1\times S^1\times S^1\).
gap> Homology(D,0); [ 0 ] gap> Homology(D,1); [ 0, 0, 0 ] gap> Homology(D,2); [ 0, 0, 0 ] gap> Homology(D,3); [ 0 ]
We'll contruct two spaces \(Y,W\) with isomorphic fundamental groups and isomorphic intergal homology, and use the integral homology of finite covering spaces to establsh that the two spaces have distinct homotopy types.
By spinning a link \(K \subset \mathbb R^3\) about a plane \( P\subset \mathbb R^3\) with \(P\cap K=\emptyset\), we obtain a collection \(Sp(K)\subset \mathbb R^4\) of knotted tori. The following commands produce the two tori obtained by spinning the Hopf link \(K\) and show that the space \(Y=\mathbb R^4\setminus Sp(K) = Sp(\mathbb R^3\setminus K)\) is connected with fundamental group \(\pi_1Y = \mathbb Z\times \mathbb Z\) and homology groups \(H_0(Y)=\mathbb Z\), \(H_1(Y)=\mathbb Z^2\), \(H_2(Y)=\mathbb Z^4\), \(H_3(Y,\mathbb Z)=\mathbb Z^2\). The space \(Y\) is only constructed up to homotopy, and for this reason is \(3\)-dimensional.
gap> Hopf:=PureCubicalLink("Hopf"); Pure cubical link. gap> Y:=SpunAboutInitialHyperplane(PureComplexComplement(Hopf)); Regular CW-complex of dimension 3 gap> Homology(Y,0); [ 0 ] gap> Homology(Y,1); [ 0, 0 ] gap> Homology(Y,2); [ 0, 0, 0, 0 ] gap> Homology(Y,3); [ 0, 0 ] gap> Homology(Y,4); [ ] gap> GY:=FundamentalGroup(Y);; gap> GeneratorsOfGroup(GY); [ f2, f3 ] gap> RelatorsOfFpGroup(GY); [ f3^-1*f2^-1*f3*f2 ]
An alternative embedding of two tori \(L\subset \mathbb R^4 \) can be obtained by applying the 'tube map' of Shin Satoh to a welded Hopf link [Sat00]. The following commands construct the complement \(W=\mathbb R^4\setminus L\) of this alternative embedding and show that \(W \) has the same fundamental group and integral homology as \(Y\) above.
gap> L:=HopfSatohSurface(); Pure cubical complex of dimension 4. gap> W:=ContractedComplex(RegularCWComplex(PureComplexComplement(L))); Regular CW-complex of dimension 3 gap> Homology(W,0); [ 0 ] gap> Homology(W,1); [ 0, 0 ] gap> Homology(W,2); [ 0, 0, 0, 0 ] gap> Homology(W,3); [ 0, 0 ] gap> Homology(W,4); [ ] gap> GW:=FundamentalGroup(W);; gap> GeneratorsOfGroup(GW); [ f1, f2 ] gap> RelatorsOfFpGroup(GW); [ f1^-1*f2^-1*f1*f2 ]
Despite having the same fundamental group and integral homology groups, the above two spaces \(Y\) and \(W\) were shown by Kauffman and Martins [KFM08] to be not homotopy equivalent. Their technique involves the fundamental crossed module derived from the first three dimensions of the universal cover of a space, and counts the representations of this fundamental crossed module into a given finite crossed module. This homotopy inequivalence is recovered by the following commands which involves the \(5\)-fold covers of the spaces.
gap> CY:=ChainComplexOfUniversalCover(Y); Equivariant chain complex of dimension 3 gap> LY:=LowIndexSubgroups(CY!.group,5);; gap> invY:=List(LY,g->Homology(TensorWithIntegersOverSubgroup(CY,g),2));; gap> CW:=ChainComplexOfUniversalCover(W); Equivariant chain complex of dimension 3 gap> LW:=LowIndexSubgroups(CW!.group,5);; gap> invW:=List(LW,g->Homology(TensorWithIntegersOverSubgroup(CW,g),2));; gap> SSortedList(invY)=SSortedList(invW); false
The \(\pi_1Y\)-equivariant cellular chain complex \(C_\ast\widetilde Y\) of the universal cover \(\widetilde Y\) of a regular CW-complex \(Y\) can be used to compute the homology \(H_n(Y,A)\) and cohomology \(H^n(Y,A)\) of \(Y\) with local coefficients in a \(\mathbb Z\pi_1Y\)-module \(A\). To illustrate this we consister the space \(Y\) arising as the complement of the trefoil knot, with fundamental group \(\pi_1Y = \langle x,y : xyx=yxy \rangle\). We take \(A= \mathbb Z\) to be the integers with non-trivial \(\pi_1Y\)-action given by \(x.1=-1, y.1=-1\). We then compute
\(\begin{array}{lcl} H_0(Y,A) &= &\mathbb Z_2\, ,\\ H_1(Y,A) &= &\mathbb Z_3\, ,\\ H_2(Y,A) &= &\mathbb Z\, .\end{array}\)
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 gap> #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 ]
The granny knot is the sum of the trefoil knot and its mirror image. The reef knot is the sum of two identical copies of the trefoil knot. The following commands show that the degree \(1\) homology homomorphisms
\(H_1(p^{-1}(B),\mathbb Z) \rightarrow H_1(\widetilde X_H,\mathbb Z)\)
distinguish between the homeomorphism types of the complements \(X\subset \mathbb R^3\) of the granny knot and the reef knot, where \(B\subset X\) is the knot boundary, and where \(p\colon \widetilde X_H \rightarrow X\) is the covering map corresponding to the finite index subgroup \(H < \pi_1X\). More precisely, \(p^{-1}(B)\) is in general a union of path components
\(p^{-1}(B) = B_1 \cup B_2 \cup \cdots \cup B_t\) .
The function FirstHomologyCoveringCokernels(f,c)
inputs an integer \(c\) and the inclusion \(f\colon B\hookrightarrow X\) of a knot boundary \(B\) into the knot complement \(X\). The function returns the ordered list of the lists of abelian invariants of cokernels
\({\rm coker}(\ H_1(p^{-1}(B_i),\mathbb Z) \rightarrow H_1(\widetilde X_H,\mathbb Z)\ )\)
arising from subgroups \(H < \pi_1X\) of index \(c\). To distinguish between the granny and reef knots we use index \(c=6\).
gap> K:=PureCubicalKnot(3,1);; gap> L:=ReflectedCubicalKnot(K);; gap> granny:=KnotSum(K,L);; gap> reef:=KnotSum(K,K);; gap> fg:=KnotComplementWithBoundary(ArcPresentation(granny));; gap> fr:=KnotComplementWithBoundary(ArcPresentation(reef));; gap> a:=FirstHomologyCoveringCokernels(fg,6);; gap> b:=FirstHomologyCoveringCokernels(fr,6);; gap> a=b; false
If \(p:\widetilde Y \rightarrow Y\) is the universal covering map, then the fundamental group of \(\widetilde Y\) is trivial and the Hurewicz homomorphism \(\pi_2\widetilde Y\rightarrow H_2(\widetilde Y,\mathbb Z)\) from the second homotopy group of \(\widetilde Y\) to the second integral homology of \(\widetilde Y\) is an isomorphism. Furthermore, the map \(p\) induces an isomorphism \(\pi_2\widetilde Y \rightarrow \pi_2Y\). Thus \(H_2(\widetilde Y,\mathbb Z)\) is isomorphic to the second homotopy group \(\pi_2Y\).
If the fundamental group of \(Y\) happens to be finite, then in principle we can calculate \(H_2(\widetilde Y,\mathbb Z) \cong \pi_2Y\). We illustrate this computation for \(Y\) equal to the real projective plane. The above computation shows that \(Y\) has second homotopy group \(\pi_2Y \cong \mathbb Z\).
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); Regular CW-complex of dimension 2 gap> # Y is a regular CW-complex corresponding to the projective plane. gap> U:=UniversalCover(Y); Equivariant CW-complex of dimension 2 gap> G:=U!.group;; gap> # G is the fundamental group of Y, which by the next command gap> # is finite of order 2. gap> Order(G); 2 gap> U:=EquivariantCWComplexToRegularCWComplex(U,Group(One(G))); Regular CW-complex of dimension 2 gap> #U is the universal cover of Y gap> Homology(U,0); [ 0 ] gap> Homology(U,1); [ ] gap> Homology(U,2); [ 0 ]
For any path connected space \(Y\) with universal cover \(\widetilde Y\) there is an exact sequence
\(\rightarrow \pi_4\widetilde Y \rightarrow H_4(\widetilde Y,\mathbb Z) \rightarrow H_4( K(\pi_2\widetilde Y,2), \mathbb Z ) \rightarrow \pi_3\widetilde Y \rightarrow H_3(\widetilde Y,\mathbb Z) \rightarrow 0 \)
due to J.H.C.Whitehead. Here \(K(\pi_2(\widetilde Y),2)\) is an Eilenberg-MacLane space with second homotopy group equal to \(\pi_2\widetilde Y\).
Continuing with the above example where \(Y\) is the real projective plane, we see that \(H_4(\widetilde Y,\mathbb Z) = H_3(\widetilde Y,\mathbb Z) = 0\) since \(\widetilde Y\) is a \(2\)-dimensional CW-space. The exact sequence implies \(\pi_3\widetilde Y \cong H_4(K(\pi_2\widetilde Y,2), \mathbb Z )\). Furthermore, \(\pi_3\widetilde Y = \pi_3 Y\). The following commands establish that \(\pi_3Y \cong \mathbb Z\, \).
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 \(Y\) with \(9\) vertices and \(36\) \(4\)-dimensional simplices, and establish that
\(\pi_1Y=0 , \pi_2Y=\mathbb Z , H_3(Y,\mathbb Z)=0, H_4(Y,\mathbb Z)=\mathbb Z \).
gap> smp:=[ [ 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> K:=MaximalSimplicesToSimplicialComplex(smp); 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 ]
Previous commands have established \( H_4(K(\mathbb Z,2), \mathbb Z)=\mathbb Z\). So Whitehead's sequence reduces to an exact sequence
\(\mathbb Z \rightarrow \mathbb Z \rightarrow \pi_3Y \rightarrow 0\)
in which the first map is \( H_4(Y,\mathbb Z)=\mathbb Z \rightarrow H_4(K(\pi_2Y,2), \mathbb Z )=\mathbb Z \). Hence \(\pi_3Y\) is cyclic.
HAP is currently unable to compute the order of \(\pi_3Y\) directly from Whitehead's sequence. Instead, we can use the Hopf invariant. For any map \(\phi\colon S^3 \rightarrow S^2\) we consider the space \(C(\phi) = S^2 \cup_\phi e^4\) obtained by attaching a \(4\)-cell \(e^4\) to \(S^2\) via the attaching map \(\phi\). The cohomology groups \(H^2(C(\phi),\mathbb Z)=\mathbb Z\), \(H^4(C(\phi),\mathbb Z)=\mathbb Z\) are generated by elements \(\alpha, \beta\) say, and the cup product has the form
\(- \cup -\colon H^2(C(\phi),\mathbb Z)\times H^2(C(\phi),\mathbb Z) \rightarrow H^4(C(\phi),\mathbb Z), (\alpha,\alpha) \mapsto h_\phi \beta\)
for some integer \(h_\phi\). The integer \(h_\phi\) is the Hopf invariant. The function \(h\colon \pi_3(S^3)\rightarrow \mathbb Z\) is a homomorphism and there is an isomorphism
\(\pi_3(S^2\cup e^4) \cong \mathbb Z/\langle h_\phi\rangle\).
The following commands begin by simplifying the cell structure on the above CW-complex \(Y\cong K\) to obtain a homeomorphic CW-complex \(W\) with fewer cells. They then create a space \(S\) by removing one \(4\)-cell from \(W\). The space \(S\) is seen to be homotopy equivalent to a CW-complex \(e^2\cup e^0\) with a single \(0\)-cell and single \(2\)-cell. Hence \(S\simeq S^2\) is homotopy equivalent to the \(2\)-sphere. Consequently \(Y \simeq C(\phi ) = S^2\cup_\phi e^4 \) for some map \(\phi\colon S^3 \rightarrow S^2\).
gap> W:=SimplifiedComplex(Y); Regular CW-complex of dimension 4 gap> S:=RegularCWComplexWithRemovedCell(W,4,6); Regular CW-complex of dimension 4 gap> CriticalCells(S); [ [ 2, 6 ], [ 0, 5 ] ]
The next commands show that the map \(\phi\) in the construction \(Y \simeq C(\phi) \) has Hopf invariant -1. Hence \(h\colon \pi_3(S^3)\rightarrow \mathbb Z\) is an isomorphism. Therefore \(\pi_3Y=0\).
gap> IntersectionForm(K); [ [ -1 ] ]
[The simplicial complex \(K\) in this second example is due to W. Kuehnel and T. F. Banchoff and is homeomorphic to the complex projective plane. ]
The following commands compute the second integral homology
\(H_2(\pi_1W,\mathbb Z) = \mathbb Z\)
of the fundamental group \(\pi_1W\) of the complement \(W\) of the Hopf-Satoh surface.
gap> L:=HopfSatohSurface(); Pure cubical complex of dimension 4. gap> W:=ContractedComplex(RegularCWComplex(PureComplexComplement(L))); Regular CW-complex of dimension 3 gap> GW:=FundamentalGroup(W);; gap> IsAspherical(GW); Presentation is aspherical. true gap> R:=ResolutionAsphericalPresentation(GW);; gap> Homology(TensorWithIntegers(R),2); [ 0 ]
From Hopf's exact sequence
\( \pi_2W \stackrel{h}{\longrightarrow} H_2(W,\mathbb Z) \twoheadrightarrow H_2(\pi_1W,\mathbb Z) \rightarrow 0\)
and the computation \(H_2(W,\mathbb Z)=\mathbb Z^4\) we see that the image of the Hurewicz homomorphism is \({\sf im}(h)= \mathbb Z^3\) . The image of \(h\) is referred to as the subgroup of spherical homology classes and often denoted by \(\Sigma^2W\).
The following command computes the presentation of \(\pi_1W\) corresponding to the \(2\)-skeleton \(W^2\) and establishes that \(W^2 = S^2\vee S^2 \vee S^2 \vee (S^1\times S^1)\) is a wedge of three spheres and a torus.
gap> F:=FundamentalGroupOfRegularCWComplex(W,"no simplification"); < fp group on the generators [ f1, f2 ]> gap> RelatorsOfFpGroup(F); [ < identity ...>, f1^-1*f2^-1*f1*f2, < identity ...>, <identity ...> ]
The next command shows that the \(3\)-dimensional space \(W\) has two \(3\)-cells each of which is attached to the base-point of \(W\) with trivial boundary (up to homotopy in \(W^2\)). Hence \(W = S^3\vee S^3\vee S^2 \vee S^2 \vee S^2 \vee (S^1\times S^1)\).
gap> CriticalCells(W); [ [ 3, 1 ], [ 3, 3148 ], [ 2, 6746 ], [ 2, 20510 ], [ 2, 33060 ], [ 2, 50919 ], [ 1, 29368 ], [ 1, 50822 ], [ 0, 21131 ] ] gap> CriticalBoundaryCells(W,3,1); [ ] gap> CriticalBoundaryCells(W,3,3148); [ -50919, 50919 ]
Therefore \(\pi_1W\) is the free abelian group on two generators, and \(\pi_2W\) is the free \(\mathbb Z\pi_1W\)-module on three free generators.
generated by GAPDoc2HTML