Categorical Data Structures for Technical Computing

06/08/2021
βˆ™
by   Evan Patterson, et al.
βˆ™
0
βˆ™

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 advanced language features to achieve performance comparable with specialized data structures.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset