Categorical Data Structures for Technical Computing
Evan Patterson, Owen Lynch, and James Fairbanks

TL;DR
This paper introduces acsets, an extension of $ ext{C}$-sets that incorporate data attributes, providing a unified framework for complex graph-like structures with fixed-type data, implemented efficiently in Julia.
Contribution
It develops the mathematical theory of acsets and implements a high-performance Julia library, extending $ ext{C}$-sets to include data attributes for diverse applications.
Findings
Acsets unify graphs and data frames with data attributes.
The Julia implementation achieves performance comparable to specialized data structures.
Acsets can model complex structures like wiring diagrams and Petri nets.
Abstract
Many mathematical objects can be represented as functors from finitely-presented categories to . For instance, graphs are functors to from the category with two parallel arrows. Such functors are known informally as -sets. In this paper, we describe and implement an extension of -sets having data attributes with fixed types, such as graphs with labeled vertices or real-valued edge weights. We call such structures "acsets," short for "attributed -sets." Derived from previous work on algebraic databases, acsets are a joint generalization of graphs and data frames. They also encompass more elaborate graph-like objects such as wiring diagrams and Petri nets with rate constants. We develop the mathematical theory of acsets and then describe a generic implementation in the Julia programming language, which uses…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
