Reducing complexes in Multidimensional Persistence Claudia Landi - - PowerPoint PPT Presentation

reducing complexes in multidimensional persistence
SMART_READER_LITE
LIVE PREVIEW

Reducing complexes in Multidimensional Persistence Claudia Landi - - PowerPoint PPT Presentation

Figs/BU-logo-purple-lowres Reducing complexes in Multidimensional Persistence Claudia Landi University of Modena and Reggio Emilia joint work with M. Allili and T. Kaczynski GETCO 2015 1 of 19 Figs/BU-logo-purple-lowres Motivation The


slide-1
SLIDE 1

Figs/BU-logo-purple-lowres

Reducing complexes in Multidimensional Persistence

Claudia Landi

University of Modena and Reggio Emilia joint work with M. Allili and T. Kaczynski

GETCO 2015

1 of 19

slide-2
SLIDE 2

Figs/BU-logo-purple-lowres

Motivation

  • The most common algorithm used for computing 1-D persistent

homology has complexity O(n3) [Zomorodian-Carlsson 2005]

2 of 19

slide-3
SLIDE 3

Figs/BU-logo-purple-lowres

Motivation

  • The most common algorithm used for computing 1-D persistent

homology has complexity O(n3) [Zomorodian-Carlsson 2005]

  • Computation of multi-D persistent homology has exponential

complexity and polynomial complexity for one-critical filtrations [Carlsson et al 2010]

2 of 19

slide-4
SLIDE 4

Figs/BU-logo-purple-lowres

Motivation

  • The most common algorithm used for computing 1-D persistent

homology has complexity O(n3) [Zomorodian-Carlsson 2005]

  • Computation of multi-D persistent homology has exponential

complexity and polynomial complexity for one-critical filtrations [Carlsson et al 2010]

  • We know of no way to improve the worst case complexity of the
  • problem. For massive datasets, this can be a severe limitation.

2 of 19

slide-5
SLIDE 5

Figs/BU-logo-purple-lowres

Motivation

  • The most common algorithm used for computing 1-D persistent

homology has complexity O(n3) [Zomorodian-Carlsson 2005]

  • Computation of multi-D persistent homology has exponential

complexity and polynomial complexity for one-critical filtrations [Carlsson et al 2010]

  • We know of no way to improve the worst case complexity of the
  • problem. For massive datasets, this can be a severe limitation.
  • An alternative strategy:
  • reduce the initial complex using geometric and combinatorial methods

before computing persistence

  • use reductions that preserve persistent homology groups

2 of 19

slide-6
SLIDE 6

Figs/BU-logo-purple-lowres

Motivation

  • The most common algorithm used for computing 1-D persistent

homology has complexity O(n3) [Zomorodian-Carlsson 2005]

  • Computation of multi-D persistent homology has exponential

complexity and polynomial complexity for one-critical filtrations [Carlsson et al 2010]

  • We know of no way to improve the worst case complexity of the
  • problem. For massive datasets, this can be a severe limitation.
  • An alternative strategy:
  • reduce the initial complex using geometric and combinatorial methods

before computing persistence

  • use reductions that preserve persistent homology groups
  • Case of 1D persistence in homology degree 0: [Frosini-Pittore 1999]

2 of 19

slide-7
SLIDE 7

Figs/BU-logo-purple-lowres

Motivation

  • The most common algorithm used for computing 1-D persistent

homology has complexity O(n3) [Zomorodian-Carlsson 2005]

  • Computation of multi-D persistent homology has exponential

complexity and polynomial complexity for one-critical filtrations [Carlsson et al 2010]

  • We know of no way to improve the worst case complexity of the
  • problem. For massive datasets, this can be a severe limitation.
  • An alternative strategy:
  • reduce the initial complex using geometric and combinatorial methods

before computing persistence

  • use reductions that preserve persistent homology groups
  • Case of 1D persistence in homology degree 0: [Frosini-Pittore 1999]
  • Case of multiD persistence in homology degree 0: [Cerri et al 2006]:

2 of 19

slide-8
SLIDE 8

Figs/BU-logo-purple-lowres

Motivation

  • The most common algorithm used for computing 1-D persistent

homology has complexity O(n3) [Zomorodian-Carlsson 2005]

  • Computation of multi-D persistent homology has exponential

complexity and polynomial complexity for one-critical filtrations [Carlsson et al 2010]

  • We know of no way to improve the worst case complexity of the
  • problem. For massive datasets, this can be a severe limitation.
  • An alternative strategy:
  • reduce the initial complex using geometric and combinatorial methods

