# The fibration of the Klein Bottle over the sphere with fibers the sphere

In this example we give a simplicial realization of the fibration S1 →Klein Bottle →S1. To give a simplicial realization of of this fibration we first make a simplical complex which gives a triangulation of the Klein Bottle. The triangulation of the Klein Bottle that we use has 18 facets and is, up to relabling, the triangulation of the Klein bottle given in Figure 6.14 of Armstrong’s book Basic Topology.

 `i1 : S = ZZ[a00,a10,a20,a01,a11,a21,a02,a12,a22];` ```i2 : Delta = simplicialComplex {a00*a10*a02, a02*a12*a10, a01*a02*a12, a01*a12*a11, a00*a01*a11, a00*a11*a10, a10*a12*a20, a12*a20*a22, a11*a12*a22, a11*a22*a21, a10*a11*a21, a10*a21*a20, a20*a22*a00, a22*a00*a01, a21*a22*a01, a21*a02*a01, a20*a21*a02, a20*a02*a00} o2 = | a11a12a22 a20a12a22 a11a21a22 a01a21a22 a00a01a22 a00a20a22 a01a02a12 a10a02a12 a01a11a12 a10a20a12 a01a21a02 a20a21a02 a00a20a02 a00a10a02 a10a11a21 a10a20a21 a00a01a11 a00a10a11 | o2 : SimplicialComplex```

We can check that the homology of this simplicial complex agrees with that of the Klein Bottle:

 ```i3 : C = truncate(chainComplex Delta,1) 9 27 18 o3 = image 0 <-- ZZ <-- ZZ <-- ZZ -1 0 1 2 o3 : ChainComplex``` ```i4 : prune HH C o4 = -1 : 0 1 0 : ZZ 1 : cokernel | 2 | | 0 | 2 : 0 o4 : GradedModule```

Let S be the simplicial complex with facets {A0 A1, A0 A2, A1 A2}. Then S is a triangulation of S1. The simplicial map π: Δ→S given by π(ai,j) = Ai is a combinatorial relization of the fibration S1 →Klein Bottle →S1. The subsimplicial complexes of Δ, which arise from the the inverse images of the simplicies of S, are described below.

 ```i5 : F1Delta = Delta o5 = | a11a12a22 a20a12a22 a11a21a22 a01a21a22 a00a01a22 a00a20a22 a01a02a12 a10a02a12 a01a11a12 a10a20a12 a01a21a02 a20a21a02 a00a20a02 a00a10a02 a10a11a21 a10a20a21 a00a01a11 a00a10a11 | o5 : SimplicialComplex``` ```i6 : F0Delta = simplicialComplex {a00*a01,a01*a02,a00*a02,a10*a11,a10*a12,a11*a12,a21*a20,a20*a22,a21*a22} o6 = | a21a22 a20a22 a11a12 a10a12 a01a02 a00a02 a20a21 a10a11 a00a01 | o6 : SimplicialComplex```

The resulting filtered chain complex is:

 ```i7 : K = filteredComplex({F1Delta, F0Delta}, ReducedHomology => false) o7 = -1 : image 0 <-- image 0 <-- image 0 <-- image 0 -1 0 1 2 0 : image 0 <-- image | 1 0 0 0 0 0 0 0 0 | <-- image | 0 0 0 0 0 0 0 0 0 | <-- image 0 | 0 1 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 | -1 | 0 0 1 0 0 0 0 0 0 | | 1 0 0 0 0 0 0 0 0 | 2 | 0 0 0 1 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 1 0 0 0 0 | | 0 1 0 0 0 0 0 0 0 | | 0 0 0 0 0 1 0 0 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 1 0 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 1 0 | | 0 0 1 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 1 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 | 0 | 0 0 0 1 0 0 0 0 0 | | 0 0 0 0 1 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 1 0 0 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 1 0 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 1 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 1 | | 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 | 1 9 27 18 1 : image 0 <-- ZZ <-- ZZ <-- ZZ -1 0 1 2 o7 : FilteredComplex```

