multipers 2.7.0b4__tar.gz → 2.7.0b5__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.
Files changed (581) hide show
  1. {multipers-2.7.0b4 → multipers-2.7.0b5}/PKG-INFO +9 -6
  2. {multipers-2.7.0b4 → multipers-2.7.0b5}/README.md +8 -5
  3. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_hera_interface.cpp +2 -4
  4. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_mma_nanobind.cpp +80 -38
  5. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_signed_measure_meta.py +13 -2
  6. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/array_api/jax.py +6 -0
  7. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/array_api/numpy.py +7 -1
  8. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/array_api/torch.py +10 -0
  9. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/data/MOL2.py +64 -17
  10. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/distances.py +454 -17
  11. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/invariants/__init__.py +117 -4
  12. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/invariants/birth_curves.py +52 -0
  13. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/invariants/projected_barcode.py +32 -5
  14. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multiparameter_module_approximation.py +143 -36
  15. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/plots.py +176 -2
  16. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/point_measure.py +20 -0
  17. {multipers-2.7.0b4 → multipers-2.7.0b5}/pyproject.toml +1 -1
  18. multipers-2.7.0b4/ext/AIDA/Persistence-Algebra/README.md +0 -1
  19. multipers-2.7.0b4/ext/Persistence-Algebra/CITATION.cff +0 -13
  20. multipers-2.7.0b4/ext/Persistence-Algebra/LICENSE +0 -674
  21. multipers-2.7.0b4/ext/hera/extern/Catch2/README.md +0 -37
  22. {multipers-2.7.0b4 → multipers-2.7.0b5}/CITATION.cff +0 -0
  23. {multipers-2.7.0b4 → multipers-2.7.0b5}/CMakeLists.txt +0 -0
  24. {multipers-2.7.0b4 → multipers-2.7.0b5}/LICENSE +0 -0
  25. {multipers-2.7.0b4 → multipers-2.7.0b5}/THIRD_PARTY_NOTICES.md +0 -0
  26. {multipers-2.7.0b4 → multipers-2.7.0b5}/cmake/ApplyExtPatchOverlay.cmake +0 -0
  27. {multipers-2.7.0b4 → multipers-2.7.0b5}/cmake/MultipersBuild.cmake +0 -0
  28. {multipers-2.7.0b4 → multipers-2.7.0b5}/cmake/MultipersCodegen.cmake +0 -0
  29. {multipers-2.7.0b4 → multipers-2.7.0b5}/cmake/MultipersDependencies.cmake +0 -0
  30. {multipers-2.7.0b4 → multipers-2.7.0b5}/cmake/MultipersInstall.cmake +0 -0
  31. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/ArrayColumn.cpp +0 -0
  32. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/ArrayColumn.hpp +0 -0
  33. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/Cone.cpp +0 -0
  34. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/Cone.hpp +0 -0
  35. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/HeapColumn.cpp +0 -0
  36. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/HeapColumn.hpp +0 -0
  37. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/README.md +0 -0
  38. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/bireductions.cpp +0 -0
  39. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/bireductions.hpp +0 -0
  40. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/block_column_matrix.cpp +0 -0
  41. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/block_column_matrix.hpp +0 -0
  42. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/chunk.cpp +0 -0
  43. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/chunk.hpp +0 -0
  44. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/complexes.cpp +0 -0
  45. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/complexes.hpp +0 -0
  46. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/computation.cpp +0 -0
  47. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/computation.hpp +0 -0
  48. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/factor.cpp +0 -0
  49. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/factor.hpp +0 -0
  50. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/grade.hpp +0 -0
  51. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/indirect.hpp +0 -0
  52. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/lw.cpp +0 -0
  53. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/lw.hpp +0 -0
  54. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/matrices.cpp +0 -0
  55. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/matrices.hpp +0 -0
  56. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/minimize.cpp +0 -0
  57. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/minimize.hpp +0 -0
  58. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/priority_queue.hpp +0 -0
  59. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/reductions.cpp +0 -0
  60. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/reductions.hpp +0 -0
  61. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/relative_cohomology.cpp +0 -0
  62. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/relative_cohomology.hpp +0 -0
  63. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/skip_vector.hpp +0 -0
  64. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/time_measurement.cpp +0 -0
  65. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/time_measurement.hpp +0 -0
  66. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/typedefs.hpp +0 -0
  67. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/2pac/utils.hpp +0 -0
  68. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/CITATION.cff +0 -0
  69. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/LICENSE +0 -0
  70. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/README.md +0 -0
  71. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/include/CLI11.hpp +0 -0
  72. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/include/aida_interface.hpp +0 -0
  73. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/include/config.hpp +0 -0
  74. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/include/option_parser.hpp +0 -0
  75. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/include/types.hpp +0 -0
  76. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/src/aida_decompose.cpp +0 -0
  77. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/src/aida_decompose.hpp +0 -0
  78. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/src/aida_functions.cpp +0 -0
  79. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/src/aida_functions.hpp +0 -0
  80. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/src/aida_helpers.cpp +0 -0
  81. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/src/aida_helpers.hpp +0 -0
  82. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/src/aida_interface.cpp +0 -0
  83. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/src/block.cpp +0 -0
  84. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/src/block.hpp +0 -0
  85. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/src/config.cpp +0 -0
  86. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/AIDA/src/option_parser.cpp +0 -0
  87. {multipers-2.7.0b4/ext/AIDA → multipers-2.7.0b5/ext}/Persistence-Algebra/CITATION.cff +0 -0
  88. {multipers-2.7.0b4/ext/AIDA → multipers-2.7.0b5/ext}/Persistence-Algebra/LICENSE +0 -0
  89. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/README.md +0 -0
  90. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/bitset_algebra.hpp +0 -0
  91. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/column_types.hpp +0 -0
  92. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/dense_matrix.hpp +0 -0
  93. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/general.hpp +0 -0
  94. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/graded_linalg.hpp +0 -0
  95. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/graded_matrix.hpp +0 -0
  96. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/grid_scheduler.hpp +0 -0
  97. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/homomorphisms.hpp +0 -0
  98. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/matrix_base.hpp +0 -0
  99. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/orders_and_graphs.hpp +0 -0
  100. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/r2graded_matrix.hpp +0 -0
  101. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/r3graded_matrix.hpp +0 -0
  102. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/sparse_matrix.hpp +0 -0
  103. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/Persistence-Algebra/include/grlina/to_quiver.hpp +0 -0
  104. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/deg_rips/COPYING +0 -0
  105. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/deg_rips/COPYING.LESSER +0 -0
  106. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/deg_rips/README.md +0 -0
  107. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/deg_rips/include/deg_rips/Complex.h +0 -0
  108. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/deg_rips/include/deg_rips/Edge_domination_checker.h +0 -0
  109. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/deg_rips/include/deg_rips/Grade.h +0 -0
  110. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/deg_rips/include/deg_rips/Vertex_domination_matrix.h +0 -0
  111. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/deg_rips/include/deg_rips/basic.h +0 -0
  112. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/deg_rips/include/deg_rips/boost_timers.h +0 -0
  113. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/deg_rips/include/deg_rips/build_complex.h +0 -0
  114. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/COPYING +0 -0
  115. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/README.md +0 -0
  116. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/include/function_delaunay/Delaunay_triangulation_accessors.h +0 -0
  117. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/include/function_delaunay/Grade_map.h +0 -0
  118. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/include/function_delaunay/Meb_accessors.h +0 -0
  119. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/include/function_delaunay/Miniball.hpp +0 -0
  120. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/include/function_delaunay/Point_with_densities.h +0 -0
  121. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/include/function_delaunay/boost_timers.h +0 -0
  122. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/include/function_delaunay/compute_meb_radii_of_simplex_tree.h +0 -0
  123. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/include/function_delaunay/count_size_of_delaunay_triangulation.h +0 -0
  124. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/include/function_delaunay/function_delaunay_with_meb.h +0 -0
  125. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/include/function_delaunay/get_simplices_from_triangulation.h +0 -0
  126. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/include/function_delaunay/mem_info.h +0 -0
  127. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpfree_mod/include/mpfree/Graded_matrix.h +0 -0
  128. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpfree_mod/include/mpfree/Grid_scheduler.h +0 -0
  129. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpfree_mod/include/mpfree/boost_timers.h +0 -0
  130. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpfree_mod/include/mpfree/global.h +0 -0
  131. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpfree_mod/include/mpfree/mpfree.h +0 -0
  132. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpfree_mod/include/mpfree/mpfree_subroutines.h +0 -0
  133. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Coordinate_traits_with_map.h +0 -0
  134. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Graded_matrix.h +0 -0
  135. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Graded_matrix_handle.h +0 -0
  136. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Pre_column_struct.h +0 -0
  137. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/basic.h +0 -0
  138. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_pre_column_struct.h +0 -0
  139. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_scc2020.h +0 -0
  140. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_simplex_tree.h +0 -0
  141. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/create_matrix_from_firep.h +0 -0
  142. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/sorting_utility.h +0 -0
  143. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/Graded_matrix.h +0 -0
  144. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/basic.h +0 -0
  145. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/boost_timers.h +0 -0
  146. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/multi_chunk.h +0 -0
  147. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/COPYING +0 -0
  148. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/COPYING.LESSER +0 -0
  149. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/README.md +0 -0
  150. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/algorithms/chunk_reduction.h +0 -0
  151. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/algorithms/row_reduction.h +0 -0
  152. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/algorithms/spectral_sequence_reduction.h +0 -0
  153. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/algorithms/standard_reduction.h +0 -0
  154. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/algorithms/twist_reduction.h +0 -0
  155. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/boundary_matrix.h +0 -0
  156. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/compute_persistence_pairs.h +0 -0
  157. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/helpers/dualize.h +0 -0
  158. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/helpers/misc.h +0 -0
  159. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/helpers/thread_local_storage.h +0 -0
  160. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/persistence_pairs.h +0 -0
  161. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/Container_traits.h +0 -0
  162. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/Pivot_representation.h +0 -0
  163. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/Uniform_representation.h +0 -0
  164. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/Unordered_map_container_traits.h +0 -0
  165. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/bit_tree_pivot_column.h +0 -0
  166. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/default_representations.h +0 -0
  167. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/full_pivot_column.h +0 -0
  168. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/heap_column_rep.h +0 -0
  169. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/heap_pivot_column.h +0 -0
  170. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/list_column_rep.h +0 -0
  171. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/set_column_rep.h +0 -0
  172. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/sparse_pivot_column.h +0 -0
  173. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/phat/include/phat/representations/vector_column_rep.h +0 -0
  174. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/scc_mod/include/scc/Column_data.h +0 -0
  175. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/scc_mod/include/scc/Scc.h +0 -0
  176. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/function_delaunay/scc_mod/include/scc/basic.h +0 -0
  177. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/LICENSE +0 -0
  178. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/README.md +0 -0
  179. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Alpha_complex/include/gudhi/Alpha_complex/Alpha_kernel_d.h +0 -0
  180. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Alpha_complex/include/gudhi/Alpha_complex.h +0 -0
  181. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex.h +0 -0
  182. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_base.h +0 -0
  183. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h +0 -0
  184. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Collapse/include/gudhi/Flag_complex_edge_collapser.h +0 -0
  185. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_filtration/include/gudhi/Degree_rips_bifiltration.h +0 -0
  186. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_filtration/include/gudhi/Dynamic_multi_parameter_filtration.h +0 -0
  187. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_filtration/include/gudhi/Multi_filtration/Multi_parameter_generator.h +0 -0
  188. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_filtration/include/gudhi/Multi_filtration/multi_filtration_conversions.h +0 -0
  189. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_filtration/include/gudhi/Multi_filtration/multi_filtration_products.h +0 -0
  190. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_filtration/include/gudhi/Multi_filtration/multi_filtration_utils.h +0 -0
  191. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_filtration/include/gudhi/Multi_parameter_filtration.h +0 -0
  192. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_parameter_filtered_complex.h +0 -0
  193. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_persistence/Box.h +0 -0
  194. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_persistence/Line.h +0 -0
  195. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_persistence/Module.h +0 -0
  196. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_persistence/Multi_parameter_filtered_complex_pcoh_interface.h +0 -0
  197. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_persistence/Persistence_interface_cohomology.h +0 -0
  198. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_persistence/Persistence_interface_homology.h +0 -0
  199. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_persistence/Persistence_interface_vineyard.h +0 -0
  200. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_persistence/Point.h +0 -0
  201. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_persistence/Summand.h +0 -0
  202. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_persistence/module_helpers.h +0 -0
  203. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Multi_persistence/summand_helpers.h +0 -0
  204. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Projective_cover_kernel.h +0 -0
  205. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Slicer.h +0 -0
  206. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/Thread_safe_slicer.h +0 -0
  207. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/multi_simplex_tree_helpers.h +0 -0
  208. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Multi_persistence/include/gudhi/slicer_helpers.h +0 -0
  209. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Fields/Z2_field_operators.h +0 -0
  210. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Fields/Zp_field_operators.h +0 -0
  211. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Matrix.h +0 -0
  212. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/Base_matrix.h +0 -0
  213. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/Base_matrix_with_column_compression.h +0 -0
  214. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/Boundary_matrix.h +0 -0
  215. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/Chain_matrix.h +0 -0
  216. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/Id_to_index_overlay.h +0 -0
  217. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/Position_to_index_overlay.h +0 -0
  218. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/RU_matrix.h +0 -0
  219. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/allocators/entry_constructors.h +0 -0
  220. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/base_pairing.h +0 -0
  221. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/base_swap.h +0 -0
  222. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/chain_pairing.h +0 -0
  223. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/chain_rep_cycles.h +0 -0
  224. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/chain_vine_swap.h +0 -0
  225. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/chain_column_extra_properties.h +0 -0
  226. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/column_dimension_holder.h +0 -0
  227. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/column_utilities.h +0 -0
  228. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/entry_types.h +0 -0
  229. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/heap_column.h +0 -0
  230. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/intrusive_list_column.h +0 -0
  231. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/intrusive_set_column.h +0 -0
  232. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/list_column.h +0 -0
  233. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/naive_vector_column.h +0 -0
  234. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/row_access.h +0 -0
  235. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/set_column.h +0 -0
  236. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/unordered_set_column.h +0 -0
  237. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/columns/vector_column.h +0 -0
  238. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/index_mapper.h +0 -0
  239. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/matrix_dimension_holders.h +0 -0
  240. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/matrix_row_access.h +0 -0
  241. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/ru_pairing.h +0 -0
  242. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/ru_rep_cycles.h +0 -0
  243. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/Persistence_matrix/ru_vine_swap.h +0 -0
  244. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/persistence_interval.h +0 -0
  245. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistence_matrix/include/gudhi/persistence_matrix_options.h +0 -0
  246. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistent_cohomology/include/gudhi/Persistent_cohomology/Field_Zp.h +0 -0
  247. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistent_cohomology/include/gudhi/Persistent_cohomology/Persistent_cohomology_column.h +0 -0
  248. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Persistent_cohomology/include/gudhi/Persistent_cohomology.h +0 -0
  249. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Simplex_tree/include/gudhi/Simplex_tree/Simplex_tree_iterators.h +0 -0
  250. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Simplex_tree/include/gudhi/Simplex_tree/Simplex_tree_node_explicit_storage.h +0 -0
  251. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Simplex_tree/include/gudhi/Simplex_tree/Simplex_tree_siblings.h +0 -0
  252. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Simplex_tree/include/gudhi/Simplex_tree/Simplex_tree_star_simplex_iterators.h +0 -0
  253. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Simplex_tree/include/gudhi/Simplex_tree/filtration_value_utils.h +0 -0
  254. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Simplex_tree/include/gudhi/Simplex_tree/hooks_simplex_base.h +0 -0
  255. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Simplex_tree/include/gudhi/Simplex_tree/indexing_tag.h +0 -0
  256. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Simplex_tree/include/gudhi/Simplex_tree/serialization_utils.h +0 -0
  257. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Simplex_tree/include/gudhi/Simplex_tree/simplex_tree_options.h +0 -0
  258. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Simplex_tree/include/gudhi/Simplex_tree.h +0 -0
  259. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/Vineyard/include/gudhi/vineyard_base.h +0 -0
  260. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/common/include/gudhi/Debug_utils.h +0 -0
  261. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/common/include/gudhi/Off_reader.h +0 -0
  262. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/common/include/gudhi/Points_off_io.h +0 -0
  263. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/common/include/gudhi/Simple_object_pool.h +0 -0
  264. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/common/include/gudhi/distance_functions.h +0 -0
  265. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/common/include/gudhi/graph_simplicial_complex.h +0 -0
  266. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/common/include/gudhi/reader_utils.h +0 -0
  267. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/common/include/gudhi/simple_mdspan.h +0 -0
  268. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/gudhi-devel/src/python/include/python_interfaces/numpy_utils.h +0 -0
  269. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/README.md +0 -0
  270. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/extern/phat/algorithms/standard_reduction.h +0 -0
  271. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/extern/phat/algorithms/twist_reduction.h +0 -0
  272. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/extern/phat/boundary_matrix.h +0 -0
  273. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/extern/phat/compute_persistence_pairs.h +0 -0
  274. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/extern/phat/helpers/dualize.h +0 -0
  275. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/extern/phat/helpers/misc.h +0 -0
  276. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/extern/phat/helpers/thread_local_storage.h +0 -0
  277. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/extern/phat/persistence_pairs.h +0 -0
  278. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/extern/phat/representations/abstract_pivot_column.h +0 -0
  279. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/extern/phat/representations/bit_tree_pivot_column.h +0 -0
  280. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/extern/phat/representations/vector_vector.h +0 -0
  281. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/bottleneck/basic_defs_bt.h +0 -0
  282. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/bottleneck/bottleneck_detail.h +0 -0
  283. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/bottleneck/bottleneck_detail.hpp +0 -0
  284. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/bottleneck/bound_match.h +0 -0
  285. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/bottleneck/bound_match.hpp +0 -0
  286. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/bottleneck/def_debug_bt.h +0 -0
  287. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/bottleneck/neighb_oracle.h +0 -0
  288. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/bottleneck.h +0 -0
  289. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/common/diagram_point.h +0 -0
  290. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/common/diagram_reader.h +0 -0
  291. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/common/diagram_traits.h +0 -0
  292. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/common/hash_combine.h +0 -0
  293. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/common/infinity.h +0 -0
  294. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/common/point.h +0 -0
  295. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/common.h +0 -0
  296. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/dnn/geometry/euclidean-dynamic.h +0 -0
  297. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/dnn/geometry/euclidean-fixed.h +0 -0
  298. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/dnn/local/kd-tree.h +0 -0
  299. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/dnn/local/kd-tree.hpp +0 -0
  300. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/dnn/local/search-functors.h +0 -0
  301. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/dnn/parallel/tbb.h +0 -0
  302. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/dnn/utils.h +0 -0
  303. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/bifiltration.h +0 -0
  304. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/bifiltration.hpp +0 -0
  305. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/box.h +0 -0
  306. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/box.hpp +0 -0
  307. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/cell_with_value.h +0 -0
  308. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/cell_with_value.hpp +0 -0
  309. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/common_defs.h +0 -0
  310. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/common_util.h +0 -0
  311. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/common_util.hpp +0 -0
  312. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/dual_box.h +0 -0
  313. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/dual_box.hpp +0 -0
  314. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/dual_point.h +0 -0
  315. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/dual_point.hpp +0 -0
  316. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/matching_distance.hpp +0 -0
  317. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/persistence_module.h +0 -0
  318. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/persistence_module.hpp +0 -0
  319. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/simplex.h +0 -0
  320. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching/simplex.hpp +0 -0
  321. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/matching_distance.h +0 -0
  322. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/auction_oracle.h +0 -0
  323. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/auction_oracle_base.h +0 -0
  324. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/auction_oracle_base.hpp +0 -0
  325. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/auction_oracle_kdtree_restricted.h +0 -0
  326. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/auction_oracle_kdtree_restricted.hpp +0 -0
  327. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/auction_params.h +0 -0
  328. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/auction_result.h +0 -0
  329. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/auction_runner_gs.h +0 -0
  330. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/auction_runner_gs.hpp +0 -0
  331. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/auction_runner_jac.h +0 -0
  332. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/auction_runner_jac.hpp +0 -0
  333. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/basic_defs_ws.h +0 -0
  334. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/basic_defs_ws.hpp +0 -0
  335. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/def_debug_ws.h +0 -0
  336. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein/diagonal_heap.h +0 -0
  337. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/hera/include/hera/wasserstein.h +0 -0
  338. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/COPYING +0 -0
  339. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/COPYING.LESSER +0 -0
  340. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/README.md +0 -0
  341. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/include/mpfree/Graded_matrix.h +0 -0
  342. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/include/mpfree/Grid_scheduler.h +0 -0
  343. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/include/mpfree/boost_timers.h +0 -0
  344. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/include/mpfree/global.h +0 -0
  345. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/include/mpfree/mpfree.h +0 -0
  346. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/include/mpfree/mpfree_subroutines.h +0 -0
  347. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Coordinate_traits_with_map.h +0 -0
  348. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Graded_matrix.h +0 -0
  349. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Graded_matrix_handle.h +0 -0
  350. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Pre_column_struct.h +0 -0
  351. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/mpp_utils_mod/include/mpp_utils/basic.h +0 -0
  352. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_pre_column_struct.h +0 -0
  353. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_scc2020.h +0 -0
  354. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_simplex_tree.h +0 -0
  355. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/mpp_utils_mod/include/mpp_utils/create_matrix_from_firep.h +0 -0
  356. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/mpp_utils_mod/include/mpp_utils/sorting_utility.h +0 -0
  357. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/COPYING +0 -0
  358. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/COPYING.LESSER +0 -0
  359. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/boundary_matrix.h +0 -0
  360. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/helpers/misc.h +0 -0
  361. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/helpers/thread_local_storage.h +0 -0
  362. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/Container_traits.h +0 -0
  363. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/Pivot_representation.h +0 -0
  364. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/Uniform_representation.h +0 -0
  365. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/Unordered_map_container_traits.h +0 -0
  366. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/bit_tree_pivot_column.h +0 -0
  367. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/default_representations.h +0 -0
  368. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/full_pivot_column.h +0 -0
  369. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/heap_column_rep.h +0 -0
  370. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/heap_pivot_column.h +0 -0
  371. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/list_column_rep.h +0 -0
  372. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/set_column_rep.h +0 -0
  373. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/sparse_pivot_column.h +0 -0
  374. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/phat_mod/include/phat/representations/vector_column_rep.h +0 -0
  375. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/scc_mod/include/scc/Column_data.h +0 -0
  376. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/scc_mod/include/scc/Scc.h +0 -0
  377. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/mpfree/scc_mod/include/scc/basic.h +0 -0
  378. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/COPYING +0 -0
  379. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/COPYING.LESSER +0 -0
  380. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/README.md +0 -0
  381. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/include/multi_critical/Grade.h +0 -0
  382. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/include/multi_critical/basic.h +0 -0
  383. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/include/multi_critical/boost_timers.h +0 -0
  384. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/include/multi_critical/firep.h +0 -0
  385. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/include/multi_critical/free_resolution.h +0 -0
  386. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpfree_mod/include/mpfree/Graded_matrix.h +0 -0
  387. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpfree_mod/include/mpfree/Grid_scheduler.h +0 -0
  388. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpfree_mod/include/mpfree/boost_timers.h +0 -0
  389. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpfree_mod/include/mpfree/global.h +0 -0
  390. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpfree_mod/include/mpfree/mpfree.h +0 -0
  391. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpfree_mod/include/mpfree/mpfree_subroutines.h +0 -0
  392. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Coordinate_traits_with_map.h +0 -0
  393. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Graded_matrix.h +0 -0
  394. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Graded_matrix_handle.h +0 -0
  395. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Pre_column_struct.h +0 -0
  396. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/basic.h +0 -0
  397. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_pre_column_struct.h +0 -0
  398. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_scc2020.h +0 -0
  399. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_simplex_tree.h +0 -0
  400. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/create_matrix_from_firep.h +0 -0
  401. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/sorting_utility.h +0 -0
  402. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/Graded_matrix.h +0 -0
  403. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/basic.h +0 -0
  404. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/boost_timers.h +0 -0
  405. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/multi_chunk.h +0 -0
  406. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/COPYING +0 -0
  407. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/COPYING.LESSER +0 -0
  408. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/algorithms/chunk_reduction.h +0 -0
  409. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/algorithms/row_reduction.h +0 -0
  410. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/algorithms/spectral_sequence_reduction.h +0 -0
  411. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/algorithms/standard_reduction.h +0 -0
  412. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/algorithms/twist_reduction.h +0 -0
  413. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/boundary_matrix.h +0 -0
  414. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/compute_persistence_pairs.h +0 -0
  415. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/helpers/dualize.h +0 -0
  416. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/helpers/misc.h +0 -0
  417. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/helpers/thread_local_storage.h +0 -0
  418. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/persistence_pairs.h +0 -0
  419. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/Container_traits.h +0 -0
  420. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/Pivot_representation.h +0 -0
  421. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/Uniform_representation.h +0 -0
  422. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/Unordered_map_container_traits.h +0 -0
  423. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/bit_tree_pivot_column.h +0 -0
  424. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/default_representations.h +0 -0
  425. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/full_pivot_column.h +0 -0
  426. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/heap_column_rep.h +0 -0
  427. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/heap_pivot_column.h +0 -0
  428. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/list_column_rep.h +0 -0
  429. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/set_column_rep.h +0 -0
  430. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/sparse_pivot_column.h +0 -0
  431. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/phat_mod/include/phat/representations/vector_column_rep.h +0 -0
  432. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/scc_mod/include/scc/Column_data.h +0 -0
  433. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/scc_mod/include/scc/Scc.h +0 -0
  434. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/multi_critical/scc_mod/include/scc/basic.h +0 -0
  435. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/LICENSE +0 -0
  436. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/README.md +0 -0
  437. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/mph/IO.h +0 -0
  438. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/mph/column.h +0 -0
  439. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/mph/examples.h +0 -0
  440. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/mph/grade.h +0 -0
  441. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/mph/landscapes.h +0 -0
  442. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/mph/main.cpp +0 -0
  443. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/mph/main.h +0 -0
  444. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/mph/matrix.h +0 -0
  445. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/mph/signatureColumn.h +0 -0
  446. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/muphasa/mph/utils.h +0 -0
  447. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/patches/README.md +0 -0
  448. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/patches/deg_rips_edge_copy_reducer.patch +0 -0
  449. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/patches/function_delaunay_runtime_logs.patch +0 -0
  450. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/patches/generate_ext_patches.py +0 -0
  451. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/patches/mpfree_runtime_logs.patch +0 -0
  452. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/patches/multi_critical_features.patch +0 -0
  453. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/patches/multi_critical_runtime_logs.patch +0 -0
  454. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/patches/muphasa_runtime_logs.patch +0 -0
  455. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/phat/COPYING +0 -0
  456. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/phat/COPYING.LESSER +0 -0
  457. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/phat/README.md +0 -0
  458. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/phat/include/phat/representations/bit_tree_pivot_column.h +0 -0
  459. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/README.md +0 -0
  460. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/bifiltration_cell.h +0 -0
  461. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/cell_with_radius.h +0 -0
  462. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/dimensional_traits_2.h +0 -0
  463. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/dimensional_traits_3.h +0 -0
  464. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/rhomboid.cpp +0 -0
  465. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/rhomboid.h +0 -0
  466. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/rhomboid_tiling.h +0 -0
  467. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/rhomboid_tiling_impl.h +0 -0
  468. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/rhomboid_with_radius.h +0 -0
  469. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/types.h +0 -0
  470. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/utils.cpp +0 -0
  471. {multipers-2.7.0b4 → multipers-2.7.0b5}/ext/rhomboidtiling_newer_cgal_version/src/utils.h +0 -0
  472. {multipers-2.7.0b4 → multipers-2.7.0b5}/licenses/LGPL-3.0-or-later.txt +0 -0
  473. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_2pac_interface.cpp +0 -0
  474. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/__init__.py +0 -0
  475. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_aida_interface.cpp +0 -0
  476. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_core_delaunay_nanobind.cpp +0 -0
  477. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_deg_rips_interface.cpp +0 -0
  478. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_function_delaunay_interface.cpp +0 -0
  479. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_function_rips_nanobind.cpp +0 -0
  480. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_grid_helper_nanobind.cpp +0 -0
  481. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_mcbif_nanobind.cpp +0 -0
  482. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_mpfree_interface.cpp +0 -0
  483. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_multi_critical_interface.cpp +0 -0
  484. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_muphasa_interface.cpp +0 -0
  485. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_rhomboid_tiling_interface.cpp +0 -0
  486. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_simplex_tree_multi_nanobind.cpp +0 -0
  487. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_simplextree_algorithms.py +0 -0
  488. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_slicer_algorithms.py +0 -0
  489. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_slicer_meta.py +0 -0
  490. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/_slicer_nanobind.cpp +0 -0
  491. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/array_api/__init__.py +0 -0
  492. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/data/UCR.py +0 -0
  493. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/data/__init__.py +0 -0
  494. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/data/graphs.py +0 -0
  495. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/data/immuno_regions.py +0 -0
  496. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/data/minimal_presentation_to_st_bf.py +0 -0
  497. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/data/pytorch2simplextree.py +0 -0
  498. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/data/shape3d.py +0 -0
  499. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/data/synthetic.py +0 -0
  500. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/2pac_interface.hpp +0 -0
  501. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/aida_interface.hpp +0 -0
  502. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/backend_log_flag.hpp +0 -0
  503. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/backend_log_policy.hpp +0 -0
  504. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/contiguous_slicer_bridge.hpp +0 -0
  505. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/deg_rips_interface.hpp +0 -0
  506. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/function_delaunay_interface.hpp +0 -0
  507. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/hera_interface.hpp +0 -0
  508. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/mpfree_interface.hpp +0 -0
  509. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/multi_critical_interface.hpp +0 -0
  510. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/muphasa_interface.hpp +0 -0
  511. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/nanobind_generator_basis.hpp +0 -0
  512. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/nanobind_registry_helpers.hpp +0 -0
  513. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/nanobind_registry_runtime.cpp +0 -0
  514. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/nanobind_registry_runtime.hpp +0 -0
  515. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/nanobind_wrapper_types.hpp +0 -0
  516. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/packed_multi_critical_bridge.hpp +0 -0
  517. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ext_interface/rhomboid_tiling_interface.hpp +0 -0
  518. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/filtrations/__init__.py +0 -0
  519. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/filtrations/density.py +0 -0
  520. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/filtrations/filtrations.py +0 -0
  521. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/function_rips.py +0 -0
  522. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/grids.py +0 -0
  523. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/gudhi/Persistence_slices_interface.h +0 -0
  524. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/gudhi/Simplex_tree_interface.h +0 -0
  525. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/gudhi/Simplex_tree_multi_interface.h +0 -0
  526. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/gudhi/gudhi/Persistence_matrix/columns/phat_bit_tree_column.h +0 -0
  527. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/gudhi/gudhi/Persistence_matrix/columns/phat_column_interface.h +0 -0
  528. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/gudhi/gudhi/Persistence_matrix/columns/phat_vector_column.h +0 -0
  529. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/gudhi/simplextree_conversion_core.hpp +0 -0
  530. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/gudhi/slicer_conversion_core.hpp +0 -0
  531. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/gudhi/tmp_h0_pers/mma_interface_h0.h +0 -0
  532. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/gudhi/tmp_h0_pers/naive_merge_tree.h +0 -0
  533. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/hera_monte_carlo_core.hpp +0 -0
  534. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/invariants/_utils.py +0 -0
  535. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/logs.py +0 -0
  536. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ml/__init__.py +0 -0
  537. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ml/accuracies.py +0 -0
  538. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ml/filtered_complex.py +0 -0
  539. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ml/invariants_with_persistable.py +0 -0
  540. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ml/kernels.py +0 -0
  541. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ml/mma.py +0 -0
  542. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ml/one.py +0 -0
  543. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ml/point_clouds.py +0 -0
  544. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ml/signed_measures.py +0 -0
  545. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ml/sliced_wasserstein.py +0 -0
  546. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ml/tools.py +0 -0
  547. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/mma_structures.py +0 -0
  548. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multi_parameter_rank_invariant/diff_helpers.h +0 -0
  549. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multi_parameter_rank_invariant/euler_characteristic.h +0 -0
  550. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multi_parameter_rank_invariant/function_rips.h +0 -0
  551. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multi_parameter_rank_invariant/hilbert_function.h +0 -0
  552. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multi_parameter_rank_invariant/mobius_inversion.h +0 -0
  553. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multi_parameter_rank_invariant/persistence_slices.h +0 -0
  554. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multi_parameter_rank_invariant/rank_invariant.h +0 -0
  555. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multiparameter_edge_collapse.py +0 -0
  556. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multiparameter_module_approximation/approximation.h +0 -0
  557. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multiparameter_module_approximation/debug.h +0 -0
  558. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/multiparameter_module_approximation/utilities.h +0 -0
  559. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/nanobind_array_utils.hpp +0 -0
  560. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/nanobind_dense_array_utils.hpp +0 -0
  561. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/nanobind_mma_registry_helpers.hpp +0 -0
  562. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/nanobind_object_utils.hpp +0 -0
  563. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/nanobind_simplextree_utils.hpp +0 -0
  564. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/nanobind_slicer_serialization.hpp +0 -0
  565. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/ops.py +0 -0
  566. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/pickle.py +0 -0
  567. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/simplex_tree_multi.py +0 -0
  568. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/slicer.py +0 -0
  569. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/tensor/tensor.h +0 -0
  570. {multipers-2.7.0b4 → multipers-2.7.0b5}/multipers/tests/__init__.py +0 -0
  571. {multipers-2.7.0b4 → multipers-2.7.0b5}/options.py +0 -0
  572. {multipers-2.7.0b4 → multipers-2.7.0b5}/tools/codegen/__init__.py +0 -0
  573. {multipers-2.7.0b4 → multipers-2.7.0b5}/tools/codegen/_registry.py +0 -0
  574. {multipers-2.7.0b4 → multipers-2.7.0b5}/tools/core/backend_log_policy_core.cc +0 -0
  575. {multipers-2.7.0b4 → multipers-2.7.0b5}/tools/core/filtrations_core.cc +0 -0
  576. {multipers-2.7.0b4 → multipers-2.7.0b5}/tools/core/hera_monte_carlo_core.cc +0 -0
  577. {multipers-2.7.0b4 → multipers-2.7.0b5}/tools/core/simplextree_core.cc +0 -0
  578. {multipers-2.7.0b4 → multipers-2.7.0b5}/tools/core/slicer_core.cc +0 -0
  579. {multipers-2.7.0b4 → multipers-2.7.0b5}/tools/repair_macos_libomp_wheel.py +0 -0
  580. {multipers-2.7.0b4 → multipers-2.7.0b5}/tools/tempita_grid_gen.py +0 -0
  581. {multipers-2.7.0b4 → multipers-2.7.0b5}/tools/update_sdist_ext_whitelist.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: multipers
