Although there are some small examples embedded in chapter 4, we will give some complete examples in this chapter. Most of these could easily be called with the example script mentioned in chapter 2, but we will do them step by step for best reproducability.
Suppose we want to calculate the cohomology of the Klein Bottle. First, we need a triangulation. It could look like this:
1--2--3--1 |\ |\ |\ | | \| \| \| 4--5--6--4 |\ |\ |\ | | \| \| \| 7--8--9--7 |\ |\ |\ | | \| \| \| 1--3--2--1
This results in the following list of maximum simplices:
gap> M := [ [1,2,4], [1,2,7], [1,3,6], [1,3,8], [1,4,6], [1,7,8], > [2,3,5], [2,3,9], [2,4,5], [2,7,9], [3,5,6], [3,8,9], > [4,5,7], [4,6,9], [4,7,9], [5,6,8], [5,7,8], [6,8,9] ];;
As there is no isotropy and therefore no \(\mu\)-map, we can continue with the orbifold triangulation and simplicial set:
gap> ot := OrbifoldTriangulation( M, "Klein Bottle" ); <OrbifoldTriangulation "Klein Bottle" of dimension 2. 18 simplices on 9 vertic\ es without Isotropy> gap> ss := SimplicialSet( ot ); <The simplicial set of the orbifold triangulation "Klein Bottle", computed up \ to dimension 0 with Length vector [ 18 ]>
Now we will need a homalg ring. As this is a small example we can compute directly over ℤ, so we can use GAP. In case you have RingsForHomalg installed you might want to try computing in another computer algebra system with the command HomalgRingOfIntegersInCAS()
, replacing "CAS" with the corresponding system.
gap> R := HomalgRingOfIntegers(); Z
We are almost there. Let us create some coboundary matrices and compute their cohomology:
gap> c := CreateCoboundaryMatrices( ss, 4, R );; gap> C := Cohomology( c, R ); ----------------------------------------------->>>> Z^(1 x 1) ----------------------------------------------->>>> Z^(1 x 1) ----------------------------------------------->>>> Z/< 2 > ----------------------------------------------->>>> 0 ----------------------------------------------->>>> 0 <A graded cohomology object consisting of 5 left modules at degrees [ 0 .. 4 ]>
This is the cohomology of the Klein Bottle.
SCO can also be used to compute group cohomology, as every group can be represented as an orbifold with just a single point. For \(V_4\), it would look like this:
gap> M := [ [1] ];; gap> V4 := Group( (1,2), (3,4) );; gap> iso := rec( 1 := V4 );; gap> ot := OrbifoldTriangulation( M, iso, "V4" ); <OrbifoldTriangulation "V4" of dimension 0. 1 simplex on 1 vertex with Isotrop\ y on 1 vertex> gap> ss := SimplicialSet( ot ); <The simplicial set of the orbifold triangulation "V4", computed up to dimensi\ on 0 with Length vector [ 1 ]> gap> R := HomalgRingOfIntegers(); Z gap> c := CreateCoboundaryMatrices( ss, 4, R );; gap> C := Cohomology( c, R ); ----------------------------------------------->>>> Z^(1 x 1) ----------------------------------------------->>>> 0 ----------------------------------------------->>>> Z/< 2 > + Z/< 2 > ----------------------------------------------->>>> Z/< 2 > ----------------------------------------------->>>> Z/< 2 > + Z/< 2 > + Z/< 2\ > <A graded cohomology object consisting of 5 left modules at degrees [ 0 .. 4 ]>
This is the \(V_4\) group cohomology up to degree 4.
You have seen a manifold in example 1, and group cohomology in example 2. Now we will meet our first proper orbifold, the Teardrop. This is the example Moerdijk and Pronk used in their paper [MP99] on which my work is based. It is an easy example, but includes both nontrivial isotropy and \(\mu\)-maps. We take the isotropy at the top to be \(C_2\). The triangulation looks like this, with the gluing being at [1,3].
3=====1=====3 / \ / \ / \ / \ / \ / \ 5-----2-----4-----5 \ / \ / 5
The source code:
gap> M := [ [1,2,3], [1,2,4], [1,3,4], [2,3,5], [2,4,5], [3,4,5] ];; gap> iso := rec( 1 := Group( (1,2) ) );; gap> mu := [ > [ [3], [1,3], [1,2,3], [1,3,4], x -> (1,2) ], > [ [3], [1,3], [1,3,4], [1,2,3], x -> (1,2) ] > ];; gap> ot := OrbifoldTriangulation( M, iso, mu, "Teardrop" ); <OrbifoldTriangulation "Teardrop" of dimension 2. 6 simplices on 5 vertices wi\ th Isotropy on 1 vertex and nontrivial mu-maps> gap> ss := SimplicialSet( ot ); <The simplicial set of the orbifold triangulation "Teardrop", computed up to d\ imension 0 with Length vector [ 6 ]> gap> R := HomalgRingOfIntegers(); Z gap> c := CreateCoboundaryMatrices( ss, 6, R );; gap> C := Cohomology( c, R ); ----------------------------------------------->>>> Z^(1 x 1) ----------------------------------------------->>>> 0 ----------------------------------------------->>>> Z^(1 x 1) ----------------------------------------------->>>> 0 ----------------------------------------------->>>> Z/< 2 > ----------------------------------------------->>>> 0 ----------------------------------------------->>>> Z/< 2 > <A graded cohomology object consisting of 7 left modules at degrees [ 0 .. 6 ]>
This is the Teardrop cohomology.
generated by GAPDoc2HTML