Real world applications of category theory

I was reading some basic information from Wiki about category theory and honestly speaking I have a very weak knowledge about it. As it sounds interesting, I will go into the theory to learn more if it is actually useful in practice.

My question is to know if category theory has some applications in practice, namely in engineering problems.

I have already read this Applications of category theory and topoi/topos theory in reality

and the answers are only about programming which are not very interesting from my point of view.

Any comments are welcomed, thanks in advance.


Solution 1:

The blog entry "Why Category Theory Matters" by Robert Seaton ends with a quite impressive reference list of applications of category theory to the sciences:

  • Category theory has been used to study grammar and human language.
  • In building a spreadsheet application.
  • As a descriptive tool in neuroscience.
  • In the analysis and design of cognitive neural network architectures.
  • In programming languages, especially Haskell and most famously monads, but also, for instance, a typed assembly language and work on the typed lambda calculus.
  • Generating program optimizations.
  • To model systems of interacting agents.
  • To generalize sorting algorithms.
  • To understand collaborative text editing. See also this blog.
  • To understand optimal play in sequential games like chess.
  • To formalize the notion of algorithm.
  • In the study of analogy.
  • As “a language for experimental design patterns” and “a new vocabulary in which to think and communicate.”
  • In definitions of emergence and discussions of biology.

Solution 2:

Category theory is far from the engineering textbook level, for now. On the research level, there are a lot of instances where category theory is applied in engineering context, from electrical to biomedical engineering. Beware though: these usually come from people who try to apply category theory, rather than from people who try to solve an engineering problem and find category theory useful in doing so.

Solution 3:

This answer is also very late. There is a recent book by David Spivak titled "Category Theory for the Sciences." Its sole purpose is to connect the "real world" with category theory. You can find an older draft here from the authors homepage.

Solution 4:

I recently wrote some software to simulate a real world physical system to show that a hardware technology has a chance of doing what we want it to do. That project has grown to a pretty substantial piece of engineering with sizable budget. I wrote the simulation in a programming language whose syntax could be described as the "internal language" of a Cartesian closed category with a bunch of extensions, many of which were categorically motivated.

Sadly I eventually had to switch to Python because I couldn't find libraries for everything I wanted.

The language was Haskell.

Solution 5:

I know this answer is (very) late, but I think this may be of interest. This is the Ph.D. thesis of Professor Aaron Ames of Texas A&M which he wrote while a student at UC Berkeley. It applies category theory to hybrid systems and specifically uses category theory for the purposes of model reduction and analyzing stability in hybrid systems. It also presents some results on networked systems that are rooted in category theory.