before computing persistence

  • use reductions that preserve persistent homology groups
  • Case of 1D persistence in homology degree 0: [Frosini-Pittore 1999]
  • Case of multiD persistence in homology degree 0: [Cerri et al 2006]:
  • Case of 1D persistence in any degree: [Nanda-Mischaikow 2013]

2 of 19

slide-9
SLIDE 9

Figs/BU-logo-purple-lowres

Motivation

  • The most common algorithm used for computing 1-D persistent

homology has complexity O(n3) [Zomorodian-Carlsson 2005]

  • Computation of multi-D persistent homology has exponential

complexity and polynomial complexity for one-critical filtrations [Carlsson et al 2010]

  • We know of no way to improve the worst case complexity of the
  • problem. For massive datasets, this can be a severe limitation.
  • An alternative strategy:
  • reduce the initial complex using geometric and combinatorial methods

before computing persistence

  • use reductions that preserve persistent homology groups
  • Case of 1D persistence in homology degree 0: [Frosini-Pittore 1999]
  • Case of multiD persistence in homology degree 0: [Cerri et al 2006]:
  • Case of 1D persistence in any degree: [Nanda-Mischaikow 2013]
  • This talk: apply this strategy for multiD persistence in any degree

2 of 19

slide-10
SLIDE 10

Figs/BU-logo-purple-lowres

Outline

Introduction S-Complexes Multidimensional Persistent Homology

3 of 19

slide-11
SLIDE 11

Figs/BU-logo-purple-lowres

Outline

Introduction S-Complexes Multidimensional Persistent Homology Partial Matching & Reductions in the framework of persistence

3 of 19

slide-12
SLIDE 12

Figs/BU-logo-purple-lowres

Outline

Introduction S-Complexes Multidimensional Persistent Homology Partial Matching & Reductions in the framework of persistence A matching algorithm for multidimensional persistence

3 of 19

slide-13
SLIDE 13

Figs/BU-logo-purple-lowres

Outline

Introduction S-Complexes Multidimensional Persistent Homology Partial Matching & Reductions in the framework of persistence A matching algorithm for multidimensional persistence Conclusion

3 of 19

slide-14
SLIDE 14

Figs/BU-logo-purple-lowres

S-Complexes

  • 1. Let S be a finite set with a gradation Sq such that Sq = ∅ for q < 0.

For every element σ ∈ S there exists a unique number q such that σ ∈ Sq. This number is called the dimension of σ and denoted dim σ.

4 of 19

slide-15
SLIDE 15

Figs/BU-logo-purple-lowres

S-Complexes

  • 1. Let S be a finite set with a gradation Sq such that Sq = ∅ for q < 0.

For every element σ ∈ S there exists a unique number q such that σ ∈ Sq. This number is called the dimension of σ and denoted dim σ.

  • 2. Let κ : S × S → R, R a PID, be a function such that, if κ(σ, τ) = 0,

then dim σ = dim τ + 1. κ is called the coincidence index.

4 of 19

slide-16
SLIDE 16

Figs/BU-logo-purple-lowres

S-Complexes

  • 1. Let S be a finite set with a gradation Sq such that Sq = ∅ for q < 0.

For every element σ ∈ S there exists a unique number q such that σ ∈ Sq. This number is called the dimension of σ and denoted dim σ.

  • 2. Let κ : S × S → R, R a PID, be a function such that, if κ(σ, τ) = 0,

then dim σ = dim τ + 1. κ is called the coincidence index.

  • 3. Cq(S) := R(Sq), the free module over R generated by Sq.

4 of 19

slide-17
SLIDE 17

Figs/BU-logo-purple-lowres

S-Complexes

  • 1. Let S be a finite set with a gradation Sq such that Sq = ∅ for q < 0.

For every element σ ∈ S there exists a unique number q such that σ ∈ Sq. This number is called the dimension of σ and denoted dim σ.

  • 2. Let κ : S × S → R, R a PID, be a function such that, if κ(σ, τ) = 0,

then dim σ = dim τ + 1. κ is called the coincidence index.

  • 3. Cq(S) := R(Sq), the free module over R generated by Sq.
  • 4. We say that (S, κ) is an S-complex if (C∗(S), ∂κ

∗ ) with

∂κ

q : Cq(S) → Cq−1(S) defined on generators σ ∈ S by

∂κ(σ) :=

  • τ∈S

κ(σ, τ)τ is a free chain complex with base S.

4 of 19

slide-18
SLIDE 18

Figs/BU-logo-purple-lowres

S-Complexes

  • 1. Let S be a finite set with a gradation Sq such that Sq = ∅ for q < 0.

For every element σ ∈ S there exists a unique number q such that σ ∈ Sq. This number is called the dimension of σ and denoted dim σ.

  • 2. Let κ : S × S → R, R a PID, be a function such that, if κ(σ, τ) = 0,

