Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at University of Muenster

Post on 11-May-2015

96 views 1 download

description

The Vietoris-Rips filtration is a versatile tool in topological data analysis. Unfortunately, it is often too large to construct in full. We show how to construct an $O(n)$-size filtered simplicial complex on an $n$-point metric space such that the persistence diagram is a good approximation to that of the Vietoris-Rips filtration. The filtration can be constructed in $O(n\log n)$ time. The constants depend only on the doubling dimension of the metric space and the desired tightness of the approximation. For the first time, this makes it computationally tractable to approximate the persistence diagram of the Vietoris-Rips filtration across all scales for large data sets. Our approach uses a hierarchical net-tree to sparsify the filtration. We can either sparsify the data by throwing out points at larger scales to give a zigzag filtration, or sparsify the underlying graph by throwing out edges at larger scales to give a standard filtration. Both methods yield the same guarantees.

Transcript of Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at University of Muenster

Leopold Vietoris

Leopold VietorisEliyahu Rips

Linear-Size Approximations to the Vietoris-Rips Filtration

Don SheehyGeometrica Group

INRIA Saclay

This work will appear at SoCG 2012 in June.

Points, offsets, homology, and persistence.

Points, offsets, homology, and persistence.

Input: P ! Rd

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! RdOffsets

Filtration

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! RdOffsets

Filtration

Compute the Homology

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! RdOffsets

Filtration

Compute the Homology

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! RdOffsets

Filtration

Compute the Homology

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! RdOffsets

Filtration

Compute the Homology

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! RdOffsets

Filtration

Compute the Homology

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! RdOffsets

Filtration

Compute the Homology

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! RdOffsets

Filtration

Compute the Homology

Persistent

Persistence Diagrams describe the changes in topology corresponding to changes in scale.

Birth

Dea

th

Persistence Diagrams describe the changes in topology corresponding to changes in scale.

Birth

Dea

th

Persistence Diagrams describe the changes in topology corresponding to changes in scale.

d!B = maxi

|pi ! qi|!

Bottleneck Distance

Birth

Dea

th

Persistence Diagrams describe the changes in topology corresponding to changes in scale.

d!B = maxi

|pi ! qi|!

Bottleneck Distance

In approximate persistence diagrams, birth and death times differ by at most a constant factor.

Birth

Dea

th

Persistence Diagrams describe the changes in topology corresponding to changes in scale.

d!B = maxi

|pi ! qi|!

Bottleneck Distance

This is just the bottleneck distance of the log-scale diagrams.

In approximate persistence diagrams, birth and death times differ by at most a constant factor.

Birth

Dea

th

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

R! is the powerset 2P .

The Vietoris-Rips Filtration encodes the topology of a metric space when viewed at different scales.

Input: A finite metric space (P,d).Output: A sequence of simplicial complexes {R!}such that ! ! R! i! d(p, q) " 2" for all p, q ! !.

R! is the powerset 2P .

This is too big!

The ProblemWe want to compute the persistence diagram of the Rips

filtration of a finite metric space but its too big.

The ProblemWe want to compute the persistence diagram of the Rips

filtration of a finite metric space but its too big.

The SolutionBuild a linear size zigzag filtration that has a provably

close persistence diagram.Use that instead.

The ProblemWe want to compute the persistence diagram of the Rips

filtration of a finite metric space but its too big.

The SolutionBuild a linear size zigzag filtration that has a provably

close persistence diagram.Use that instead.

Obvious?

The ProblemWe want to compute the persistence diagram of the Rips

filtration of a finite metric space but its too big.

The SolutionBuild a linear size zigzag filtration that has a provably

close persistence diagram.Use that instead.

Obvious?

The Intuition (why zigzag?)

The Intuition (why zigzag?)

The Intuition (why zigzag?)

The Intuition (why zigzag?)

The Intuition (why zigzag?)

The Intuition (why zigzag?)

Previous Approaches at subsampling:

The Intuition (why zigzag?)

Previous Approaches at subsampling:Witness Complexes [dSC04, BGO07]

