multipers 2.3.5b1__tar.gz → 2.3.5b2__tar.gz

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

Potentially problematic release.


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

Files changed (192) hide show
  1. {multipers-2.3.5b1/multipers.egg-info → multipers-2.3.5b2}/PKG-INFO +1 -1
  2. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/array_api/numpy.py +7 -0
  3. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/array_api/torch.py +3 -0
  4. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/grids.pyx +24 -0
  5. {multipers-2.3.5b1 → multipers-2.3.5b2/multipers.egg-info}/PKG-INFO +1 -1
  6. {multipers-2.3.5b1 → multipers-2.3.5b2}/pyproject.toml +1 -1
  7. {multipers-2.3.5b1 → multipers-2.3.5b2}/LICENSE +0 -0
  8. {multipers-2.3.5b1 → multipers-2.3.5b2}/MANIFEST.in +0 -0
  9. {multipers-2.3.5b1 → multipers-2.3.5b2}/README.md +0 -0
  10. {multipers-2.3.5b1 → multipers-2.3.5b2}/_tempita_grid_gen.py +0 -0
  11. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/__init__.py +0 -0
  12. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/_signed_measure_meta.py +0 -0
  13. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/_slicer_meta.py +0 -0
  14. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/array_api/__init__.py +0 -0
  15. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/data/MOL2.py +0 -0
  16. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/data/UCR.py +0 -0
  17. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/data/__init__.py +0 -0
  18. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/data/graphs.py +0 -0
  19. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/data/immuno_regions.py +0 -0
  20. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/data/minimal_presentation_to_st_bf.py +0 -0
  21. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/data/pytorch2simplextree.py +0 -0
  22. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/data/shape3d.py +0 -0
  23. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/data/synthetic.py +0 -0
  24. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/distances.py +0 -0
  25. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/filtration_conversions.pxd +0 -0
  26. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/filtration_conversions.pxd.tp +0 -0
  27. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/filtrations/__init__.py +0 -0
  28. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/filtrations/density.py +0 -0
  29. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/filtrations/filtrations.py +0 -0
  30. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/filtrations.pxd +0 -0
  31. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/function_rips.pyx +0 -0
  32. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/Persistence_slices_interface.h +0 -0
  33. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/Simplex_tree_interface.h +0 -0
  34. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/Simplex_tree_multi_interface.h +0 -0
  35. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/cubical_to_boundary.h +0 -0
  36. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Bitmap_cubical_complex.h +0 -0
  37. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Bitmap_cubical_complex_base.h +0 -0
  38. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h +0 -0
  39. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Debug_utils.h +0 -0
  40. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Fields/Multi_field.h +0 -0
  41. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Fields/Multi_field_operators.h +0 -0
  42. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Fields/Multi_field_shared.h +0 -0
  43. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Fields/Multi_field_small.h +0 -0
  44. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Fields/Multi_field_small_operators.h +0 -0
  45. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Fields/Multi_field_small_shared.h +0 -0
  46. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Fields/Z2_field.h +0 -0
  47. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Fields/Z2_field_operators.h +0 -0
  48. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Fields/Zp_field.h +0 -0
  49. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Fields/Zp_field_operators.h +0 -0
  50. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Fields/Zp_field_shared.h +0 -0
  51. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Flag_complex_edge_collapser.h +0 -0
  52. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Matrix.h +0 -0
  53. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Multi_critical_filtration.h +0 -0
  54. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Multi_persistence/Box.h +0 -0
  55. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Multi_persistence/Line.h +0 -0
  56. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Off_reader.h +0 -0
  57. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/One_critical_filtration.h +0 -0
  58. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/Base_matrix.h +0 -0
  59. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/Base_matrix_with_column_compression.h +0 -0
  60. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/Boundary_matrix.h +0 -0
  61. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/Chain_matrix.h +0 -0
  62. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/Id_to_index_overlay.h +0 -0
  63. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/Position_to_index_overlay.h +0 -0
  64. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/RU_matrix.h +0 -0
  65. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/allocators/entry_constructors.h +0 -0
  66. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/base_pairing.h +0 -0
  67. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/base_swap.h +0 -0
  68. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/boundary_cell_position_to_id_mapper.h +0 -0
  69. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/boundary_face_position_to_id_mapper.h +0 -0
  70. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/chain_pairing.h +0 -0
  71. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/chain_rep_cycles.h +0 -0
  72. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/chain_vine_swap.h +0 -0
  73. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/chain_column_extra_properties.h +0 -0
  74. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/column_dimension_holder.h +0 -0
  75. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/column_utilities.h +0 -0
  76. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/entry_types.h +0 -0
  77. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/heap_column.h +0 -0
  78. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_list_column.h +0 -0
  79. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_set_column.h +0 -0
  80. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/list_column.h +0 -0
  81. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/naive_vector_column.h +0 -0
  82. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/row_access.h +0 -0
  83. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/set_column.h +0 -0
  84. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/small_vector_column.h +0 -0
  85. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/unordered_set_column.h +0 -0
  86. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/columns/vector_column.h +0 -0
  87. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/matrix_dimension_holders.h +0 -0
  88. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/matrix_row_access.h +0 -0
  89. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/ru_pairing.h +0 -0
  90. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/ru_rep_cycles.h +0 -0
  91. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistence_matrix/ru_vine_swap.h +0 -0
  92. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistent_cohomology/Field_Zp.h +0 -0
  93. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistent_cohomology/Multi_field.h +0 -0
  94. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistent_cohomology/Persistent_cohomology_column.h +0 -0
  95. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Persistent_cohomology.h +0 -0
  96. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Points_off_io.h +0 -0
  97. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Simple_object_pool.h +0 -0
  98. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_iterators.h +0 -0
  99. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_node_explicit_storage.h +0 -0
  100. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_siblings.h +0 -0
  101. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_star_simplex_iterators.h +0 -0
  102. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Simplex_tree/hooks_simplex_base.h +0 -0
  103. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Simplex_tree/indexing_tag.h +0 -0
  104. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Simplex_tree/serialization_utils.h +0 -0
  105. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Simplex_tree/simplex_tree_options.h +0 -0
  106. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Simplex_tree.h +0 -0
  107. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/Simplex_tree_multi.h +0 -0
  108. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/distance_functions.h +0 -0
  109. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/graph_simplicial_complex.h +0 -0
  110. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/persistence_interval.h +0 -0
  111. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/persistence_matrix_options.h +0 -0
  112. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/gudhi/reader_utils.h +0 -0
  113. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/mma_interface_coh.h +0 -0
  114. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/mma_interface_h0.h +0 -0
  115. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/mma_interface_matrix.h +0 -0
  116. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/naive_merge_tree.h +0 -0
  117. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/scc_io.h +0 -0
  118. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/gudhi/truc.h +0 -0
  119. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/io.pyx +0 -0
  120. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/ml/__init__.py +0 -0
  121. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/ml/accuracies.py +0 -0
  122. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/ml/invariants_with_persistable.py +0 -0
  123. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/ml/kernels.py +0 -0
  124. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/ml/mma.py +0 -0
  125. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/ml/one.py +0 -0
  126. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/ml/point_clouds.py +0 -0
  127. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/ml/signed_measures.py +0 -0
  128. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/ml/sliced_wasserstein.py +0 -0
  129. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/ml/tools.py +0 -0
  130. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/mma_structures.pxd +0 -0
  131. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/mma_structures.pyx +0 -0
  132. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/mma_structures.pyx.tp +0 -0
  133. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multi_parameter_rank_invariant/diff_helpers.h +0 -0
  134. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multi_parameter_rank_invariant/euler_characteristic.h +0 -0
  135. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multi_parameter_rank_invariant/function_rips.h +0 -0
  136. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multi_parameter_rank_invariant/hilbert_function.h +0 -0
  137. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multi_parameter_rank_invariant/persistence_slices.h +0 -0
  138. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multi_parameter_rank_invariant/rank_invariant.h +0 -0
  139. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_edge_collapse.py +0 -0
  140. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/approximation.h +0 -0
  141. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/combinatory.h +0 -0
  142. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/debug.h +0 -0
  143. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/euler_curves.h +0 -0
  144. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/format_python-cpp.h +0 -0
  145. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/heap_column.h +0 -0
  146. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/images.h +0 -0
  147. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/list_column.h +0 -0
  148. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/list_column_2.h +0 -0
  149. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/ru_matrix.h +0 -0
  150. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/set_column.h +0 -0
  151. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/structure_higher_dim_barcode.h +0 -0
  152. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/unordered_set_column.h +0 -0
  153. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/utilities.h +0 -0
  154. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/vector_column.h +0 -0
  155. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/vector_matrix.h +0 -0
  156. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/vineyards.h +0 -0
  157. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation/vineyards_trajectories.h +0 -0
  158. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/multiparameter_module_approximation.pyx +0 -0
  159. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/pickle.py +0 -0
  160. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/plots.py +0 -0
  161. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/point_measure.pyx +0 -0
  162. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/simplex_tree_multi.pxd +0 -0
  163. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/simplex_tree_multi.pyx +0 -0
  164. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/simplex_tree_multi.pyx.tp +0 -0
  165. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/slicer.pxd +0 -0
  166. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/slicer.pxd.tp +0 -0
  167. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/slicer.pyx +14 -14
  168. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/slicer.pyx.tp +0 -0
  169. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/tensor/tensor.h +0 -0
  170. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/tensor.pxd +0 -0
  171. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/test.pyx +0 -0
  172. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/tests/__init__.py +0 -0
  173. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/torch/__init__.py +0 -0
  174. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/torch/diff_grids.py +0 -0
  175. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers/torch/rips_density.py +0 -0
  176. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers.egg-info/SOURCES.txt +0 -0
  177. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers.egg-info/dependency_links.txt +0 -0
  178. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers.egg-info/requires.txt +0 -0
  179. {multipers-2.3.5b1 → multipers-2.3.5b2}/multipers.egg-info/top_level.txt +0 -0
  180. {multipers-2.3.5b1 → multipers-2.3.5b2}/setup.cfg +0 -0
  181. {multipers-2.3.5b1 → multipers-2.3.5b2}/setup.py +0 -0
  182. {multipers-2.3.5b1 → multipers-2.3.5b2}/tests/test_diff_helper.py +0 -0
  183. {multipers-2.3.5b1 → multipers-2.3.5b2}/tests/test_filtrations.py +0 -0
  184. {multipers-2.3.5b1 → multipers-2.3.5b2}/tests/test_grids.py +0 -0
  185. {multipers-2.3.5b1 → multipers-2.3.5b2}/tests/test_hilbert_function.py +0 -0
  186. {multipers-2.3.5b1 → multipers-2.3.5b2}/tests/test_mma.py +0 -0
  187. {multipers-2.3.5b1 → multipers-2.3.5b2}/tests/test_point_clouds.py +0 -0
  188. {multipers-2.3.5b1 → multipers-2.3.5b2}/tests/test_python-cpp_conversion.py +0 -0
  189. {multipers-2.3.5b1 → multipers-2.3.5b2}/tests/test_signed_betti.py +0 -0
  190. {multipers-2.3.5b1 → multipers-2.3.5b2}/tests/test_signed_measure.py +0 -0
  191. {multipers-2.3.5b1 → multipers-2.3.5b2}/tests/test_simplextreemulti.py +0 -0
  192. {multipers-2.3.5b1 → multipers-2.3.5b2}/tests/test_slicer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: multipers
