Classical vs Quantum Computation (Week 2)
Posted by John Baez
Here are the notes for the latest installment of my course on classical versus quantum computation:
- Week 2 (Oct. 12) - Monoidal categories versus cartesian categories. Closed monoidal categories.
Last week’s notes are here; next week’s notes are here.
This week we introduced string diagrams for “duplication and deletion of information” in cartesian categories. We also talked about closed monoidal categories, and used string diagrams to show how applying a function to an argument is related to the annihilation of a particle-antiparticle pair!
I’m sorry it took a while to get these written up and scanned in. Our usual note-taker, Derek Wise, was gone, and I ran off to San Francisco right after class to give a talk at the Long Now Seminar.

Re: Classical vs Quantum Computation (Week 2)
The “unit” string-diagram laws on page 21 can be paired with an “associativity” string-diagram law stating that (Δ × id) and (id × Δ) become equal when preceded by Δ (both composites simply triple information). Here is a cheap ASCII drawing:
These laws should be all that you need to manipulate Δ and ! in string diagrams mechanically.
It would be nice if (in general closed monoidal categories, not just in compact ones) the evaluation map X ⊗ hom(X, Y) → Y (see the final page) could be drawn invisibly (like the other natural maps in a closed monoidal category). You would need to have the “ribbon” hom(X, Y) open up; perhaps the correct metaphor is a zipper?