Skip to main content

Categorical Quantum Mechanics:  2020-2021



Schedule C1 (CS&P)Computer Science and Philosophy

Schedule C1Computer Science

Schedule C1Mathematics and Computer Science

Schedule CMSc in Advanced Computer Science

MSc in Mathematics and Foundations of Computer Science



The lectures for this course will be live via Teams, on Mondays and Thursdays at 11 am. 

This course gives an introduction to the theory of monoidal categories, and investigates their application to quantum computer science. We will cover the following topics, illustrating applications throughout to quantum computation:

  • Monoidal categories, the graphical calculus, coherence
  • Linear structure on categories, biproducts, dagger-categories
  • Dual objects, traces, entangled states
  • Monoids and comonoids, copying and deleting
  • Frobenius structures, normal forms, characterizing bases
  • Complementarity, bialgebras, Hopf algebras
  • Bicategories and their graphical calculus

To complement the theoretical side, we will also learn about the proof assistant, which makes it easy to build and manipulate composite terms in free ∞-categories, and use it to formalize some of the results of the course.  The lectures for this course are recorded, and the recordings will be released at the end of term.


The notes for this course have recently been published by OUP as the textbook Categories for Quantum Theory: An Introduction, by Chris Heunen and Jamie Vicary. Students may wish to obtain a copy of this book to follow during the course. However, full notes are also available for download in PDF form.


This course will be assessed by take-home exam only.


The notes and slides for the entire course are available for download in the course materials section.


The teaching assistants are Nick Hu and Vincent Wang and classes will take place weeks 4, 6 and 8. The assigned problems are a subset of the exercises given in the lecture notes, as follows:

  • Week 4: Exercises 1.4.2, 1.4.3, 1.4.4, 1.4.11, 1.4.13, 2.5.1, 2.5.2, 2.5.3
  • Week 6: Exercises 3.5.1, 3.5.3, 3.5.4, 3.5.7, 3.5.8, 3.5.12, 4.4.3, 4.4.7
  • Week 8: Exercises 5.7.1, 5.7.5, 5.7.6, 6.6.4, 6.6.5, 7.7.5, 7.7.7, 7.7.10

Learning outcomes

After studying this course, students will be able to:

  1. Understand and prove basic results about monoidal categories. 
  2. Fluently manipulate the graphical calculus for compact categories. 
  3. Model quantum protocols categorically and prove their correctness graphically. 
  4. Appreciate differences between categories modeling classical and quantum theory. 
  5. Work with Frobenius algebras in monoidal categories. 
  6. Manipulate quantum algorithms in the ZX-calculus. 
  7. Explore graphical theories using the software tool
  8. Be ready to tackle current research topics studied by the quantum group.


An ideal foundation for this course is given by the Michaelmas term course Categories, Proofs and Processes. The Michaelmas term course Quantum Computer Science also covers some of the same ideas as this course, in a less mathematical way.

The necessary background for this course is basic topics from category theory and linear algebra, including categories, functors, natural transformations, vector spaces, Hilbert spaces and the tensor product. Chapter zero in the lecture notes briefly covers this background material.

Students wishing to do their dissertation with the Quantum Group are generally expected to take this course, as well as the two mentioned above.

The course notes have been recently published by OUP as the textbook Categories for Quantum Theory: An Introduction. Students may wish to obtain this book to accompany the course. However, full notes are also available for download.


Reading list



Related research




Students are formally asked for feedback at the end of the course. Students can also submit feedback at any point here. Feedback received here will go to the Head of Academic Administration, and will be dealt with confidentially when being passed on further. All feedback is welcome.

Taking our courses

This form is not to be used by students studying for a degree in the Department of Computer Science, or for Visiting Students who are registered for Computer Science courses

Other matriculated University of Oxford students who are interested in taking this, or other, courses in the Department of Computer Science, must complete this online form by 17.00 on Friday of 0th week of term in which the course is taught. Late requests, and requests sent by email, will not be considered. All requests must be approved by the relevant Computer Science departmental committee and can only be submitted using this form.