Category Theory
Zulip Server
Archive

You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.


Stream: deprecated: recommendations

Topic: string diagrams


view this post on Zulip Fabrizio Genovese (Apr 11 2020 at 11:00):

Also, it depends what you mean by "intro". The most complete reference for 1-dimensional string diagrams is still Peter Selinger's paper, I believe: https://www.mscs.dal.ca/~selinger/papers/graphical.pdf
If you mean that you want to learn to use them then yes, Pawel's blog is a good place to start. Also I strongly suggest @Bob Coecke and Aleks Kissinger's book "Picturing Quantum Process", which is probably the greatest applications of string diagrams we still have so far :slight_smile:

view this post on Zulip James Wood (Apr 11 2020 at 11:04):

I find Graphical Linear Algebra slightly confusing in that it clashes with the usual kind of string diagram in FDVect. The diagrams are over the biproduct rather than the tensor product.

view this post on Zulip Eduardo Ochs (Apr 11 2020 at 12:06):

Is Raghav here? Or just on Twitter?
I started to learn string diagrams "seriously" only one or two months ago, starting from something even more basic - cell diagrams for 2-categories, representing adjunctions and monads via cell diagrams, the proof of the middle four interchange law, such things - and in the process I did typeset some of intermediate diagrams that I used to help me with the translations... it's VERY basic stuff, but if there's interest and I can organize it a bit more and share it publically...
Here's one of the slides.
adj.png

view this post on Zulip John Baez (Apr 11 2020 at 16:20):

I didn't respond to Joe's question because I don't know a really good introduction to string diagrams for the purpose suggested.

view this post on Zulip John Baez (Apr 11 2020 at 16:22):

I thought about Pawel's blog, which is great for string diagrams in the category of finite-dimensional vector spaces and linear relations, with \oplus as tensor product.

I thought about Picturing Quantum Processes, which is great for string diagrams in the category of finite-dimensional vector spaces and linear maps, with \otimes as tensor product. At least, it's great if you either know or want to learn quantum mechanics!

view this post on Zulip John Baez (Apr 11 2020 at 16:23):

But both of these have a specialized "angle" that they're pursuing - they're not mainly explaining string diagrams in general, I think. (Maybe I'm wrong.)

view this post on Zulip John Baez (Apr 11 2020 at 16:25):

My Rosetta Stone paper with @Mike Stay tries to explain how string diagrams unify physics, topology, logic and computation, so it least it covers more than one class of applications... but still, it's not what I'd point someone to who just wanted to understand string diagrams!

view this post on Zulip John Baez (Apr 11 2020 at 16:25):

Peter Selinger's paper on string diagrams is a great encyclopedic reference, but not aimed at beginners.

view this post on Zulip John Baez (Apr 11 2020 at 16:25):

So, I don't know.

view this post on Zulip Amar Hadzihasanovic (Apr 11 2020 at 17:32):

What about Seven Sketches in Compositionality? Not specifically on string diagrams but it introduces them gently through the chapters.

view this post on Zulip Amar Hadzihasanovic (Apr 11 2020 at 17:33):

(Sure, it's much bigger than “a blog post”... but if you only skip to the relevant parts...)

view this post on Zulip Henry Story (Apr 11 2020 at 18:01):

For those who know RDF, OWL (Semantic Web technologies) then Knowledge Representation in Bicategories of Relations is very helpful way to learn string diagrams. That was my entry point. (I progressed two or so article on from there)

view this post on Zulip James Wood (Apr 11 2020 at 18:34):

I guess the best-known string diagrams are circuit diagrams, which probably explains why (as a computer scientist by batchelor's) I always thought it was just pre-formally obvious how to read simple string diagrams.

view this post on Zulip John Baez (Apr 11 2020 at 18:42):

Yeah, me too...

view this post on Zulip Mike Stay (Apr 11 2020 at 18:55):

I'd say that the simplest approach to string diagrams is just to notice that they're the Poincare dual of the usual commutative diagrams people draw:
image.png

view this post on Zulip Joe Moeller (Apr 11 2020 at 19:05):

I guess I was hoping to find something very short, like a blog post. I know the standard references for strings, Joyal-Street, Selinger, etc, and I definitely learned a ton myself from the Oxford gang and Catsters.

view this post on Zulip Nathaniel Virgo (Apr 11 2020 at 19:34):

(Refering to James Wood and John's posts above) I found that pre-formal obviousness got in my way a bit sometimes though, because when the monoidal product isn't like a Cartesian product then things suddenly didn't behave how I expected.

It's definitely not for absolute beginners, but I don't feel like I really "got" string diagrams until I watched these videos by "TheCatsters" on string diagrams for Cat, and then worked through the initial part of Marsden's paper on the same topic and watched his talk about it. (Also definitely not beginner resources.)

I mention this because these made me realise that "things flowing along wires" isn't the only way to read a string diagram - there's another way that often makes much more sense. For a diagram that's written top-to-bottom, you have to read across the diagram, from left to right. Start at the top left-hand corner of the diagram and imagine something coming in from the left. Each wire "does something" to it as it moves across them, so you end up with something on the right-hand side that's been processed by all the wires.

Hmm, this is getting hard to describe in words. Can I post a gif here?
string-diagram-animation.gif

I'm not sure if that will work, but in case you can't see my crude animation, you have to imagine this "processing" happening at each vertical position along the diagram, so that in the end you just get one object at each vertical position, except for where there's a morphism. (Of course technically this is what the digram represents.) This is probably kind of obvious, but it took me a while before I had the "aha" moment that let me see it.

view this post on Zulip sarahzrf (Apr 11 2020 at 19:43):

nice!

view this post on Zulip sarahzrf (Apr 11 2020 at 19:43):

this applies doubly to string diagrams for bicategories :-)

view this post on Zulip Fabrizio Genovese (Apr 11 2020 at 19:44):

Yes, this interpretation is indeed the one one uses when you have 2-categories. And then you can get to surface diagrams and make sense of what homotopy.io displays :D

view this post on Zulip Nathaniel Virgo (Apr 11 2020 at 19:49):

I learned it first for 2-categories (Cat specifically) but once I'd seen it I found it really helpful for monoidal category string diagrams as well, especially if I find myself getting confused by sum-like monoidal products versus product-like ones.

view this post on Zulip Aurelio Carlucci (Apr 11 2020 at 21:49):

I learnt string diagrams from the paper by Daniel Marsden, mentioned by Nathaniel Virgo. While I am not a professional category theorist, I found it clear enough: hence it should be suitable for beginners, and maybe worth adding to the list.