3
- Version: 2.3.5b1
3
+ Version: 2.3.5b2
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>
@@ -22,6 +22,13 @@ unique = _np.unique
22
22
  inf = _np.inf
23
23
  searchsorted = _np.searchsorted
24
24
  LazyTensor = None
25
+ abs = _np.abs
26
+ exp = _np.exp
27
+
28
+
29
+ def relu(x):
30
+ return _np.where(x >= 0, x, 0)
31
+
25
32
 
26
33
  # Test keops
27
34
  _is_keops_available = None
@@ -20,6 +20,9 @@ cartesian_product = _t.cartesian_prod
20
20
  inf = _t.inf
21
21
  searchsorted = _t.searchsorted
22
22
  LazyTensor = None
23
+ relu = _t.relu
24
+ abs = _t.abs
25
+ exp = _t.exp
23
26
 
24
27
 
25
28
  _is_keops_available = None
@@ -493,3 +493,27 @@ def _push_pts_to_lines(pts, basepoints, directions=None, api=None):
493
493
  return out
494
494
 
495
495
 
496
+ def evaluate_mod_in_grid(mod, grid, box=None):
497
+ """Given an MMA module, pushes it into the specified grid.
498
+ Useful for e.g., make it differentiable.
499
+
500
+ Input
501
+ -----
502
+ - mod: PyModule
503
+ - grid: Iterable of 1d array, for num_parameters
504
+ Ouput
505
+ -----
506
+ torch-compatible module in the format:
507
+ (num_degrees) x (num_interval of degree) x ((num_birth, num_parameter), (num_death, num_parameters))
508
+
509
+ """
510
+ (birth_sizes, death_sizes), births, deaths = mod.to_flat_idx(grid)
511
+ births = evaluate_in_grid(births, grid)
512
+ deaths = evaluate_in_grid(deaths, grid)
513
+ diff_mod = tuple(
514
+ zip(
515
+ births.split_with_sizes(birth_sizes.tolist()),
516
+ deaths.split_with_sizes(death_sizes.tolist()),
517
+ )
518
+ )
519
+ return diff_mod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: multipers
3
- Version: 2.3.5b1
3
+ Version: 2.3.5b2
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>
@@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta"
9
9
 
