persistent homology and nested dissection

68
Persistent Homology and Nested Dissection Don Sheehy University of Connecticut joint work with Michael Kerber and Primoz Skraba

Upload: don-sheehy

Post on 18-Jul-2015

61 views

Category:

Science


2 download

TRANSCRIPT

Page 1: Persistent Homology and Nested Dissection

Persistent Homology and

Nested Dissection

Don Sheehy University of Connecticut

!joint work with Michael Kerber and Primoz Skraba

Page 2: Persistent Homology and Nested Dissection

A Topological Data Analysis Pipeline

Page 3: Persistent Homology and Nested Dissection

A Topological Data Analysis Pipeline

Data Points

Page 4: Persistent Homology and Nested Dissection

A Topological Data Analysis Pipeline

Data Points a Function (Lipschitz)

Page 5: Persistent Homology and Nested Dissection

A Topological Data Analysis Pipeline

Data Points a Function (Lipschitz)

A (filtered) Simplicial Complex (to approx. the function)

Page 6: Persistent Homology and Nested Dissection

A Topological Data Analysis Pipeline

Data Points a Function (Lipschitz)

A (filtered) Simplicial Complex (to approx. the function)

Compute Persistence

Page 7: Persistent Homology and Nested Dissection

A Topological Data Analysis Pipeline

Data Points a Function (Lipschitz)

A (filtered) Simplicial Complex (to approx. the function)

Compute Persistence

Geometry

Page 8: Persistent Homology and Nested Dissection

A Topological Data Analysis Pipeline

Data Points a Function (Lipschitz)

A (filtered) Simplicial Complex (to approx. the function)

Compute Persistence

Geometry Topology

Page 9: Persistent Homology and Nested Dissection

A Topological Data Analysis Pipeline

Data Points a Function (Lipschitz)

A (filtered) Simplicial Complex (to approx. the function)

Compute Persistence

Geometry TopologyWhat to compute?

Page 10: Persistent Homology and Nested Dissection

A Topological Data Analysis Pipeline

Data Points a Function (Lipschitz)

A (filtered) Simplicial Complex (to approx. the function)

Compute Persistence

Geometry TopologyWhat to compute? How to compute it?

Page 11: Persistent Homology and Nested Dissection

A Topological Data Analysis Pipeline

Data Points a Function (Lipschitz)

A (filtered) Simplicial Complex (to approx. the function)

Compute Persistence

Geometry TopologyWhat to compute? How to compute it?

Q: Can we use the geometry to speed up the persistence computation?

Page 12: Persistent Homology and Nested Dissection

We want to build a filtered simplicial complex.

Associate a birth time with each simplex in complex K.

At timeα, we have a complex Kα consisting of all simplices born at or before time α.

time

Page 13: Persistent Homology and Nested Dissection

We want to build a filtered simplicial complex.

Associate a birth time with each simplex in complex K.

At timeα, we have a complex Kα consisting of all simplices born at or before time α.

time

This can be represented by its boundary matrix D, with a fixed row order.

Page 14: Persistent Homology and Nested Dissection

Computing Persistent Homology

Page 15: Persistent Homology and Nested Dissection

Computing Persistent HomologyInput: Boundary Matrix D Find V, R such that

Page 16: Persistent Homology and Nested Dissection

Computing Persistent HomologyInput: Boundary Matrix D Find V, R such that

D = RV

Page 17: Persistent Homology and Nested Dissection

Computing Persistent HomologyInput: Boundary Matrix D Find V, R such that

D = RVV is upper-triangular R is “reduced” (i.e. no two columns have lowest nonzeros in the same row)

Page 18: Persistent Homology and Nested Dissection

Computing Persistent HomologyInput: Boundary Matrix D Find V, R such that

D = RVV is upper-triangular R is “reduced” (i.e. no two columns have lowest nonzeros in the same row)

Output is a collection of pairs corresponding to the lowest nonzeros in R.

