Persistent Homology and Nested Dissection

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

Transcript of Persistent Homology and Nested Dissection

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