Cohomology Seminar Algorithms Jari de Kroon Eindhoven University - - PowerPoint PPT Presentation

cohomology
SMART_READER_LITE
LIVE PREVIEW

Cohomology Seminar Algorithms Jari de Kroon Eindhoven University - - PowerPoint PPT Presentation

Cohomology Seminar Algorithms Jari de Kroon Eindhoven University of Technology May 22, 2018 Content Motivation Cohomology groups Universal Coefficient Theorem Application [SMV11] Motivation Distinguish topological spaces


slide-1
SLIDE 1

Cohomology

Seminar Algorithms Jari de Kroon

Eindhoven University of Technology

May 22, 2018

slide-2
SLIDE 2

Content

◮ Motivation ◮ Cohomology groups ◮ Universal Coefficient Theorem ◮ Application [SMV11]

slide-3
SLIDE 3

Motivation

◮ Distinguish topological spaces ◮ Algebraic dual of homology

slide-4
SLIDE 4

P-cochain

Recall:

For simplicial complex K, a p-chain is a formal sum c = niσi of p-simplices. Cp = Cp(K; G) is the group of p-chains closed under addition, with constants ni ∈ G.

slide-5
SLIDE 5

P-cochain

Recall:

For simplicial complex K, a p-chain is a formal sum c = niσi of p-simplices. Cp = Cp(K; G) is the group of p-chains closed under addition, with constants ni ∈ G. Define a p-cochain as a homomorphism ϕ : Cp → G. These form the group of p-cochains, C p = Hom(Cp, G).

slide-6
SLIDE 6

P-cochain

Recall:

For simplicial complex K, a p-chain is a formal sum c = niσi of p-simplices. Cp = Cp(K; G) is the group of p-chains closed under addition, with constants ni ∈ G. Define a p-cochain as a homomorphism ϕ : Cp → G. These form the group of p-cochains, C p = Hom(Cp, G).

Example:

Take G = Z2, then given a p-chain c ∈ Cp, the cochain maps c to 0 or 1. Intuitively can be seen as functions from p-simplices to 0 or 1, as the p-simplices form the basis of Cp.

slide-7
SLIDE 7

P-cochain

The basis of Cp are the p-simplices σ1, σ2, .., σn. The basis of C p are the cochains f1, f2, ..., fn such that fi(σj) = δi,j, the Kronecker delta that is 1 if i = j.

slide-8
SLIDE 8

P-cochain

The basis of Cp are the p-simplices σ1, σ2, .., σn. The basis of C p are the cochains f1, f2, ..., fn such that fi(σj) = δi,j, the Kronecker delta that is 1 if i = j.

Example:

Take ϕ(x) =

  • 1,

if x = v0 or x = v1 0,

  • therwise
slide-9
SLIDE 9

P-cochain

The basis of Cp are the p-simplices σ1, σ2, .., σn. The basis of C p are the cochains f1, f2, ..., fn such that fi(σj) = δi,j, the Kronecker delta that is 1 if i = j.

Example:

Take ϕ(x) =

  • 1,

if x = v0 or x = v1 0,

  • therwise

Then ϕ(x) = f0(x) + f1(x).

slide-10
SLIDE 10

Coboundary map

Recall:

The boundary operator is a homomorphism ∂p : Cp → Cp−1. For p-simplex σ = [v0, .., vp], we had ∂pσ =

p

  • i=0

(−1)i[v0, .., ˆ vi, .., vp]

slide-11
SLIDE 11

Coboundary map

Recall:

The boundary operator is a homomorphism ∂p : Cp → Cp−1. For p-simplex σ = [v0, .., vp], we had ∂pσ =

p

  • i=0

(−1)i[v0, .., ˆ vi, .., vp] Define the coboundary operator as δp : C p → C p+1. Then given a p-cochain ϕ ∈ C p = Hom(Ci, G), we now define δpϕ([v0, .., vp+1]) =

p+1

  • i=0

(−1)iϕ([v0, .., ˆ vi, .., vp+1])

slide-12
SLIDE 12

Example

Take G = Z2. Let ϕ be a 0-cochain defined as ϕ(x) =

  • 1,

if x = v0 0,

  • therwise

Then δ0ϕ is a cochain on the edges.

v0 v1 v2

δ0ϕ([v0v1])

slide-13
SLIDE 13

Example

Take G = Z2. Let ϕ be a 0-cochain defined as ϕ(x) =

  • 1,

if x = v0 0,

  • therwise

Then δ0ϕ is a cochain on the edges.

v0 v1 v2

δ0ϕ([v0v1]) = ϕ([v1])−ϕ([v0]) = 0−1

slide-14
SLIDE 14

Example

Take G = Z2. Let ϕ be a 0-cochain defined as ϕ(x) =

  • 1,