The Intuition (why zigzag?)

Previous Approaches at subsampling:Witness Complexes [dSC04, BGO07]Persistence-based Reconstruction [CO08]

The Intuition (why zigzag?)

Previous Approaches at subsampling:Witness Complexes [dSC04, BGO07]Persistence-based Reconstruction [CO08]

Other methods:

The Intuition (why zigzag?)

Previous Approaches at subsampling:Witness Complexes [dSC04, BGO07]Persistence-based Reconstruction [CO08]

Other methods:Meshes in Euclidean Space [HMSO10]

The Intuition (why zigzag?)

Previous Approaches at subsampling:Witness Complexes [dSC04, BGO07]Persistence-based Reconstruction [CO08]

Other methods:Meshes in Euclidean Space [HMSO10]Topological simplification [Z10, ALS11]

Two tricks:

Two tricks:1 Embed the zigzag in a topologically equivalent filtration.

Two tricks:

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

Two tricks:

2 Perturb the metric so the persistence module does not zigzag.

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

Two tricks:

2 Perturb the metric so the persistence module does not zigzag.

! H(Q!) " H(Q") ! H(Q#) "

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

!=

!=

Two tricks:

2 Perturb the metric so the persistence module does not zigzag.

! H(Q!) " H(Q") ! H(Q#) "

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

!=

!=

Two tricks:

2 Perturb the metric so the persistence module does not zigzag.

! H(Q!) ! H(Q") ! H(Q#) !

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

!=

!=

Two tricks:

2 Perturb the metric so the persistence module does not zigzag.

! H(Q!) ! H(Q") ! H(Q#) !

!! Q! "" Q" !! Q# ""

!! R̂! !! R̂" !! R̂# !!

!! !! !!

1 Embed the zigzag in a topologically equivalent filtration.

Zigzag filtration

Standard filtration

At the homology level, there is no zigzag.

The Result:

The Result:Given an n point metric (P, d), there exists a zigzag filtration of size O(n) whose persistence diagram (1+ ε)-approximates that of the Rips filtration.

The Result:Given an n point metric (P, d), there exists a zigzag filtration of size O(n) whose persistence diagram (1+ ε)-approximates that of the Rips filtration.

(Big-O hides doubling dimension and approximation factor, ε)

The Result:Given an n point metric (P, d), there exists a zigzag filtration of size O(n) whose persistence diagram (1+ ε)-approximates that of the Rips filtration.

(Big-O hides doubling dimension and approximation factor, ε)

Doubling Constant: ! = maxmetric balls B

min

!

"

#

|S| : S ! P,B !$

q!S

ball(q,1

2radius(B)

%

&

'

The Result:Given an n point metric (P, d), there exists a zigzag filtration of size O(n) whose persistence diagram (1+ ε)-approximates that of the Rips filtration.

(Big-O hides doubling dimension and approximation factor, ε)

Doubling Constant: ! = maxmetric balls B

min

!

"

#

|S| : S ! P,B !$

q!S

ball(q,1

2radius(B)

%

&

'

The Result:Given an n point metric (P, d), there exists a zigzag filtration of size O(n) whose persistence diagram (1+ ε)-approximates that of the Rips filtration.

(Big-O hides doubling dimension and approximation factor, ε)

Doubling Constant: ! = maxmetric balls B

min

!

"

#

|S| : S ! P,B !$

q!S

ball(q,1

2radius(B)

%

&

'

The Result:Given an n point metric (P, d), there exists a zigzag filtration of size O(n) whose persistence diagram (1+ ε)-approximates that of the Rips filtration.

(Big-O hides doubling dimension and approximation factor, ε)

Doubling Constant: ! = maxmetric balls B

min

!

"

#

|S| : S ! P,B !$

q!S

ball(q,1

2radius(B)

%

&

'

Doubling Dimension: log2(!)

How to perturb the metric (and why).

How to perturb the metric (and why).Let tp be the time when point p is removed.

How to perturb the metric (and why).

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

Let tp be the time when point p is removed.

How to perturb the metric (and why).

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

tp(1! !)tp00

Let tp be the time when point p is removed.

How to perturb the metric (and why).

d̂!(p, q) = d(p, q) + wp(!) + wq(!)

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

tp(1! !)tp00

Let tp be the time when point p is removed.

How to perturb the metric (and why).

d̂!(p, q) = d(p, q) + wp(!) + wq(!)

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

tp(1! !)tp00

Let tp be the time when point p is removed.

! ! R! " d(p, q) # 2" for all p, q ! !Rips Complex:

How to perturb the metric (and why).

d̂!(p, q) = d(p, q) + wp(!) + wq(!)

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

tp(1! !)tp00

Let tp be the time when point p is removed.

! ! R! " d(p, q) # 2" for all p, q ! !Rips Complex:

Relaxed Rips: ! ! R̂! " d̂!(p, q) # 2" for all p, q ! !

How to perturb the metric (and why).

d̂!(p, q) = d(p, q) + wp(!) + wq(!)

wp(!) =

!

"

#

0 if ! ! (1" ")tp!" (1" ")tp if (1" ")tp < ! < tp

"! if tp ! !

tp(1! !)tp00

Let tp be the time when point p is removed.

! ! R! " d(p, q) # 2" for all p, q ! !Rips Complex:

Relaxed Rips: ! ! R̂! " d̂!(p, q) # 2" for all p, q ! !

R !

1+"

! R̂! ! R!

Net-trees

Net-trees

Net-trees

Net-trees

One leaf per point of P.

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).Three properties:

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).Three properties:

1 Inheritance: Every nonleaf u has a child with the same rep.

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).Three properties:

1 Inheritance: Every nonleaf u has a child with the same rep.

2 Covering: Every heir is within ball(rep(u), rad(u))

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).Three properties:

1 Inheritance: Every nonleaf u has a child with the same rep.

2 Covering: Every heir is within ball(rep(u), rad(u))

3 Packing: Any children v,w of u have d(rep(v),rep(w)) > K rad(u)

Net-trees

One leaf per point of P.Each node u has a representative rep(u) in P and a radius rad(p).Three properties:

1 Inheritance: Every nonleaf u has a child with the same rep.

2 Covering: Every heir is within ball(rep(u), rad(u))

3 Packing: Any children v,w of u have d(rep(v),rep(w)) > K rad(u)

Let up be the ancestor of all nodes represented by p.

Time to remove p: tp = 1!(1!!)rad(parent(up))

Projection onto a net

Projection onto a net

N! = {p ! P : tp " !}

Projection onto a net

N! = {p ! P : tp " !}

Q! is the subcomplex of R̂! induced on N!.

Projection onto a net

N! = {p ! P : tp " !}

!!(p) = arg minq!N!

d̂(p, q)

Q! is the subcomplex of R̂! induced on N!.

N! is a Delone set.

Projection onto a net

N! = {p ! P : tp " !}

!!(p) = arg minq!N!

d̂(p, q)

Q! is the subcomplex of R̂! induced on N!.

N! is a Delone set.

Projection onto a net

N! = {p ! P : tp " !}

!!(p) = arg minq!N!

d̂(p, q)

For all p ! P , there is a q ! N!

such that d(p, q) " !(1# !)".1 Covering:

Q! is the subcomplex of R̂! induced on N!.

N! is a Delone set.

Projection onto a net

N! = {p ! P : tp " !}

!!(p) = arg minq!N!

d̂(p, q)

For all p ! P , there is a q ! N!

such that d(p, q) " !(1# !)".1 Covering:

For all distinct p, q ! N!,d(p, q) " Kpack!(1# !)".

2 Packing:

Q! is the subcomplex of R̂! induced on N!.

N! is a Delone set.

Projection onto a net

N! = {p ! P : tp " !}

!!(p) = arg minq!N!

d̂(p, q)

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

For all p ! P , there is a q ! N!

such that d(p, q) " !(1# !)".1 Covering:

For all distinct p, q ! N!,d(p, q) " Kpack!(1# !)".

2 Packing:

Q! is the subcomplex of R̂! induced on N!.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

A Simplicial Map is a map between vertex setsthat maps simplices to simplices.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

A Simplicial Map is a map between vertex setsthat maps simplices to simplices.

Two simplicial maps f, g : X ! Y are contiguousif for all simplices ! " X, f(!) # g(!) " Y .

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

A Simplicial Map is a map between vertex setsthat maps simplices to simplices.

Two simplicial maps f, g : X ! Y are contiguousif for all simplices ! " X, f(!) # g(!) " Y .

Fact: If f, g : X ! Y are contiguous simplicial mapsthen the homomorphisms f!, g! : H(X) ! H(Y )are identical.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

A Simplicial Map is a map between vertex setsthat maps simplices to simplices.

Two simplicial maps f, g : X ! Y are contiguousif for all simplices ! " X, f(!) # g(!) " Y .

We will show that i ! !! is contiguous with theidentity map on R̂!.

Fact: If f, g : X ! Y are contiguous simplicial mapsthen the homomorphisms f!, g! : H(X) ! H(Y )are identical.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

Claim: i ! !! is contiguous to the identity map on R̂!.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Claim: i ! !! is contiguous to the identity map on R̂!.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Claim: i ! !! is contiguous to the identity map on R̂!.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

p

q

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

!!(p)

p

q

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

!!(p)

p

q

!!(q)

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

!!(p)

p

q

!!(q)

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

!!(p)

p

q

!!(q)

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

!!(p)

p

q

!!(q)

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

!!(p)

p

q

!!(q)

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

!!(p)

p

q

!!(q)

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

!!(p)

p

q

!!(q)

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

!!(p)

p

q

!!(q)

For all p, q ! P , d̂(!!(p), q) " d̂(p, q).Key Fact:

Let i : Q! !! R̂! be the canonical inclusion.

Goal: Show that i! : H(Q") ! H(R̂") is an isomorphism.

First we need to show that it’s a simplicial map, i.e. thatfor all ! ! R̂!, (i " "!)(!) ! R̂!.

Su!ces to show d̂!(p, q) ! 2! implies d̂("!(p),"!(q)) ! 2!.

Follows from fact above.

Claim: i ! !! is contiguous to the identity map on R̂!.

Second we, need to prove contiguity, i.e.{p, q} ! R̂! implies {p, q,!!(p),!!(q)} ! R̂!.

!!(p)

p

q

!!(q)

Why is the filtration only linear size?

Why is the filtration only linear size?

Standard trick from Euclidean geometry:

Why is the filtration only linear size?

Standard trick from Euclidean geometry:

1 Charge each simplex to its vertex with the earliest deletion time.

Why is the filtration only linear size?

Standard trick from Euclidean geometry:

1 Charge each simplex to its vertex with the earliest deletion time.

2 Apply a packing argument to the larger neighbors.

Why is the filtration only linear size?

Standard trick from Euclidean geometry:

1 Charge each simplex to its vertex with the earliest deletion time.

2 Apply a packing argument to the larger neighbors.

3 Conclude average O(1) simplices per vertex.

Why is the filtration only linear size?

Standard trick from Euclidean geometry:

1 Charge each simplex to its vertex with the earliest deletion time.

2 Apply a packing argument to the larger neighbors.

3 Conclude average O(1) simplices per vertex.

2O(d2)

Summary

SummaryApproximate the VR filtration with a Zigzag filtration.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The Future

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?Other types of simplification.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?Other types of simplification.Construct the net-tree in O(n log n) time.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?Other types of simplification.Construct the net-tree in O(n log n) time.An implementation.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?Other types of simplification.Construct the net-tree in O(n log n) time.An implementation.

Thank You.

SummaryApproximate the VR filtration with a Zigzag filtration.

Remove points using a hierarchical net-tree.

Perturb the metric to straighten out the zigzags.

Use packing arguments to get linear size.

The FutureDistance to a measure?Other types of simplification.Construct the net-tree in O(n log n) time.An implementation.

Thank You.Thank You.