multipers 2.2.0__tar.gz → 2.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of multipers might be problematic. Click here for more details.

Files changed (84) hide show
  1. {multipers-2.2.0/multipers.egg-info → multipers-2.2.1}/PKG-INFO +11 -11
  2. {multipers-2.2.0 → multipers-2.2.1}/README.md +9 -9
  3. {multipers-2.2.0 → multipers-2.2.1}/multipers/function_rips.cpp +155 -155
  4. {multipers-2.2.0 → multipers-2.2.1}/multipers/grids.cpp +155 -155
  5. {multipers-2.2.0 → multipers-2.2.1}/multipers/gudhi/Simplex_tree_multi_interface.h +4 -2
  6. {multipers-2.2.0 → multipers-2.2.1}/multipers/gudhi/gudhi/Multi_critical_filtration.h +83 -2
  7. {multipers-2.2.0 → multipers-2.2.1}/multipers/gudhi/gudhi/One_critical_filtration.h +60 -11
  8. {multipers-2.2.0 → multipers-2.2.1}/multipers/io.cpp +36 -25
  9. {multipers-2.2.0 → multipers-2.2.1}/multipers/io.pyx +4 -4
  10. {multipers-2.2.0 → multipers-2.2.1}/multipers/mma_structures.cpp +163 -163
  11. {multipers-2.2.0 → multipers-2.2.1}/multipers/multi_parameter_rank_invariant/hilbert_function.h +2 -5
  12. {multipers-2.2.0 → multipers-2.2.1}/multipers/multi_parameter_rank_invariant/rank_invariant.h +1 -1
  13. {multipers-2.2.0 → multipers-2.2.1}/multipers/multiparameter_module_approximation.cpp +5090 -5090
  14. {multipers-2.2.0 → multipers-2.2.1}/multipers/point_measure.cpp +155 -155
  15. {multipers-2.2.0 → multipers-2.2.1}/multipers/simplex_tree_multi.cpp +43156 -39426
  16. {multipers-2.2.0 → multipers-2.2.1}/multipers/simplex_tree_multi.pyx +473 -177
  17. {multipers-2.2.0 → multipers-2.2.1}/multipers/slicer.cpp +11762 -9186
  18. {multipers-2.2.0 → multipers-2.2.1}/multipers/slicer.pyx +57 -57
  19. {multipers-2.2.0 → multipers-2.2.1}/multipers/tests/test_simplextreemulti.py +16 -1
  20. {multipers-2.2.0 → multipers-2.2.1}/multipers/tests/test_slicer.py +26 -0
  21. {multipers-2.2.0 → multipers-2.2.1/multipers.egg-info}/PKG-INFO +11 -11
  22. {multipers-2.2.0 → multipers-2.2.1}/multipers.egg-info/requires.txt +1 -1
  23. {multipers-2.2.0 → multipers-2.2.1}/pyproject.toml +2 -2
  24. {multipers-2.2.0 → multipers-2.2.1}/LICENSE +0 -0
  25. {multipers-2.2.0 → multipers-2.2.1}/MANIFEST.in +0 -0
  26. {multipers-2.2.0 → multipers-2.2.1}/multipers/__init__.py +0 -0
  27. {multipers-2.2.0 → multipers-2.2.1}/multipers/_signed_measure_meta.py +0 -0
  28. {multipers-2.2.0 → multipers-2.2.1}/multipers/_slicer_meta.py +0 -0
  29. {multipers-2.2.0 → multipers-2.2.1}/multipers/data/MOL2.py +0 -0
  30. {multipers-2.2.0 → multipers-2.2.1}/multipers/data/UCR.py +0 -0
  31. {multipers-2.2.0 → multipers-2.2.1}/multipers/data/__init__.py +0 -0
  32. {multipers-2.2.0 → multipers-2.2.1}/multipers/data/graphs.py +0 -0
  33. {multipers-2.2.0 → multipers-2.2.1}/multipers/data/immuno_regions.py +0 -0
  34. {multipers-2.2.0 → multipers-2.2.1}/multipers/data/minimal_presentation_to_st_bf.py +0 -0
  35. {multipers-2.2.0 → multipers-2.2.1}/multipers/data/pytorch2simplextree.py +0 -0
  36. {multipers-2.2.0 → multipers-2.2.1}/multipers/data/shape3d.py +0 -0
  37. {multipers-2.2.0 → multipers-2.2.1}/multipers/data/synthetic.py +0 -0
  38. {multipers-2.2.0 → multipers-2.2.1}/multipers/distances.py +0 -0
  39. {multipers-2.2.0 → multipers-2.2.1}/multipers/function_rips.pyx +0 -0
  40. {multipers-2.2.0 → multipers-2.2.1}/multipers/grids.pyx +0 -0
  41. {multipers-2.2.0 → multipers-2.2.1}/multipers/gudhi/Persistence_slices_interface.h +0 -0
  42. {multipers-2.2.0 → multipers-2.2.1}/multipers/gudhi/cubical_to_boundary.h +0 -0
  43. {multipers-2.2.0 → multipers-2.2.1}/multipers/gudhi/gudhi/Multi_persistence/Box.h +0 -0
  44. {multipers-2.2.0 → multipers-2.2.1}/multipers/gudhi/gudhi/Multi_persistence/Line.h +0 -0
  45. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/__init__.py +0 -0
  46. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/accuracies.py +0 -0
  47. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/convolutions.py +0 -0
  48. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/invariants_with_persistable.py +0 -0
  49. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/kernels.py +0 -0
  50. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/mma.py +0 -0
  51. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/one.py +0 -0
  52. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/point_clouds.py +0 -0
  53. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/signed_betti.py +0 -0
  54. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/signed_measures.py +0 -0
  55. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/sliced_wasserstein.py +0 -0
  56. {multipers-2.2.0 → multipers-2.2.1}/multipers/ml/tools.py +0 -0
  57. {multipers-2.2.0 → multipers-2.2.1}/multipers/mma_structures.pyx +0 -0
  58. {multipers-2.2.0 → multipers-2.2.1}/multipers/multi_parameter_rank_invariant/euler_characteristic.h +0 -0
  59. {multipers-2.2.0 → multipers-2.2.1}/multipers/multi_parameter_rank_invariant/function_rips.h +0 -0
  60. {multipers-2.2.0 → multipers-2.2.1}/multipers/multiparameter_edge_collapse.py +0 -0
  61. {multipers-2.2.0 → multipers-2.2.1}/multipers/multiparameter_module_approximation/approximation.h +0 -0
  62. {multipers-2.2.0 → multipers-2.2.1}/multipers/multiparameter_module_approximation/utilities.h +0 -0
  63. {multipers-2.2.0 → multipers-2.2.1}/multipers/multiparameter_module_approximation.pyx +0 -0
  64. {multipers-2.2.0 → multipers-2.2.1}/multipers/pickle.py +0 -0
  65. {multipers-2.2.0 → multipers-2.2.1}/multipers/plots.py +0 -0
  66. {multipers-2.2.0 → multipers-2.2.1}/multipers/point_measure.pyx +0 -0
  67. {multipers-2.2.0 → multipers-2.2.1}/multipers/test.pyx +0 -0
  68. {multipers-2.2.0 → multipers-2.2.1}/multipers/tests/__init__.py +0 -0
  69. {multipers-2.2.0 → multipers-2.2.1}/multipers/tests/old_test_rank_invariant.py +0 -0
  70. {multipers-2.2.0 → multipers-2.2.1}/multipers/tests/test_diff_helper.py +0 -0
  71. {multipers-2.2.0 → multipers-2.2.1}/multipers/tests/test_hilbert_function.py +0 -0
  72. {multipers-2.2.0 → multipers-2.2.1}/multipers/tests/test_mma.py +0 -0
  73. {multipers-2.2.0 → multipers-2.2.1}/multipers/tests/test_point_clouds.py +0 -0
  74. {multipers-2.2.0 → multipers-2.2.1}/multipers/tests/test_python-cpp_conversion.py +0 -0
  75. {multipers-2.2.0 → multipers-2.2.1}/multipers/tests/test_signed_betti.py +0 -0
  76. {multipers-2.2.0 → multipers-2.2.1}/multipers/tests/test_signed_measure.py +0 -0
  77. {multipers-2.2.0 → multipers-2.2.1}/multipers/torch/__init__.py +0 -0
  78. {multipers-2.2.0 → multipers-2.2.1}/multipers/torch/diff_grids.py +0 -0
  79. {multipers-2.2.0 → multipers-2.2.1}/multipers/torch/rips_density.py +0 -0
  80. {multipers-2.2.0 → multipers-2.2.1}/multipers.egg-info/SOURCES.txt +0 -0
  81. {multipers-2.2.0 → multipers-2.2.1}/multipers.egg-info/dependency_links.txt +0 -0
  82. {multipers-2.2.0 → multipers-2.2.1}/multipers.egg-info/top_level.txt +0 -0
  83. {multipers-2.2.0 → multipers-2.2.1}/setup.cfg +0 -0
  84. {multipers-2.2.0 → multipers-2.2.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: multipers
3
- Version: 2.2.0
3
+ Version: 2.2.1
4
4
  Summary: Multiparameter Topological Persistence for Machine Learning
5
5
  Author: Hannah Schreiber
6
6
  Author-email: David Loiseaux <david.lapous@proton.me>
@@ -46,7 +46,7 @@ Requires-Python: >=3.10
46
46
  Description-Content-Type: text/markdown
47
47
  License-File: LICENSE
48
48
  Requires-Dist: numpy
49
- Requires-Dist: gudhi
49
+ Requires-Dist: gudhi>=3.8
50
50
  Requires-Dist: tqdm
51
51
  Requires-Dist: scipy
52
52
  Requires-Dist: joblib
@@ -60,14 +60,14 @@ Requires-Dist: pot
60
60
  [![Build, test](https://github.com/DavidLapous/multipers/actions/workflows/python_PR.yml/badge.svg)](https://github.com/DavidLapous/multipers/actions/workflows/python_PR.yml)
61
61
  [![PyPI](https://img.shields.io/pypi/v/multipers?color=green)](https://pypi.org/project/multipers)
62
62
  [![Downloads](https://static.pepy.tech/badge/multipers)](https://pepy.tech/project/multipers)
63
- [Documentation](https://www-sop.inria.fr/members/David.Loiseaux/doc/multipers/index.html)
63
+ [Documentation](https://davidlapous.github.io/multipers/index.html)
64
64
  <br>
65
65
  Scikit-style PyTorch-autodiff multiparameter persistent homology python library.
66
66
  This library aims to provide easy to use and performant strategies for applied multiparameter topology.
67
67
  <br> Meant to be integrated in [the Gudhi library](https://gudhi.inria.fr/).
68
68
 
69
69
  ## Multiparameter Persistence
70
- This library allows to compute several representation from "geometrical datasets", e.g., point clouds, images, graphs, that have multiple scales. A well known example is is the following one.
70
+ This library allows computing several representations from "geometrical datasets", e.g., point clouds, images, graphs, that have multiple scales. A well known example is the following one.
71
71
  <br>
72
72
  Pick a point cloud that has diffuse noise, or on which the sampling measure has some interesting properties, e.g., in the following example the measure has three modes.
73
73
  <br>
@@ -76,13 +76,13 @@ This filtration $X$, indexed over a radius parameter $r$ and a codensity paramet
76
76
 
77
77
  $$ X_{r,s} = \bigcup_{x \in P, \, \mathrm{density}(x) \ge s} B(x,r) = \lbrace x\in \mathbb R^2 \mid \exists p \in P, \, \mathrm{density}(p) \ge s \text{ and } d(x,p) \le r \rbrace$$
78
78
 
79
- The green shape on the left represent the lifetime of the biggest annulus. On the right, each cycle appearing on the left gets a colored shape (the color is only a label) and the shape of this colored shape represents the lifetime of this cycle.
79
+ The green shape on the left represents the lifetime of the biggest annulus. On the right, each cycle appearing on the left gets a colored shape (the color is only a label) and the shape of this colored shape represents the lifetime of this cycle.
80
80
  <br>
81
81
  In our case, the big green shape on the left corresponds to the largest green shape appearing on the right, recovering the structure of the annulus here.
82
82
  ![Alt text](docs/1.png)
83
83
 
84
84
  The **magic** part is that we never had to choose any parameter to remove the noise in this construction, but the annulus still naturally appears!
85
- <br>A more strinking example is the following one.
85
+ <br>A more striking example is the following one.
86
86
  Using the same constructions, we can identify topological structure, and their size, in a parameter free approach, even though the majority of the sampling measure's mass is noise.
87
87
  <br> In this example, the lifetime shape associated to each cycle can be identified from
88
88
  - Their radius : the smaller cycle will naturally live more this shape will appear on the "left" (smaller radius)
@@ -94,7 +94,7 @@ We also provide several other descriptors, as well as associated Machine Learnin
94
94
  ![alt text](docs/3.png)
95
95
 
96
96
 
97
- A non-exhaustive list of features can be found in the **Features** section, and in the [documentation](https://www-sop.inria.fr/members/David.Loiseaux/doc/multipers/index.html).
97
+ A non-exhaustive list of features can be found in the **Features** section, and in the [documentation](https://davidlapous.github.io/multipers/index.html).
98
98
  ## Quick start
99
99
 
100
100
 
@@ -104,7 +104,7 @@ pip install multipers
104
104
  ```
105
105
  We recommend Windows user to use [WSL](https://learn.microsoft.com/en-us/windows/wsl/).
106
106
  <br>
107
- A documentation and building instructions are available [here](https://www-sop.inria.fr/members/David.Loiseaux/doc/multipers/index.html).
107
+ A documentation and building instructions are available [here](https://davidlapous.github.io/multipers/contributions.html).
108
108
 
109
109
  ## Features, and linked projects
110
110
  This library features a bunch of different functions and helpers. See below for a non-exhaustive list.
@@ -115,11 +115,11 @@ This library features a bunch of different functions and helpers. See below for
115
115
  - [x] [[Differentiability and Optimization of Multiparameter Persistent Homology, ICML2024]](https://proceedings.mlr.press/v235/scoccola24a.html) An approach to compute a (clarke) gradient for any reasonable multiparameter persistent invariant. Currently, any `multipers` computation is auto-differentiable using this strategy, provided that the input are pytorch gradient capable tensor.
116
116
  - [x] [[Multiparameter Persistence Landscapes, JMLR]](https://jmlr.org/papers/v21/19-054.html) A vectorization technic for multiparameter persistence modules.
117
117
  - [x] [[Filtration-Domination in Bifiltered Graphs, ALENEX2023]](https://doi.org/10.1137/1.9781611977561.ch3) Allows for 2-parameter edge collapses for 1-critical clique complexes. Very useful to speed up, e.g., Rips-Codensity bifiltrations.
118
- - [x] [[Chunk Reduction for Multi-Parameter Persistent Homology, SOCG20219]](https://doi.org/10.4230/LIPIcs.SoCG.2019.37) Multi-filtration preprocessing algorithm for homology computations.
118
+ - [x] [[Chunk Reduction for Multi-Parameter Persistent Homology, SOCG2019]](https://doi.org/10.4230/LIPIcs.SoCG.2019.37) Multi-filtration preprocessing algorithm for homology computations.
119
119
  - [x] [[Computing Minimal Presentations and Bigraded Betti Numbers of 2-Parameter Persistent Homology, JAAG]](https://doi.org/10.1137/20M1388425) Minimal presentation of multiparameter persistence modules, using [mpfree](https://bitbucket.org/mkerber/mpfree/src/master/). Hilbert, Rank Decomposition Signed Measures, and MMA decompositions can be computed using the mpfree backend.
120
- - [x] [[Delaunay Bifiltrations of Functions on Point Clouds, SODA2024]](https://epubs.siam.org/doi/10.1137/1.9781611977912.173) Provides an alternative to function rips bifiltrations, using Delaunay complexes. Very good alternative to Rips-Density like bi-filtrations.
120
+ - [x] [[Delaunay Bifiltrations of Functions on Point Clouds, SODA2024]](https://epubs.siam.org/doi/10.1137/1.9781611977912.173) Provides an alternative to function rips bifiltrations, using Delaunay complexes. Very good alternative to Rips-Density like bifiltrations.
121
121
  - [x] [[Rivet]](https://github.com/rivetTDA/rivet) Interactive two parameter persistence
122
- - [x] [[Kernel Operations on the GPU, with Autodiff, without Memory Overflows, JMLR]](http://jmlr.org/papers/v22/20-275.html) Although not linked, at first glance, to persistence in any way, this library allows to compute blazingly fast signed measures convolutions (and more!) with custom kernels.
122
+ - [x] [[Kernel Operations on the GPU, with Autodiff, without Memory Overflows, JMLR]](http://jmlr.org/papers/v22/20-275.html) Although not linked, at first glance, to persistence in any way, this library allows computing blazingly fast signed measures convolutions (and more!) with custom kernels.
123
123
  - [ ] [Backend only] [[Projected distances for multi-parameter persistence modules]](https://arxiv.org/abs/2206.08818) Provides a strategy to estimate the convolution distance between multiparameter persistence module using projected barcodes. Implementation is a WIP.
124
124
  - [ ] [Partial, and experimental] [[Efficient Two-Parameter Persistence Computation via Cohomology, SoCG2023]](https://doi.org/10.4230/LIPIcs.SoCG.2023.15) Minimal presentations for 2-parameter persistence algorithm.
125
125
 
@@ -2,14 +2,14 @@
2
2
  [![Build, test](https://github.com/DavidLapous/multipers/actions/workflows/python_PR.yml/badge.svg)](https://github.com/DavidLapous/multipers/actions/workflows/python_PR.yml)
3
3
  [![PyPI](https://img.shields.io/pypi/v/multipers?color=green)](https://pypi.org/project/multipers)
4
4
  [![Downloads](https://static.pepy.tech/badge/multipers)](https://pepy.tech/project/multipers)
5
- [Documentation](https://www-sop.inria.fr/members/David.Loiseaux/doc/multipers/index.html)
5
+ [Documentation](https://davidlapous.github.io/multipers/index.html)
6
6
  <br>
7
7
  Scikit-style PyTorch-autodiff multiparameter persistent homology python library.
8
8
  This library aims to provide easy to use and performant strategies for applied multiparameter topology.
9
9
  <br> Meant to be integrated in [the Gudhi library](https://gudhi.inria.fr/).
10
10
 
11
11
  ## Multiparameter Persistence
12
- This library allows to compute several representation from "geometrical datasets", e.g., point clouds, images, graphs, that have multiple scales. A well known example is is the following one.
12
+ This library allows computing several representations from "geometrical datasets", e.g., point clouds, images, graphs, that have multiple scales. A well known example is the following one.
13
13
  <br>
14
14
  Pick a point cloud that has diffuse noise, or on which the sampling measure has some interesting properties, e.g., in the following example the measure has three modes.
15
15
  <br>
@@ -18,13 +18,13 @@ This filtration $X$, indexed over a radius parameter $r$ and a codensity paramet
18
18
 
19
19
  $$ X_{r,s} = \bigcup_{x \in P, \, \mathrm{density}(x) \ge s} B(x,r) = \lbrace x\in \mathbb R^2 \mid \exists p \in P, \, \mathrm{density}(p) \ge s \text{ and } d(x,p) \le r \rbrace$$
20
20
 
21
- The green shape on the left represent the lifetime of the biggest annulus. On the right, each cycle appearing on the left gets a colored shape (the color is only a label) and the shape of this colored shape represents the lifetime of this cycle.
21
+ The green shape on the left represents the lifetime of the biggest annulus. On the right, each cycle appearing on the left gets a colored shape (the color is only a label) and the shape of this colored shape represents the lifetime of this cycle.
22
22
  <br>
23
23
  In our case, the big green shape on the left corresponds to the largest green shape appearing on the right, recovering the structure of the annulus here.
24
24
  ![Alt text](docs/1.png)
25
25
 
26
26
  The **magic** part is that we never had to choose any parameter to remove the noise in this construction, but the annulus still naturally appears!
27
- <br>A more strinking example is the following one.
27
+ <br>A more striking example is the following one.
28
28
  Using the same constructions, we can identify topological structure, and their size, in a parameter free approach, even though the majority of the sampling measure's mass is noise.
29
29
  <br> In this example, the lifetime shape associated to each cycle can be identified from
30
30
  - Their radius : the smaller cycle will naturally live more this shape will appear on the "left" (smaller radius)
@@ -36,7 +36,7 @@ We also provide several other descriptors, as well as associated Machine Learnin
36
36
  ![alt text](docs/3.png)
37
37
 
38
38
 
39
- A non-exhaustive list of features can be found in the **Features** section, and in the [documentation](https://www-sop.inria.fr/members/David.Loiseaux/doc/multipers/index.html).
39
+ A non-exhaustive list of features can be found in the **Features** section, and in the [documentation](https://davidlapous.github.io/multipers/index.html).
40
40
  ## Quick start
41
41
 
42
42
 
@@ -46,7 +46,7 @@ pip install multipers
46
46
  ```
47
47
  We recommend Windows user to use [WSL](https://learn.microsoft.com/en-us/windows/wsl/).
48
48
  <br>
49
- A documentation and building instructions are available [here](https://www-sop.inria.fr/members/David.Loiseaux/doc/multipers/index.html).
49
+ A documentation and building instructions are available [here](https://davidlapous.github.io/multipers/contributions.html).
50
50
 
51
51
  ## Features, and linked projects
52
52
  This library features a bunch of different functions and helpers. See below for a non-exhaustive list.
@@ -57,11 +57,11 @@ This library features a bunch of different functions and helpers. See below for
57
57
  - [x] [[Differentiability and Optimization of Multiparameter Persistent Homology, ICML2024]](https://proceedings.mlr.press/v235/scoccola24a.html) An approach to compute a (clarke) gradient for any reasonable multiparameter persistent invariant. Currently, any `multipers` computation is auto-differentiable using this strategy, provided that the input are pytorch gradient capable tensor.
58
58
  - [x] [[Multiparameter Persistence Landscapes, JMLR]](https://jmlr.org/papers/v21/19-054.html) A vectorization technic for multiparameter persistence modules.
59
59
  - [x] [[Filtration-Domination in Bifiltered Graphs, ALENEX2023]](https://doi.org/10.1137/1.9781611977561.ch3) Allows for 2-parameter edge collapses for 1-critical clique complexes. Very useful to speed up, e.g., Rips-Codensity bifiltrations.
60
- - [x] [[Chunk Reduction for Multi-Parameter Persistent Homology, SOCG20219]](https://doi.org/10.4230/LIPIcs.SoCG.2019.37) Multi-filtration preprocessing algorithm for homology computations.
60
+ - [x] [[Chunk Reduction for Multi-Parameter Persistent Homology, SOCG2019]](https://doi.org/10.4230/LIPIcs.SoCG.2019.37) Multi-filtration preprocessing algorithm for homology computations.
61
61
  - [x] [[Computing Minimal Presentations and Bigraded Betti Numbers of 2-Parameter Persistent Homology, JAAG]](https://doi.org/10.1137/20M1388425) Minimal presentation of multiparameter persistence modules, using [mpfree](https://bitbucket.org/mkerber/mpfree/src/master/). Hilbert, Rank Decomposition Signed Measures, and MMA decompositions can be computed using the mpfree backend.
62
- - [x] [[Delaunay Bifiltrations of Functions on Point Clouds, SODA2024]](https://epubs.siam.org/doi/10.1137/1.9781611977912.173) Provides an alternative to function rips bifiltrations, using Delaunay complexes. Very good alternative to Rips-Density like bi-filtrations.
62
+ - [x] [[Delaunay Bifiltrations of Functions on Point Clouds, SODA2024]](https://epubs.siam.org/doi/10.1137/1.9781611977912.173) Provides an alternative to function rips bifiltrations, using Delaunay complexes. Very good alternative to Rips-Density like bifiltrations.
63
63
  - [x] [[Rivet]](https://github.com/rivetTDA/rivet) Interactive two parameter persistence
64
- - [x] [[Kernel Operations on the GPU, with Autodiff, without Memory Overflows, JMLR]](http://jmlr.org/papers/v22/20-275.html) Although not linked, at first glance, to persistence in any way, this library allows to compute blazingly fast signed measures convolutions (and more!) with custom kernels.
64
+ - [x] [[Kernel Operations on the GPU, with Autodiff, without Memory Overflows, JMLR]](http://jmlr.org/papers/v22/20-275.html) Although not linked, at first glance, to persistence in any way, this library allows computing blazingly fast signed measures convolutions (and more!) with custom kernels.
65
65
  - [ ] [Backend only] [[Projected distances for multi-parameter persistence modules]](https://arxiv.org/abs/2206.08818) Provides a strategy to estimate the convolution distance between multiparameter persistence module using projected barcodes. Implementation is a WIP.
66
66
  - [ ] [Partial, and experimental] [[Efficient Two-Parameter Persistence Computation via Cohomology, SoCG2023]](https://doi.org/10.4230/LIPIcs.SoCG.2023.15) Minimal presentations for 2-parameter persistence algorithm.
67
67