then dim σ = dim τ + 1. κ is called the coincidence index.

  • 3. Cq(S) := R(Sq), the free module over R generated by Sq.
  • 4. We say that (S, κ) is an S-complex if (C∗(S), ∂κ

∗ ) with

∂κ

q : Cq(S) → Cq−1(S) defined on generators σ ∈ S by

∂κ(σ) :=

  • τ∈S

κ(σ, τ)τ is a free chain complex with base S.

  • 5. By the homology of an S-complex (S, κ) we mean the homology of

the chain complex (C∗(S), ∂κ

∗ ), and we denote it by H∗(S, κ) or simply

by H∗(S).

4 of 19

slide-19
SLIDE 19

Figs/BU-logo-purple-lowres

Examples of S-Complexes

Main examples of S-complexes:

  • simplicial complexes:

5 of 19

slide-20
SLIDE 20

Figs/BU-logo-purple-lowres

Examples of S-Complexes

Main examples of S-complexes:

  • simplicial complexes:
  • 1. assume an ordering of S0 is given and every simplex σ in S is coded as

[v0, v1, . . . vq], where the vertices v0, v1, . . . vq are listed according to the prescribed ordering of S0.

5 of 19

slide-21
SLIDE 21

Figs/BU-logo-purple-lowres

Examples of S-Complexes

Main examples of S-complexes:

  • simplicial complexes:
  • 1. assume an ordering of S0 is given and every simplex σ in S is coded as

[v0, v1, . . . vq], where the vertices v0, v1, . . . vq are listed according to the prescribed ordering of S0.

  • 2. define

κ(σ, τ) :=    (−1)i if σ = [v0, v1, . . . , vq] and τ = [v0, v1, . . . , vi−1, vi+1, . . . , vq]

  • therwise.

5 of 19

slide-22
SLIDE 22

Figs/BU-logo-purple-lowres

Examples of S-Complexes

Main examples of S-complexes:

  • simplicial complexes:
  • 1. assume an ordering of S0 is given and every simplex σ in S is coded as

[v0, v1, . . . vq], where the vertices v0, v1, . . . vq are listed according to the prescribed ordering of S0.

  • 2. define

κ(σ, τ) :=    (−1)i if σ = [v0, v1, . . . , vq] and τ = [v0, v1, . . . , vi−1, vi+1, . . . , vq]

  • therwise.
  • 3. obtain an S-complex whose chain complex is the classical simplicial chain

complex used in simplicial homology

5 of 19

slide-23
SLIDE 23

Figs/BU-logo-purple-lowres

Examples of S-Complexes

Main examples of S-complexes:

  • simplicial complexes:
  • 1. assume an ordering of S0 is given and every simplex σ in S is coded as

[v0, v1, . . . vq], where the vertices v0, v1, . . . vq are listed according to the prescribed ordering of S0.

  • 2. define

κ(σ, τ) :=    (−1)i if σ = [v0, v1, . . . , vq] and τ = [v0, v1, . . . , vi−1, vi+1, . . . , vq]

  • therwise.
  • 3. obtain an S-complex whose chain complex is the classical simplicial chain

complex used in simplicial homology

  • cubical complexes

5 of 19

slide-24
SLIDE 24

Figs/BU-logo-purple-lowres

Examples of S-Complexes

Main examples of S-complexes:

  • simplicial complexes:
  • 1. assume an ordering of S0 is given and every simplex σ in S is coded as

[v0, v1, . . . vq], where the vertices v0, v1, . . . vq are listed according to the prescribed ordering of S0.

  • 2. define

κ(σ, τ) :=    (−1)i if σ = [v0, v1, . . . , vq] and τ = [v0, v1, . . . , vi−1, vi+1, . . . , vq]

  • therwise.
  • 3. obtain an S-complex whose chain complex is the classical simplicial chain

complex used in simplicial homology

  • cubical complexes
  • cell complexes

5 of 19

slide-25
SLIDE 25

Figs/BU-logo-purple-lowres

Multi-filtration of an S-complex

  • In Rk consider the partial order a = (ai) b = (bi) if and only if

ai ≤ bi for all i = 1, 2, . . . , k;

6 of 19

slide-26
SLIDE 26

Figs/BU-logo-purple-lowres

Multi-filtration of an S-complex

  • In Rk consider the partial order a = (ai) b = (bi) if and only if

ai ≤ bi for all i = 1, 2, . . . , k;

  • A k-filtration of S is a family F = {Sa}a∈Rk of subsets of S with the

following properties:

  • F is nested with respect to inclusions:

Sa ⊆ Sb, for every a b

  • F is non-increasing on faces:

if σ ∈ Sa and τ is a face of σ then τ ∈ Sa

6 of 19

slide-27
SLIDE 27

Figs/BU-logo-purple-lowres

Multi-filtration of an S-complex

  • In Rk consider the partial order a = (ai) b = (bi) if and only if

ai ≤ bi for all i = 1, 2, . . . , k;

  • A k-filtration of S is a family F = {Sa}a∈Rk of subsets of S with the

following properties:

  • F is nested with respect to inclusions:

Sa ⊆ Sb, for every a b

  • F is non-increasing on faces:

if σ ∈ Sa and τ is a face of σ then τ ∈ Sa

  • Given a function f : S0 → Rk, the sublevel set filtration is defined by

Sa = {σ = [v0, v1, . . . , vq] ∈ S | f(vi) a, i = 0, . . . , q}.

6 of 19

slide-28
SLIDE 28

Figs/BU-logo-purple-lowres

Multidimensional Persistent Homology

Persistence analyzes the homological changes of the filtration as a varies:

7 of 19

slide-29
SLIDE 29

Figs/BU-logo-purple-lowres

Multidimensional Persistent Homology

Persistence analyzes the homological changes of the filtration as a varies:

  • for a b, consider the homomorphism

H∗(j(a,b)) : H∗(Sa) → H∗(Sb). induced by the inclusion map j(a,b) : Sa ֒ → Sb.

7 of 19

slide-30
SLIDE 30

Figs/BU-logo-purple-lowres

Multidimensional Persistent Homology

Persistence analyzes the homological changes of the filtration as a varies:

  • for a b, consider the homomorphism

H∗(j(a,b)) : H∗(Sa) → H∗(Sb). induced by the inclusion map j(a,b) : Sa ֒ → Sb.

  • The i-th persistent homology group of the filtration at (a, b) is image
  • f the map Hi(j(a,b)):

Ha,b

i

(S) := im Hi(j(a,b))

7 of 19

slide-31
SLIDE 31

Figs/BU-logo-purple-lowres

Partial matchings

Given an S-complex (S, κ), a partial matching on (S, κ) is a quadruplet (A, B, C, m ) where

  • A, B, C is a partition of S, and
  • m : A → B is a map such that, for each τ ∈ A, κ(m (τ), τ) is invertible.

In particular, m (τ) is a primary coface of τ.

8 of 19

slide-32
SLIDE 32

Figs/BU-logo-purple-lowres

Partial matchings

Given an S-complex (S, κ), a partial matching on (S, κ) is a quadruplet (A, B, C, m ) where

  • A, B, C is a partition of S, and
  • m : A → B is a map such that, for each τ ∈ A, κ(m (τ), τ) is invertible.

In particular, m (τ) is a primary coface of τ. (A, B, C, m ) is conveniently represented by arrows:

  • For all pairs (m (τ), τ), draw an arrow from τ to m (τ)

8 of 19

slide-33
SLIDE 33

Figs/BU-logo-purple-lowres

Partial matchings

Given an S-complex (S, κ), a partial matching on (S, κ) is a quadruplet (A, B, C, m ) where

  • A, B, C is a partition of S, and
  • m : A → B is a map such that, for each τ ∈ A, κ(m (τ), τ) is invertible.

In particular, m (τ) is a primary coface of τ. (A, B, C, m ) is conveniently represented by arrows:

  • For all pairs (m (τ), τ), draw an arrow from τ to m (τ)
  • A partial matching is called acyclic if there is no non-trivial sequence
  • f simplices

σ0

m

− → τ0

>

− → σ1

m

− → τ1

>

− → . . .

>

− → σn

m

− → τn

>

− → σ0

8 of 19

slide-34
SLIDE 34

Figs/BU-logo-purple-lowres

Reductions

Let (A, B, C, m ) be a partial matching (not necessarily acyclic) on (S, κ). A single pair (m (σ), σ) can be removed so to obtain again an S-complex:

  • For σ ∈ A, define (S, κ) where S = S \ {m (σ), σ}, and κ : S × S → R,

κ(η, ξ) = κ(η, ξ) − κ(η, σ)κ(m (σ), ξ) κ(m (σ), σ) .

  • (S, κ) is an S-complex.

9 of 19

slide-35
SLIDE 35

Figs/BU-logo-purple-lowres

Reductions

Let (A, B, C, m ) be a partial matching (not necessarily acyclic) on (S, κ). A single pair (m (σ), σ) can be removed so to obtain again an S-complex:

  • For σ ∈ A, define (S, κ) where S = S \ {m (σ), σ}, and κ : S × S → R,