if x = v0 0,

  • therwise

Then δ0ϕ is a cochain on the edges.

v0 v1 v2

δ0ϕ([v0v1]) = ϕ([v1])−ϕ([v0]) = 0−1 δ0ϕ([v1v2])

slide-15
SLIDE 15

Example

Take G = Z2. Let ϕ be a 0-cochain defined as ϕ(x) =

  • 1,

if x = v0 0,

  • therwise

Then δ0ϕ is a cochain on the edges.

v0 v1 v2

δ0ϕ([v0v1]) = ϕ([v1])−ϕ([v0]) = 0−1 δ0ϕ([v1v2]) = ϕ([v2])−ϕ([v1]) = 0−0

slide-16
SLIDE 16

Example

Take G = Z2. Let ϕ be a 0-cochain defined as ϕ(x) =

  • 1,

if x = v0 0,

  • therwise

Then δ0ϕ is a cochain on the edges.

v0 v1 v2

δ0ϕ([v0v1]) = ϕ([v1])−ϕ([v0]) = 0−1 δ0ϕ([v1v2]) = ϕ([v2])−ϕ([v1]) = 0−0 δ0ϕ([v2v0])

slide-17
SLIDE 17

Example

Take G = Z2. Let ϕ be a 0-cochain defined as ϕ(x) =

  • 1,

if x = v0 0,

  • therwise

Then δ0ϕ is a cochain on the edges.

v0 v1 v2

δ0ϕ([v0v1]) = ϕ([v1])−ϕ([v0]) = 0−1 δ0ϕ([v1v2]) = ϕ([v2])−ϕ([v1]) = 0−0 δ0ϕ([v2v0]) = ϕ([v0])−ϕ([v2]) = 1−0

slide-18
SLIDE 18

Example

Take G = Z2. Let ϕ be a 0-cochain defined as ϕ(x) =

  • 1,

if x = v0 0,

  • therwise

Then δ0ϕ is a cochain on the edges.

v0 v1 v2

δ0ϕ([v0v1]) = ϕ([v1])−ϕ([v0]) = 0−1 δ0ϕ([v1v2]) = ϕ([v2])−ϕ([v1]) = 0−0 δ0ϕ([v2v0]) = ϕ([v0])−ϕ([v2]) = 1−0

slide-19
SLIDE 19

Example

Then δ1(δ0ϕ) is a cochain on the triangles.

v0 v1 v2

δ1(δ0ϕ)([v0v1v2])

slide-20
SLIDE 20

Example

Then δ1(δ0ϕ) is a cochain on the triangles.

v0 v1 v2

δ1(δ0ϕ)([v0v1v2]) = δ0ϕ([v1v2]) − δ0ϕ([v0v2]) + δ0ϕ([v0v1]) = 0 − 1 + 1 = 0

slide-21
SLIDE 21

Example

Then δ1(δ0ϕ) is a cochain on the triangles.

v0 v1 v2

δ1(δ0ϕ)([v0v1v2]) = δ0ϕ([v1v2]) − δ0ϕ([v0v2]) + δ0ϕ([v0v1]) = 0 − 1 + 1 = 0 No coincidence, in general δp+1δp = 0.

slide-22
SLIDE 22

Example

Then δ1(δ0ϕ) is a cochain on the triangles.

v0 v1 v2

δ1(δ0ϕ)([v0v1v2]) = δ0ϕ([v1v2]) − δ0ϕ([v0v2]) + δ0ϕ([v0v1]) = 0 − 1 + 1 = 0 No coincidence, in general δp+1δp = 0. In Z2, an edge is evaluated to 1 iff vertices are labeled differently. A triangle is evaluated to 1 iff an odd number of edges evaluate to 1.

slide-23
SLIDE 23

Homology groups

Recall:

Group of p-cycles Zp is the kernel of ∂p. Group of p-boundaries Bp is the image of ∂p+1. The p-th homology group Hp = Zp/Bp.

slide-24
SLIDE 24

Cohomology groups

In cohomology we define: Group of p-cocycles Z p is the kernel of δp. Group of p-coboundaries Bp is the image of δp−1. The p-th cohomology group Hp = Z p/Bp.

slide-25
SLIDE 25
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2

slide-26
SLIDE 26
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 rank H0 =

slide-27
SLIDE 27
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 rank H0 = 1 (connected components)

slide-28
SLIDE 28
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 0-cocycles := labeling of vertices such that all edges evaluate to zero.

slide-29
SLIDE 29
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 0-cocycles := labeling of vertices such that all edges evaluate to zero. ϕ(x) = 1

slide-30
SLIDE 30
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 0-cocycles := labeling of vertices such that all edges evaluate to zero. ϕ(x) = 1 Zero-homomorphism is trivial solution, not counted.