The resulting spectral sequence is:

 ```i8 : E = prune spectralSequence K o8 = E o8 : SpectralSequence``` ```i9 : E^0 +------+------+ | 9 | 18 | o9 = |ZZ |ZZ | | | | |{0, 1}|{1, 1}| +------+------+ | 9 | 18 | |ZZ |ZZ | | | | |{0, 0}|{1, 0}| +------+------+ o9 : SpectralSequencePage``` ```i10 : E^0 .dd o10 = {-1, 0} : 0 <----- 0 : {-1, 1} 0 {-1, 1} : 0 <----- 0 : {-1, 2} 0 {-1, 2} : 0 <----- 0 : {-1, 3} 0 {1, -3} : 0 <----- 0 : {1, -2} 0 {1, -2} : 0 <----- 0 : {1, -1} 0 18 {1, -1} : 0 <----- ZZ : {1, 0} 0 18 18 {1, 0} : ZZ <------------------------------------------------------------- ZZ : {1, 1} | -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 | | 0 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 | | 0 0 -1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 -1 0 0 0 -1 0 0 0 0 0 0 | | 0 0 0 0 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 | | 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 | | 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 1 0 0 0 | | 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 -1 0 | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 | | 0 0 0 0 0 0 0 0 0 0 -1 0 0 -1 0 0 0 0 | | 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 -1 0 0 | | 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 -1 | {0, -2} : 0 <----- 0 : {0, -1} 0 9 {0, -1} : 0 <----- ZZ : {0, 0} 0 9 9 {0, 0} : ZZ <---------------------------------- ZZ : {0, 1} | 1 1 0 0 0 0 0 0 0 | | 0 0 1 1 0 0 0 0 0 | | 0 0 0 0 1 1 0 0 0 | | -1 0 0 0 0 0 1 0 0 | | 0 0 -1 0 0 0 0 1 0 | | 0 0 0 0 -1 0 0 0 1 | | 0 -1 0 0 0 0 -1 0 0 | | 0 0 0 -1 0 0 0 -1 0 | | 0 0 0 0 0 -1 0 0 -1 | 9 {0, 1} : ZZ <----- 0 : {0, 2} 0 {-1, -1} : 0 <----- 0 : {-1, 0} 0 o10 : SpectralSequencePageMap``` ```i11 : E^1 +------+------+ | 3 | 3 | o11 = |ZZ |ZZ | | | | |{0, 1}|{1, 1}| +------+------+ | 3 | 3 | |ZZ |ZZ | | | | |{0, 0}|{1, 0}| +------+------+ o11 : SpectralSequencePage``` ```i12 : E^1 .dd o12 = {-2, 1} : 0 <----- 0 : {-1, 1} 0 {-2, 2} : 0 <----- 0 : {-1, 2} 0 {-2, 3} : 0 <----- 0 : {-1, 3} 0 {0, -2} : 0 <----- 0 : {1, -2} 0 {0, -1} : 0 <----- 0 : {1, -1} 0 3 3 {0, 0} : ZZ <---------------- ZZ : {1, 0} | -1 1 0 | | 0 -1 1 | | 1 0 -1 | 3 3 {0, 1} : ZZ <--------------- ZZ : {1, 1} | 1 1 0 | | 0 -1 1 | | 1 0 -1 | {-1, -1} : 0 <----- 0 : {0, -1} 0 3 {-1, 0} : 0 <----- ZZ : {0, 0} 0 3 {-1, 1} : 0 <----- ZZ : {0, 1} 0 {-1, 2} : 0 <----- 0 : {0, 2} 0 {-2, 0} : 0 <----- 0 : {-1, 0} 0 o12 : SpectralSequencePageMap``` ```i13 : E^2 +--------------+------+ o13 = |cokernel | 2 ||0 | | | | |{0, 1} |{1, 1}| +--------------+------+ | 1 | 1 | |ZZ |ZZ | | | | |{0, 0} |{1, 0}| +--------------+------+ o13 : SpectralSequencePage```

Note that the spectral sequence is abutting to what it should --- the integral homology of the Klein bottle