CMPT 478/981: Quantum Circuits and Compilation

Spring 2025

Quantum computers in the gate model operate by executing quantum circuits. This course aims to broadly explore the techniques, foundational to modern, through which a high-level quantum algorithm may be compiled down to a circuit which can then be run on quantum hardware. It will cover the basics of gate model quantum computation then delve into different aspects of the quantum compilation stack, including the design and synthesis of quantum circuits, optimization of circuits, theoretical questions of efficiency, and the simulation and verification of quantum circuits.

Updates


Course information


Instructor:   Matt Amy
Email:   matt_amy at sfu.ca
Office:   TASC1 9429
Office hours:   By appointment (email me)
Classes:   Th 11:30-2:20 (AQ 4120)
Textbook:   None (see additional resources below)

Course goals


Given an instance of a quantum algorithm, understand the issues and costs involved with compiling it to either near-term or fault-tolerant hardware, and be able to compile it using modern techniques.

Topics


Topics will be gauged in part by class interest, but generally speaking will fit into these broad categories

Course format


The course will be presented as a mixture of lectures and readings. Lectures will be given on background material so that the readings can be understood. Will we then discuss 2-3 papers per week in class.

Prerequisites


For undergraduates, CMPT 476 is required.

There are no formal prerequisites for graduate students, but prior knowledge of quantum information will be assumed. If you haven't seen quantum computation before and are wondering if the course will be accessible to you, read this crash course on quantum information. We will review this material quickly in the first week or two.

Evaluation


Schedule

Date Topic(s) Materials Additional references
Jan. 9 Introduction & review of QC Lecture 1 Lecture 2 (f22), Lecture 3 (f22)
Jan. 16 Gates, fault tolerance, and resources Lecture 2 Lecture 4 (f22), Lecture 5 (f22), Lecture 7 (f22), Lecture 8 (f22)
Jan. 23 No class (POPL) -- --
Jan. 30 Algorithms & compilation Lecture 3 Lecture 5 (f22), Lecture 9 (f22)
Feb. 6 Reversible compilation
Feb. 13 Hardware-aware compilation Background slides: Lecture 4
Feb. 20 No class (Reading break)
Feb. 27 Time evolution operators Background slides: Lecture 5
Mar. 6 Circuit optimization Lecture 6 (recording) Lecture 10 (f22), Lecture 11 (f22), Lecture 12 (f22), Lecture 13 (f22)
Mar. 13 Circuit optimization cont.
Mar. 20 Automated verification
Mar. 27 Paper presentations 1
Apr. 3 Paper presentations 2

Project


See the project description here

Additional resources


Unfortunately, there's no "Dragon book" for quantum compilers just yet. However, there are many resources available for learning quantum computation. Highly recommended if you're new to QC.
Below are additional well-known resources for reading and presenting papers which you may find helpful both in and beyond this course.

Previous offerings