JuliaCon 2020 (times are in UTC)

AlgebraicJulia: Applied Category Theory in Julia
07-29, 16:20–16:50 (UTC), Red Track

Applied Category Theory is a new paradigm of applied mathematics that incorporates the advances in type theory to analyze scientific and engineering systems. Our talk will describe the AlgebraicJulia software ecosystem for representing and executing category theoretic computations with applications to numerical linear algebra, scientific modeling, and data science.


Applied Category Theory builds on algebraic interpretations of type systems to represent mathematical reasoning in a universal way. This allows the construction of domain specific logics that can capture the reasoning systems employed by programmers, scientists, and engineers in differing applications. The Julia type system is sufficiently sophisticated to support implementations of these domain specific logics, while the metaprogramming facilities support the implementation of domain specific languages for describing systems within these domain specific logics.

This talk will illustrate how features of Julia interact to create an ideal environment for implementing such abstract and mathematical structure in code, and feature some specific applications to the technical computing community. Such examples include, reasoning about linear maps graphically, constructing scientific models of chemical or biological systems via model composition, and hierarchical design of complex systems. The algebraic approach used in this ecosystem illustrates how many techniques in computer science that represent processes as graphs with mathematical interpretations are related on a deep level. The generic programming capabilities of julia combined with low cost abstractions allow us to realize this similarity in the structure of our software, which reveals and leverages the similarity between application areas to build cohesive tooling for diverse applications.

This talk will present code developed in the Catlab.jl, Petri.jl, and SemanticModels.jl packages.

James is a Research Engineer at the Georgia Tech Research Institute in the High Performance Computing and Data Analytics Branch. His current research involves mathematical and computational formalisms in scientific computing. Where his lab applies techniques from Machine Learning, Numerical Methods, and Applied Category Theory to analyze scientific and engineering systems.

This speaker also appears in:

Micah E. Halter is a research scientist at the Information and Communications Laboratory of the Georgia Tech Research Institute in Atlanta, GA. He has worked on several projects since he joined the Georgia Tech Research Institute in 2016, centered on using category theory, machine learning, databases to advance scientific and engineering applications. His research interests include high performance computing, database design and application, and category theoretic scientific knowledge representations.