3
- Version: 2.7.0b4
3
+ Version: 2.7.0b5
4
4
  Summary: Multiparameter Topological Persistence for Machine Learning
5
5
  Keywords: TDA,Persistence,Multiparameter,sklearn,autodiff
6
6
  Author-Email: David Loiseaux <david.lapous@proton.me>, Hannah Schreiber <hannah.schreiber@inria.fr>
@@ -84,22 +84,25 @@ This library features a bunch of different functions and helpers. See below for
84
84
  <br>Filled box refers to implemented or interfaced code.
85
85
  - [x] [[Multiparameter Module Approximation, JACT]](https://doi.org/10.1007/s41468-025-00222-y) provides the multiparameter simplicial structure, as well as technics for approximating modules, via interval-decomposable modules. It is also very useful for visualization.
86
86
  - [x] [[Stable Vectorization of Multiparameter Persistent Homology using Signed Barcodes as Measures, NeurIPS2023]](https://proceedings.neurips.cc/paper_files/paper/2023/hash/d75c474bc01735929a1fab5d0de3b189-Abstract-Conference.html) provides fast representations of multiparameter persistence modules, by using their signed barcodes decompositions encoded into signed measures. Implemented decompositions : Euler surfaces, Hilbert function, rank invariant (i.e. rectangles). It also provides representation technics for Machine Learning, i.e., Sliced Wasserstein kernels, and Vectorizations.
87
- - [x] [[A Framework for Fast and Stable Representations of Multiparameter Persistent Homology Decompositions, NeurIPS2023]](https://proceedings.neurips.cc/paper_files/paper/2023/hash/702b67152ec4435795f681865b67999c-Abstract-Conference.html) Provides a vectorization framework for interval decomposable modules, for Machine Learning. Currently implemented as an extension of MMA.
87
+ - [x] [[A Framework for Fast and Stable Representations of Multiparameter Persistent Homology Decompositions, NeurIPS2023]](https://proceedings.neurips.cc/paper_files/paper/2023/hash/702b67152ec4435795f681865b67999c-Abstract-Conference.html) Provides a vectorization framework for interval decomposable modules, for Machine Learning. Implemented as an extension of MMA.
88
88
  - [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.
89
89
  - [x] [[Multiparameter Persistence Landscapes, JMLR]](https://jmlr.org/papers/v21/19-054.html) A vectorization technic for multiparameter persistence modules.
90
90
  - [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.
91
91
  - [x] [[Fast free resolutions of bifiltered chain complexes]](https://arxiv.org/abs/2512.08652) One-critical representation of multicritical filtrations, using [multi_critical](https://bitbucket.org/mkerber/multi_critical).
92
92
  - [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.
93
93
  - [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.
94
- - [x] [[Hera]](https://github.com/anigmetov/hera) Matching distance between 2-parameter presentations, 1-parameter bottleneck/wasserstein distances.
94
+ - [x] [[Hera]](https://github.com/anigmetov/hera) Matching distance between 2-parameter presentations, 1-parameter bottleneck/wasserstein distances ([[paper]](https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.SoCG.2020.53))
95
95
  - [x] [[Decomposing Multiparameter Persistence Modules, SoCG2025]](https://doi.org/10.4230/LIPIcs.SoCG.2025.41) Using the [AIDA](https://github.com/JanJend/AIDA) and [Persistence-Algebra](https://github.com/JanJend/Persistence-Algebra/) libraries.
96
96
  - [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.
97
- - [x] [[Delaunay Core Bifiltration]](https://arxiv.org/abs/2405.01214) Bifiltration for point clouds, taking into account the density. Similar to Rips-Density.
97
+ - [x] [[Delaunay Core Bifiltration, JACT]](https://doi.org/10.1007/s41468-025-00226-8) Bifiltration for point clouds, taking into account the density. Similar to Rips-Density.
98
98
  - [x] [[Computing the Multicover Bifiltration, SOCG2021]](https://doi.org/10.4230/LIPIcs.SoCG.2021.27) Rhomboid Tiling bifiltration. Equivalent to the multicover bifiltration, using [rhomboidtiling](https://github.com/geoo89/rhomboidtiling).
99
- - [x] [[Rivet]](https://github.com/rivetTDA/rivet) Interactive two parameter persistence
99
+ - [x] [[Rivet]](https://github.com/rivetTDA/rivet) Interactive two parameter persistence.
100
100
  - [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.
101
- - [x] [[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.
101
+ - [x] [[Projected distances for multi-parameter persistence modules, Institut Fourier]](https://aif.centre-mersenne.org/articles/10.5802/aif.3752/) and [[Computation of $\gamma$-linear projected barcodes, JACT]](https://doi.org/10.1007/s41468-025-00209-9) Provides a strategy to estimate the convolution distance between multiparameter persistence module using projected barcodes.
102
102
  - [x] [[Efficient Two-Parameter Persistence Computation via Cohomology, SoCG2023]](https://doi.org/10.4230/LIPIcs.SoCG.2023.15) Minimal presentations for 2-parameter persistence algorithm.
103
+ - [x] [[deg_rips]](https://bitbucket.org/mkerber/deg_rips) Efficient implementation of the DegreeRips bifiltration. Alternative to the multipers-native one.
104
+ - [ ] [[Multiscale Clusterings BiFiltration, ICLR2026]](https://openreview.net/forum?id=E7D6uybODJ) WIP implementation.
105
+
103
106
 
104
107
  If I missed something, or you want to add something, feel free to open an issue.
105
108
 
@@ -45,22 +45,25 @@ This library features a bunch of different functions and helpers. See below for
45
45
  <br>Filled box refers to implemented or interfaced code.
46
46
  - [x] [[Multiparameter Module Approximation, JACT]](https://doi.org/10.1007/s41468-025-00222-y) provides the multiparameter simplicial structure, as well as technics for approximating modules, via interval-decomposable modules. It is also very useful for visualization.
47
47
  - [x] [[Stable Vectorization of Multiparameter Persistent Homology using Signed Barcodes as Measures, NeurIPS2023]](https://proceedings.neurips.cc/paper_files/paper/2023/hash/d75c474bc01735929a1fab5d0de3b189-Abstract-Conference.html) provides fast representations of multiparameter persistence modules, by using their signed barcodes decompositions encoded into signed measures. Implemented decompositions : Euler surfaces, Hilbert function, rank invariant (i.e. rectangles). It also provides representation technics for Machine Learning, i.e., Sliced Wasserstein kernels, and Vectorizations.
48
- - [x] [[A Framework for Fast and Stable Representations of Multiparameter Persistent Homology Decompositions, NeurIPS2023]](https://proceedings.neurips.cc/paper_files/paper/2023/hash/702b67152ec4435795f681865b67999c-Abstract-Conference.html) Provides a vectorization framework for interval decomposable modules, for Machine Learning. Currently implemented as an extension of MMA.
48
+ - [x] [[A Framework for Fast and Stable Representations of Multiparameter Persistent Homology Decompositions, NeurIPS2023]](https://proceedings.neurips.cc/paper_files/paper/2023/hash/702b67152ec4435795f681865b67999c-Abstract-Conference.html) Provides a vectorization framework for interval decomposable modules, for Machine Learning. Implemented as an extension of MMA.
49
49
  - [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.
50
50
  - [x] [[Multiparameter Persistence Landscapes, JMLR]](https://jmlr.org/papers/v21/19-054.html) A vectorization technic for multiparameter persistence modules.
51
51
  - [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.
52
52
  - [x] [[Fast free resolutions of bifiltered chain complexes]](https://arxiv.org/abs/2512.08652) One-critical representation of multicritical filtrations, using [multi_critical](https://bitbucket.org/mkerber/multi_critical).
53
53
  - [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.
54
54
  - [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.
55
- - [x] [[Hera]](https://github.com/anigmetov/hera) Matching distance between 2-parameter presentations, 1-parameter bottleneck/wasserstein distances.
55
+ - [x] [[Hera]](https://github.com/anigmetov/hera) Matching distance between 2-parameter presentations, 1-parameter bottleneck/wasserstein distances ([[paper]](https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.SoCG.2020.53))
56
56
  - [x] [[Decomposing Multiparameter Persistence Modules, SoCG2025]](https://doi.org/10.4230/LIPIcs.SoCG.2025.41) Using the [AIDA](https://github.com/JanJend/AIDA) and [Persistence-Algebra](https://github.com/JanJend/Persistence-Algebra/) libraries.
57
57
  - [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.
58
- - [x] [[Delaunay Core Bifiltration]](https://arxiv.org/abs/2405.01214) Bifiltration for point clouds, taking into account the density. Similar to Rips-Density.
58
+ - [x] [[Delaunay Core Bifiltration, JACT]](https://doi.org/10.1007/s41468-025-00226-8) Bifiltration for point clouds, taking into account the density. Similar to Rips-Density.
59
59
  - [x] [[Computing the Multicover Bifiltration, SOCG2021]](https://doi.org/10.4230/LIPIcs.SoCG.2021.27) Rhomboid Tiling bifiltration. Equivalent to the multicover bifiltration, using [rhomboidtiling](https://github.com/geoo89/rhomboidtiling).
60
- - [x] [[Rivet]](https://github.com/rivetTDA/rivet) Interactive two parameter persistence
60
+ - [x] [[Rivet]](https://github.com/rivetTDA/rivet) Interactive two parameter persistence.
61
61
  - [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.
62
- - [x] [[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.
62
+ - [x] [[Projected distances for multi-parameter persistence modules, Institut Fourier]](https://aif.centre-mersenne.org/articles/10.5802/aif.3752/) and [[Computation of $\gamma$-linear projected barcodes, JACT]](https://doi.org/10.1007/s41468-025-00209-9) Provides a strategy to estimate the convolution distance between multiparameter persistence module using projected barcodes.
63
63
  - [x] [[Efficient Two-Parameter Persistence Computation via Cohomology, SoCG2023]](https://doi.org/10.4230/LIPIcs.SoCG.2023.15) Minimal presentations for 2-parameter persistence algorithm.
64
+ - [x] [[deg_rips]](https://bitbucket.org/mkerber/deg_rips) Efficient implementation of the DegreeRips bifiltration. Alternative to the multipers-native one.
65
+ - [ ] [[Multiscale Clusterings BiFiltration, ICLR2026]](https://openreview.net/forum?id=E7D6uybODJ) WIP implementation.
66
+
64
67
 
65
68
  If I missed something, or you want to add something, feel free to open an issue.
66
69
 
@@ -95,10 +95,8 @@ diagram_t diagram_from_handle(nb::handle h, bool drop_diagonal = false) {
95
95
  diagram_t out;
96
96
  out.reserve(static_cast<std::size_t>(diagram.shape(0)));
97
97
 
98
- const auto row_stride = static_cast<std::ptrdiff_t>(diagram.stride(0)) /
99
- static_cast<std::ptrdiff_t>(sizeof(double));
100
- const auto col_stride = static_cast<std::ptrdiff_t>(diagram.stride(1)) /
101
- static_cast<std::ptrdiff_t>(sizeof(double));
98
+ const auto row_stride = static_cast<std::ptrdiff_t>(diagram.stride(0));
99
+ const auto col_stride = static_cast<std::ptrdiff_t>(diagram.stride(1));
102
100
  const auto* values = diagram.data();
103
101
  for (std::ptrdiff_t i = 0; i < static_cast<std::ptrdiff_t>(diagram.shape(0)); ++i) {
104
102
  const double birth = values[i * row_stride];
@@ -80,17 +80,55 @@ nb::tuple dump_summand(const Gudhi::multi_persistence::Summand<T>& summand) {
80
80
  }
81
81
 
82
82
  template <typename T>
83
- nb::tuple barcode_to_python(
84
- const std::vector<std::vector<typename Gudhi::multi_persistence::Module<T>::Bar>>& barcode) {
85
- return tuple_from_size(barcode.size(), [&](size_t dim) -> nb::object {
86
- const auto& bars = barcode[dim];
83
+ nb::tuple batched_barcode_to_python(
84
+ const std::vector<std::vector<typename Gudhi::multi_persistence::Module<T>::Bar>>& barcodes,
85
+ size_t num_lines,
86
+ bool keep_inf) {
87
+ constexpr T inf = std::numeric_limits<T>::infinity();
88
+ return tuple_from_size(barcodes.size(), [&](size_t dim) -> nb::object {
89
+ const auto& bars = barcodes[dim];
90
+ if (num_lines == 0) {
91
+ auto split_indices = owned_array<uint64_t>(std::vector<uint64_t>{}, {size_t(0)});
92
+ if (keep_inf) {
93
+ return nb::make_tuple(owned_array<T>(std::vector<T>{}, {size_t(0), size_t(0), size_t(2)}), split_indices);
94
+ }
95
+ return nb::make_tuple(owned_array<T>(std::vector<T>{}, {size_t(0), size_t(2)}), split_indices);
96
+ }
97
+ if (bars.size() % num_lines != 0) {
98
+ throw std::runtime_error("Barcodes along different lines do not have a consistent shape.");
99
+ }
100
+
101
+ const size_t bars_per_line = bars.size() / num_lines;
87
102
  std::vector<T> flat;
88
- flat.reserve(bars.size() * 2);
89
- for (const auto& bar : bars) {
90
- flat.push_back(bar[0]);
91
- flat.push_back(bar[1]);
103
+ if (keep_inf) {
104
+ flat.reserve(bars.size() * 2);
105
+ for (const auto& bar : bars) {
106
+ flat.push_back(bar[0]);
107
+ flat.push_back(bar[1]);
108
+ }
109
+ return nb::make_tuple(owned_array<T>(std::move(flat), {num_lines, bars_per_line, size_t(2)}),
110
+ owned_array<uint64_t>(std::vector<uint64_t>{}, {size_t(0)}));
111
+ }
112
+
113
+ std::vector<uint64_t> split_indices;
114
+ split_indices.reserve(num_lines > 0 ? num_lines - 1 : 0);
115
+ uint64_t kept_count = 0;
116
+ for (size_t line = 0; line < num_lines; ++line) {
117
+ const size_t line_offset = line * bars_per_line;
118
+ for (size_t j = 0; j < bars_per_line; ++j) {
119
+ const auto& bar = bars[line_offset + j];
120
+ if (bar[0] < inf) {
121
+ flat.push_back(bar[0]);
122
+ flat.push_back(bar[1]);
123
+ ++kept_count;
124
+ }
125
+ }
126
+ if (line + 1 < num_lines) {
127
+ split_indices.push_back(kept_count);
128
+ }
92
129
  }
93
- return nb::cast(owned_array<T>(std::move(flat), {bars.size(), size_t(2)}));
130
+ return nb::make_tuple(owned_array<T>(std::move(flat), {static_cast<size_t>(kept_count), size_t(2)}),
131
+ owned_array<uint64_t>(std::move(split_indices), {num_lines - 1}));
94
132
  });
95
133
  }
96
134
 
@@ -142,23 +180,30 @@ Gudhi::multi_persistence::Box<T> box_from_array(nb::ndarray<nb::numpy, const T,
142
180
  }
143
181
 
144
182
  template <typename T>
145
- Gudhi::multi_persistence::Line<T> line_from_vectors(const std::vector<T>& basepoint, const std::vector<T>* direction) {
146
- return direction == nullptr ? Gudhi::multi_persistence::Line<T>(basepoint)
147
- : Gudhi::multi_persistence::Line<T>(basepoint, *direction);
148
- }
183
+ nb::tuple barcodes_from_lines_impl(Gudhi::multi_persistence::Module<T>& self,
184
+ const std::vector<std::vector<T>>& basepoints,
185
+ const std::vector<std::vector<T>>& directions,
186
+ int degree,
187
+ bool keep_inf) {
188
+ if (basepoints.size() != directions.size()) {
189
+ throw std::runtime_error("Basepoints and directions must contain the same number of lines.");
190
+ }
149
191
 
150
- template <typename T>
151
- nb::tuple barcode_from_line_impl(Gudhi::multi_persistence::Module<T>& self,
152
- const std::vector<T>& basepoint,
153
- const std::vector<T>* direction,
154
- int degree) {
155
- auto line = line_from_vectors(basepoint, direction);
156
- decltype(self.get_barcode_from_line(line, degree)) barcode;
192
+ std::vector<Gudhi::multi_persistence::Line<T>> lines;
193
+ lines.reserve(basepoints.size());
194
+ for (size_t i = 0; i < basepoints.size(); ++i) {
195
+ if (basepoints[i].size() != directions[i].size()) {
196
+ throw std::runtime_error("Basepoints and directions must have the same number of parameters.");
197
+ }
198
+ lines.emplace_back(basepoints[i], directions[i]);
199
+ }
200
+
201
+ decltype(self.get_barcodes_from_set_of_lines(lines, degree)) barcodes;
157
202
  {
158
203
  nb::gil_scoped_release release;
159
- barcode = self.get_barcode_from_line(line, degree);
204
+ barcodes = self.get_barcodes_from_set_of_lines(lines, degree);
160
205
  }
161
- return barcode_to_python<T>(barcode);
206
+ return batched_barcode_to_python<T>(barcodes, lines.size(), keep_inf);
162
207
  }
163
208
 
164
209
  template <typename T, class GridRange>
@@ -483,22 +528,19 @@ void bind_float_module_methods(Class& cls) {
483
528
  using Module = Gudhi::multi_persistence::Module<T>;
484
529
 
485
530
  cls.def(
486
- "_get_barcode_from_line",
487
- [](Module& self,
488
- nb::ndarray<nb::numpy, const T, nb::ndim<1>, nb::c_contig> basepoint,
489
- nb::object direction,
490
- int degree) -> nb::tuple {
491
- auto basepoint_values = vector_from_array(basepoint);
492
- if (direction.is_none()) {
493
- return barcode_from_line_impl<T>(self, basepoint_values, nullptr, degree);
494
- }
495
- auto direction_array = nb::cast<nb::ndarray<nb::numpy, const T, nb::ndim<1>, nb::c_contig>>(direction);
496
- auto direction_values = vector_from_array(direction_array);
497
- return barcode_from_line_impl<T>(self, basepoint_values, &direction_values, degree);
498
- },
499
- "basepoint"_a,
500
- "direction"_a = nb::none(),
501
- "degree"_a = -1)
531
+ "_get_barcodes_from_lines",
532
+ [](Module& self,
533
+ nb::ndarray<nb::numpy, const T, nb::ndim<2>, nb::c_contig> basepoints,
534
+ nb::ndarray<nb::numpy, const T, nb::ndim<2>, nb::c_contig> directions,
535
+ int degree,
536
+ bool keep_inf) -> nb::tuple {
537
+ return barcodes_from_lines_impl<T>(
538
+ self, matrix_from_array(basepoints), matrix_from_array(directions), degree, keep_inf);
539
+ },
540
+ "basepoints"_a,
541
+ "directions"_a,
542
+ "degree"_a = -1,
543
+ "keep_inf"_a = true)
502
544
  .def(
503
545
  "evaluate_in_grid",
504
546
  [](Module& self, nb::handle grid_handle) -> Module& {
@@ -46,8 +46,8 @@ def signed_measure(
46
46
  Computes the signed measures given by the decomposition of the hilbert
47
47
  function or the euler characteristic, or the rank invariant.
48
48
 
49
- Input
50
- -----
49
+ Parameters
50
+ ----------
51
51
  - filtered_complex: given by a simplextree or a slicer.
52
52
  - degree:int|None / degrees:list[int] the degrees to compute.
53
53
  None represents the euler characteristic.
@@ -83,6 +83,17 @@ def signed_measure(
83
83
  `[signed_measure_of_degree for degree in degrees]`
84
84
  with `signed_measure_of_degree` of the form `(dirac location, dirac weights)`.
85
85
 
86
+ References
87
+ ----------
88
+ Loiseaux, Carrière, Botnan, Oudot, and Scoccola, "Stable Vectorization of
89
+ Multiparameter Persistent Homology using Signed Barcodes as Measures",
90
+ Advances in Neural Information Processing Systems, 2023.
91
+
92
+ Scoccola, Setlur, Loiseaux, Carrière, and Oudot, "Differentiability and
93
+ Optimization of Multiparameter Persistent Homology", Proceedings of the
94
+ 41st International Conference on Machine Learning, PMLR 235:43986-44011,
95
+ 2024.
96
+
86
97
  Notes on computational backends
87
98
  -------------------------------
88
99
  There are several backends for each of these computations.
@@ -75,6 +75,12 @@ def logsumexp(x, axis=None, dim=None, keepdims=False, keepdim=None):
75
75
  return _jsp_special.logsumexp(x, axis=axis, keepdims=keepdim)
76
76
 
77
77
 
78
+ def cumsum(x, axis=None, dim=None, **kwargs):
79
+ if axis is None:
80
+ axis = dim
81
+ return _jnp.cumsum(x, axis=axis, **kwargs)
82
+
83
+
78
84
  def norm(x, axis=None, dim=None, **kwargs):
79
85
  if axis is None:
80
86
  axis = dim
@@ -142,6 +142,12 @@ def logsumexp(x, axis=None, dim=None, keepdims=False, keepdim=None):
142
142
  return _sp_logsumexp(x, axis=axis, keepdims=keepdim)
143
143
 
144
144
 
145
+ def cumsum(x, axis=None, dim=None, **kwargs):
146
+ if axis is None:
147
+ axis = dim
148
+ return _np.cumsum(x, axis=axis, **kwargs)
149
+
150
+
145
151
  def norm(x, axis=None, dim=None, **kwargs):
146
152
  if axis is None:
147
153
  axis = dim
@@ -233,7 +239,7 @@ def set_at(x, idx, y):
233
239
 
234
240
 
235
241
  def add_at(x, idx, y):
236
- x[idx] += y
242
+ _np.add.at(x, idx, y)
237
243
  return x
238
244
 
239
245
 
@@ -96,6 +96,12 @@ def logsumexp(x, axis=None, dim=None, keepdims=False, keepdim=None):
96
96
  return _torch.logsumexp(x, dim=dim, keepdim=keepdim)
97
97
 
98
98
 
99
+ def cumsum(x, axis=None, dim=None, **kwargs):
100
+ if dim is None:
101
+ dim = axis
102
+ return _torch.cumsum(x, dim=dim, **kwargs)
103
+
104
+
99
105
  def norm(x, axis=None, dim=None, **kwargs):
100
106
  if dim is None:
101
107
  dim = axis
@@ -184,6 +190,10 @@ def set_at(x, idx, y):
184
190
 
185
191
 
186
192
  def add_at(x, idx, y):
193
+ if not isinstance(idx, tuple):
194
+ idx = (idx,)
195
+ if all(isinstance(i, _torch.Tensor) for i in idx):
196
+ return x.index_put_(idx, y, accumulate=True)
187
197
  x[idx] += y
188
198
  return x
189
199
 
@@ -1,4 +1,5 @@
1
1
  import os
2
+ import warnings
2
3
  from os import listdir
3
4
  from os.path import expanduser
4
5
  from typing import Iterable
@@ -8,7 +9,8 @@ import MDAnalysis as mda
8
9
  import numpy as np
9
10
  import pandas as pd
10
11
  from joblib import Parallel, delayed
11
- from MDAnalysis.topology.guessers import guess_masses
12
+ from MDAnalysis.exceptions import NoDataError
13
+ from MDAnalysis.guesser import tables as mda_tables
12
14
  from sklearn.base import BaseEstimator, TransformerMixin
13
15
  from sklearn.preprocessing import LabelEncoder
14
16
 
@@ -22,6 +24,60 @@ JC_path = DATASET_PATH + "Cleves-Jain/"
22
24
  DUDE_path = DATASET_PATH + "DUD-E/"
23
25
 
24
26
 
27
+ def _load_molecule(path: str | mda.Universe):
28
+ if isinstance(path, mda.Universe):
29
+ return path
30
+
31
+ kwargs = {"to_guess": ()} if path.lower().endswith(".mol2") else {}
32
+ with warnings.catch_warnings():
33
+ warnings.filterwarnings(
34
+ "ignore",
35
+ message=r"Unknown elements found for some atoms: .*",
36
+ category=UserWarning,
37
+ module=r"MDAnalysis\.topology\.MOL2Parser",
38
+ )
39
+ return mda.Universe(path, **kwargs)
40
+
41
+
42
+ def _mass_labels(molecule: mda.Universe):
43
+ labels = np.asarray(molecule.atoms.types, dtype=object).copy()
44
+ try:
45
+ elements = np.asarray(molecule.atoms.elements, dtype=object)
46
+ except NoDataError:
47
+ elements = None
48
+
49
+ if elements is not None:
50
+ has_element = elements != ""
51
+ labels[has_element] = elements[has_element]
52
+
53
+ return np.asarray(
54
+ [label.split(".", 1)[0] if isinstance(label, str) else label for label in labels],
55
+ dtype=object,
56
+ )
57
+
58
+
59
+ def _lookup_masses(labels):
60
+ masses = np.zeros(len(labels), dtype=np.float64)
61
+ for i, label in enumerate(labels):
62
+ label = str(label)
63
+ masses[i] = mda_tables.masses.get(
64
+ label, mda_tables.masses.get(label.upper(), 0.0)
65
+ )
66
+ return masses
67
+
68
+
69
+ def _atom_masses(molecule: mda.Universe):
70
+ try:
71
+ masses = molecule.atoms.masses.copy()
72
+ except NoDataError:
73
+ masses = np.zeros(molecule.atoms.n_atoms, dtype=np.float64)
74
+
75
+ null_indices = masses == 0
76
+ if np.any(null_indices):
77
+ masses[null_indices] = _lookup_masses(_mass_labels(molecule)[null_indices])
78
+ return masses
79
+
80
+
25
81
  # pathes = get_data_path()
26
82
  # imgs = apply_pipeline(pathes=pathes, pipeline=pipeline_img)
27
83
  # distances_to_letter, ytest = img_distances(imgs)
@@ -253,7 +309,8 @@ def lines2bonds(
253
309
 
254
310
 
255
311
  def lines2bonds_MOL2(mol: mda.Universe):
256
- _lines = open(mol.filename, "r").readlines()
312
+ with open(mol.filename, "r") as molecule_file:
313
+ _lines = molecule_file.readlines()
257
314
  out = []
258
315
  index = 0
259
316
  while index < len(_lines) and _lines[index].strip() != "@<TRIPOS>BOND":
@@ -281,7 +338,7 @@ def lines2bonds_PDB(mol: mda.Universe):
281
338
  def _mol2graphst(
282
339
  path: str | mda.Universe, filtrations: Iterable[str], molecule_format=None
283
340
  ):
284
- molecule = path if isinstance(path, mda.Universe) else mda.Universe(path)
341
+ molecule = _load_molecule(path)
285
342
 
286
343
  num_filtrations = len(filtrations)
287
344
  nodes = molecule.atoms.indices.reshape(1, -1)
@@ -320,12 +377,7 @@ def _mol2graphst(
320
377
  charges = molecule.atoms.charges
321
378
  st.fill_lowerstar(charges, parameter=i)
322
379
  case "atomic_mass":
323
- masses = molecule.atoms.masses
324
- null_indices = masses == 0
325
- if np.any(null_indices): # guess if necessary
326
- masses[null_indices] = guess_masses(molecule.atoms.types)[
327
- null_indices
328
- ]
380
+ masses = _atom_masses(molecule)
329
381
  st.fill_lowerstar(-masses, parameter=i)
330
382
  case _:
331
383
  pass
@@ -342,7 +394,7 @@ def _mol2ripsst(
342
394
  import gudhi as gd
343
395
 
344
396
  assert "bond_length" == filtrations[0], "Bond length has to be first for rips."
345
- molecule = path if isinstance(path, mda.Universe) else mda.Universe(path)
397
+ molecule = _load_molecule(path)
346
398
  num_parameters = len(filtrations)
347
399
  st_rips = gd.RipsComplex(
348
400
  points=molecule.atoms.positions, max_edge_length=threshold
@@ -391,12 +443,7 @@ def _mol2ripsst(
391
443
  charges = molecule.atoms.charges
392
444
  st.fill_lowerstar(charges, parameter=i)
393
445
  case "atomic_mass":
394
- masses = molecule.atoms.masses
395
- null_indices = masses == 0
396
- if np.any(null_indices): # guess if necessary
397
- masses[null_indices] = guess_masses(molecule.atoms.types)[
398
- null_indices
399
- ]
446
+ masses = _atom_masses(molecule)
400
447
  # print(masses)
401
448
  st.fill_lowerstar(-masses, parameter=i)
402
449
  case _:
@@ -442,7 +489,7 @@ class Molecule2SimplexTree(BaseEstimator, TransformerMixin):
442
489
  def fit(self, X: Iterable[str], y=None):
443
490
  if len(X) == 0:
444
491
  return self
445
- test_mol = mda.Universe(X[0])
492
+ test_mol = _load_molecule(X[0])
446
493
  self._molecule_format = test_mol.filename.split(".")[-1].lower()
447
494
  return self
448
495