-
Notifications
You must be signed in to change notification settings - Fork 36
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
First Implementation of a Simplex Trie #220
base: main
Are you sure you want to change the base?
Conversation
e07d86b
to
f854940
Compare
@mhajij The tests fail because |
@ffl096 |
This is a draft pull request, it is not to be merged right now regardless :) However, just to clarify: I do not propose to remove the |
we need to create a Data object to be utilized in the higher order context. I think the one available in torch is good enough. This is an example on how it can be used in a higher order DL model https://github.com/pyt-team/TopoModelX/blob/569bd193f81d47e04891376676c034e90cc07554/tutorials/combinatorial/hmc_train.ipynb |
f854940
to
2bf961b
Compare
@ffl096 I think we can merge this now, testing is failing however, can you please take care of it so we can merge ? also lint. |
The dataset issue still stands and is outside of the scope to be fixed here. We cannot reliably use pickled objects as data objects. |
I cannot merge wihout passing the tests, what do you think we should do? should we fix the dataset issues first? |
According to git blase, the |
c38136b
to
7357c14
Compare
@ffl096 What do you want to do with this PR ? I think we need to have SC faster and implemented correctly but many code relies on the datasets-- what do you suggest? |
As outlined above, the dataset structure has to be overhauled completely. This is outside of the scope of this pull request though, and needs to be done regardless. The current system is highly unstable. Once that is done, this pull request is good to be merged. |
41939ff
to
5a1a11a
Compare
5a1a11a
to
5e530c0
Compare
This implements a simplex trie as presented in [1] as backend data structure for the
SimplicialComplex
class. This is also used in gudhi's SC implementation. However, they do not expose all functionality we need and the data structure is implemented in native code, so we cannot interact with it directly either.Using a simplex tree should bring some nice performance improvements over the previous approach and fixes some bugs along the way as well. I will add some comparisons later.
[1] Jean-Daniel Boissonnat and Clément Maria. The Simplex Tree: An Efficient Data Structure for General Simplicial Complexes. Algorithmica, pages 1–22, 2014