Page 19: Persistent Homology and Nested Dissection

Computing Persistent HomologyInput: Boundary Matrix D Find V, R such that

D = RVV is upper-triangular R is “reduced” (i.e. no two columns have lowest nonzeros in the same row)

It’s just Gaussian elimination!

Output is a collection of pairs corresponding to the lowest nonzeros in R.

Page 20: Persistent Homology and Nested Dissection

The State of the ArtAsymptotics

Page 21: Persistent Homology and Nested Dissection

The State of the ArtAsymptotics

“The Persistence Algorithm” [ELZ05] O(n3)

Page 22: Persistent Homology and Nested Dissection

The State of the ArtAsymptotics

“The Persistence Algorithm” [ELZ05]via Matrix Multiplication [MMS11]

O(n3)O(n!)

Page 23: Persistent Homology and Nested Dissection

The State of the ArtAsymptotics

“The Persistence Algorithm” [ELZ05]via Matrix Multiplication [MMS11]Output-Sensitive [CK12] O(|D(1��)�|n2)

O(n3)O(n!)

Page 24: Persistent Homology and Nested Dissection

The State of the ArtAsymptotics

Heuristics

“The Persistence Algorithm” [ELZ05]via Matrix Multiplication [MMS11]Output-Sensitive [CK12] O(|D(1��)�|n2)

O(n3)O(n!)

Page 25: Persistent Homology and Nested Dissection

The State of the ArtAsymptotics

Heuristics

“The Persistence Algorithm” [ELZ05]via Matrix Multiplication [MMS11]Output-Sensitive [CK12]

Persistent Cohomology [MdSV-J11]

O(|D(1��)�|n2)

O(n3)O(n!)

Page 26: Persistent Homology and Nested Dissection

The State of the ArtAsymptotics

Heuristics

“The Persistence Algorithm” [ELZ05]via Matrix Multiplication [MMS11]Output-Sensitive [CK12]

Persistent Cohomology [MdSV-J11]Discrete Morse Reduction [MN13]

O(|D(1��)�|n2)

O(n3)O(n!)

Page 27: Persistent Homology and Nested Dissection

The State of the ArtAsymptotics

Heuristics

“The Persistence Algorithm” [ELZ05]via Matrix Multiplication [MMS11]Output-Sensitive [CK12]

Persistent Cohomology [MdSV-J11]Discrete Morse Reduction [MN13]Clear and Compress [BKR13]

O(|D(1��)�|n2)

O(n3)O(n!)

Page 28: Persistent Homology and Nested Dissection

Nested Dissection

Page 29: Persistent Homology and Nested Dissection

Nested DissectionA method for solving symmetric positive definite linear systems.

Page 30: Persistent Homology and Nested Dissection

Nested DissectionA method for solving symmetric positive definite linear systems.

Ax = b

Page 31: Persistent Homology and Nested Dissection

Nested DissectionA method for solving symmetric positive definite linear systems.

Ax = bIf A is n x n, consider the n vertex graph with an edge (i,j) for each nonzero entry A(i, j) of A.

Page 32: Persistent Homology and Nested Dissection

Nested DissectionA method for solving symmetric positive definite linear systems.

Ax = bIf A is n x n, consider the n vertex graph with an edge (i,j) for each nonzero entry A(i, j) of A.

Page 33: Persistent Homology and Nested Dissection

Nested DissectionA method for solving symmetric positive definite linear systems.

Ax = bIf A is n x n, consider the n vertex graph with an edge (i,j) for each nonzero entry A(i, j) of A.

Find a vertex separator S such that

Page 34: Persistent Homology and Nested Dissection

Nested DissectionA method for solving symmetric positive definite linear systems.

Ax = bIf A is n x n, consider the n vertex graph with an edge (i,j) for each nonzero entry A(i, j) of A.

Find a vertex separator S such that- |S| = O(nβ)

