SLIDE 1
Cohomology Seminar Algorithms Jari de Kroon Eindhoven University - - PowerPoint PPT Presentation
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 2
SLIDE 3
Motivation
◮ Distinguish topological spaces ◮ Algebraic dual of homology
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Example
Then δ1(δ0ϕ) is a cochain on the triangles.
v0 v1 v2
δ1(δ0ϕ)([v0v1v2])
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
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
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
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
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
- Ex. Homology vs cohomology groups
0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2
SLIDE 26
- Ex. Homology vs cohomology groups
0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 rank H0 =
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
- 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
- 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
- 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
- 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
- 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
- Ex. Homology vs cohomology groups
0 → C 0 δ0 − → C 1 δ1 − → C 2 δ2 − → 0, G = Z2 rank H1 =
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Ex. Homology vs cohomology groups
SLIDE 44
rank Hp = rank Hp
Rank Hp = rank Zp - rank Bp.
SLIDE 45
rank Hp = rank Hp
Rank Hp = rank Zp - rank Bp. Similarly rank Hp = rank Z p - rank Bp.
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
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
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
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
rank Hp = rank Hp
Now lets take a look at the 0-coboundary matrix N.
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
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
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
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
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
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
Application
Nonlinear dimensionality reduction
Represent high-dimensional nonlinear data in terms of low-dimensional coordinates.
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
Application
Techniques struggle with circular functions, cannot be embedded in lower dimensions.
SLIDE 60
[SMV11] algorithm
Goal
Identify candidates for significant circle-structures in data using persistent cohomology.
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
[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
[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
[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
[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
[SMV11] algorithm
SLIDE 67
[SMV11] algorithm
SLIDE 68
[SMV11] algorithm
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