multipers 2.4.2b2__tar.gz → 2.5.0b1__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 (462) hide show
  1. {multipers-2.4.2b2/multipers.egg-info → multipers-2.5.0b1}/PKG-INFO +15 -13
  2. {multipers-2.4.2b2 → multipers-2.5.0b1}/README.md +14 -12
  3. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/__init__.py +2 -0
  4. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/array_api/numpy.py +2 -3
  5. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/array_api/torch.py +2 -3
  6. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/_multi_critical_interface.pyx +8 -6
  7. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/mpfree_interface.hpp +5 -5
  8. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/multi_critical_interface.hpp +3 -3
  9. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtrations/filtrations.py +8 -10
  10. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/grids.pyx +3 -6
  11. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/io.pyx +2 -2
  12. multipers-2.5.0b1/multipers/logs.py +113 -0
  13. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_module_approximation.pyx +6 -6
  14. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ops.pyx +18 -11
  15. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/simplex_tree_multi.pyx +33 -48
  16. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/simplex_tree_multi.pyx.tp +3 -3
  17. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/slicer.pyx +93 -146
  18. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/slicer.pyx.tp +4 -5
  19. {multipers-2.4.2b2 → multipers-2.5.0b1/multipers.egg-info}/PKG-INFO +15 -13
  20. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers.egg-info/SOURCES.txt +2 -0
  21. {multipers-2.4.2b2 → multipers-2.5.0b1}/pyproject.toml +2 -3
  22. multipers-2.5.0b1/tests/test_multi_critical_interface.py +224 -0
  23. {multipers-2.4.2b2 → multipers-2.5.0b1}/LICENSE +0 -0
  24. {multipers-2.4.2b2 → multipers-2.5.0b1}/MANIFEST.in +0 -0
  25. {multipers-2.4.2b2 → multipers-2.5.0b1}/THIRD_PARTY_NOTICES.md +0 -0
  26. {multipers-2.4.2b2 → multipers-2.5.0b1}/_tempita_grid_gen.py +0 -0
  27. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/CMakeLists.txt +0 -0
  28. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/LICENSE +0 -0
  29. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/aida.cpp +0 -0
  30. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/birth_death.cpp +0 -0
  31. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/brute_force_mpm_decomposition.cpp +0 -0
  32. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/generate_decompositions.cpp +0 -0
  33. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/include/aida_interface.hpp +0 -0
  34. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/include/config.hpp +0 -0
  35. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/include/option_parser.hpp +0 -0
  36. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/include/types.hpp +0 -0
  37. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/making_examples.cpp +0 -0
  38. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/minimize_pres.cpp +0 -0
  39. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/mpfree_clone.cpp +0 -0
  40. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/presentation_to_quiver.cpp +0 -0
  41. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/presentation_to_quiver_new.cpp +0 -0
  42. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/resolution.cpp +0 -0
  43. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_decompose.cpp +0 -0
  44. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_decompose.hpp +0 -0
  45. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_functions.cpp +0 -0
  46. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_functions.hpp +0 -0
  47. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_helpers.cpp +0 -0
  48. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_helpers.hpp +0 -0
  49. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_interface.cpp +0 -0
  50. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/block.cpp +0 -0
  51. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/block.hpp +0 -0
  52. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/config.cpp +0 -0
  53. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/option_parser.cpp +0 -0
  54. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/vectorspace_decompositions.cpp +0 -0
  55. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/LICENSE +0 -0
  56. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/analyse_ind.cpp +0 -0
  57. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/birth_death.cpp +0 -0
  58. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/cut_module.cpp +0 -0
  59. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/hom.cpp +0 -0
  60. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/bitset_algebra.hpp +0 -0
  61. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/column_types.hpp +0 -0
  62. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/dense_matrix.hpp +0 -0
  63. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/draw_hf.hpp +0 -0
  64. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/general.hpp +0 -0
  65. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/graded_linalg.hpp +0 -0
  66. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/graded_matrix.hpp +0 -0
  67. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/grid_scheduler.hpp +0 -0
  68. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/homomorphisms.hpp +0 -0
  69. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/matrix_base.hpp +0 -0
  70. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/modules.hpp +0 -0
  71. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/orders_and_graphs.hpp +0 -0
  72. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/r2graded_matrix.hpp +0 -0
  73. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/r3graded_matrix.hpp +0 -0
  74. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/sparse_matrix.hpp +0 -0
  75. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/to_quiver.hpp +0 -0
  76. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/minimize.cpp +0 -0
  77. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/pres_to_quiver.cpp +0 -0
  78. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/resolution.cpp +0 -0
  79. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/shift_endo.cpp +0 -0
  80. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/size.cpp +0 -0
  81. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/snap_grid.cpp +0 -0
  82. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/submodule_at.cpp +0 -0
  83. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/tests/dense_matrix_test.cpp +0 -0
  84. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/tests/graded_matrix_test.cpp +0 -0
  85. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/tests/hom_space_test.cpp +0 -0
  86. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/tests/sparse_matrix_test.cpp +0 -0
  87. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/thickness.cpp +0 -0
  88. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/COPYING +0 -0
  89. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/Delaunay_triangulation_accessors.h +0 -0
  90. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/Grade_map.h +0 -0
  91. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/Meb_accessors.h +0 -0
  92. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/Miniball.hpp +0 -0
  93. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/Point_with_densities.h +0 -0
  94. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/boost_timers.h +0 -0
  95. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/compute_meb_radii_of_simplex_tree.h +0 -0
  96. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/count_size_of_delaunay_triangulation.h +0 -0
  97. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/function_delaunay_with_meb.h +0 -0
  98. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/get_simplices_from_triangulation.h +0 -0
  99. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/mem_info.h +0 -0
  100. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/misc/functions.cpp +0 -0
  101. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/Graded_matrix.h +0 -0
  102. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/Grid_scheduler.h +0 -0
  103. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/boost_timers.h +0 -0
  104. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/global.h +0 -0
  105. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/mpfree.h +0 -0
  106. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/mpfree_subroutines.h +0 -0
  107. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Coordinate_traits_with_map.h +0 -0
  108. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Graded_matrix.h +0 -0
  109. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Graded_matrix_handle.h +0 -0
  110. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Pre_column_struct.h +0 -0
  111. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/basic.h +0 -0
  112. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_pre_column_struct.h +0 -0
  113. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_scc2020.h +0 -0
  114. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_simplex_tree.h +0 -0
  115. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/create_matrix_from_firep.h +0 -0
  116. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/sorting_utility.h +0 -0
  117. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/Graded_matrix.h +0 -0
  118. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/basic.h +0 -0
  119. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/boost_timers.h +0 -0
  120. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/multi_chunk.h +0 -0
  121. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/COPYING +0 -0
  122. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/COPYING.LESSER +0 -0
  123. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/algorithms/chunk_reduction.h +0 -0
  124. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/algorithms/row_reduction.h +0 -0
  125. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/algorithms/spectral_sequence_reduction.h +0 -0
  126. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/algorithms/standard_reduction.h +0 -0
  127. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/algorithms/twist_reduction.h +0 -0
  128. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/boundary_matrix.h +0 -0
  129. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/compute_persistence_pairs.h +0 -0
  130. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/helpers/dualize.h +0 -0
  131. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/helpers/misc.h +0 -0
  132. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/helpers/thread_local_storage.h +0 -0
  133. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/persistence_pairs.h +0 -0
  134. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/Container_traits.h +0 -0
  135. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/Pivot_representation.h +0 -0
  136. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/Uniform_representation.h +0 -0
  137. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/Unordered_map_container_traits.h +0 -0
  138. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/bit_tree_pivot_column.h +0 -0
  139. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/default_representations.h +0 -0
  140. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/full_pivot_column.h +0 -0
  141. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/heap_column_rep.h +0 -0
  142. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/heap_pivot_column.h +0 -0
  143. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/list_column_rep.h +0 -0
  144. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/set_column_rep.h +0 -0
  145. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/sparse_pivot_column.h +0 -0
  146. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/vector_column_rep.h +0 -0
  147. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/scc_mod/include/scc/Column_data.h +0 -0
  148. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/scc_mod/include/scc/Scc.h +0 -0
  149. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/scc_mod/include/scc/basic.h +0 -0
  150. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/src/main.cpp +0 -0
  151. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/src/persistence_up_to_density.cpp +0 -0
  152. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/COPYING +0 -0
  153. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/COPYING.LESSER +0 -0
  154. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/Graded_matrix.h +0 -0
  155. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/Grid_scheduler.h +0 -0
  156. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/boost_timers.h +0 -0
  157. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/global.h +0 -0
  158. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/mpfree.h +0 -0
  159. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/mpfree_subroutines.h +0 -0
  160. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Coordinate_traits_with_map.h +0 -0
  161. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Graded_matrix.h +0 -0
  162. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Graded_matrix_handle.h +0 -0
  163. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Pre_column_struct.h +0 -0
  164. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/basic.h +0 -0
  165. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_pre_column_struct.h +0 -0
  166. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_scc2020.h +0 -0
  167. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_simplex_tree.h +0 -0
  168. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/create_matrix_from_firep.h +0 -0
  169. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/sorting_utility.h +0 -0
  170. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/COPYING +0 -0
  171. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/COPYING.LESSER +0 -0
  172. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/boundary_matrix.h +0 -0
  173. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/helpers/misc.h +0 -0
  174. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/helpers/thread_local_storage.h +0 -0
  175. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/Container_traits.h +0 -0
  176. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/Pivot_representation.h +0 -0
  177. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/Uniform_representation.h +0 -0
  178. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/Unordered_map_container_traits.h +0 -0
  179. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/bit_tree_pivot_column.h +0 -0
  180. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/default_representations.h +0 -0
  181. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/full_pivot_column.h +0 -0
  182. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/heap_column_rep.h +0 -0
  183. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/heap_pivot_column.h +0 -0
  184. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/list_column_rep.h +0 -0
  185. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/set_column_rep.h +0 -0
  186. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/sparse_pivot_column.h +0 -0
  187. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/vector_column_rep.h +0 -0
  188. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/scc_mod/include/scc/Column_data.h +0 -0
  189. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/scc_mod/include/scc/Scc.h +0 -0
  190. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/scc_mod/include/scc/basic.h +0 -0
  191. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/src/mpfree.cpp +0 -0
  192. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/COPYING +0 -0
  193. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/COPYING.LESSER +0 -0
  194. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/include/multi_chunk/Graded_matrix.h +0 -0
  195. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/include/multi_chunk/basic.h +0 -0
  196. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/include/multi_chunk/boost_timers.h +0 -0
  197. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/include/multi_chunk/multi_chunk.h +0 -0
  198. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/Coordinate_traits_with_map.h +0 -0
  199. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/Graded_matrix.h +0 -0
  200. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/Graded_matrix_handle.h +0 -0
  201. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/Pre_column_struct.h +0 -0
  202. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/basic.h +0 -0
  203. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_pre_column_struct.h +0 -0
  204. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_scc2020.h +0 -0
  205. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_simplex_tree.h +0 -0
  206. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/create_matrix_from_firep.h +0 -0
  207. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/sorting_utility.h +0 -0
  208. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/boundary_matrix.h +0 -0
  209. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/helpers/misc.h +0 -0
  210. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/helpers/thread_local_storage.h +0 -0
  211. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/Container_traits.h +0 -0
  212. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/Pivot_representation.h +0 -0
  213. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/Uniform_representation.h +0 -0
  214. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/Unordered_map_container_traits.h +0 -0
  215. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/bit_tree_pivot_column.h +0 -0
  216. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/default_representations.h +0 -0
  217. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/full_pivot_column.h +0 -0
  218. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/heap_column_rep.h +0 -0
  219. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/heap_pivot_column.h +0 -0
  220. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/list_column_rep.h +0 -0
  221. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/set_column_rep.h +0 -0
  222. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/sparse_pivot_column.h +0 -0
  223. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/vector_column_rep.h +0 -0
  224. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/scc_mod/include/scc/Column_data.h +0 -0
  225. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/scc_mod/include/scc/Scc.h +0 -0
  226. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/scc_mod/include/scc/basic.h +0 -0
  227. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/src/multi_chunk.cpp +0 -0
  228. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/COPYING +0 -0
  229. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/COPYING.LESSER +0 -0
  230. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/include/multi_critical/Grade.h +0 -0
  231. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/include/multi_critical/basic.h +0 -0
  232. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/include/multi_critical/boost_timers.h +0 -0
  233. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/include/multi_critical/firep.h +0 -0
  234. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/include/multi_critical/free_resolution.h +0 -0
  235. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/Graded_matrix.h +0 -0
  236. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/Grid_scheduler.h +0 -0
  237. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/boost_timers.h +0 -0
  238. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/global.h +0 -0
  239. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/mpfree.h +0 -0
  240. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/mpfree_subroutines.h +0 -0
  241. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Coordinate_traits_with_map.h +0 -0
  242. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Graded_matrix.h +0 -0
  243. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Graded_matrix_handle.h +0 -0
  244. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Pre_column_struct.h +0 -0
  245. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/basic.h +0 -0
  246. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_pre_column_struct.h +0 -0
  247. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_scc2020.h +0 -0
  248. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_simplex_tree.h +0 -0
  249. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/create_matrix_from_firep.h +0 -0
  250. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/sorting_utility.h +0 -0
  251. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/Graded_matrix.h +0 -0
  252. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/basic.h +0 -0
  253. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/boost_timers.h +0 -0
  254. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/multi_chunk.h +0 -0
  255. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/multi_critical.cpp +0 -0
  256. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/COPYING +0 -0
  257. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/COPYING.LESSER +0 -0
  258. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/algorithms/chunk_reduction.h +0 -0
  259. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/algorithms/row_reduction.h +0 -0
  260. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/algorithms/spectral_sequence_reduction.h +0 -0
  261. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/algorithms/standard_reduction.h +0 -0
  262. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/algorithms/twist_reduction.h +0 -0
  263. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/boundary_matrix.h +0 -0
  264. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/compute_persistence_pairs.h +0 -0
  265. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/helpers/dualize.h +0 -0
  266. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/helpers/misc.h +0 -0
  267. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/helpers/thread_local_storage.h +0 -0
  268. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/persistence_pairs.h +0 -0
  269. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/Container_traits.h +0 -0
  270. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/Pivot_representation.h +0 -0
  271. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/Uniform_representation.h +0 -0
  272. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/Unordered_map_container_traits.h +0 -0
  273. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/bit_tree_pivot_column.h +0 -0
  274. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/default_representations.h +0 -0
  275. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/full_pivot_column.h +0 -0
  276. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/heap_column_rep.h +0 -0
  277. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/heap_pivot_column.h +0 -0
  278. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/list_column_rep.h +0 -0
  279. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/set_column_rep.h +0 -0
  280. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/sparse_pivot_column.h +0 -0
  281. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/vector_column_rep.h +0 -0
  282. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/scc_mod/include/scc/Column_data.h +0 -0
  283. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/scc_mod/include/scc/Scc.h +0 -0
  284. {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/scc_mod/include/scc/basic.h +0 -0
  285. {multipers-2.4.2b2 → multipers-2.5.0b1}/licenses/LGPL-3.0-or-later.txt +0 -0
  286. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/_signed_measure_meta.py +0 -0
  287. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/_slicer_meta.py +0 -0
  288. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/array_api/__init__.py +0 -0
  289. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/MOL2.py +0 -0
  290. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/UCR.py +0 -0
  291. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/__init__.py +0 -0
  292. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/graphs.py +0 -0
  293. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/immuno_regions.py +0 -0
  294. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/minimal_presentation_to_st_bf.py +0 -0
  295. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/pytorch2simplextree.py +0 -0
  296. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/shape3d.py +0 -0
  297. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/synthetic.py +0 -0
  298. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/distances.py +0 -0
  299. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/__init__.py +0 -0
  300. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/_aida_interface.pyx +0 -0
  301. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/_function_delaunay_interface.pyx +0 -0
  302. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/_helper.pxd +0 -0
  303. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/_mpfree_interface.pyx +0 -0
  304. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/function_delaunay_interface.hpp +0 -0
  305. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtration_conversions.pxd +0 -0
  306. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtration_conversions.pxd.tp +0 -0
  307. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtrations/__init__.py +0 -0
  308. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtrations/density.py +0 -0
  309. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtrations.pxd +0 -0
  310. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtrations.pxd.tp +0 -0
  311. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/function_rips.pyx +0 -0
  312. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/Persistence_slices_interface.h +0 -0
  313. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/Simplex_tree_interface.h +0 -0
  314. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/Simplex_tree_multi_interface.h +0 -0
  315. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Bitmap_cubical_complex.h +0 -0
  316. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Bitmap_cubical_complex_base.h +0 -0
  317. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h +0 -0
  318. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Debug_utils.h +0 -0
  319. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Degree_rips_bifiltration.h +0 -0
  320. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Dynamic_multi_parameter_filtration.h +0 -0
  321. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field.h +0 -0
  322. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field_operators.h +0 -0
  323. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field_shared.h +0 -0
  324. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field_small.h +0 -0
  325. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field_small_operators.h +0 -0
  326. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field_small_shared.h +0 -0
  327. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Z2_field.h +0 -0
  328. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Z2_field_operators.h +0 -0
  329. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Zp_field.h +0 -0
  330. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Zp_field_operators.h +0 -0
  331. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Zp_field_shared.h +0 -0
  332. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Flag_complex_edge_collapser.h +0 -0
  333. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Matrix.h +0 -0
  334. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_filtration/Multi_parameter_generator.h +0 -0
  335. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_filtration/multi_filtration_conversions.h +0 -0
  336. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_filtration/multi_filtration_utils.h +0 -0
  337. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_parameter_filtered_complex.h +0 -0
  338. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_parameter_filtration.h +0 -0
  339. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Box.h +0 -0
  340. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Line.h +0 -0
  341. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Multi_parameter_filtered_complex_pcoh_interface.h +0 -0
  342. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Persistence_interface_cohomology.h +0 -0
  343. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Persistence_interface_homology.h +0 -0
  344. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Persistence_interface_vineyard.h +0 -0
  345. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Point.h +0 -0
  346. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Off_reader.h +0 -0
  347. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Base_matrix.h +0 -0
  348. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Base_matrix_with_column_compression.h +0 -0
  349. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Boundary_matrix.h +0 -0
  350. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Chain_matrix.h +0 -0
  351. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Id_to_index_overlay.h +0 -0
  352. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Position_to_index_overlay.h +0 -0
  353. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/RU_matrix.h +0 -0
  354. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/allocators/entry_constructors.h +0 -0
  355. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/base_pairing.h +0 -0
  356. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/base_swap.h +0 -0
  357. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/chain_pairing.h +0 -0
  358. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/chain_rep_cycles.h +0 -0
  359. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/chain_vine_swap.h +0 -0
  360. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/chain_column_extra_properties.h +0 -0
  361. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/column_dimension_holder.h +0 -0
  362. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/column_utilities.h +0 -0
  363. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/entry_types.h +0 -0
  364. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/heap_column.h +0 -0
  365. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_list_column.h +0 -0
  366. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_set_column.h +0 -0
  367. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/list_column.h +0 -0
  368. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/naive_vector_column.h +0 -0
  369. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/row_access.h +0 -0
  370. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/set_column.h +0 -0
  371. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/unordered_set_column.h +0 -0
  372. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/vector_column.h +0 -0
  373. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/index_mapper.h +0 -0
  374. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/matrix_dimension_holders.h +0 -0
  375. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/matrix_row_access.h +0 -0
  376. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/ru_pairing.h +0 -0
  377. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/ru_rep_cycles.h +0 -0
  378. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/ru_vine_swap.h +0 -0
  379. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_on_a_line.h +0 -0
  380. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_on_rectangle.h +0 -0
  381. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistent_cohomology/Field_Zp.h +0 -0
  382. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistent_cohomology/Multi_field.h +0 -0
  383. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistent_cohomology/Persistent_cohomology_column.h +0 -0
  384. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistent_cohomology.h +0 -0
  385. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Points_off_io.h +0 -0
  386. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Projective_cover_kernel.h +0 -0
  387. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simple_object_pool.h +0 -0
  388. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_iterators.h +0 -0
  389. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_node_explicit_storage.h +0 -0
  390. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_siblings.h +0 -0
  391. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_star_simplex_iterators.h +0 -0
  392. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/filtration_value_utils.h +0 -0
  393. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/hooks_simplex_base.h +0 -0
  394. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/indexing_tag.h +0 -0
  395. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/serialization_utils.h +0 -0
  396. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/simplex_tree_options.h +0 -0
  397. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree.h +0 -0
  398. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Slicer.h +0 -0
  399. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Thread_safe_slicer.h +0 -0
  400. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/distance_functions.h +0 -0
  401. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/graph_simplicial_complex.h +0 -0
  402. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/multi_simplex_tree_helpers.h +0 -0
  403. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/persistence_interval.h +0 -0
  404. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/persistence_matrix_options.h +0 -0
  405. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/reader_utils.h +0 -0
  406. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/simple_mdspan.h +0 -0
  407. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/slicer_helpers.h +0 -0
  408. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/vineyard_base.h +0 -0
  409. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/tmp_h0_pers/mma_interface_h0.h +0 -0
  410. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/tmp_h0_pers/naive_merge_tree.h +0 -0
  411. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/__init__.py +0 -0
  412. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/accuracies.py +0 -0
  413. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/filtered_complex.py +0 -0
  414. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/invariants_with_persistable.py +0 -0
  415. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/kernels.py +0 -0
  416. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/mma.py +0 -0
  417. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/one.py +0 -0
  418. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/signed_measures.py +0 -0
  419. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/sliced_wasserstein.py +0 -0
  420. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/tools.py +0 -0
  421. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/mma_structures.pxd +0 -0
  422. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/mma_structures.pyx +0 -0
  423. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/mma_structures.pyx.tp +0 -0
  424. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/diff_helpers.h +0 -0
  425. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/euler_characteristic.h +0 -0
  426. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/function_rips.h +0 -0
  427. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/hilbert_function.h +0 -0
  428. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/persistence_slices.h +0 -0
  429. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/rank_invariant.h +0 -0
  430. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_edge_collapse.py +0 -0
  431. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_module_approximation/approximation.h +0 -0
  432. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_module_approximation/debug.h +0 -0
  433. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_module_approximation/format_python-cpp.h +0 -0
  434. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_module_approximation/utilities.h +0 -0
  435. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/pickle.py +0 -0
  436. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/plots.py +0 -0
  437. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/point_measure.pyx +0 -0
  438. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/simplex_tree_multi.pxd +0 -0
  439. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/slicer.pxd +16 -16
  440. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/slicer.pxd.tp +0 -0
  441. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/tensor/tensor.h +0 -0
  442. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/tensor.pxd +0 -0
  443. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/test.pyx +0 -0
  444. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/tests/__init__.py +0 -0
  445. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers.egg-info/dependency_links.txt +0 -0
  446. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers.egg-info/requires.txt +0 -0
  447. {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers.egg-info/top_level.txt +0 -0
  448. {multipers-2.4.2b2 → multipers-2.5.0b1}/setup.cfg +0 -0
  449. {multipers-2.4.2b2 → multipers-2.5.0b1}/setup.py +0 -0
  450. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_aida.py +0 -0
  451. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_diff_helper.py +0 -0
  452. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_filtrations.py +0 -0
  453. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_grids.py +0 -0
  454. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_hilbert_function.py +0 -0
  455. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_mma.py +0 -0
  456. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_parallel.py +0 -0
  457. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_point_clouds.py +0 -0
  458. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_python-cpp_conversion.py +0 -0
  459. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_signed_betti.py +0 -0
  460. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_signed_measure.py +0 -0
  461. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_simplextreemulti.py +0 -0
  462. {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_slicer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: multipers
3
- Version: 2.4.2b2
3
+ Version: 2.5.0b1
4
4
  Summary: Multiparameter Topological Persistence for Machine Learning
5
5
  Author-email: David Loiseaux <david.lapous@proton.me>, Hannah Schreiber <hannah.schreiber@inria.fr>
6
6
  Maintainer-email: David Loiseaux <david.lapous@proton.me>
@@ -93,16 +93,6 @@ We hence recommend Windows user to use [WSL](https://learn.microsoft.com/en-us/w
93
93
  Documentation and build instructions are available
94
94
  [here](https://davidlapous.github.io/multipers/compilation.html).
95
95
 
96
- ## Licensing
97
-
98
- `multipers` distributions that include the compiled external interfaces are provided under
99
- **GPL-3.0-or-later**.
100
-
101
- This is due to linked GPL/LGPL third-party components used by the build, notably
102
- `AIDA`, `Persistence-Algebra`, `function_delaunay`, `mpfree`, `multi_critical`, and
103
- `multi_chunk`.
104
-
105
- See `THIRD_PARTY_NOTICES.md` for dependency details and pinned revisions used in this workspace.
106
96
 
107
97
 
108
98
  ## Features, and linked projects
@@ -134,8 +124,20 @@ If I missed something, or you want to add something, feel free to open an issue.
134
124
  [Luis Scoccola](https://luisscoccola.com/)
135
125
  (Möbius inversion in python, degree-rips using [persistable](https://github.com/LuisScoccola/persistable) and [RIVET](https://github.com/rivetTDA/rivet/)),<br>
136
126
  [Mathieu Carrière](https://www-sop.inria.fr/members/Mathieu.Carriere/) (Sliced Wasserstein),<br>
137
- [Odin Hoff Gardå](https://odinhg.github.io/) (Delaunay Core bifiltration).<br>
138
- Jan Jendrysiak (Module Decomposition).<br>
127
+ [Odin Hoff Gardå](https://odinhg.github.io/) (Delaunay Core bifiltration),<br>
128
+ [Michael Kerber](https://www.geometrie.tugraz.at/kerber/) ([mpfree](https://bitbucket.org/mkerber/mpfree/src/master/), [function_delaunay](https://bitbucket.org/mkerber/function_delaunay), [multi_critical](https://bitbucket.org/mkerber/multi_critical) [multi_chunck](https://bitbucket.org/mkerber/multi_chunk) backends),<br>
129
+ [Jan Jendrysiak](https://github.com/JanJend) ([Module Decomposition (AIDA)](https://github.com/JanJend/AIDA), [Persistence Algebra](https://github.com/JanJend/Persistence-Algebra)).<br>
130
+
131
+ ## Licensing
132
+
133
+ `multipers` distributions that include the compiled external interfaces are provided under
134
+ **GPL-3.0-or-later**.
135
+
136
+ This is due to linked GPL/LGPL third-party components used by the build, notably
137
+ `AIDA`, `Persistence-Algebra`, `function_delaunay`, `mpfree`, `multi_critical`, and
138
+ `multi_chunk`.
139
+
140
+ See `THIRD_PARTY_NOTICES.md` for dependency details and pinned revisions used in this workspace.
139
141
 
140
142
  ## Citation
141
143
  Please cite this library when using it in scientific publications;
@@ -38,16 +38,6 @@ We hence recommend Windows user to use [WSL](https://learn.microsoft.com/en-us/w
38
38
  Documentation and build instructions are available
39
39
  [here](https://davidlapous.github.io/multipers/compilation.html).
40
40
 
41
- ## Licensing
42
-
43
- `multipers` distributions that include the compiled external interfaces are provided under
44
- **GPL-3.0-or-later**.
45
-
46
- This is due to linked GPL/LGPL third-party components used by the build, notably
47
- `AIDA`, `Persistence-Algebra`, `function_delaunay`, `mpfree`, `multi_critical`, and
48
- `multi_chunk`.
49
-
50
- See `THIRD_PARTY_NOTICES.md` for dependency details and pinned revisions used in this workspace.
51
41
 
52
42
 
53
43
  ## Features, and linked projects
@@ -79,8 +69,20 @@ If I missed something, or you want to add something, feel free to open an issue.
79
69
  [Luis Scoccola](https://luisscoccola.com/)
80
70
  (Möbius inversion in python, degree-rips using [persistable](https://github.com/LuisScoccola/persistable) and [RIVET](https://github.com/rivetTDA/rivet/)),<br>
81
71
  [Mathieu Carrière](https://www-sop.inria.fr/members/Mathieu.Carriere/) (Sliced Wasserstein),<br>
82
- [Odin Hoff Gardå](https://odinhg.github.io/) (Delaunay Core bifiltration).<br>
83
- Jan Jendrysiak (Module Decomposition).<br>
72
+ [Odin Hoff Gardå](https://odinhg.github.io/) (Delaunay Core bifiltration),<br>
73
+ [Michael Kerber](https://www.geometrie.tugraz.at/kerber/) ([mpfree](https://bitbucket.org/mkerber/mpfree/src/master/), [function_delaunay](https://bitbucket.org/mkerber/function_delaunay), [multi_critical](https://bitbucket.org/mkerber/multi_critical) [multi_chunck](https://bitbucket.org/mkerber/multi_chunk) backends),<br>
74
+ [Jan Jendrysiak](https://github.com/JanJend) ([Module Decomposition (AIDA)](https://github.com/JanJend/AIDA), [Persistence Algebra](https://github.com/JanJend/Persistence-Algebra)).<br>
75
+
76
+ ## Licensing
77
+
78
+ `multipers` distributions that include the compiled external interfaces are provided under
79
+ **GPL-3.0-or-later**.
80
+
81
+ This is due to linked GPL/LGPL third-party components used by the build, notably
82
+ `AIDA`, `Persistence-Algebra`, `function_delaunay`, `mpfree`, `multi_critical`, and
83
+ `multi_chunk`.
84
+
85
+ See `THIRD_PARTY_NOTICES.md` for dependency details and pinned revisions used in this workspace.
84
86
 
85
87
  ## Citation
86
88
  Please cite this library when using it in scientific publications;
@@ -8,6 +8,7 @@ from multipers import (
8
8
  filtrations,
9
9
  grids,
10
10
  io,
11
+ logs,
11
12
  multiparameter_module_approximation,
12
13
  simplex_tree_multi,
13
14
  slicer,
@@ -28,6 +29,7 @@ __all__ = [
28
29
  "filtrations",
29
30
  "grids",
30
31
  "io",
32
+ "logs",
31
33
  "multiparameter_module_approximation",
32
34
  "simplex_tree_multi",
33
35
  "slicer",
@@ -2,6 +2,7 @@ from contextlib import nullcontext
2
2
 
3
3
  import numpy as _np
4
4
  from scipy.spatial.distance import cdist, pdist
5
+ import multipers.logs as _mp_logs
5
6
 
6
7
  backend = _np
7
8
  cat = _np.concatenate
@@ -80,9 +81,7 @@ def check_keops():
80
81
  _is_keops_available = _np.allclose(my_conv(x, y).flatten(), expected_res)
81
82
  LazyTensor = LT
82
83
  except:
83
- from warnings import warn
84
-
85
- warn("Could not initialize keops (numpy). using workarounds")
84
+ _mp_logs.warn_fallback("Could not initialize keops (numpy). using workarounds")
86
85
  _is_keops_available = False
87
86
 
88
87
  return _is_keops_available
@@ -1,6 +1,7 @@
1
1
  import torch as _t
2
2
  import multipers.array_api as _mpapi
3
3
  import sys
4
+ import multipers.logs as _mp_logs
4
5
 
5
6
  _mpapi.available_api.append(sys.modules[__name__])
6
7
 
@@ -74,9 +75,7 @@ def check_keops():
74
75
  LazyTensor = LT
75
76
 
76
77
  except:
77
- from warnings import warn
78
-
79
- warn("Could not initialize keops (torch). using workarounds")
78
+ _mp_logs.warn_fallback("Could not initialize keops (torch). using workarounds")
80
79
 
81
80
  _is_keops_available = False
82
81
 
@@ -64,7 +64,9 @@ cdef object _slicer_from_multi_critical_output(
64
64
  int degree=-1,
65
65
  ):
66
66
  out_boundaries = vect_vect_boundary_to_numpy_slices(interface_output.boundaries)
67
- out_dimensions = np.asarray(interface_output.dimensions, dtype=np.int32)
67
+ out_dimensions = np.array(interface_output.dimensions, dtype=np.int32)
68
+ if mark_minpres:
69
+ out_dimensions -= 1 # cause presentation
68
70
  out_filtrations = vect_pair_double_to_array(interface_output.filtration_values)
69
71
  out = slicer_type(out_boundaries, out_dimensions, out_filtrations)
70
72
  if mark_minpres:
@@ -252,21 +254,21 @@ def one_criticalify(
252
254
  use_swedish,
253
255
  )
254
256
  return tuple(
255
- _slicer_from_multi_critical_output(newSlicer, all_outputs[i], True, i)
256
- for i in range(all_outputs.size())
257
+ _slicer_from_multi_critical_output(newSlicer, all_outputs[i+1], True, i)
258
+ for i in range(all_outputs.size()-1)
257
259
  )
258
260
  elif reduce:
259
- target_degree = degree
261
+ _degree =<int>(degree+1) # cause presentation
260
262
  with nogil:
261
263
  one_output = multi_critical_minpres_interface(
262
264
  interface_input,
263
- target_degree,
265
+ _degree,
264
266
  use_logpath,
265
267
  True,
266
268
  verbose,
267
269
  use_swedish,
268
270
  )
269
- return _slicer_from_multi_critical_output(newSlicer, one_output, True, target_degree)
271
+ return _slicer_from_multi_critical_output(newSlicer, one_output, True,degree)
270
272
  else:
271
273
  with nogil:
272
274
  one_output = multi_critical_resolution_interface(
@@ -221,11 +221,11 @@ mpfree_interface_output<index_type> mpfree_minpres_interface(const mpfree_interf
221
221
  throw std::invalid_argument("Invalid multipers input: sizes of filtrations, boundaries and dimensions differ.");
222
222
  }
223
223
 
224
- for (const auto& grade : input.filtration_values) {
225
- if (!std::isfinite(grade.first) || !std::isfinite(grade.second)) {
226
- throw std::invalid_argument("mpfree interface expects finite bifiltration values.");
227
- }
228
- }
224
+ // for (const auto& grade : input.filtration_values) {
225
+ // if (!std::isfinite(grade.first) || !std::isfinite(grade.second)) {
226
+ // throw std::invalid_argument("mpfree interface expects finite bifiltration values.");
227
+ // }
228
+ // }
229
229
 
230
230
  if (!std::is_sorted(input.dimensions.begin(), input.dimensions.end())) {
231
231
  throw std::invalid_argument("Dimensions are expected to be sorted in non-decreasing order.");
@@ -218,9 +218,9 @@ class multi_critical_input_parser {
218
218
  }
219
219
  col.raw_grades.reserve(grades.size() * 2);
220
220
  for (const auto& grade : grades) {
221
- if (!std::isfinite(grade.first) || !std::isfinite(grade.second)) {
222
- throw std::invalid_argument("multi_critical interface expects finite bifiltration values.");
223
- }
221
+ // if (!std::isfinite(grade.first) || !std::isfinite(grade.second)) {
222
+ // throw std::invalid_argument("multi_critical interface expects finite bifiltration values.");
223
+ // }
224
224
  col.raw_grades.push_back(grade.first);
225
225
  col.raw_grades.push_back(grade.second);
226
226
  }
@@ -1,7 +1,6 @@
1
1
  from collections.abc import Sequence
2
2
  from time import perf_counter
3
3
  from typing import Optional
4
- from warnings import warn
5
4
 
6
5
  import gudhi as gd
7
6
  import numpy as np
@@ -9,6 +8,7 @@ from numpy.typing import ArrayLike
9
8
  from scipy.spatial import KDTree
10
9
 
11
10
  from multipers.array_api import api_from_tensor, api_from_tensors
11
+ import multipers.logs as _mp_logs
12
12
  from multipers.filtrations.density import DTM, available_kernels
13
13
  from multipers.grids import compute_grid, get_exact_grid
14
14
  from multipers.simplex_tree_multi import SimplexTreeMulti, SimplexTreeMulti_type
@@ -21,7 +21,7 @@ try:
21
21
  except ImportError:
22
22
  from sklearn.neighbors import KernelDensity
23
23
 
24
- warn("pykeops not found. Falling back to sklearn.")
24
+ _mp_logs.warn_fallback("pykeops not found. Falling back to sklearn.")
25
25
 
26
26
  def KDE(bandwidth, kernel, return_log):
27
27
  assert return_log, "Sklearn returns log-density."
@@ -151,7 +151,9 @@ def DelaunayLowerstar(
151
151
  api = api_from_tensors(points, function)
152
152
  _log_step("resolved backend")
153
153
  if not flagify and (api.has_grad(points) or api.has_grad(function)):
154
- warn("Cannot keep points gradient unless using `flagify=True`.")
154
+ _mp_logs.warn_autodiff(
155
+ "Cannot keep points gradient unless using `flagify=True`."
156
+ )
155
157
  points = api.astensor(points)
156
158
  function = api.astensor(function).squeeze()
157
159
  _log_step("converted inputs")
@@ -323,10 +325,8 @@ def DegreeRips(
323
325
  rips_filtration = None
324
326
 
325
327
  if ks is None or rips_filtration is None:
326
- from warnings import warn
327
-
328
- warn(
329
- "(copy warning) Had to copy the rips to infer the `degrees` or recover the 1st filtration parameter."
328
+ _mp_logs.warn_copy(
329
+ "Had to copy the rips to infer the `degrees` or recover the 1st filtration parameter."
330
330
  )
331
331
  _temp_st = _mp.SimplexTreeMulti(
332
332
  st, num_parameters=1
@@ -494,9 +494,7 @@ def RhomboidBifiltration(
494
494
 
495
495
  api = api_from_tensor(x)
496
496
  if api.has_grad(x):
497
- from warnings import warn
498
-
499
- warn(
497
+ _mp_logs.warn_autodiff(
500
498
  "Found a gradient in input, which cannot be processed by RhomboidBifiltration."
501
499
  )
502
500
  x = api.asnumpy(x)
@@ -12,6 +12,7 @@ from itertools import product
12
12
  from multipers.array_api import api_from_tensor, api_from_tensors
13
13
  from multipers.array_api import numpy as npapi
14
14
  from multipers.array_api import check_keops
15
+ import multipers.logs as _mp_logs
15
16
 
16
17
  available_strategies = ["exact","regular","regular_closest", "regular_left", "partition", "quantile", "precomputed"]
17
18
  Lstrategies = Literal["exact","regular","regular_closest", "regular_left", "partition", "quantile", "precomputed"]
@@ -309,8 +310,7 @@ def _compute_grid_numpy(
309
310
 
310
311
  def _todo_regular(f, int r, api):
311
312
  if api.has_grad(f):
312
- from warnings import warn
313
- warn("`strategy=regular` is not differentiable. Removing grad.")
313
+ _mp_logs.warn_autodiff("`strategy=regular` is not differentiable. Removing grad.")
314
314
  with api.no_grad():
315
315
  return api.linspace(api.min(f), api.max(f), r)
316
316
 
@@ -360,8 +360,7 @@ def _todo_regular_left_old(some_float[:] f, int r, bool unique):
360
360
 
361
361
  def _todo_partition(x, int resolution, bool unique, api):
362
362
  if api.has_grad(x):
363
- from warnings import warn
364
- warn("`strategy=partition` is not differentiable. Removing grad.")
363
+ _mp_logs.warn_autodiff("`strategy=partition` is not differentiable. Removing grad.")
365
364
  out = _todo_partition_(api.asnumpy(x), resolution, unique)
366
365
  return api.from_numpy(out)
367
366
 
@@ -615,5 +614,3 @@ def evaluate_mod_in_grid(mod, grid, box=None):
615
614
  )
616
615
  )
617
616
  return diff_mod
618
-
619
-
@@ -11,6 +11,7 @@ from typing import Optional, Literal
11
11
  from collections import defaultdict
12
12
  import itertools
13
13
  import threading
14
+ import multipers.logs as _mp_logs
14
15
  import cython
15
16
  cimport cython
16
17
  cimport numpy as cnp
@@ -103,8 +104,7 @@ def _path_init(soft:str|os.PathLike):
103
104
  verbose_arg = "> /dev/null 2>&1"
104
105
  test = os.system(pathes[soft] + " --help " + verbose_arg)
105
106
  if test % 256!=0:
106
- from warnings import warn
107
- warn(f"""
107
+ _mp_logs.warn_fallback(f"""
108
108
  Found external software {soft} at {pathes[soft]}
109
109
  but may not behave well.
110
110
  """)
@@ -0,0 +1,113 @@
1
+ """Runtime warning classes and toggles for multipers.
2
+
3
+ Usage:
4
+
5
+ import multipers as mp
6
+ mp.logs.CopyWarning.enabled = False
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ from warnings import warn
12
+
13
+
14
+ class MultipersWarning(UserWarning):
15
+ enabled: bool = True
16
+
17
+
18
+ class CopyWarning(MultipersWarning):
19
+ enabled: bool = False
20
+
21
+
22
+ class SuperfluousComputationWarning(MultipersWarning):
23
+ enabled: bool = True
24
+
25
+
26
+ class AutodiffWarning(MultipersWarning):
27
+ enabled: bool = True
28
+
29
+
30
+ class ExperimentalWarning(MultipersWarning):
31
+ enabled: bool = True
32
+
33
+
34
+ class FallbackWarning(MultipersWarning):
35
+ enabled: bool = True
36
+
37
+
38
+ class GeometryWarning(MultipersWarning):
39
+ enabled: bool = True
40
+
41
+
42
+ _WARNING_CLASSES = {
43
+ "copy": CopyWarning,
44
+ "superfluous_computation": SuperfluousComputationWarning,
45
+ "autodiff": AutodiffWarning,
46
+ "experimental": ExperimentalWarning,
47
+ "fallback": FallbackWarning,
48
+ "geometry": GeometryWarning,
49
+ }
50
+
51
+ _DEFAULTS = {
52
+ CopyWarning: False,
53
+ SuperfluousComputationWarning: True,
54
+ AutodiffWarning: True,
55
+ ExperimentalWarning: True,
56
+ FallbackWarning: True,
57
+ GeometryWarning: True,
58
+ }
59
+
60
+ _TOGGLE_HINT_SHOWN = {key: False for key in _WARNING_CLASSES}
61
+
62
+
63
+ def _emit(kind: str, message: str, stacklevel: int = 2) -> None:
64
+ warning_cls = _WARNING_CLASSES[kind]
65
+ if not warning_cls.enabled:
66
+ return
67
+ if not _TOGGLE_HINT_SHOWN[kind]:
68
+ message = (
69
+ f"{message} "
70
+ f"\nSet `multipers.logs.{warning_cls.__name__}.enabled = False` to disable this warning."
71
+ )
72
+ _TOGGLE_HINT_SHOWN[kind] = True
73
+ warn(message, category=warning_cls, stacklevel=stacklevel)
74
+
75
+
76
+ def warn_copy(message: str, *, stacklevel: int = 2) -> None:
77
+ _emit("copy", message, stacklevel=stacklevel)
78
+
79
+
80
+ def warn_superfluous_computation(message: str, *, stacklevel: int = 2) -> None:
81
+ _emit("superfluous_computation", message, stacklevel=stacklevel)
82
+
83
+
84
+ def warn_autodiff(message: str, *, stacklevel: int = 2) -> None:
85
+ _emit("autodiff", message, stacklevel=stacklevel)
86
+
87
+
88
+ def warn_experimental(message: str, *, stacklevel: int = 2) -> None:
89
+ _emit("experimental", message, stacklevel=stacklevel)
90
+
91
+
92
+ def warn_fallback(message: str, *, stacklevel: int = 2) -> None:
93
+ _emit("fallback", message, stacklevel=stacklevel)
94
+
95
+
96
+ def warn_geometry(message: str, *, stacklevel: int = 2) -> None:
97
+ _emit("geometry", message, stacklevel=stacklevel)
98
+
99
+
100
+ def set_level(level: int) -> None:
101
+ if level == 0:
102
+ for warning_cls in _DEFAULTS:
103
+ warning_cls.enabled = False
104
+ return
105
+ if level == 1:
106
+ for warning_cls, enabled in _DEFAULTS.items():
107
+ warning_cls.enabled = enabled
108
+ return
109
+ if level == 2:
110
+ for warning_cls in _DEFAULTS:
111
+ warning_cls.enabled = True
112
+ return
113
+ raise ValueError(f"Invalid level {level}. Expected 0, 1, or 2.")
@@ -14,7 +14,7 @@ import numpy as np
14
14
  from typing import List
15
15
  from joblib import Parallel, delayed
16
16
  import sys
17
- from warnings import warn
17
+ import multipers.logs as _mp_logs
18
18
 
19
19
  ###########################################################################
20
20
  ## CPP CLASSES
@@ -67,7 +67,7 @@ def module_approximation_from_slicer(
67
67
  cdef intptr_t ptr
68
68
  if not slicer.is_vine:
69
69
  if warnings:
70
- warn(r"(copy warning) Got a non-vine slicer as an input. Use `vineyard=True` to remove this copy.")
70
+ _mp_logs.warn_copy(r"Got a non-vine slicer as an input. Use `vineyard=True` to remove this copy.")
71
71
  from multipers._slicer_meta import Slicer
72
72
  slicer = Slicer(slicer, vineyard=True, backend="matrix")
73
73
  # if slicer.is_squeezed and unsqueeze_grid not None:
@@ -204,7 +204,7 @@ def module_approximation(
204
204
  if direction[i] == 0:
205
205
  is_degenerate=True
206
206
  if is_degenerate and not ignore_warnings:
207
- warn("Got a degenerate direction. This function may fail if the first line is not generic.")
207
+ _mp_logs.warn_geometry("Got a degenerate direction. This function may fail if the first line is not generic.")
208
208
 
209
209
  if from_coordinates and not input.is_squeezed:
210
210
  input = input.grid_squeeze()
@@ -224,7 +224,7 @@ def module_approximation(
224
224
  print(f"Updated `{direction=}`, and `{max_error=}` ",end="")
225
225
  else:
226
226
  if not ignore_warnings:
227
- warn("(copy warning) Got a squeezed input. ")
227
+ _mp_logs.warn_copy("Got a squeezed input.")
228
228
  input = input.unsqueeze()
229
229
  if verbose:
230
230
  print("Done.", flush=True)
@@ -244,7 +244,7 @@ def module_approximation(
244
244
  scales = box[1] - box[0]
245
245
  scales /= scales.max()
246
246
  if np.any(scales<.1):
247
- warn(
247
+ _mp_logs.warn_geometry(
248
248
  f"Squewed filtration detected. Found {scales=}. "
249
249
  "Consider rescaling the filtration for interpretable results."
250
250
  )
@@ -253,7 +253,7 @@ def module_approximation(
253
253
  zero_idx = box[1] == box[0]
254
254
  if np.any(zero_idx):
255
255
  if not ignore_warnings:
256
- warn(f"Got {(box[1] == box[0])=} trivial box coordinates.")
256
+ _mp_logs.warn_geometry(f"Got {(box[1] == box[0])=} trivial box coordinates.")
257
257
  box[1] += zero_idx
258
258
 
259
259
  for i in swap_box_coords:
@@ -1,5 +1,6 @@
1
1
  import numpy as np
2
2
  from typing import Iterable, Literal, Optional
3
+ import multipers.logs as _mp_logs
3
4
 
4
5
 
5
6
  def aida(s, bool sort=True, bool verbose=False, bool progress=False):
@@ -22,7 +23,7 @@ def aida(s, bool sort=True, bool verbose=False, bool progress=False):
22
23
 
23
24
  def one_criticalify(
24
25
  slicer,
25
- bool reduce=False,
26
+ reduce:Optional[bool] = None,
26
27
  degree: Optional[int] = None,
27
28
  bool clear=True,
28
29
  swedish: Optional[bool] = None,
@@ -30,6 +31,7 @@ def one_criticalify(
30
31
  bool kcritical=False,
31
32
  str algo: Literal["path", "tree"] = "path",
32
33
  str filtration_container="contiguous",
34
+ bool force_resolution = True,
33
35
  ):
34
36
  """
35
37
  Computes a free implicit representation of a given multi-critical
@@ -52,6 +54,8 @@ def one_criticalify(
52
54
  F = slicer.filtration_grid
53
55
  else:
54
56
  F = None
57
+ if reduce is None and degree is not None:
58
+ reduce = True
55
59
  out = _multi_critical_from_slicer(
56
60
  slicer,
57
61
  reduce=reduce,
@@ -63,12 +67,17 @@ def one_criticalify(
63
67
  kcritical=kcritical,
64
68
  filtration_container=filtration_container,
65
69
  )
66
- if is_slicer(out, allow_minpres=False):
67
- out.filtration_grid = F
68
- else:
69
- for stuff in out:
70
- stuff.filtration_grid = F
71
- return out
70
+ if not reduce:
71
+ return out
72
+ def _todo(x,i):
73
+ x.filtration_grid = F
74
+ x.minpres_degree=i
75
+ if reduce and force_resolution:
76
+ x = minimal_presentation(x, degree=i, force=True)
77
+ return x
78
+ if isinstance(out,tuple):
79
+ return tuple(_todo(out[i], i) for i in range(len(out)))
80
+ return _todo(out, degree)
72
81
 
73
82
 
74
83
  def minimal_presentation(
@@ -92,10 +101,8 @@ def minimal_presentation(
92
101
  from multipers.slicer import is_slicer
93
102
 
94
103
  if is_slicer(slicer) and slicer.is_minpres and not force:
95
- from warnings import warn
96
-
97
- warn(
98
- f"(unnecessary computation) The slicer seems to be already reduced, "
104
+ _mp_logs.warn_superfluous_computation(
105
+ f"The slicer seems to be already reduced, "
99
106
  f"from homology of degree {slicer.minpres_degree}."
100
107
  )
101
108
  return slicer