10
10
  [project]
11
11
  name = "multipers"
12
- version = "2.3.5b1"
12
+ version = "2.3.5b2"
13
13
  description = "Multiparameter Topological Persistence for Machine Learning"
14
14
  readme = "README.md"
15
15
  authors = [
File without changes
File without changes
File without changes
@@ -20815,7 +20815,7 @@ def _from_bitmapf64(image, **slicer_kwargs):
20815
20815
  # print(f"F = {np.asarray(F[i])}")
20816
20816
  slicer = _Slicer(gen_maps, gen_dims, filtration_values)
20817
20817
  return slicer
20818
- def _from_bitmapi32(image, **slicer_kwargs):
20818
+ def _from_bitmapi64(image, **slicer_kwargs):
20819
20819
  from multipers import Slicer
20820
20820
  dtype = slicer_kwargs.get("dtype", image.dtype)
20821
20821
  slicer_kwargs["dtype"] = dtype
@@ -20833,9 +20833,9 @@ def _from_bitmapi32(image, **slicer_kwargs):
20833
20833
  cdef cset[unsigned int] vertices
20834
20834
 
20835
20835
  cdef unsigned int num_gens = gen_dims.size()
20836
- filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.int32) - _Slicer._inf_value()
20837
- cdef int32_t[:,:] F = filtration_values
20838
- cdef int32_t[:,:] c_img = image.reshape(-1,num_parameters)
20836
+ filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.int64) - _Slicer._inf_value()
20837
+ cdef int64_t[:,:] F = filtration_values
20838
+ cdef int64_t[:,:] c_img = image.reshape(-1,num_parameters)
20839
20839
  with nogil:
20840
20840
  for i in range(num_gens):
20841
20841
  # with gil:
@@ -20853,7 +20853,7 @@ def _from_bitmapi32(image, **slicer_kwargs):
20853
20853
  # print(f"F = {np.asarray(F[i])}")
20854
20854
  slicer = _Slicer(gen_maps, gen_dims, filtration_values)
20855
20855
  return slicer
20856
- def _from_bitmapf32(image, **slicer_kwargs):
20856
+ def _from_bitmapi32(image, **slicer_kwargs):
20857
20857
  from multipers import Slicer
20858
20858
  dtype = slicer_kwargs.get("dtype", image.dtype)
20859
20859
  slicer_kwargs["dtype"] = dtype
@@ -20871,9 +20871,9 @@ def _from_bitmapf32(image, **slicer_kwargs):
20871
20871
  cdef cset[unsigned int] vertices
20872
20872
 
20873
20873
  cdef unsigned int num_gens = gen_dims.size()
20874
- filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.float32) - _Slicer._inf_value()
20875
- cdef float[:,:] F = filtration_values
20876
- cdef float[:,:] c_img = image.reshape(-1,num_parameters)
20874
+ filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.int32) - _Slicer._inf_value()
20875
+ cdef int32_t[:,:] F = filtration_values
20876
+ cdef int32_t[:,:] c_img = image.reshape(-1,num_parameters)
20877
20877
  with nogil:
20878
20878
  for i in range(num_gens):
20879
20879
  # with gil:
@@ -20891,7 +20891,7 @@ def _from_bitmapf32(image, **slicer_kwargs):
20891
20891
  # print(f"F = {np.asarray(F[i])}")
20892
20892
  slicer = _Slicer(gen_maps, gen_dims, filtration_values)
20893
20893
  return slicer
20894
- def _from_bitmapi64(image, **slicer_kwargs):
20894
+ def _from_bitmapf32(image, **slicer_kwargs):
20895
20895
  from multipers import Slicer
20896
20896
  dtype = slicer_kwargs.get("dtype", image.dtype)
20897
20897
  slicer_kwargs["dtype"] = dtype
@@ -20909,9 +20909,9 @@ def _from_bitmapi64(image, **slicer_kwargs):
20909
20909
  cdef cset[unsigned int] vertices
20910
20910
 
20911
20911
  cdef unsigned int num_gens = gen_dims.size()
20912
- filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.int64) - _Slicer._inf_value()
20913
- cdef int64_t[:,:] F = filtration_values
20914
- cdef int64_t[:,:] c_img = image.reshape(-1,num_parameters)
20912
+ filtration_values = np.zeros(shape=(num_gens, num_parameters), dtype = np.float32) - _Slicer._inf_value()
20913
+ cdef float[:,:] F = filtration_values
20914
+ cdef float[:,:] c_img = image.reshape(-1,num_parameters)
20915
20915
  with nogil:
20916
20916
  for i in range(num_gens):
20917
20917
  # with gil:
@@ -20934,12 +20934,12 @@ def from_bitmap(img, **kwargs):
20934
20934
  img = np.asarray(img)
20935
20935
  if img.dtype == np.float64:
20936
20936
  return _from_bitmapf64(img, **kwargs)
20937
+ if img.dtype == np.int64:
20938
+ return _from_bitmapi64(img, **kwargs)
20937
20939
  if img.dtype == np.int32:
20938
20940
  return _from_bitmapi32(img, **kwargs)
20939
20941
  if img.dtype == np.float32:
20940
20942
  return _from_bitmapf32(img, **kwargs)
20941
- if img.dtype == np.int64:
20942
- return _from_bitmapi64(img, **kwargs)
20943
20943
  raise ValueError(f"Invalid dtype. Got {img.dtype=}, was expecting {available_dtype=}.")
20944
20944
 
20945
20945
  def from_function_delaunay(
File without changes
File without changes