TopoX: A Suite of Python Packages for Machine Learning on Topological Domains

Mustafa Hajij, Mathilde Papillon, Florian Frantzen, Jens Agerberg, Ibrahem AlJabea, Rubén Ballester, Claudio Battiloro, Guillermo Bernárdez, Tolga Birdal, Aiden Brent, Peter Chin, Sergio Escalera, Simone Fiorellino, Odin Hoff Gardaa, Gurusankar Gopalakrishnan, Devendra Govil, Josef Hoppe, Maneel Reddy Karri, Jude Khouja, Manuel Lecha, Neal Livesay, Jan Meißner, Soham Mukherjee, Alexander Nikitin, Theodore Papamarkou, Jaro Prílepok, Karthikeyan Natesan Ramamurthy, Paul Rosen, Aldo Guzmán-Sáenz, Alessandro Salatiello, Shreyas N. Samaga, Simone Scardapane, Michael T. Schaub, Luca Scofano, Indro Spinelli, Lev Telyatnikov, Quang Truong, Robin Walters, Maosheng Yang, Olga Zaghen, Ghada Zamzmi, Ali Zia, Nina Miolane.

Year: 2024, Volume: 25, Issue: 374, Pages: 1−8


Abstract

We introduce \texttt{TopoX}, a Python software suite that provides reliable and user-friendly building blocks for computing and machine learning on topological domains that extend graphs: hypergraphs, simplicial, cellular, path and combinatorial complexes. \texttt{TopoX} consists of three packages: \texttt{TopoNetX} facilitates constructing and computing on these domains, including working with nodes, edges and higher-order cells; \texttt{TopoEmbedX} provides methods to embed topological domains into vector spaces, akin to popular graph-based embedding algorithms such as node2vec; \texttt{TopoModelX} is built on top of \texttt{PyTorch} and offers a comprehensive toolbox of higher-order message passing functions for neural networks on topological domains. The extensively documented and unit-tested source code of \texttt{TopoX} is available under MIT license at \textcolor{blue}{\Href{https://pyt-team.github.io/}{https://pyt-team.github.io/}}.

PDF BibTeX code