Skip to main content

Categorical Quantum Mechanics:  2019-2020



Schedule C1 (CS&P)Computer Science and Philosophy

Schedule C1Computer Science

Schedule C1Mathematics and Computer Science

Schedule CMSc in Computer Science

MSc in Mathematics and Foundations of Computer Science



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
  • Completely positive maps, the CP construction
  • Bicategories and their graphical calculus

To complement the theoretical side of the course, we will also learn about the proof assistant, and use it to formalize some of the results.


Weeks 1 to 8, Wednesdays at 2pm and Thursdays at 4pm.

The lectures are in Lecture Theatre A, except for Wednesdays in Weeks 3, 5 and 7, when we will be in the Computer Cluster 379. Please make sure you are able to log into these machines, or alternatively bring a laptop with internet connectivity.

The lectures for this course are recorded, and the recordings released at the end of each week of term. Please click here to access the recordings.


The notes and slides for the entire course will be available for download after login.


There are classes in weeks 2, 4, 6 and 8, and practical sessions in weeks 3, 5 and 7. The teaching assistants are Fatimah Ahmadi and Giovanni De Felice. The problems are given in the lecture notes at the end of each chapter. The problems for each week's class are given below.

  • Week 2: 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.6, 1.4.7, 1.4.13.
  • Week 4: 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.5.9
  • Week 6: 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.7, 3.5.8
  • Week 8: 4.4.3, 5.7.5, 5.7.6, 6.6.4, 6.6.5, 6.6.6


In weeks 3, 5 and 7, we instead will be focusing on the practical component of the course. There will be practical exercises for you to complete, which will form part of your final grade for the course. The Wednesday lecture in weeks 3, 5 and 7 will move to the Computer Cluster 379, giving a chance to focus on this practical component of the course.

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 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.


Reading list



Related research at the Department of Computer Science