HGX is a Python library for the analysis of real-world complex systems with group interactions and provides a comprehensive suite of tools and algorithms for constructing, visualizing, and analyzing hypergraphs.
The library is designed to be user-friendly and accessible, with a wide range of functionalities that can be applied to a diverse set of applications and use cases.
In the last few decades, networks have emerged as the natural tool to model a wide variety of natural, social and man-made systems. Networks, collections of nodes and links connecting pairs of them, are able to capture dyadic interactions only. However, in many real-world systems units interact in groups of three or more. Systems with non-dyadic interactions are ubiquitous, with examples ranging from cellular networks, drug recombination, structural and functional brain networks, human and animal face-to-face interactions, and collaboration networks. These higher-order interactions can be naturally described by alternative mathematical structures such as hypergraphs, where hyperedges connect groups of nodes of arbitrary size.
The library is conceived by researchers with several years of experience and direct contributions to the field of higher-order interactions. Developed by a diverse multidisciplinary team with complementary skills and expertise, HGX aims to provide, as a single source, a comprehensive suite of tools and algorithms for constructing, storing, analysing and visualizing systems with higher-order interactions. These include different ways to convert data across distinct higher-order representations, a large variety of measures of higher-order organization at the local and the mesoscale, statistical filters to sparsify higher-order data, a wide array of static and dynamic generative models, an implementation of different dynamical processes, from epidemics to diffusion and synchronization, with higher-order interactions, and more. Our computational framework is general, and allows to analyse hypergraphs with weighted, directed, signed, temporal and multiplex group interactions. Beyond experts in the field, we hope that our library will make higher-order network analysis accessible to everyone interested in exploring the higher-order dimension of relational data.
pip install hypergraphx
or, if you really want the latest updates
pip install hypergraphx@git+https://github.com/HGX-Team/hypergraphx
TODO: add basic tutorial
You can find tutorials covering a variety of use cases here.
Higher-order datasets are available in our data repository.
If you use HGX or related data in your paper, please cite:
@article{lotito2023hypergraphx,
author = {Lotito, Quintino Francesco and Contisciani, Martina and De Bacco, Caterina and Di Gaetano, Leonardo and Gallo, Luca and Montresor, Alberto and Musciotto, Federico and Ruggeri, Nicolò and Battiston, Federico},
title = "{Hypergraphx: a library for higher-order network analysis}",
journal = {Journal of Complex Networks},
volume = {11},
number = {3},
year = {2023},
month = {05},
issn = {2051-1329},
doi = {10.1093/comnet/cnad019},
url = {https://doi.org/10.1093/comnet/cnad019},
note = {cnad019},
eprint = {https://academic.oup.com/comnet/article-pdf/11/3/cnad019/50461094/cnad019.pdf},
}
HGX is a collaborative project and we welcome suggestions and contributions. If you are interested in contributing to HGX or have any questions about our project, please do not hesitate to reach out to us.
:running: I only have 1 minute
:hourglass_flowing_sand: I've got 10 minutes
:computer: I've got a few hours to work on this
:tada: I want to help grow the community
Released under the 3-Clause BSD license (see LICENSE.md)
HGX contains copied or modified code from third sources. The licenses of such code sources can be found in our license file
This project is supported by the Air Force Office of Scientific Research under award number FA8655-22-1-7025.