/HyperCOT

Code for computing Hypergraph Co-Optimal Transport distances

Primary LanguageJupyter NotebookMIT LicenseMIT

hypergraphs

HyperCOT: Hypergraph Co-Optimal Transport

This repository contains code related to the paper Hypergraph Co-Optimal Transport: Metric and Categorical Properties by Samir Chowdhury, Tom Needham, Ethan Semrad, Bei Wang, and Youjia Zhou.

To get started, we suggest creating a new conda environment. From the terminal window, type in:

conda create -n HyperCOT python=3.9
conda activate HyperCOT

Next, please install the dependencies from the provided requirements.txt file.

pip install -r requirements.txt

The main dependencies for our package are:

Additionally, we utilize code from:

Included in this repo:

  • code to compute HyperCOT distances
  • demo notebook to perform multiscale matching (requires plotly) as below:

meshes meshes

Getting started

  • Try running the run_simulated.ipynb notebook. Here we load a dataset of 40 simulated hypergraphs and show how to compute HyperCOT distances for a pair of hypergraphs. Although we do not go through the full computation in the notebook, computing all the pairwise distances should yield a matrix as follows (plotted using seaborn):

matrix

Extra

To generate hypergraphs of the form in the header, please visit https://github.com/tdavislab/Hypergraph-Vis.