Ripser Efficient Computation of Vietoris–Rips Persistence Barcodes U lri c h Bau er TUM May 2, 2017 S pe c i a l Ha usdorff P rogr a m Applied a nd C omp u t a tion a l A lge b r a i c T opolog y Ha usdorff R ese a r c h I nstitute for Ma them a ti c s, B onn http: // ulri c h- ba uer.org /ripser-ta lk- b onn.pdf 1 / 17
Vietoris–Rips persistence
Vietoris–Rips filtr a tions C onsider a finite metri c sp ac e ( X , d ) . T he Vietoris–Rips c omple x is the simpli c i a l c omple x Rips t ( X ) = { S ⊆ X ∣ diam S ≤ t } • 1 -skeleton: a ll edges w ith p a ir w ise dist a n c e ≤ t • a ll possi b le higher simpli c es (fl a g c omple x ) http: //u lri c h- bau er.org /ripser-ta lk- b onn.pdf 2 / 17
Vietoris–Rips filtr a tions C onsider a finite metri c sp ac e ( X , d ) . T he Vietoris–Rips c omple x is the simpli c i a l c omple x Rips t ( X ) = { S ⊆ X ∣ diam S ≤ t } • 1 -skeleton: a ll edges w ith p a ir w ise dist a n c e ≤ t • a ll possi b le higher simpli c es (fl a g c omple x ) G o a l: • c omp u te persisten c e ba r c odes for H d ( Rips t ( X )) (in dimensions 0 ≤ d ≤ k ) http: //u lri c h- bau er.org /ripser-ta lk- b onn.pdf 2 / 17
Demo: Ripser Exa mple d a t a set: • 192 points on S 2 • persistent homology ba r c odes up to dimension 2 • over 56 mio. simpli c es in 3 -skeleton http: // ulri c h- ba uer.org /ripser-ta lk- b onn.pdf 3 / 17
Demo: Ripser Exa mple d a t a set: • 192 points on S 2 • persistent homology ba r c odes up to dimension 2 • over 56 mio. simpli c es in 3-skeleton C omp a rison with other softw a re: • j a v a plex: 3200 se c onds , 1 2 GB • D ion y s u s: 5 33 se c onds, 3 .4 GB • GUDHI : 75 se c onds, 2 .9 GB • DIPHA : 5 0 se c onds, 6 GB • E irene: 1 2 se c onds, 1.5 GB http: // ulri c h- ba uer.org /ripser-ta lk- b onn.pdf 3 / 17
Demo: Ripser Exa mple d a t a set: • 192 points on S 2 • persistent homology ba r c odes up to dimension 2 • over 56 mio. simpli c es in 3-skeleton C omp a rison with other softw a re: • j a v a plex: 3200 se c onds , 1 2 GB • D ion y s u s: 5 33 se c onds, 3 .4 GB • GUDHI : 75 se c onds, 2 .9 GB • DIPHA : 5 0 se c onds, 6 GB • E irene: 1 2 se c onds, 1.5 GB R ipser: 1. 2 se c onds, 15 2 MB http: // ulri c h- ba uer.org /ripser-ta lk- b onn.pdf 3 / 17
Ripser A software for computing Vietoris–Rips persistence barcodes • about 1 000 lines of C ++ c ode , no e x tern a l dependen c ies • s u pport for • c oeffi c ients in a prime field F p • sp a rse dist a n c e m a tri c es for dist a n c e threshold • open so u r c e ( http://ripser.org ) • rele a sed in J u l y 20 16 • online v ersion ( http://live.ripser.org ) • l a u n c hed in A u g u st 20 16 • most effi c ient soft w a re for V ietoris– R ips persisten c e • c omp u tes H 2 ba r c ode for 50000 r a ndom points on a tor u s in 1 3 6 se c onds / 9 GB ( u sing distance thr eshold) • 2016 ATMCS B est N ew S oftw a re A w a rd (jointly with RIVET ) http: // ulri c h- ba uer.org /ripser-ta lk- b onn.pdf 4 / 17
Design goa ls G o a ls for pre v io u s proje c ts: • PHAT [B , K er b er, R einingh au s, Wa gner 20 1 3 ] : f a st persisten c e c omp u t a tion (m a tri x red u c tion onl y ) • DIPHA [B , K er b er, R einingh a u s 20 14 ] : distri b u ted persisten c e c omp u t a tion http: // ulri c h- ba uer.org /ripser-ta lk- b onn.pdf 5 / 17
Design goa ls G o a ls for pre v io u s proje c ts: • PHAT [B , K er b er, R einingh au s, Wa gner 20 1 3 ] : f a st persisten c e c omp u t a tion (m a tri x red u c tion onl y ) • DIPHA [B , K er b er, R einingh a u s 20 14 ] : distri b u ted persisten c e c omp u t a tion G o a ls for R ipser: • U se a s little memor y a s possi b le • B e re a son ab le ab o u t c omp u t a tion time http: // ulri c h- ba uer.org /ripser-ta lk- b onn.pdf 5 / 17
The four specia l ingredients T he impro v ed perform a n c e is ba sed on 4 insights: • C le a ring inessenti a l c ol u mns [C hen, K er b er 20 11 ] • C omp u ting c ohomolog y [ de S il v a et a l. 20 11 ] • I mpli c it m a tri x red u c tion • A pp a rent a nd emergent p a irs http: // ulri c h- ba uer.org /ripser-ta lk- b onn.pdf 6 / 17
The four specia l ingredients T he impro v ed perform a n c e is ba sed on 4 insights: • C le a ring inessenti a l c ol u mns [C hen, K er b er 20 11 ] • C omp u ting c ohomolog y [ de S il v a et a l. 20 11 ] • I mpli c it m a tri x red u c tion • A pp a rent a nd emergent p a irs L essons from PHAT : • C le a ring a nd c ohomolog y y ield c onsider ab le speed u p, • b u t onl y w hen both a re u sed in c onj u c tion! http: // ulri c h- ba uer.org /ripser-ta lk- b onn.pdf 6 / 17
Matrix reduction
Matrix reduction a lgorithm S etting: • finite metri c sp ac e X , n points • persistent homolog y H d ( Rips t ( X ) ; F 2 ) in dimensions d ≤ k N ot a tion: • D : b o u nd a r y m a tri x of filtr a tion • R i : i th c ol u mn of R http: //u lri c h- bau er.org /ripser-ta lk- b onn.pdf 7 / 17
Matrix reduction a lgorithm S etting: • finite metri c sp ac e X , n points • persistent homolog y H d ( Rips t ( X ) ; F 2 ) in dimensions d ≤ k N ot a tion: • D : b o u nd a r y m a tri x of filtr a tion • R i : i th c ol u mn of R A lgorithm: • R = D , V = I • w hile ∃ i < j w ith pivot R i = pivot R j • a dd R i to R j , a dd V i to V j http: //u lri c h- bau er.org /ripser-ta lk- b onn.pdf 7 / 17
Matrix reduction a lgorithm S etting: • finite metri c sp ac e X , n points • persistent homolog y H d ( Rips t ( X ) ; F 2 ) in dimensions d ≤ k N ot a tion: • D : b o u nd a r y m a tri x of filtr a tion • R i : i th c ol u mn of R A lgorithm: • R = D , V = I • w hile ∃ i < j w ith pivot R i = pivot R j • a dd R i to R j , a dd V i to V j R es u lt: • R = D ⋅ V is red uc ed ( u niq u e pi v ots) • V is f u ll r a nk u pper tri a ng u l a r http: //u lri c h- bau er.org /ripser-ta lk- b onn.pdf 7 / 17
Compatib le ba sis cyc les F or a red uc ed b o u nd a r y m a tri x R = D ⋅ V , ca ll P = { i ∶ R i = 0 } positive indi c es, N = { j ∶ R j ≠ 0 } negative indi c es, E = P ∖ pivots R essentia l indi c es . T hen http: //u lri c h- bau er.org /ripser-ta lk- b onn.pdf 8 / 17
Compatib le ba sis cyc les F or a red uc ed b o u nd a r y m a tri x R = D ⋅ V , ca ll P = { i ∶ R i = 0 } positive indi c es, N = { j ∶ R j ≠ 0 } negative indi c es, E = P ∖ pivots R essentia l indi c es . T hen ̃ Σ Z = { V i ∣ i ∈ P } is a ba sis of Z ∗ , http: //u lri c h- bau er.org /ripser-ta lk- b onn.pdf 8 / 17
Compatib le ba sis cyc les F or a red uc ed b o u nd a r y m a tri x R = D ⋅ V , ca ll P = { i ∶ R i = 0 } positive indi c es, N = { j ∶ R j ≠ 0 } negative indi c es, E = P ∖ pivots R essentia l indi c es . T hen ̃ Σ Z = { V i ∣ i ∈ P } is a ba sis of Z ∗ , Σ B = { R j ∣ j ∈ N } is a ba sis of B ∗ , http: //u lri c h- bau er.org /ripser-ta lk- b onn.pdf 8 / 17
Compatib le ba sis cyc les F or a red uc ed b o u nd a r y m a tri x R = D ⋅ V , ca ll P = { i ∶ R i = 0 } positive indi c es, N = { j ∶ R j ≠ 0 } negative indi c es, E = P ∖ pivots R essentia l indi c es . T hen ̃ Σ Z = { V i ∣ i ∈ P } is a ba sis of Z ∗ , Σ B = { R j ∣ j ∈ N } is a ba sis of B ∗ , Σ Z = Σ B ∪ { V i ∣ i ∈ E } is a nother ba sis of Z ∗ . http: //u lri c h- bau er.org /ripser-ta lk- b onn.pdf 8 / 17
Compatib le ba sis cyc les F or a red uc ed b o u nd a r y m a tri x R = D ⋅ V , ca ll P = { i ∶ R i = 0 } positive indi c es, N = { j ∶ R j ≠ 0 } negative indi c es, E = P ∖ pivots R essentia l indi c es . T hen ̃ Σ Z = { V i ∣ i ∈ P } is a ba sis of Z ∗ , Σ B = { R j ∣ j ∈ N } is a ba sis of B ∗ , Σ Z = Σ B ∪ { V i ∣ i ∈ E } is a nother ba sis of Z ∗ . P ersistent homolog y is gener a ted by the ba sis cyc les Σ Z . http: //u lri c h- bau er.org /ripser-ta lk- b onn.pdf 8 / 17
Compatib le ba sis cyc les F or a red uc ed b o u nd a r y m a tri x R = D ⋅ V , ca ll P = { i ∶ R i = 0 } positive indi c es, N = { j ∶ R j ≠ 0 } negative indi c es, E = P ∖ pivots R essentia l indi c es . T hen ̃ Σ Z = { V i ∣ i ∈ P } is a ba sis of Z ∗ , Σ B = { R j ∣ j ∈ N } is a ba sis of B ∗ , Σ Z = Σ B ∪ { V i ∣ i ∈ E } is a nother ba sis of Z ∗ . P ersistent homolog y is gener a ted by the ba sis cyc les Σ Z . • P ersisten c e inter va ls: {[ i , j ) ∣ i = pivot R j } ∪ {[ i , ∞ ) ∣ i ∈ E } • C ol u mns w ith non-essenti a l positi v e indi c es ne v er u sed! http: //u lri c h- bau er.org /ripser-ta lk- b onn.pdf 8 / 17
C le a ring
C le a ring non-essenti a l positi v e c ol u mns I de a [C hen, K er b er 20 11 ] : • D on’t red u c e a t non-essenti a l positi v e indi c es • R ed u c e b o u nd a r y m a tri c es of ∂ d ∶ C d → C d − 1 in de c re a sing dimension d = k + 1 , . . . , 1 • W hene v er i = pivot R j (in m a tri x for ∂ d ) • S et R i to 0 (in m a tri x for ∂ d − 1 ) http: // ulri c h- ba uer.org /ripser-ta lk- b onn.pdf 9 / 17
C le a ring non-essenti a l positi v e c ol u mns I de a [C hen, K er b er 20 11 ] : • D on’t red u c e a t non-essenti a l positi v e indi c es • R ed u c e b o u nd a r y m a tri c es of ∂ d ∶ C d → C d − 1 in de c re a sing dimension d = k + 1 , . . . , 1 • W hene v er i = pivot R j (in m a tri x for ∂ d ) • S et R i to 0 (in m a tri x for ∂ d − 1 ) • S et V i to R j http: // ulri c h- ba uer.org /ripser-ta lk- b onn.pdf 9 / 17
Recommend
More recommend