Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
b32fda4
add graph computations
LimbeckKat Nov 11, 2025
a9218fd
adjust magdiff
LimbeckKat Nov 11, 2025
4095da1
adjust line length
LimbeckKat Nov 11, 2025
4dc9334
add graph magnitude computations
LimbeckKat Nov 12, 2025
ac3ba1a
add documentation
LimbeckKat Nov 12, 2025
5798d0d
adjust magnipy
LimbeckKat Nov 12, 2025
ba2ba2c
add documentation
LimbeckKat Nov 12, 2025
c23366a
example notebook
LimbeckKat Nov 12, 2025
ebaebf6
Adjust line length
LimbeckKat Nov 12, 2025
e9790be
Adjust Readme to add graph computations
LimbeckKat Nov 12, 2025
31dc2a8
fix distance computation
LimbeckKat Nov 17, 2025
cb5d502
adjust graph distance computations
LimbeckKat Nov 18, 2025
69b67ef
Merge branch
LimbeckKat Nov 18, 2025
a155499
start graphipy tutorial
nadjahae Nov 21, 2025
7d8a439
fix bug distances
LimbeckKat Nov 21, 2025
9acdde0
merge
LimbeckKat Nov 21, 2025
e1a82df
fix bug
LimbeckKat Nov 21, 2025
006af50
fix bug
LimbeckKat Nov 21, 2025
4185606
revert change
nadjahae Dec 2, 2025
00af97f
added examples
nadjahae Dec 2, 2025
5b9ac9a
add examples graphipy tutorial
nadjahae Dec 4, 2025
2528efe
adjustments and black
nadjahae Dec 5, 2025
0a129ac
adjustment get distances
nadjahae Dec 12, 2025
70778d9
fix bugs
LimbeckKat Dec 12, 2025
0527bac
merge
LimbeckKat Dec 12, 2025
46c6c74
Merge branch 'main' into NH-graphipy
nadjahae Dec 12, 2025
9c2118f
Merge branch 'magnitude_computations' into NH-graphipy
nadjahae Dec 15, 2025
7577107
tutorial remove singularities, new magnitude functions after merges
nadjahae Dec 15, 2025
e313254
changed warning
nadjahae Dec 15, 2025
4d1b12b
reverted changes weights
nadjahae Dec 15, 2025
e29c3f2
update tutorial
nadjahae Dec 18, 2025
1d788d3
change default check duplicates for grapihpy
Dec 18, 2025
513cdba
fixed pass features to custom function
nadjahae Jan 7, 2026
ac0049a
updated graphipy tutorial
nadjahae Jan 7, 2026
6769e4a
adjusted geodesic distances to work with weight 0
nadjahae Jan 14, 2026
2527a3b
adding helper functions for graphipy tutorial
nadjahae Jan 15, 2026
574db0a
implemented changes
nadjahae Jan 15, 2026
15da7f7
add titles for plots
nadjahae Jan 15, 2026
2708734
changes tutorial
nadjahae Jan 15, 2026
0eccd91
Minor changes in the graphipy tutorial text
Jan 20, 2026
8171fd6
Minor changes in text
Jan 20, 2026
f65af51
minor fixes
nadjahae Jan 21, 2026
26649a9
fixed some typos
nadjahae Jan 21, 2026
208e61e
adjust line length
Jan 28, 2026
c0a793a
edit reference
Jan 28, 2026
97fefe5
fix mag weight summation
Jan 29, 2026
233aa41
consistent capitalization in plots
nadjahae Jan 30, 2026
fcb8962
added type in plotting function
nadjahae Jan 30, 2026
23510b1
typos in code comment
nadjahae Jan 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ We introduce the following codebase to compute and compare the magnitude of metr
### `Magnipy`: For in-depth magnitude computations on a single metric space.

The functionalities of `Magnipy` for an individual metric space include:
- Computing the metric space's **distance matrix**
- Computing the metric space's **distance matrix** based on a feature space (attributes), adjecencies between observations (structure), or both features and adjecencies (full).
- Calculating the **similarity matrix** from the distances
- Executing an **automated scale-finding** procedure to find suitable evaluation scales
- Computing the **magnitude weight** of each point across multiple distance scales
Expand All @@ -27,6 +27,14 @@ The functionalities of `Diversipy` for a list of spaces (that share the same dis
- Calculating **MagArea**, the area under a magnitude function, a multi-scale measure of the **intrinsic diversity** of a dataset
- Calculating **MagDiff**, the area between magnitude functions, to measure the **difference in diversity** between datasets

### `Graphipy`: For in-depth magnitude computations on a single metric graph.

The functionalities of `Graphipy` for an individual metric graph include:
- Calculating the magnitude of a `networkx` graph by computing magnitude seperately for each disconnected subgraph
- Computing the metric based of features (attributes), graph structure (structure), or both features and graph structure (full).
- Other functionalities similar to `Magnipy`


## ⚙️ Dependencies

To get started,
Expand All @@ -52,6 +60,7 @@ Tutorials demonstrating the main functionalities can be found under the `noteboo
The following tutorials demonstrate how to initialize and utiltize the corresponding classes:
- `magnipy_tutorial.ipynb`: Using `Magnipy` for computing the magnitude of one metric space
- `diversipy_tutorial.ipynb`: Using `Diversipy` for comparing the magnitude of multiple metric spaces
- `graphipy_tutorial.ipynb`: Using `Graphipy` for computing the magnitude of metric graphs

The following supplementary demos are also provided:
- `mode_dropping.ipynb`: Using `MagDiff` for detecting mode dropping / mode collapse
Expand All @@ -61,6 +70,14 @@ The following supplementary demos are also provided:
Please consider citing our work!

```bibtex
@inproceedings{limbeck2025geometry,
title = {Geometry-aware Edge Pooling for Graph Neural Networks},
author = {Katharina Limbeck and Lydia Mezrag and Guy Wolf and Bastian Rieck},
booktitle = {Advances in Neural Information Processing Systems},
volume = {38},
year = {2025}
}

@inproceedings{limbeck2024metric,
title = {Metric Space Magnitude for Evaluating the Diversity of Latent Representations},
author = {Katharina Limbeck and Rayna Andreeva and Rik Sarkar and Bastian Rieck},
Expand Down
Loading
Loading