κ(η, ξ) = κ(η, ξ) − κ(η, σ)κ(m (σ), ξ) κ(m (σ), σ) .

  • (S, κ) is an S-complex.

Proposition

If (A, B, C, m ) is acyclic then, for any τ ∈ A \ {σ}, κ(m (τ), τ) is invertible. Furthermore, κ(m (τ), τ) = κ(m (τ), τ).

9 of 19

slide-36
SLIDE 36

Figs/BU-logo-purple-lowres

Reductions

Let (A, B, C, m ) be a partial matching (not necessarily acyclic) on (S, κ). A single pair (m (σ), σ) can be removed so to obtain again an S-complex:

  • For σ ∈ A, define (S, κ) where S = S \ {m (σ), σ}, and κ : S × S → R,

κ(η, ξ) = κ(η, ξ) − κ(η, σ)κ(m (σ), ξ) κ(m (σ), σ) .

  • (S, κ) is an S-complex.

Proposition

If (A, B, C, m ) is acyclic then, for any τ ∈ A \ {σ}, κ(m (τ), τ) is invertible. Furthermore, κ(m (τ), τ) = κ(m (τ), τ).

Theorem

Fixed σ ∈ A, define A = A \ {σ}, B = B \ {m (σ)}, m = m |A, and C = C. If (A, B, C, m ) is an acyclic partial matching, then (A, B, C, m ) is an acyclic partial matching too.

9 of 19

slide-37
SLIDE 37

Figs/BU-logo-purple-lowres

Reductions preserve homology [KMS 1998]

  • Define π : C∗(S) → C∗(S) and ι : C∗(S) → C∗(S) on generators by

setting π(τ) =    if τ = m (σ) −

ξ∈S κ(m (σ),ξ) κ(m (σ),σ)ξ

if τ = σ τ

  • therwise

and ι(τ) = τ − κ(τ, σ) κ(m (σ), σ)m (σ).

10 of 19

slide-38
SLIDE 38

Figs/BU-logo-purple-lowres

Reductions preserve homology [KMS 1998]

  • Define π : C∗(S) → C∗(S) and ι : C∗(S) → C∗(S) on generators by

setting π(τ) =    if τ = m (σ) −

ξ∈S κ(m (σ),ξ) κ(m (σ),σ)ξ

if τ = σ τ

  • therwise

and ι(τ) = τ − κ(τ, σ) κ(m (σ), σ)m (σ).

  • π and ι are chain equivalences with the chain homotopy

D∗ : C∗(S) → C∗+1(S) given on generators τ ∈ Sq, q ∈ Z, by Dq(τ) =

  • 1

κ(m (σ),σ)m (σ)

if τ = σ

  • therwise

10 of 19

slide-39
SLIDE 39

Figs/BU-logo-purple-lowres

Filtration-preserving matching

A partial matching (A, B, C, m ) on a filtered S-complex is said to preserve the filtration when, for every a ∈ Rk, If σ ∈ Sa then m (σ) ∈ Sa.

11 of 19

slide-40
SLIDE 40

Figs/BU-logo-purple-lowres

Filtration-preserving matching

A partial matching (A, B, C, m ) on a filtered S-complex is said to preserve the filtration when, for every a ∈ Rk, If σ ∈ Sa then m (σ) ∈ Sa. A filtration-preserving partial matching on S naturally induces a filtration

  • n S: for each τ ∈ S,

τ ∈ Sa ⇐ ⇒ τ ∈ Sa.

11 of 19

slide-41
SLIDE 41

Figs/BU-logo-purple-lowres

Filtration-preserving matching

A partial matching (A, B, C, m ) on a filtered S-complex is said to preserve the filtration when, for every a ∈ Rk, If σ ∈ Sa then m (σ) ∈ Sa. A filtration-preserving partial matching on S naturally induces a filtration

  • n S: for each τ ∈ S,

τ ∈ Sa ⇐ ⇒ τ ∈ Sa.

Proposition

Let (S, κ) be obtained from (S, κ) by reduction of the pair (m (σ), σ). Then, for each q ∈ Z, π(Cq(Sa)) ⊆ Cq(Sa), ι(Cq(Sa)) ⊆ Cq(Sa), Dq(Cq(Sa)) ⊆ Cq+1(Sa)

11 of 19

slide-42
SLIDE 42

Figs/BU-logo-purple-lowres

Reductions preserve persistent homology

Proposition

The maps π|C∗(Sa) : C∗(Sa) → C∗(Sa) and ι|C∗(Sa) : C∗(Sa) → C∗(Sa) defined by restriction are chain homotopy equivalences. Moreover, the diagram H∗(Sa)

H∗(j(a,b))

− → H∗(Sb)   ∼

