Presented by Jahan Claes
Overview: Quantum computers have the potential to solve problems that classical computers cannot. However, as anyone who has run something on Qiskit is well aware, qubits are highly noisy. In order to run useful quantum computations, it will be necessary to perform error correction to eliminate this noise. In this series of interactive lectures, we will explore the ideas behind error correction at increasing levels of detail, going from an overview of the general principles behind error correction to an introduction to the surface code, the current leading candidate for quantum error correction. Quantum error correction is a highly active area of research, and correcting quantum errors is the next hurdle to overcome on the road to a useful quantum computer.
Week 1: This introductory lecture will introduce the basics of classical and quantum error correction. Anyone who has spent any time reading about quantum computing and playing with Qiskit should be able to follow this lecture.
Week 2: This lecture will introduce the stabilizers formalism, the mathematics behind developing quantum error correcting codes. We will also explore the two simplest quantum error correcting codes, the Shor code and the Steane code. For this lecture, students will benefit from a knowledge of the Pauli operators, Pauli eigenstates, and the basics of quantum measurement. Before the lecture, I would advise everyone to try and solve this introductory problem: Given two qubits in the state |+>|+>, what will happen if I measure the operator Z1*Z2? Here, Z1 represents the Pauli Z operator on the first qubit and Z2 the Pauli Z operator on the second? If you can solve this problem, you should have all the necessary background to follow the lecture. If you can't solve this, ask about it on Discord!
Week 3: In this lecture, I will introduce the surface code, the leading candidate for quantum error correction. Implementing this code is the primary goal of groups at Google, IBM, Amazon, Yale, and many others. Understanding this code requires the same tools as we will use in week 2, but used at a higher level.