Table of Contents
Fetching ...

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

TL;DR

TopoX addresses the lack of accessible software for learning on higher-order topological domains by delivering a three-package suite: TopoNetX for building topological domains, TopoEmbedX for Euclidean embeddings, and TopoModelX for higher-order neural networks. It generalizes graph ML tools to simplicial, cellular, hypergraph, and related complexes, providing interoperable primitives, a scikit-learn–style API, and PyTorch-based models. The authors demonstrate automated testing and documentation, position the work relative to existing libraries, and provide example notebooks to facilitate adoption. The work enables practical topological deep learning with end-to-end workflows on diverse domains, potentially accelerating research and applications in scientific data analysis.

Abstract

We introduce 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. TopoX consists of three packages: TopoNetX facilitates constructing and computing on these domains, including working with nodes, edges and higher-order cells; TopoEmbedX provides methods to embed topological domains into vector spaces, akin to popular graph-based embedding algorithms such as node2vec; TopoModelX is built on top of 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 TopoX is available under MIT license at https://pyt-team.github.io/}{https://pyt-team.github.io/.

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

TL;DR

TopoX addresses the lack of accessible software for learning on higher-order topological domains by delivering a three-package suite: TopoNetX for building topological domains, TopoEmbedX for Euclidean embeddings, and TopoModelX for higher-order neural networks. It generalizes graph ML tools to simplicial, cellular, hypergraph, and related complexes, providing interoperable primitives, a scikit-learn–style API, and PyTorch-based models. The authors demonstrate automated testing and documentation, position the work relative to existing libraries, and provide example notebooks to facilitate adoption. The work enables practical topological deep learning with end-to-end workflows on diverse domains, potentially accelerating research and applications in scientific data analysis.

Abstract

We introduce 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. TopoX consists of three packages: TopoNetX facilitates constructing and computing on these domains, including working with nodes, edges and higher-order cells; TopoEmbedX provides methods to embed topological domains into vector spaces, akin to popular graph-based embedding algorithms such as node2vec; TopoModelX is built on top of 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 TopoX is available under MIT license at https://pyt-team.github.io/}{https://pyt-team.github.io/.
Paper Structure (4 sections, 1 figure, 1 table)

This paper contains 4 sections, 1 figure, 1 table.

Figures (1)

  • Figure 1: Building blocks from the three packages of the TopoX software suite. Left: TopoNetX enables building topological domains such as cell complexes. The figure demonstrates adding a $2$-cell on a cell complex with TopoNetX. Middle: TopoEmbedX enables embedding of topological domains inside a Euclidean space. The figure illustrates embedding a $0$-cell, a $1$-cell and a $2$-cell from a cell complex inside a Euclidean space with TopoEmbedX. Right: building a topological neural network (TNN) that processes data via higher-order message passing on a cell complex with TopoModelX.