# CoHomology

If you have not already done so I suggest you read the page about Simplicial Complexes first and also general introduction here.

### Calculated Examples

Here are FriCAS examples for common topologies. As we can see the cohomology here is basically the same as the homology that we saw on the page here. The order is reversed but that is only because we reversed the order in the representation. The only substantial difference is that the torsion coefficients are shifted along by one.

### Disc (filled in circle) an 2-sphere examples

gives H0=Z, H1= 0, H2 = 0

 Gives H0=Z, H1= 0, H2 = 0 which we represent as: [0,0,Z] On page here we saw that the homology is: [Z,0,0]. The order is reversed but that is only because we reversed the order in the representation. ```(1) -> DCF := DeltaComplexFactory(Integer) (1) DeltaComplexFactory(Integer) Type: Type (2) -> SCF := SimplicialComplexFactory(Integer) (2) SimplicialComplexFactory(Integer) Type: Type (3) -> S := sphereSolid(2)\$SCF (3) points 1..3 (1,2,3) Type: FiniteSimplicialComplex(Integer) (4) -> coHomology(S) (4) [0,0,Z] Type: List(Homology)```

### Sphere and Disc Surface (Boundary) Example

gives H0=Z, H1= Z, Hn = 0 {n>1}

 On page here we saw that the homology is: [Z,Z] ```(5) -> cD := circle()\$DCF (5) 1D:[[1,- 1]] 0D:[[0]] Type: DeltaComplex(Integer) (6) -> cS := sphereSurface(2)\$SCF (6) points 1..3 (1,2) -(1,3) (2,3) Type: FiniteSimplicialComplex(Integer) (7) -> coHomology(cD) (7) [Z,Z] Type: List(Homology) (8) -> coHomology(cS) (8) [Z,Z] Type: List(Homology)```

### Dunce Hat Example

 On page here we saw that the homology is: [Z,0,0] ```(9) -> dhD := dunceHat()\$DCF (9) 2D:[[1,1,- 1]] 1D:[[1,- 1]] 0D:[[0]] Type: DeltaComplex(Integer) (10) -> dhS := dunceHat()\$SCF (10) points 1..8 (1,2,8) (2,3,8) (3,7,8) (1,3,7) (1,2,7) (1,6,8) (1,2,6) (6,7,8) (2,4,6) (5,6,7) (2,5,7) (4,5,6) (2,3,4) (2,3,5) (1,3,4) (1,4,5) (1,3,5) Type: FiniteSimplicialComplex(Integer) (11) -> coHomology(dhD) (11) [0,0,Z] Type: List(Homology) (12) -> coHomology(dhS) (12) [0,0,Z] Type: List(Homology)```

### Torus example

 On page here we saw that the homology is: [Z,Z*2,Z] ```(13) -> tD := torusSurface()\$DCF (13) 2D:[[1,2,- 1,- 2]] 1D:[[1,- 1],[1,- 1]] 0D:[[0]] Type: DeltaComplex(Integer) (14) -> tS := torusSurface()\$SCF (14) points 1..7 (1,2,3) (2,3,5) (2,4,5) (2,4,7) (1,2,6) (2,6,7) (3,4,6) (3,5,6) (3,4,7) (1,3,7) (1,4,5) (1,4,6) (5,6,7) (1,5,7) Type: FiniteSimplicialComplex(Integer) (15) -> coHomology(tD) (15) [Z,Z*2,Z] Type: List(Homology) (16) -> coHomology(tS) (16) [Z,Z*2,Z] Type: List(Homology)```

### Real Projective Space Example

 On page here we saw that the homology is: [Z,C2,0] ```(17) -> ppD := projectiveSpace(2)\$DCF (17) 2D:[[1,1]] 1D:[[1,- 1]] 0D:[[0]] Type: DeltaComplex(Integer) (18) -> ppS := projectiveSpace(2)\$SCF (18) points 1..6 (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) Type: FiniteSimplicialComplex(Integer) (19) -> coHomology(ppD) (19) [C2,0,Z] Type: List(Homology) (20) -> coHomology(ppS) (20) [C2,0,Z] Type: List(Homology)```

### Klein bottle example

 On page here we saw that the homology is: [Z,Z+C2,0] ```(21) -> kbD := kleinBottle()\$DCF (21) 2D:[[1,2,1,- 2]] 1D:[[1,- 1],[1,- 1]] 0D:[[0]] Type: DeltaComplex(Integer) (22) -> kbS := kleinBottle()\$SCF (22) points 1..8 (3,4,8) (2,3,4) (2,4,6) (2,6,8) (2,5,8) (3,5,7) (2,3,7) (1,2,7) (1,2,5) (1,3,5) (4,5,8) (4,5,7) (4,6,7) (1,6,7) (1,3,6) (3,6,8) Type: FiniteSimplicialComplex(Integer) (23) -> coHomology(kbD) (23) [C2,Z,Z] Type: List(Homology) (24) -> coHomology(kbS) (24) [C2,Z,Z] Type: List(Homology)```