Applications are open for the ACT Applied Category Theory Research School 2018!

And because arithmetic science and geometric science are connected, and support one another, the full knowledge of numbers cannot be presented without encountering some geometry, or without seeing that operating in this way on numbers is close to geometry; the method is full of many proofs and demonstrations that are made with geometric figures.

Fibonacci, preface to Liber Abaci

(first published 1202, 1228 manuscript translated by Lawrence E. Sigler)

If you like this blog, please subscribe to get email updates when new articles are published. You will find a subscription link at the bottom of this page.

Graphical linear algebra is a work in progress, and there are many open research threads. We are looking for PhD students, so please consider applying!

This blog is written in English. To read and contribute to translations (Dutch, French, German,…) see this page by Vincent Verheyen.

**Introduction**

Episode 1 – Makélélé and Linear Algebra

Episode 2 – Methodology, Handwaving and Diagrams

**Adding and Copying**

Episode 3 – Adding (Part 1) and Mr Fibonacci

Episode 4 – Dumbing Down and Magic Lego

Episode 5 – Spoilers, Adding (Part 2) and Zero

Episode 6 – Crema di Mascarpone and Diagrammatic Reasoning

Episode 7 – Copying, Discarding and The Slogan

Episode 8 – When Adding met Copying…

Episode 9 – Natural numbers, diagrammatically

**Matrices and PROPs**

Episode 10 – Paths and Matrices

Episode 11 – From Diagrams to Matrices

Episode 12 – Monoidal Categories and PROPs (Part 1)

Episode 13 – PROPs (Part 2) and Permutations

Episode 14 – Homomorphisms of PROPs

Episode 15 – Matrices, diagrammatically

Episode 16 – Trust the Homomorphism, for it is Fully Faithful

**Integers and Relations**

Episode 17 – Maths with Diagrams

Episode 18 – Introducing the Antipode

Episode 19 – Integer matrices

Episode 20 – Causality, Feedback and Relations

Episode 21 – Functions and Relations, diagrammatically

Episode 22 – The Frobenius Equation

Episode 23 – Frobenius Snakes and Spiders

**Fractions and Spaces**

Episode 24 – Bringing it all together

Episode 25 – Fractions, diagrammatically

Episode 26 – Keep Calm and Divide by Zero

Episode 27 – Linear Relations

Episode 28 – Subspaces, diagrammatically

Episode 29 – Dividing by zero to invert matrices

Episode 30 – The essence of graphical linear algebra

**Redundancy – A trilogy by Jason Erbele**

Episode R1 – Redundancy and Zebra Snakes

**Interlude – string diagrams and resource-sensitive syntax**

**Sequences and Signal Flow Graphs**

Episode 31 – Fibonacci and sustainable rabbit farming

**Out of order (for now)**

**Contributions**

Determinants and the Lindström-Gessel-Vienot Lemma – by Solomon Maina

**Offtopic**

Sometimes this blog actually looks like a blog.

16 September 2016 – Leicester and the battle for universities

16 April 2017 – …, a monoid is a category, a category is a monad, a monad is a monoid, …

10 May 2017 – 1st Workshop on String Diagrams in Computation, Logic, and Physics

3 October 2018 – ACT 2018 – Applied Category Theory Research School

What software do you use to create diagrams?

LikeLiked by 2 people

Omnigraffle

LikeLiked by 1 person

As an electrical engineer, I’ve long enjoyed graphical linear algebra by way of schematics. I’m also working on a graphical algebra for computations. This blog is illuminating and inspiring – thanks for sharing!

LikeLiked by 3 people

Beautifully written, LOVED IT! And your way of presenting them as episodes really grew on me, I feel as though it’s more coherent that way.

LikeLiked by 1 person

Any chance of there being an RSS feed of this? Yes, I know it’s antequated, but such is my workflow 🙂

LikeLike

Try putting the address graphicallinearalgebra.net directly in your RSS reader — it works for me!

LikeLike

So it does! I completely missed that, thanks!

LikeLike

Have you considered trying to figure out a diagrammatic representation for continued fractions? http://perl.plover.com/yak/cftalk/INFO/gosper.txt

LikeLike

Nice suggestion 🙂 Actually someone asked me how to do irrational numbers with graphical linear algebra — continued fractions seem really natural in this setting!

I’m just coming back from a holiday, and I will first write up how to do (ordinary) fractions. And then, yes, continued fractions will be on the agenda.

LikeLike

More nice material about continued fractions, chapter 14 at http://cs.nyu.edu/~yap/book/alge/ftpSite/

LikeLiked by 1 person

Hi Pawel, Cool blog, I should have been reading this long ago!

Have you thought about using a form of bisimulation as the equivalence on graphs? This is what I ended up doing all those years ago at http://fpl.cs.depaul.edu/ajeffrey/premon/ (the interesting bit being Appendix A of http://fpl.cs.depaul.edu/ajeffrey/premon/appendices.ps.gz). Sorry about the Java applet, what can I say, it was 1998.

LikeLike

Hi Alan,

Thanks for your comments!

We have an operational semantics for signal flow graphs, and we wrote it up here: http://users.ecs.soton.ac.uk/ps/papers/popl15.pdf. Ultimately we use a kind of trace equivalence as operational equivalence. For our simple signal flow graphs, where there is one global execution clock, traces are enough. On the other hand, if we were to consider concurrency/multi-threaded executions in this kind of framework then I would expect bisimulation to play a role. It’s definitely interesting the case of Petri nets, which also has a graphical semantics; but also there we got more mileage out of traces because we were interested in using compositionality of the algebra for model checking, and for something like reachability traces are enough. Check out http://users.ecs.soton.ac.uk/ps/papers/rp2014.pdf.

