pyt-team / challenge-icml-2024

Official repository for the Topological Deep Learning Challenge 2024, organized by TAG-DS & PyT-Team and hosted by GRaM Workshop @ ICML 2024.
https://pyt-team.github.io/packs/challenge.html
MIT License
37 stars 48 forks source link

Coface Lifting (Simplicial to Combinatorial) #29

Open martin-carrasco opened 2 months ago

martin-carrasco commented 2 months ago

This technique lifts a Simplicial Complex to a Combinatorial Complex by taking the co-adjacencies of a simplex to be the components of the higher order ($3$-cell) cell. Given a simplex $\sigma$ and its co-faces $\tau_1, \tau_2, \cdot \cdot \cdot , \tau_i$. Then, using a purely combinatorial definition, $\delta = \sigma \cup \tau_1 \cup \cdot \cdot \cdot \cup \tau_i$. We can see that it holds that this is a combinatorial complex $\mathcal{X}$ because of the two conditions that need to be fulfilled.

  1. All nodes $v$ are preserved. So given that the initial point cloud is denoted $S$ then it still holds that $\forall s \in S$ then {s} $\in \mathcal{X}$
  2. If $\sigma,\delta \in \mathcal{X}$ and $\sigma \subseteq \delta$ then $rank(\sigma) \leq rank(\delta)$: This hold since we set $rank(\delta)$ to $3$ and we are operating on the a subset of the simplifies of a simplicial complex up to dimension $2$.

This technique is proposed in [1].

As additional contributions:

  1. Add code to make the SimplicialLoader work and actually return a Dataset and not a Data object.
  2. Add get_combinatorial_complex_connectivity to generate connectivity matrices
  3. Add an HMCModel class that operates over combinatorial complexes.

[1] Hajij, M., Zamzmi, G., Papamarkou, T., Miolane, N., Guzmán-Sáenz, A., Ramamurthy, K. N., ... & Schaub, M. T. (2022). Topological deep learning: Going beyond graph data. arXiv preprint arXiv:2206.00606.


Tags: Existing lift from literature | connectivity-based | deterministic

review-notebook-app[bot] commented 2 months ago

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

gbg141 commented 2 months ago

Hello @martin-carrasco! Thank you for your submission. As we near the end of the challenge, I am collecting participant info for the purpose of selecting and announcing winners. Please email me (or have one member of your team email me) at guillermo_bernardez@ucsb.edu so I can share access to the voting form. In your email, please include:

Before July 12, make sure that your submission respects all Submission Requirements laid out on the challenge page. Any submission that fails to meet this criteria will be automatically disqualified.

codecov-commenter commented 2 months ago

Codecov Report

Attention: Patch coverage is 98.42520% with 2 lines in your changes missing coverage. Please review.

Please upload report for BASE (main@497947b). Learn more about missing BASE report.

Files Patch % Lines
modules/data/utils/utils.py 93.75% 2 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #29 +/- ## ======================================= Coverage ? 71.50% ======================================= Files ? 18 Lines ? 600 Branches ? 0 ======================================= Hits ? 429 Misses ? 171 Partials ? 0 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.