slide-31
SLIDE 31
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 0-cocycles := labeling of vertices such that all edges evaluate to zero. ϕ(x) = 1 Zero-homomorphism is trivial solution, not counted. 0-coboundaries do not exist, as there is no C −1.

slide-32
SLIDE 32
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 0-cocycles := labeling of vertices such that all edges evaluate to zero. ϕ(x) = 1 Zero-homomorphism is trivial solution, not counted. 0-coboundaries do not exist, as there is no C −1. So rank H0 = 1

slide-33
SLIDE 33
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 rank H1 =

slide-34
SLIDE 34
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 rank H1 = 1 (1-dimensional hole)

slide-35
SLIDE 35
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 1-cocycles := labeling of edges such that all triangles evaluate to zero.

slide-36
SLIDE 36
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 1-cocycles := labeling of edges such that all triangles evaluate to zero. Every triangle incident to even number of edges evaluating to one.

slide-37
SLIDE 37
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 1-cocycles := labeling of edges such that all triangles evaluate to zero. Every triangle incident to even number of edges evaluating to one. 1-cocycle looks like picket fence (red).

slide-38
SLIDE 38
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 1-cocycles := labeling of edges such that all triangles evaluate to zero. Every triangle incident to even number of edges evaluating to one. 1-cocycle looks like picket fence (red). 1-coboundary := coboundary of orange vertices are red edges.

slide-39
SLIDE 39
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 1-cocycles := labeling of edges such that all triangles evaluate to zero. Every triangle incident to even number of edges evaluating to one. 1-cocycle looks like picket fence (red). 1-coboundary := coboundary of orange vertices are red edges. Since Hp = Z p/Bp, we want 1-cocycles that is not also a 1-coboundary.

slide-40
SLIDE 40
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 Picket fence starting on outer ring, ending

  • n inner ring.
slide-41
SLIDE 41
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 Picket fence starting on outer ring, ending

  • n inner ring.

All such fences cohomologous, that is for 1-cocycles α and β, α − β is a 1-coboundary.

slide-42
SLIDE 42
  • Ex. Homology vs cohomology groups

0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 Picket fence starting on outer ring, ending

  • n inner ring.

All such fences cohomologous, that is for 1-cocycles α and β, α − β is a 1-coboundary. It follows that rank H1 = 1.

slide-43
SLIDE 43
  • Ex. Homology vs cohomology groups
slide-44
SLIDE 44

rank Hp = rank Hp

Rank Hp = rank Zp - rank Bp.

slide-45
SLIDE 45

rank Hp = rank Hp

Rank Hp = rank Zp - rank Bp. Similarly rank Hp = rank Z p - rank Bp.

slide-46
SLIDE 46

rank Hp = rank Hp

Rank Hp = rank Zp - rank Bp. Similarly rank Hp = rank Z p - rank Bp. Take another look at matrices.

slide-47
SLIDE 47

rank Hp = rank Hp

Rank Hp = rank Zp - rank Bp. Similarly rank Hp = rank Z p - rank Bp. Take another look at matrices.

z y x

M′ =     xy yz zx x −1 1 y 1 −1 z 1 −1     M′ is the 1-boundary matrix.

slide-48
SLIDE 48

rank Hp = rank Hp

Rank Hp = rank Zp - rank Bp. Similarly rank Hp = rank Z p - rank Bp. Take another look at matrices.

z y x

M =     xy yz zx x 1 1 y 1 1 z 1 1     M is the 1-boundary matrix with coefficients in Z2 .

slide-49
SLIDE 49

rank Hp = rank Hp

Lemma

A cochain evaluates a single p-simplex to one and all others to zero if and only if its coboundary evaluates each (p + 1)-coface of this p-simplex to one and all other (p + 1)-simplices to zero.

slide-50
SLIDE 50

rank Hp = rank Hp

Now lets take a look at the 0-coboundary matrix N.

slide-51
SLIDE 51

rank Hp = rank Hp

Now lets take a look at the 0-coboundary matrix N.

z y x

M =     xy yz zx x 1 1 y 1 1 z 1 1     M is the 1-boundary matrix.

slide-52
SLIDE 52

rank Hp = rank Hp

Now lets take a look at the 0-coboundary matrix N.

z y x

M =     xy yz zx x 1 1 y 1 1 z 1 1     M is the 1-boundary matrix. N =     fx fy fz xy δfx(xy) δfy(xy) δfz(xy) yz δfx(yz) δfy(yz) δfz(yz) zx δfx(zx) δfy(zx) δfz(zx)    

slide-53
SLIDE 53

rank Hp = rank Hp

Now lets take a look at the 0-coboundary matrix N.

z y x