=

  ∼

=

H∗(Sa)

H∗(j(a,b))

− → H∗(Sb) commutes.

12 of 19

slide-43
SLIDE 43

Figs/BU-logo-purple-lowres

Reductions preserve persistent homology

Proposition

The maps π|C∗(Sa) : C∗(Sa) → C∗(Sa) and ι|C∗(Sa) : C∗(Sa) → C∗(Sa) defined by restriction are chain homotopy equivalences. Moreover, the diagram H∗(Sa)

H∗(j(a,b))

− → H∗(Sb)   ∼

=

  ∼

=

H∗(Sa)

H∗(j(a,b))

− → H∗(Sb) commutes.

Theorem

For every a b ∈ Rk, Ha,b

∗ (S) is isomorphic to Ha,b ∗ (S).

12 of 19

slide-44
SLIDE 44

Figs/BU-logo-purple-lowres

The matching algorithm: introduction

  • We start from the matching algorithm of [King-Knudson-Mramor

2005] for homology

  • input: a simplicial complex and an R-valued function on its vertices
  • output: an acyclic partial matching
  • recursive
  • vertex-based and lower-link-based
  • cancels pairs of critical cells to achieve optimality

13 of 19

slide-45
SLIDE 45

Figs/BU-logo-purple-lowres

The matching algorithm: introduction

  • We start from the matching algorithm of [King-Knudson-Mramor

2005] for homology

  • input: a simplicial complex and an R-valued function on its vertices
  • output: an acyclic partial matching
  • recursive
  • vertex-based and lower-link-based
  • cancels pairs of critical cells to achieve optimality
  • and extend it for multidimensional persistent homology
  • input: a simplicial complex, an Rk-valued function and an ordering on its

vertices

  • output: a filtration-preserving acyclic partial matching
  • recursive
  • vertex-based and lower-link-based
  • without cancellation

13 of 19

slide-46
SLIDE 46

Figs/BU-logo-purple-lowres

Indexing map for vertices

Lemma

There exists an injective function I : S0 → N such that, for each v, w ∈ S0 with v = w, f(v) f(w) implies I(v) < I(w).

14 of 19

slide-47
SLIDE 47

Figs/BU-logo-purple-lowres

Indexing map for vertices

Lemma

There exists an injective function I : S0 → N such that, for each v, w ∈ S0 with v = w, f(v) f(w) implies I(v) < I(w). Construction of I:

14 of 19

slide-48
SLIDE 48

Figs/BU-logo-purple-lowres

Indexing map for vertices

Lemma

There exists an injective function I : S0 → N such that, for each v, w ∈ S0 with v = w, f(v) f(w) implies I(v) < I(w). Construction of I:

  • f : S0 → Rk induces a partial order on the vertices

14 of 19

slide-49
SLIDE 49

Figs/BU-logo-purple-lowres

Indexing map for vertices

Lemma

There exists an injective function I : S0 → N such that, for each v, w ∈ S0 with v = w, f(v) f(w) implies I(v) < I(w). Construction of I:

  • f : S0 → Rk induces a partial order on the vertices
  • represent it by a Directed Acyclic Graph

14 of 19

slide-50
SLIDE 50

Figs/BU-logo-purple-lowres

Indexing map for vertices

Lemma

There exists an injective function I : S0 → N such that, for each v, w ∈ S0 with v = w, f(v) f(w) implies I(v) < I(w). Construction of I:

  • f : S0 → Rk induces a partial order on the vertices
  • represent it by a Directed Acyclic Graph
  • apply the topological sorting algorithm

14 of 19

slide-51
SLIDE 51

Figs/BU-logo-purple-lowres

Indexing map for vertices

Lemma

There exists an injective function I : S0 → N such that, for each v, w ∈ S0 with v = w, f(v) f(w) implies I(v) < I(w). Construction of I:

  • f : S0 → Rk induces a partial order on the vertices
  • represent it by a Directed Acyclic Graph
  • apply the topological sorting algorithm
  • this algorithm has linear complexity

14 of 19

slide-52
SLIDE 52

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B.

15 of 19

slide-53
SLIDE 53

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B. function Partition (complex S, function f, indexing map I)

15 of 19

slide-54
SLIDE 54

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B. function Partition (complex S, function f, indexing map I)

  • 1. Initially, set A, B, C = ∅.

15 of 19

slide-55
SLIDE 55

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B. function Partition (complex S, function f, indexing map I)

  • 1. Initially, set A, B, C = ∅.
  • 2. For each v ∈ S0,

15 of 19

slide-56
SLIDE 56

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B. function Partition (complex S, function f, indexing map I)

  • 1. Initially, set A, B, C = ∅.
  • 2. For each v ∈ S0,

