Software

Much of our research is released as software. These packages are open source and developed in collaboration with the AlgebraicJulia team, including Evan Patterson’s group at the Topos Institute. The names on each card are the lab members, past and present, who work on it.

A decapode: three variables joined by the exterior derivative, the codifferential and the time derivative

Decapodes.jl

Compose and simulate multiphysics systems from diagrams of PDEs.

Luke MorrisGeorge RautaMatt CuffaroJames Fairbanks

Vector-space stalks drawn as planes standing over the vertices and edges of a graph

CellularSheaves.jl

Cellular sheaves and sheaf Laplacians, used for multi-agent coordination.

James FairbanksTyler HanksItay Kadosh

An undirected wiring diagram: three objective boxes wired to shared junctions, with two outer ports

AlgebraicOptimization.jl

Compositional optimization: assemble large problems from small ones.

Tyler HanksSamuel CohenTrevor Gross

Gradient flow and its Euler discretisation, drawn as a chain of functors over a contour plot and a stream plot

AlgebraicControl.jl

Optimal control, compositionally.

Tyler Hanks

A graph on eight vertices beside the clique tree that decomposes it

CliqueTrees.jl

Tree decompositions and chordal completions, underpinning sparse linear solves.

Richard Samuelson

Three bags, each holding a graph, joined by three adhesions whose vertices map into the bags along dotted spans

StructuredDecompositions.jl

Structured decompositions for compositional algorithms on graphs.

Benjamin Merlin BumpusRichard Samuelson

The Catlab logo: a wiring diagram whose boxes spell c-a-t along one wire and l-a-b along the other, sharing the a

Catlab.jl

The applied category theory framework the rest of the ecosystem builds on.

Kris BrownMicah HalterJames FairbanksMatt Cuffaro

The discrete de Rham complex on a triangulated patch: a value on every vertex, then on every directed edge, then on every face

CombinatorialSpaces.jl

Simplicial sets and the discrete exterior calculus.

Luke MorrisGeorge Rauta

Four rings joined in a cycle by four colored arrows, the objects and morphisms of a commutative square

ACSets.jl

Algebraic databases as in-memory data structures.

Kris BrownLuke MorrisMatt CuffaroJames Fairbanks

A theory at the apex of a triangle over its terms and its models, with a single dashed arrow along the base from the terms to the models

GATlab.jl

A computer algebra system based on generalized algebraic theories.

Kris BrownMatt Cuffaro

An SIR Petri net: three species as circles, two transitions as squares, with infection drawing on the infected population

AlgebraicPetri.jl

Build Petri net models compositionally.

Micah HalterJames Fairbanks