M =     xy yz zx x 1 1 y 1 1 z 1 1     N =     fx fy fz xy 1 1 yz 1 1 zx 1 1     The 0-coboundary matrix is the transpose of the 1-boundary matrix.

slide-54
SLIDE 54

rank Hp = rank Hp

The p-th and (p + 1)-st boundary matrices in normal form are also the (p − 1)-st and p-th coboundary matrices in normal form

  • transposed. Since rank Bp+ rank Zp = rank Bp+ rank Z p, it

follows rank Hp = rank Hp.

slide-55
SLIDE 55

rank Hp = rank Hp

The p-th and (p + 1)-st boundary matrices in normal form are also the (p − 1)-st and p-th coboundary matrices in normal form

  • transposed. Since rank Bp+ rank Zp = rank Bp+ rank Z p, it

follows rank Hp = rank Hp. No notion of co-Betti numbers.

slide-56
SLIDE 56

Universal Coefficient Theorem

Given a topological space, X, there are maps Hp(X) → Hom(Hp(X), G) → Hp(X) in which the first map is a natural isomorphism and the second is an isomorphism that is not natural.

slide-57
SLIDE 57

Application

Nonlinear dimensionality reduction

Represent high-dimensional nonlinear data in terms of low-dimensional coordinates.

slide-58
SLIDE 58

Application

Nonlinear dimensionality reduction

Represent high-dimensional nonlinear data in terms of low-dimensional coordinates.

Existing techniques:

◮ Isomaps ◮ Laplacian eigenmaps ◮ LLE

slide-59
SLIDE 59

Application

Techniques struggle with circular functions, cannot be embedded in lower dimensions.

slide-60
SLIDE 60

[SMV11] algorithm

Goal

Identify candidates for significant circle-structures in data using persistent cohomology.

slide-61
SLIDE 61

[SMV11] algorithm

Goal

Identify candidates for significant circle-structures in data using persistent cohomology.

Algorithm steps

  • 1. Represent data set X as simplicial complex (Vietoris-Rips or

Witness)

slide-62
SLIDE 62

[SMV11] algorithm

Goal

Identify candidates for significant circle-structures in data using persistent cohomology.

Algorithm steps

  • 1. Represent data set X as simplicial complex (Vietoris-Rips or

Witness)

  • 2. Use persistent cohomology to identify significant cohomology

class αp in data. This uses a finite group Fp for some prime p.

slide-63
SLIDE 63

[SMV11] algorithm

Goal

Identify candidates for significant circle-structures in data using persistent cohomology.

Algorithm steps

  • 1. Represent data set X as simplicial complex (Vietoris-Rips or

Witness)

  • 2. Use persistent cohomology to identify significant cohomology

class αp in data. This uses a finite group Fp for some prime p.

  • 3. Lift αp to a cohomology class α with integer coefficients.
slide-64
SLIDE 64

[SMV11] algorithm

Goal

Identify candidates for significant circle-structures in data using persistent cohomology.

Algorithm steps

  • 1. Represent data set X as simplicial complex (Vietoris-Rips or

Witness)

  • 2. Use persistent cohomology to identify significant cohomology

class αp in data. This uses a finite group Fp for some prime p.

  • 3. Lift αp to a cohomology class α with integer coefficients.
  • 4. Replace the integer cocycle α by a harmonic cycle α in the

same cohomology class (smoothest cocycle cohomologous to α).

slide-65
SLIDE 65

[SMV11] algorithm

Goal

Identify candidates for significant circle-structures in data using persistent cohomology.

Algorithm steps

  • 1. Represent data set X as simplicial complex (Vietoris-Rips or

Witness)

  • 2. Use persistent cohomology to identify significant cohomology

class αp in data. This uses a finite group Fp for some prime p.

  • 3. Lift αp to a cohomology class α with integer coefficients.
  • 4. Replace the integer cocycle α by a harmonic cycle α in the

same cohomology class (smoothest cocycle cohomologous to α).

  • 5. Integrate α to a circle-valued function θ : X → S1.
slide-66
SLIDE 66

[SMV11] algorithm

slide-67
SLIDE 67

[SMV11] algorithm

slide-68
SLIDE 68

[SMV11] algorithm

slide-69
SLIDE 69

Summary

◮ Cohomology is the dual of homology ◮ Intuitive examples with coefficients in Z2 ◮ Algorithm for finding circle functions in topological data

slide-70
SLIDE 70

Sources

◮ [Hatch] A. Hatcher, Algebraic Topology. ◮ [EH10] H. Edelsbrunner, J. L. Harer, Computational topology. An introduction. American Mathematical Society, Providence, RI, 2010. ◮ [SMV11] V. de Silva, D. Morozov, and M. Vejdemo-Johansson. Persistent cohomology and circular coordinates, Discrete & Computational Geometry 45.4, 737-759, 2011.