Loading…

Categorical Data Structures for Technical Computing

Many mathematical objects can be represented as functors from finitely-presented categories C to Set . For instance, graphs are functors to Set from the category with two parallel arrows. Such functors are known informally as C -sets. In this paper, we describe and implement an extension of C -sets...

Full description

Saved in:
Bibliographic Details
Published in:Compositionality 2022-12, Vol.4, p.5, Article 5
Main Authors: Patterson, Evan, Lynch, Owen, Fairbanks, James
Format: Article
Language:English
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Many mathematical objects can be represented as functors from finitely-presented categories C to Set . For instance, graphs are functors to Set from the category with two parallel arrows. Such functors are known informally as C -sets. In this paper, we describe and implement an extension of C -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 C -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.
ISSN:2631-4444
2631-4444
DOI:10.32408/compositionality-4-5