-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create v0.2.2 #65
Merged
Create v0.2.2 #65
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Proposal to deal with explicit infinite edges Addresses issue #37 * Use if-continue as suggested by @MonkeyBreaker * [TEST] Add regression test for issue #37 Signed-off-by: julian <julian.burellaperez@heig-vd.ch> * [CPP] Slight format and move comment to new relevant section Signed-off-by: julian <monkeybreaker@protonmail.com> * Replace all numeric... by a inf variable at the top of the file Much easier to write :) Signed-off-by: julian <monkeybreaker@protonmail.com> * [CPP] Remove unecessary variables and apply format Signed-off-by: julian <monkeybreaker@protonmail.com> * Revert deletion of death variable and use it when necessary Signed-off-by: julian <monkeybreaker@protonmail.com> Co-authored-by: julian <julian.burellaperez@heig-vd.ch> Co-authored-by: julian <monkeybreaker@protonmail.com>
* [CPP] Update compressed_distance_matrix to support diagonals Signed-off-by: julian <julian.burellaperez@heig-vd.ch> * [PY] Update DParam to include diagonals value Signed-off-by: julian <julian.burellaperez@heig-vd.ch> * [CPP] Update get_vertex_birth to return the diagonal value Signed-off-by: julian <julian.burellaperez@heig-vd.ch> * [PY] Updade backend used when non 0 values are present in the distance matrix Signed-off-by: julian <julian.burellaperez@heig-vd.ch> * [PY] Update logic for threshold in dense case Signed-off-by: julian <monkeybreaker@protonmail.com> * [PY] Remove unused imports Signed-off-by: julian <monkeybreaker@protonmail.com> * [CPP] Refactor to use std::minmax and remove code duplication This could be even further cleaned if we support C++17 if constexpr (...) ... Signed-off-by: julian <monkeybreaker@protonmail.com> * [CPP] Apply Format Signed-off-by: julian <monkeybreaker@protonmail.com> * [CPP] Revert some changes, add diagonal attribute for dense After discussion with ulupo, it is better to keep the code as similar as possible with ripser, so to keep changes minimal, I added an attribute containing the diagonal Signed-off-by: julian <monkeybreaker@protonmail.com> * [BDG] Add diagonal parameter for dense case and removed N parameter Signed-off-by: julian <monkeybreaker@protonmail.com> * [PY] Retrieve diagonal and forward it when computing dense Signed-off-by: julian <monkeybreaker@protonmail.com> * [TST] Add test for extended backend compares the result of the same input matrix in dense and sparse format Signed-off-by: julian <monkeybreaker@protonmail.com> * Update gph/python/test/test_ripser.py Co-authored-by: Umberto Lupo <46537483+ulupo@users.noreply.github.com> * [PY] Remove non-zero diagonal check for enclosing radius computation Signed-off-by: julian <monkeybreaker@protonmail.com> * Fix test with invalid input passed to ripser Signed-off-by: julian <monkeybreaker@protonmail.com> * Fix linter warnings Signed-off-by: julian <monkeybreaker@protonmail.com> * [PY] Refactor collapse edges logic for dense case Signed-off-by: julian <monkeybreaker@protonmail.com> * Update gph/python/ripser_interface.py * [BIN,PY] Include diagonal in collapser bindings Add again diagonal after collapsing Signed-off-by: julian <monkeybreaker@protonmail.com> * [BIN] Revert collapser binding changes Signed-off-by: julian <monkeybreaker@protonmail.com> * Update gph/python/test/test_ripser.py * [PY] Create collapse edge function, remove diags Signed-off-by: julian <monkeybreaker@protonmail.com> * [CPP] Add inline comments to document behavior Signed-off-by: julian <monkeybreaker@protonmail.com> * Update gph/python/ripser_interface.py * [PY] Update collapse_dense as suggested by @ulupo Co-authored-by: Umberto Lupo <46537483+ulupo@users.noreply.github.com> * [PY] Update collapse_dense function as suggested by @ulupo Signed-off-by: julian <monkeybreaker@protonmail.com> * [PY] Tiny linting change Co-authored-by: Umberto Lupo <46537483+ulupo@users.noreply.github.com>
* Implement suggestion in https://stackoverflow.com/questions/13079563/how-does-condensed-distance-matrix-work-pdist/36867493#36867493 adapted ti lower-diagonal compressed format. Thanks to the IEEE 754 standard's strong guarantees on basic arithmetic operations (including square root), finite precision using doubles does not lead to incorrect results whenever 8 * num_edges + 1 does not exceed the largest integer exactly representable as a double, i.e. 2^53. So, one is guaranteed correct results whenever there are fewer than 2^25 = 33'554'432 vertices. Correctness can be tested for even larger values but is not guaranteed there.
…3.10, upgrade to manylinux2014 (#62) * [CI] Enable ARM wheels for MacOS for Python version 3.8, 3.9 and 3.10 Signed-off-by: julian <monkeybreaker@protonmail.com> * [CI] Add arm64 to CIBW_ARCHS_MACOS option * [PY] Remove unused import * Try adding install options for ARM Signed-off-by: julian <monkeybreaker@protonmail.com> * Try adding install options for ARM Signed-off-by: julian <monkeybreaker@protonmail.com> * Try adding install options for ARM Signed-off-by: julian <monkeybreaker@protonmail.com> * Disable arm64 and x86 Signed-off-by: julian <monkeybreaker@protonmail.com> * Trying build arm wheels Signed-off-by: julian <monkeybreaker@protonmail.com> * setup.py arm wheels Signed-off-by: julian <monkeybreaker@protonmail.com> * setup.py arm wheels Signed-off-by: julian <monkeybreaker@protonmail.com> * Clean setup.py and only build universal2 wheels Signed-off-by: julian <monkeybreaker@protonmail.com> * Drop support to Python 3.6 Signed-off-by: julian <monkeybreaker@protonmail.com> * Add CI and wheels for Python 3.11, upgrade to manylinux2014 throughout * Drop Python 3.11 from CI and wheels * Fix YAML typo Signed-off-by: julian <monkeybreaker@protonmail.com> Co-authored-by: Umberto Lupo <46537483+ulupo@users.noreply.github.com> Co-authored-by: Umberto Lupo <umberto.lupo@gmail.com>
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.