I took a look at your paper; I like the way it handles both linear and non-linear components: your graphical syntax is very close to what we’ve been doing! Your operational semantics is also not very different from the labelled transition systems that come up in our work, but we typically have two labels on each transition that capture “what is observed on the dangling wires” in that time instant. It seems to me that the main difference between our approaches is that we have not really been dealing very much with traced categories (in fact, these only show up when we start insisting on directed flow); for us compact categories are the norm. For ideological reasons we are against directed flows 😉

It’s interesting that there was so much activity in this area in the late 90s. I’m trying to bring it back in, like flannel shirts 😉

All the best,

Pawel.

LikeLiked by 1 person

I would love to be able to translate yout blog into Spanish.

LikeLiked by 1 person

Wow, are you serious? That would be totally amazing!

LikeLiked by 1 person

Even as a grad student in compsci I have to admit – I don’t feel like I’m intuitively comfortable with the idea of matrices, vector spaces and so forth. I understand what they are and how to use them, but the language of linear algebra still often feels foreign to me (why do we care about vector spaces and not some other structure with scalars and vectors?). This blog has been so far giving me what I’ve been looking for for a while. Keep it coming :).

LikeLiked by 1 person

Hi Pavel

Fantastic blog, can’t wait for the next one!

Do you have a construction for the Reals?

LikeLike

Thanks! I’m really looking forward to writing the next episode as well, but I’ve been totally overloaded with work in the last couple of weeks. Luckily it’s looking like this weekend will be relatively free, so there should be an episode next week.

As far as the reals go, kind of: it will follow the same idea as the continued fraction representation, but I have not written down all the details yet.

LikeLike

Very interesting.Some years ago I created independently a graphic algebra too!

I would like you to tell me what you think.

https://github.com/fluorine/my-math-notation

LikeLike

Interesting! From the link, I can see how the notation works, but do you have some ways of manipulating the notation? For example, I could write down x = m(y+z) and x = my+mz, but they are different diagrams; are there diagrammatic rules to get from one to the other?

LikeLike

Hi, and sorry for the late response. Some answers have been discussed here: https://www.reddit.com/r/math/comments/1mgxl9/a_new_simple_math_notation/

I have not developed well this notation, but I think it can be useful to represent boolean logic.

LikeLike

I’m so glad I stumbled upon this blog. I’ve always enjoyed reading about new ways of thinking about traditional mathematics, like Hestene’s Geometric Algebra. Too bad my mathematical maturity is such that I’m comfortable reading the blog and its categorical reasoning, but not at all the paper. I’ll be finishing my undergrad in physics, and it’d be great to be at the point where one can graphically reason through quantum processes in this framework.

LikeLiked by 1 person

Hi Pawel, can we look forward to another episode in the near future? I don’t mean to rush you (I realize all the work going into actually developing the mathematics behind this blog takes time as well, and is likely a good deal more important), but it has been an enjoyable read so far so I’m hoping there’ll be more! 🙂

LikeLike

Hi Rasmus — thanks, it’s nice to hear that someone is looking forward to more! 🙂

It’s been a crazy semester and I’ve been oscillating between super busy and somewhat burnt out.

I’m hoping to finish my exam marking this weekend though, and I have a half-written episode that I’m pretty excited about. So hopefully, mid next week!

LikeLike

Is there a pdf version of all of this? Would help in taking notes on my tablet. Very interesting content btw!

LikeLike

No pdf version at the moment, but some announcements coming up soon; stay tuned 🙂

LikeLike

First off, love the blog! I poured through the backlog in a couple of days a month or two ago. Didn’t get much work done that week. 🙂

I recently ran into a paper which reminded me a lot of Graphical linear algebra. Maybe you’ve seen it. They wrote it as a “Rosetta Stone” between Physics, Topology, Logic and Computation. The basic idea is that all of these disciplines are doing essentially the same thing, just using different terms for everything. They use lots diagrams to explain everything, several of which look familiar from this blog. Hope you like it.

LikeLike

Hi Matt — thanks! Yes, I know this paper quite well; I read it when I was starting off my PhD research and I recommend it to my students for inspiration.

LikeLiked by 1 person

Hi I didn’t find the french version the link don’t operate thanks

LikeLike

Hi Look what we have for you! an importantoffer

Just click on the link below to qualify

https://drive.google.com/file/d/1oeLeuupa2IcRsuzXjbqNgYMzNj_JTo1v/preview

LikeLike

Great blog! Interesting, I have created something similar to direct sum/concatenation plumbing as a foundation for concatenative programming:

https://suhr.github.io/papers/calg.html

https://suhr.github.io/papers/opcalg.html

https://suhr.github.io/papers/cpat.html

Your idea of diagrams as relations is really insightful, I never thought this way before. And now I see a rather interesting analogy. There’s a concept of abstract index notation, which can be thought as a some kind of plumbing for tensors. And there’s a [diagrammatic notation](www.jlazovskis.com/docs/PenTen.pdf) that corresponds to the index notation.

So if diagrams can represent relations, can logic programming clauses be thought as some kind of abstract index notation? And what would be a proper index notation for the graphical linear algebra?

LikeLike