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.

-
Related: mathoverflow.net/questions/89086, mathoverflow.net/questions/83363, quora.com/… ... are you also interested in the use of category theory in philosophy? – Martin Brandenburg Feb 9 '13 at 20:53
@MartinBrandenburg thanks for the links. – Seyhmus Güngören Feb 9 '13 at 21:14
@MartinBrandenburg Though this is quite a bit late, I'm actually quite interested in the use of category theory in philosophy. If you know of any work you could point me towards I would be greatly appreciative. – Dennis Jul 30 '13 at 7:43

8 Answers

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.

-
I agree that it seem a bit complicated and the person who can really apply it should be in the field. However, in most of the cases they are also too much in the theory and even if they find something it is barely understandable by engineers. – Seyhmus Güngören Feb 9 '13 at 21:09
@Manos +1, I hear you. For example, Wadler showed that call-by-value is dual to call-by-name.. . As my former boss Lyndon Johnson used to say, therefore what? – alancalvitti Feb 9 '13 at 21:43
It's in the software engineering textbooks. – Dan Piponi Feb 12 '13 at 15:33
@sigpe: Can you point to one such textbook? I am interested. – Manos Feb 14 '13 at 1:53

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.

-
I know I am resuscitating a very old discussion. Still I am curious about how things went for this project of yours. I write a lot of Python code for work and fun, but my code is more and more 'functional' because I have learned of lot of mathematics lately. I am not trying to write a Python implementation of Haskell, but I am slowly building a library of arrows that feels nice to use. It's not very pythonic anymore, though. How did your transition do? – Niriel May 29 '15 at 16:24
@Niriel Transition went very well. You can read about the actual project here: theverge.com/2013/9/1/4680456/… – Dan Piponi Jun 1 '15 at 21:56

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.

-
I think it's worth to link their course — there're also links to a newer book versions. – Hi-Angel Jul 19 '15 at 17:28

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.

-
thx anyways..... – Seyhmus Güngören Nov 10 '14 at 22:06

Seeing how software has infiltrated our lives in so many ways it seems that category theoretic applications to programming is pretty much 'real world' stuff.

Category theory is more geared up to clarifying conceptual structures, so I imagine that there isn't likely to be real world applications in a very direct way soon, and I say this as some-one who likes the general theory.

-

This too is a late answer, but in case anyone is still interested, here is a discussion with links about the use of category theory in biology/bioinformatics and genetics. Also, while not specifically a book on applications of category theory, the book Conceptual Mathematics by William Lawvere (an undergrad book, so not super advanced, but still a very nice read) takes a practical-minded approach to categories.

-

Category theory is a good and powerful language capable of expressing various concepts of purely algebraical nature.

But it is a terrible tool for actually solving problems.

To convince yourself that the last statement is true try to think about a proof of a theorem from another branch of mathematics that depends on a category theory in a crucial, non-linguistic way. I doubt you will find any such proof. Thus it is hardly a surprising fact that you will not find any serious application of category theory in engineering problems.

On the other hand, you will find plenty of applications of category theory inside category theory. Category theory fights with problems originating in category theory, with problems of no practical relevance for mathematicians, not to mention engineers.

-
I think it's true that there are unlikely to be applications of category theory in engineering, and I think you're right that category theory is not a tool for solving problems of a concrete / computational nature - nor is it meant to be! But I have to take issue with the claim that category theory is irrelevant to problems originating outside of category theory. The most powerful counterexample is the great strides that have been made in modern algebraic geometry after the adoption of a categorical framework by Grothendieck. – Alex Kruckman Feb 12 '13 at 1:41
(continued) Also, I would argue that the conceptual framework in which one understands a mathematical problem is of equal importance to the technical tools used to solve it. It's true that these "linguistic" applications are where category theory excels, and that is one of the qualities that I think makes it such a nice body of mathematics. – Alex Kruckman Feb 12 '13 at 1:44
Six months later... Why the downvotes to this rather restrained and fully on-topic answer? This is not meta, where votes indicate dis/agreement with the answer. The view expressed in this answer might displease categorists but it is routinely heard (often more forcefully uttered) in various mathematical circles. Why kill the messenger? Instead, downvoters might have answered a comment made to another answer and left hanging: "A.: It's in the software engineering textbooks [note the plurals]. Q: Can you point to one such textbook? [note "one"]" A.: no answer, so far. – Did Jul 30 '13 at 7:45
@Zhen Lin: my answer is based on my own observations. It is thus an empirical fact, not an absolute statement (contrary to your opinion). If you claim that my assertion based on observations is wrong, then please support your opinion with evidence, i.e., real examples of applications of category theory in engineering. If you are not able to provide such examples (and after six months noone provided them here...), then it is just another premise to believe that my assertion is true. – Godot Aug 5 '13 at 15:30
@ZhenLin "Non-existence of applications, by its nature, cannot be backed by evidence"... Hmmm... Sorry but this is a tiny bit too postmodern for my taste. – Did Aug 6 '13 at 9:37