Let S′(v) = {τ ∈ S | v ∗ τ ∈ S ∧ ∀ vertex w ∈ τ, f(w) f(v)}.

15 of 19

slide-57
SLIDE 57

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B. function Partition (complex S, function f, indexing map I)

  • 1. Initially, set A, B, C = ∅.
  • 2. For each v ∈ S0,

Let S′(v) = {τ ∈ S | v ∗ τ ∈ S ∧ ∀ vertex w ∈ τ, f(w) f(v)}. If S′(v) is empty, then add v to C. Else

15 of 19

slide-58
SLIDE 58

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B. function Partition (complex S, function f, indexing map I)

  • 1. Initially, set A, B, C = ∅.
  • 2. For each v ∈ S0,

Let S′(v) = {τ ∈ S | v ∗ τ ∈ S ∧ ∀ vertex w ∈ τ, f(w) f(v)}. If S′(v) is empty, then add v to C. Else

add v to A.

15 of 19

slide-59
SLIDE 59

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B. function Partition (complex S, function f, indexing map I)

  • 1. Initially, set A, B, C = ∅.
  • 2. For each v ∈ S0,

Let S′(v) = {τ ∈ S | v ∗ τ ∈ S ∧ ∀ vertex w ∈ τ, f(w) f(v)}. If S′(v) is empty, then add v to C. Else

add v to A. let f ′ : S′

0(v) → Rk and I′ : S′ 0(v) → N be the restrictions of f and I.

15 of 19

slide-60
SLIDE 60

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B. function Partition (complex S, function f, indexing map I)

  • 1. Initially, set A, B, C = ∅.
  • 2. For each v ∈ S0,

Let S′(v) = {τ ∈ S | v ∗ τ ∈ S ∧ ∀ vertex w ∈ τ, f(w) f(v)}. If S′(v) is empty, then add v to C. Else

add v to A. let f ′ : S′

0(v) → Rk and I′ : S′ 0(v) → N be the restrictions of f and I.

Call Partition (recursively): (A′, B′, C′, m ′) = Partition(S′(v), f ′, I′).

15 of 19

slide-61
SLIDE 61

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B. function Partition (complex S, function f, indexing map I)

  • 1. Initially, set A, B, C = ∅.
  • 2. For each v ∈ S0,

Let S′(v) = {τ ∈ S | v ∗ τ ∈ S ∧ ∀ vertex w ∈ τ, f(w) f(v)}. If S′(v) is empty, then add v to C. Else

add v to A. let f ′ : S′

0(v) → Rk and I′ : S′ 0(v) → N be the restrictions of f and I.

Call Partition (recursively): (A′, B′, C′, m ′) = Partition(S′(v), f ′, I′). Set D′ = {w ∈ C′

0 | f(w) is minimal in C′ 0 w.r.t. }.

Set w0 as the vertex with smallest index I′ in D′. Add [v, w0] to B and define m (v) = [v, w0]. For each σ ∈ C′ \ {w0}, add v ∗ σ to C. For each σ ∈ A′, add v ∗ σ to A, v ∗ m ′(σ) to B, and set m (v ∗ σ) = v ∗ m ′(σ).

15 of 19

slide-62
SLIDE 62

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B. function Partition (complex S, function f, indexing map I)

  • 1. Initially, set A, B, C = ∅.
  • 2. For each v ∈ S0,

Let S′(v) = {τ ∈ S | v ∗ τ ∈ S ∧ ∀ vertex w ∈ τ, f(w) f(v)}. If S′(v) is empty, then add v to C. Else

add v to A. let f ′ : S′

0(v) → Rk and I′ : S′ 0(v) → N be the restrictions of f and I.

Call Partition (recursively): (A′, B′, C′, m ′) = Partition(S′(v), f ′, I′). Set D′ = {w ∈ C′

0 | f(w) is minimal in C′ 0 w.r.t. }.

Set w0 as the vertex with smallest index I′ in D′. Add [v, w0] to B and define m (v) = [v, w0]. For each σ ∈ C′ \ {w0}, add v ∗ σ to C. For each σ ∈ A′, add v ∗ σ to A, v ∗ m ′(σ) to B, and set m (v ∗ σ) = v ∗ m ′(σ).

  • 3. For each σ ∈ S \ (A ∪ B ∪ C), add σ to C.

15 of 19

slide-63
SLIDE 63

Figs/BU-logo-purple-lowres

The matching algorithm for multiD persistence

Input: A finite simplicial complex S with a function f : S0 → Rk and an indexing I : S0 → N on its vertices. Output: Three lists A, B, C of simplices of S, and a function m : A → B. function Partition (complex S, function f, indexing map I)

  • 1. Initially, set A, B, C = ∅.
  • 2. For each v ∈ S0,

