Skip to content
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
merged 5 commits into from
Aug 16, 2022
Merged

Create v0.2.2 #65

merged 5 commits into from
Aug 16, 2022

Conversation

ulupo
Copy link
Collaborator

@ulupo ulupo commented Aug 16, 2022

No description provided.

ulupo and others added 5 commits February 6, 2022 15:39
* 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>
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ ulupo
❌ MonkeyBreaker
You have signed the CLA already but the status is still pending? Let us recheck it.

@ulupo ulupo merged commit c5465b7 into 0.2.X Aug 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants