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.
- {multipers-2.4.2b2/multipers.egg-info → multipers-2.5.0b1}/PKG-INFO +15 -13
- {multipers-2.4.2b2 → multipers-2.5.0b1}/README.md +14 -12
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/__init__.py +2 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/array_api/numpy.py +2 -3
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/array_api/torch.py +2 -3
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/_multi_critical_interface.pyx +8 -6
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/mpfree_interface.hpp +5 -5
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/multi_critical_interface.hpp +3 -3
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtrations/filtrations.py +8 -10
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/grids.pyx +3 -6
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/io.pyx +2 -2
- multipers-2.5.0b1/multipers/logs.py +113 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_module_approximation.pyx +6 -6
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ops.pyx +18 -11
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/simplex_tree_multi.pyx +33 -48
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/simplex_tree_multi.pyx.tp +3 -3
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/slicer.pyx +93 -146
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/slicer.pyx.tp +4 -5
- {multipers-2.4.2b2 → multipers-2.5.0b1/multipers.egg-info}/PKG-INFO +15 -13
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers.egg-info/SOURCES.txt +2 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/pyproject.toml +2 -3
- multipers-2.5.0b1/tests/test_multi_critical_interface.py +224 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/LICENSE +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/MANIFEST.in +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/THIRD_PARTY_NOTICES.md +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/_tempita_grid_gen.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/CMakeLists.txt +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/LICENSE +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/aida.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/birth_death.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/brute_force_mpm_decomposition.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/generate_decompositions.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/include/aida_interface.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/include/config.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/include/option_parser.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/include/types.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/making_examples.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/minimize_pres.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/mpfree_clone.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/presentation_to_quiver.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/presentation_to_quiver_new.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/resolution.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_decompose.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_decompose.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_functions.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_functions.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_helpers.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_helpers.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/aida_interface.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/block.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/block.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/config.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/src/option_parser.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/AIDA/vectorspace_decompositions.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/LICENSE +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/analyse_ind.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/birth_death.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/cut_module.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/hom.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/bitset_algebra.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/column_types.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/dense_matrix.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/draw_hf.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/general.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/graded_linalg.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/graded_matrix.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/grid_scheduler.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/homomorphisms.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/matrix_base.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/modules.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/orders_and_graphs.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/r2graded_matrix.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/r3graded_matrix.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/sparse_matrix.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/include/grlina/to_quiver.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/minimize.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/pres_to_quiver.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/resolution.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/shift_endo.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/size.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/snap_grid.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/submodule_at.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/tests/dense_matrix_test.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/tests/graded_matrix_test.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/tests/hom_space_test.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/tests/sparse_matrix_test.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/Persistence-Algebra/thickness.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/COPYING +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/Delaunay_triangulation_accessors.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/Grade_map.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/Meb_accessors.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/Miniball.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/Point_with_densities.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/boost_timers.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/compute_meb_radii_of_simplex_tree.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/count_size_of_delaunay_triangulation.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/function_delaunay_with_meb.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/get_simplices_from_triangulation.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/include/function_delaunay/mem_info.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/misc/functions.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/Graded_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/Grid_scheduler.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/boost_timers.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/global.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/mpfree.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpfree_mod/include/mpfree/mpfree_subroutines.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Coordinate_traits_with_map.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Graded_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Graded_matrix_handle.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/Pre_column_struct.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/basic.h +0 -0
- {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
- {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
- {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
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/create_matrix_from_firep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/mpp_utils_mod/include/mpp_utils/sorting_utility.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/Graded_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/basic.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/boost_timers.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/multi_chunk_mod/include/multi_chunk/multi_chunk.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/COPYING +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/COPYING.LESSER +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/algorithms/chunk_reduction.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/algorithms/row_reduction.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/algorithms/spectral_sequence_reduction.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/algorithms/standard_reduction.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/algorithms/twist_reduction.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/boundary_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/compute_persistence_pairs.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/helpers/dualize.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/helpers/misc.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/helpers/thread_local_storage.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/persistence_pairs.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/Container_traits.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/Pivot_representation.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/Uniform_representation.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/Unordered_map_container_traits.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/bit_tree_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/default_representations.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/full_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/heap_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/heap_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/list_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/set_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/sparse_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/phat/include/phat/representations/vector_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/scc_mod/include/scc/Column_data.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/scc_mod/include/scc/Scc.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/scc_mod/include/scc/basic.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/src/main.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/function_delaunay/src/persistence_up_to_density.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/COPYING +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/COPYING.LESSER +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/Graded_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/Grid_scheduler.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/boost_timers.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/global.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/mpfree.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/include/mpfree/mpfree_subroutines.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Coordinate_traits_with_map.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Graded_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Graded_matrix_handle.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/Pre_column_struct.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/basic.h +0 -0
- {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
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/create_graded_matrices_from_scc2020.h +0 -0
- {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
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/create_matrix_from_firep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/mpp_utils_mod/include/mpp_utils/sorting_utility.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/COPYING +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/COPYING.LESSER +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/boundary_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/helpers/misc.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/helpers/thread_local_storage.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/Container_traits.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/Pivot_representation.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/Uniform_representation.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/Unordered_map_container_traits.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/bit_tree_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/default_representations.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/full_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/heap_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/heap_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/list_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/set_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/sparse_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/phat_mod/include/phat/representations/vector_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/scc_mod/include/scc/Column_data.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/scc_mod/include/scc/Scc.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/scc_mod/include/scc/basic.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/mpfree/src/mpfree.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/COPYING +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/COPYING.LESSER +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/include/multi_chunk/Graded_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/include/multi_chunk/basic.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/include/multi_chunk/boost_timers.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/include/multi_chunk/multi_chunk.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/Coordinate_traits_with_map.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/Graded_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/Graded_matrix_handle.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/Pre_column_struct.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/basic.h +0 -0
- {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
- {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
- {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
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/create_matrix_from_firep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/mpp_utils_mod/include/mpp_utils/sorting_utility.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/boundary_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/helpers/misc.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/helpers/thread_local_storage.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/Container_traits.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/Pivot_representation.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/Uniform_representation.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/Unordered_map_container_traits.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/bit_tree_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/default_representations.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/full_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/heap_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/heap_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/list_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/set_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/sparse_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/phat_mod/include/phat/representations/vector_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/scc_mod/include/scc/Column_data.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/scc_mod/include/scc/Scc.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/scc_mod/include/scc/basic.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_chunk/src/multi_chunk.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/COPYING +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/COPYING.LESSER +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/include/multi_critical/Grade.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/include/multi_critical/basic.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/include/multi_critical/boost_timers.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/include/multi_critical/firep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/include/multi_critical/free_resolution.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/Graded_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/Grid_scheduler.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/boost_timers.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/global.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/mpfree.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpfree_mod/include/mpfree/mpfree_subroutines.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Coordinate_traits_with_map.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Graded_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Graded_matrix_handle.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/Pre_column_struct.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/basic.h +0 -0
- {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
- {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
- {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
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/create_matrix_from_firep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/mpp_utils_mod/include/mpp_utils/sorting_utility.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/Graded_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/basic.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/boost_timers.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/multi_chunk_mod/include/multi_chunk/multi_chunk.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/multi_critical.cpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/COPYING +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/COPYING.LESSER +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/algorithms/chunk_reduction.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/algorithms/row_reduction.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/algorithms/spectral_sequence_reduction.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/algorithms/standard_reduction.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/algorithms/twist_reduction.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/boundary_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/compute_persistence_pairs.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/helpers/dualize.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/helpers/misc.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/helpers/thread_local_storage.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/persistence_pairs.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/Container_traits.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/Pivot_representation.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/Uniform_representation.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/Unordered_map_container_traits.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/bit_tree_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/default_representations.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/full_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/heap_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/heap_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/list_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/set_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/sparse_pivot_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/phat_mod/include/phat/representations/vector_column_rep.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/scc_mod/include/scc/Column_data.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/scc_mod/include/scc/Scc.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/ext/multi_critical/scc_mod/include/scc/basic.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/licenses/LGPL-3.0-or-later.txt +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/_signed_measure_meta.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/_slicer_meta.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/array_api/__init__.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/MOL2.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/UCR.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/__init__.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/graphs.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/immuno_regions.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/minimal_presentation_to_st_bf.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/pytorch2simplextree.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/shape3d.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/data/synthetic.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/distances.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/__init__.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/_aida_interface.pyx +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/_function_delaunay_interface.pyx +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/_helper.pxd +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/_mpfree_interface.pyx +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/function_delaunay_interface.hpp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtration_conversions.pxd +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtration_conversions.pxd.tp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtrations/__init__.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtrations/density.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtrations.pxd +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/filtrations.pxd.tp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/function_rips.pyx +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/Persistence_slices_interface.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/Simplex_tree_interface.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/Simplex_tree_multi_interface.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Bitmap_cubical_complex.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Bitmap_cubical_complex_base.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Debug_utils.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Degree_rips_bifiltration.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Dynamic_multi_parameter_filtration.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field_operators.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field_shared.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field_small.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field_small_operators.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Multi_field_small_shared.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Z2_field.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Z2_field_operators.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Zp_field.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Zp_field_operators.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Fields/Zp_field_shared.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Flag_complex_edge_collapser.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_filtration/Multi_parameter_generator.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_filtration/multi_filtration_conversions.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_filtration/multi_filtration_utils.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_parameter_filtered_complex.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_parameter_filtration.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Box.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Line.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Multi_parameter_filtered_complex_pcoh_interface.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Persistence_interface_cohomology.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Persistence_interface_homology.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Persistence_interface_vineyard.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Multi_persistence/Point.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Off_reader.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Base_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Base_matrix_with_column_compression.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Boundary_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Chain_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Id_to_index_overlay.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/Position_to_index_overlay.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/RU_matrix.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/allocators/entry_constructors.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/base_pairing.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/base_swap.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/chain_pairing.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/chain_rep_cycles.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/chain_vine_swap.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/chain_column_extra_properties.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/column_dimension_holder.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/column_utilities.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/entry_types.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/heap_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_list_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/intrusive_set_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/list_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/naive_vector_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/row_access.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/set_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/unordered_set_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/columns/vector_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/index_mapper.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/matrix_dimension_holders.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/matrix_row_access.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/ru_pairing.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/ru_rep_cycles.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_matrix/ru_vine_swap.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_on_a_line.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistence_on_rectangle.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistent_cohomology/Field_Zp.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistent_cohomology/Multi_field.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistent_cohomology/Persistent_cohomology_column.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Persistent_cohomology.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Points_off_io.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Projective_cover_kernel.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simple_object_pool.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_iterators.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_node_explicit_storage.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_siblings.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/Simplex_tree_star_simplex_iterators.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/filtration_value_utils.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/hooks_simplex_base.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/indexing_tag.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/serialization_utils.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree/simplex_tree_options.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Simplex_tree.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Slicer.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/Thread_safe_slicer.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/distance_functions.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/graph_simplicial_complex.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/multi_simplex_tree_helpers.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/persistence_interval.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/persistence_matrix_options.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/reader_utils.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/simple_mdspan.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/slicer_helpers.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/gudhi/vineyard_base.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/tmp_h0_pers/mma_interface_h0.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/gudhi/tmp_h0_pers/naive_merge_tree.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/__init__.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/accuracies.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/filtered_complex.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/invariants_with_persistable.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/kernels.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/mma.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/one.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/signed_measures.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/sliced_wasserstein.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ml/tools.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/mma_structures.pxd +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/mma_structures.pyx +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/mma_structures.pyx.tp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/diff_helpers.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/euler_characteristic.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/function_rips.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/hilbert_function.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/persistence_slices.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multi_parameter_rank_invariant/rank_invariant.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_edge_collapse.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_module_approximation/approximation.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_module_approximation/debug.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_module_approximation/format_python-cpp.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/multiparameter_module_approximation/utilities.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/pickle.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/plots.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/point_measure.pyx +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/simplex_tree_multi.pxd +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/slicer.pxd +16 -16
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/slicer.pxd.tp +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/tensor/tensor.h +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/tensor.pxd +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/test.pyx +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/tests/__init__.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers.egg-info/dependency_links.txt +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers.egg-info/requires.txt +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/multipers.egg-info/top_level.txt +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/setup.cfg +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/setup.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_aida.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_diff_helper.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_filtrations.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_grids.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_hilbert_function.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_mma.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_parallel.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_point_clouds.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_python-cpp_conversion.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_signed_betti.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_signed_measure.py +0 -0
- {multipers-2.4.2b2 → multipers-2.5.0b1}/tests/test_simplextreemulti.py +0 -0
- {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.
|
|
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)
|
|
138
|
-
|
|
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)
|
|
83
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
{multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/_multi_critical_interface.pyx
RENAMED
|
@@ -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.
|
|
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
|
-
|
|
261
|
+
_degree =<int>(degree+1) # cause presentation
|
|
260
262
|
with nogil:
|
|
261
263
|
one_output = multi_critical_minpres_interface(
|
|
262
264
|
interface_input,
|
|
263
|
-
|
|
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,
|
|
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
|
-
|
|
226
|
-
|
|
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.");
|
{multipers-2.4.2b2 → multipers-2.5.0b1}/multipers/ext_interface/multi_critical_interface.hpp
RENAMED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
67
|
-
out
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
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
|