Let S′(v) = {τ ∈ S | v ∗ τ ∈ S ∧ ∀ vertex w ∈ τ, f(w) f(v)}. If S′(v) is empty, then add v to C. Else

add v to A. let f ′ : S′

0(v) → Rk and I′ : S′ 0(v) → N be the restrictions of f and I.

Call Partition (recursively): (A′, B′, C′, m ′) = Partition(S′(v), f ′, I′). Set D′ = {w ∈ C′

0 | f(w) is minimal in C′ 0 w.r.t. }.

Set w0 as the vertex with smallest index I′ in D′. Add [v, w0] to B and define m (v) = [v, w0]. For each σ ∈ C′ \ {w0}, add v ∗ σ to C. For each σ ∈ A′, add v ∗ σ to A, v ∗ m ′(σ) to B, and set m (v ∗ σ) = v ∗ m ′(σ).

  • 3. For each σ ∈ S \ (A ∪ B ∪ C), add σ to C.
  • 4. return A, B, C, m .

15 of 19

slide-64
SLIDE 64

Figs/BU-logo-purple-lowres

Correctness, reduction, and complexity

Theorem

The matching algorithm produces a partial matching (A, B, C, m ) that is

  • acyclic. Moreover, if σ ∈ Sa then m (σ) ∈ Sa.

16 of 19

slide-65
SLIDE 65

Figs/BU-logo-purple-lowres

Correctness, reduction, and complexity

Theorem

The matching algorithm produces a partial matching (A, B, C, m ) that is

  • acyclic. Moreover, if σ ∈ Sa then m (σ) ∈ Sa.

Corollary

For every a b ∈ Rk, Ha,b

∗ (S) is isomorphic to Ha,b ∗ (C).

16 of 19

slide-66
SLIDE 66

Figs/BU-logo-purple-lowres

Correctness, reduction, and complexity

Theorem

The matching algorithm produces a partial matching (A, B, C, m ) that is

  • acyclic. Moreover, if σ ∈ Sa then m (σ) ∈ Sa.

Corollary

For every a b ∈ Rk, Ha,b

∗ (S) is isomorphic to Ha,b ∗ (C).

Theorem

The algorithm produces (A, B, C, m ) in less than 2γd(d + 1)!N steps, where d : dimension of S N : cardinality of S0 γ : upper bound on the number of cofaces of any simplex in S

16 of 19

slide-67
SLIDE 67

Figs/BU-logo-purple-lowres

Numerical tests

  • Considered four simplicial complexes.
  • Each complex was filtered by the R2-valued function defined on

vertices by f(v) = (|x|, |y|).

  • Present the results in a table where
  • row 1 shows the number of vertices, edges, faces, and the total number of

cells of each considered mesh S,

  • while row 2 shows the same quantities referred to the cell complex C
  • btained by using our matching algorithm to reduce S.
  • Finally, row 3 shows the ratio between the second and the first rows,

expressing them in percentage points. In other words, the lower are those ratios, the higher is the reduction rate.

17 of 19

slide-68
SLIDE 68

Figs/BU-logo-purple-lowres

Numerical tests

tie space_shuttle x_wing space_station #S0 #C0 % 2014 228 11.3 2376 121 5.1 3099 175 5.6 5749 1879 32.7 #S1 #C1 % 5944 3343 56.2 6330 3699 58.4 9190 3605 39.2 15949 11158 70.0 #S2 #C2 % 3827 3012 78.7 3952 3576 90.5 6076 3415 56.2 10237 9316 91.0 #S #C % 11785 6583 55.9 12658 7396 58.4 18365 7195 39.2 31935 22353 70.0

18 of 19

slide-69
SLIDE 69

Figs/BU-logo-purple-lowres

Conclusions

  • The reduction algorithm has linear complexity vs polynomial

complexity of persistence computation

  • May be a convenient pre-processing technique
  • Full paper available at arXiv:1310.8089v2
  • On-going research focuses on improving the results obtained so far:
  • using a simplex-based and lower-star-based algorithm inspired from

[Robins et al. 2010]

19 of 19

slide-70
SLIDE 70

Figs/BU-logo-purple-lowres

Conclusions

  • The reduction algorithm has linear complexity vs polynomial

complexity of persistence computation

  • May be a convenient pre-processing technique
  • Full paper available at arXiv:1310.8089v2
  • On-going research focuses on improving the results obtained so far:
  • using a simplex-based and lower-star-based algorithm inspired from

[Robins et al. 2010]

Thank you for your attention!

19 of 19