Page 35: Persistent Homology and Nested Dissection

Nested DissectionA method for solving symmetric positive definite linear systems.

Ax = bIf A is n x n, consider the n vertex graph with an edge (i,j) for each nonzero entry A(i, j) of A.

Find a vertex separator S such that- |S| = O(nβ)- each connected piece has O(n) vertices.

Page 36: Persistent Homology and Nested Dissection

Nested DissectionA method for solving symmetric positive definite linear systems.

Ax = bIf A is n x n, consider the n vertex graph with an edge (i,j) for each nonzero entry A(i, j) of A.

Find a vertex separator S such that- |S| = O(nβ)- each connected piece has O(n) vertices.

The Punchline:

Page 37: Persistent Homology and Nested Dissection

Nested DissectionA method for solving symmetric positive definite linear systems.

Ax = bIf A is n x n, consider the n vertex graph with an edge (i,j) for each nonzero entry A(i, j) of A.

Find a vertex separator S such that- |S| = O(nβ)- each connected piece has O(n) vertices.

The Punchline:Inverting A can be done in O(nβω) time.

Page 38: Persistent Homology and Nested Dissection

Nested DissectionA method for solving symmetric positive definite linear systems.

Ax = bIf A is n x n, consider the n vertex graph with an edge (i,j) for each nonzero entry A(i, j) of A.

Find a vertex separator S such that- |S| = O(nβ)- each connected piece has O(n) vertices.

The Punchline:Inverting A can be done in O(nβω) time.

Also works for computing ranks of singular, nonsymmetric matrices over finite fields.

Page 39: Persistent Homology and Nested Dissection

Sphere Separators

Page 40: Persistent Homology and Nested Dissection

Sphere Separators

Page 41: Persistent Homology and Nested Dissection

Sphere Separators

Page 42: Persistent Homology and Nested Dissection

Sphere Separators

Sparse: Intersect only a sublinear number of disks.

Page 43: Persistent Homology and Nested Dissection

Sphere Separators

Sparse: Intersect only a sublinear number of disks.

Balanced: Contains the centers of at least and at most a constant fraction of the disks.

Page 44: Persistent Homology and Nested Dissection

Sphere Separators

Sparse: Intersect only a sublinear number of disks.

Balanced: Contains the centers of at least and at most a constant fraction of the disks.

O(n1� 1d )

Page 45: Persistent Homology and Nested Dissection

Sphere Separators

Sparse: Intersect only a sublinear number of disks.

Balanced: Contains the centers of at least and at most a constant fraction of the disks.

O(n1� 1d )

n

d+ 2

Page 46: Persistent Homology and Nested Dissection

Persistent Homology and Nested Dissection

Page 47: Persistent Homology and Nested Dissection

Persistent Homology and Nested Dissection

A Conundrum:

Page 48: Persistent Homology and Nested Dissection

Persistent Homology and Nested Dissection

A Conundrum:Nested dissection gives an improvement by choosing a good pivot order.

Page 49: Persistent Homology and Nested Dissection

Persistent Homology and Nested Dissection

A Conundrum:Nested dissection gives an improvement by choosing a good pivot order.Persistent homology restricts the pivot order.

Page 50: Persistent Homology and Nested Dissection

Persistent Homology and Nested Dissection

A Conundrum:Nested dissection gives an improvement by choosing a good pivot order.Persistent homology restricts the pivot order.

Page 51: Persistent Homology and Nested Dissection

Persistent Homology and Nested Dissection

A Conundrum:Nested dissection gives an improvement by choosing a good pivot order.Persistent homology restricts the pivot order.

The first trick:

Page 52: Persistent Homology and Nested Dissection

Persistent Homology and Nested Dissection

A Conundrum:Nested dissection gives an improvement by choosing a good pivot order.Persistent homology restricts the pivot order.

The first trick:In the output-sensitive persistence algorithm of Chen and Kerber, only ranks need to be computed.

