Categorical Data Structures for Technical Computing

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Patterson, Evan, Lynch, Owen, Fairbanks, James
Format: Preprint
Publié: 2021
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866910556177301504
author Patterson, Evan
Lynch, Owen
Fairbanks, James
author_facet Patterson, Evan
Lynch, Owen
Fairbanks, James
contents Many mathematical objects can be represented as functors from finitely-presented categories $\mathsf{C}$ to $\mathsf{Set}$. For instance, graphs are functors to $\mathsf{Set}$ from the category with two parallel arrows. Such functors are known informally as $\mathsf{C}$-sets. In this paper, we describe and implement an extension of $\mathsf{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 $\mathsf{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.
format Preprint
id arxiv_https___arxiv_org_abs_2106_04703
institution arXiv
publishDate 2021
record_format arxiv
spellingShingle Categorical Data Structures for Technical Computing
Patterson, Evan
Lynch, Owen
Fairbanks, James
Category Theory
Databases
Logic in Computer Science
Many mathematical objects can be represented as functors from finitely-presented categories $\mathsf{C}$ to $\mathsf{Set}$. For instance, graphs are functors to $\mathsf{Set}$ from the category with two parallel arrows. Such functors are known informally as $\mathsf{C}$-sets. In this paper, we describe and implement an extension of $\mathsf{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 $\mathsf{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.
title Categorical Data Structures for Technical Computing
topic Category Theory
Databases
Logic in Computer Science
url https://arxiv.org/abs/2106.04703