Page 53: Persistent Homology and Nested Dissection

Persistent Homology and Nested Dissection

A Conundrum:Nested dissection gives an improvement by choosing a good pivot order.Persistent homology restricts the pivot order.

The first trick:In the output-sensitive persistence algorithm of Chen and Kerber, only ranks need to be computed.

Page 54: Persistent Homology and Nested Dissection

Mesh FiltrationsGeometric

ApproximationTopologically Equivalent

1. Compute the function on the vertices. !2. Approximate the sublevel with a union of Voronoi cells. !3. Filter the Delaunay triangulation appropriately.

Page 55: Persistent Homology and Nested Dissection

Mesh FiltrationsGeometric

ApproximationTopologically Equivalent

1. Compute the function on the vertices. !2. Approximate the sublevel with a union of Voronoi cells. !3. Filter the Delaunay triangulation appropriately.

Page 56: Persistent Homology and Nested Dissection

Mesh FiltrationsGeometric

ApproximationTopologically Equivalent

1. Compute the function on the vertices. !2. Approximate the sublevel with a union of Voronoi cells. !3. Filter the Delaunay triangulation appropriately.

Gives a guaranteed approximation for a range of interesting functions.

Page 57: Persistent Homology and Nested Dissection

Mesh FiltrationsGeometric

ApproximationTopologically Equivalent

1. Compute the function on the vertices. !2. Approximate the sublevel with a union of Voronoi cells. !3. Filter the Delaunay triangulation appropriately.

Gives a guaranteed approximation for a range of interesting functions.

Page 58: Persistent Homology and Nested Dissection

Mesh FiltrationsGeometric

ApproximationTopologically Equivalent

1. Compute the function on the vertices. !2. Approximate the sublevel with a union of Voronoi cells. !3. Filter the Delaunay triangulation appropriately.

Gives a guaranteed approximation for a range of interesting functions.

Bonus: The theory of geometric separators was invented for graphs coming from meshes like this.

Page 59: Persistent Homology and Nested Dissection

Putting it all together

Page 60: Persistent Homology and Nested Dissection

Putting it all together

Mesh Filtrations Geometric Separators

Nested Dissection Output-Sensitive Persistence Algorithm

Page 61: Persistent Homology and Nested Dissection

Putting it all together

Mesh Filtrations Geometric Separators

Nested Dissection Output-Sensitive Persistence Algorithm

Page 62: Persistent Homology and Nested Dissection

Theorem.Let F be a filtration on the Delaunay triangulation of a set of ⌧ -well-spaced

points. For a constant � � 0, the subset D� of the persistence diagram of

F consisting of those pairs with persistence at least � can be computed in

O(|D(1��)�|n!(1� 1d )) time, where D(1��)� is the set of pairs in the persistence

diagram with persistence at least (1� �)� for any constant � > 0.

Putting it all together

Mesh Filtrations Geometric Separators

Nested Dissection Output-Sensitive Persistence Algorithm

Page 63: Persistent Homology and Nested Dissection

Summary

Page 64: Persistent Homology and Nested Dissection

Summary

We can beat the matrix multiplication bound for computing the persistent homology of a wide class of functions defined on quality meshes.

Page 65: Persistent Homology and Nested Dissection

Summary

We can beat the matrix multiplication bound for computing the persistent homology of a wide class of functions defined on quality meshes.

Page 66: Persistent Homology and Nested Dissection

Summary

We can beat the matrix multiplication bound for computing the persistent homology of a wide class of functions defined on quality meshes.

The main technique is a combination of recent advances in nested dissection, persistence computation, and geometric separators.

Page 67: Persistent Homology and Nested Dissection

Summary

We can beat the matrix multiplication bound for computing the persistent homology of a wide class of functions defined on quality meshes.

The main technique is a combination of recent advances in nested dissection, persistence computation, and geometric separators.

Thanks.

Page 68: Persistent Homology and Nested Dissection