This subject introduces quantum computation, a model of computation based on the physical laws of quantum mechanics. Quantum computers outperform traditional computers for a range of practical problems, and in many cases offer drastic advantages. In this subject, students will learn about the basic tools for understanding quantum information processing. This knowledge will be applied to study the key quantum protocols: teleportation, superdense coding, and simple quantum algorithms. The students will be able to comprehend some of the key features of quantum theory which differentiate it from classical theory, including quantum entanglement and coherence.
Lecture 0 introduces the background material needed to study in this subject. Think of this as a list of prerequisites.
Lecture 1 introduces the necessary components of classical computing and provides some historical overview of the field of quantum computing. We also see how different types of information processes has different power.
Lab 1 is optional fun where we read Quantum Computing for Babies and have a talk from Strangeworks, a quantum computing start-up company.
In Lecture 2 you will be introduced to qubits and the mathematical tools needed to work with them. Dirac notation is a powerful calculational tool to analyse quantum circuits, and perform linear algebraic manipulations more generally. We will learn about quantum measurement and what it means to “look at” a qubit.
But what does a qubit state “look like”? We will study the Bloch sphere representation of a qubit as well as complete the story of Dirac notation to see how all of the objects of study can be written in this picture.
In Lecture 3 we add new dimensions to our quantum information — exponentially many new dimensions! We look at how to represent multiple qubits and the new feature of entanglement.
Today we will work through exercises to ensure you are a proficient user of these tools — that is, let’s make you a quantum mechanic!
All the abstract nonsense you need to program a quantum computer
Lab 3 of Introduction to Quantum Computing.
Before you are set loose on the quantum world, know that things are different in ways beyond just possessing more possibilities. Quantum information is severely restricted, as we will see in Lecture 4.
Now that we can deal with multiple qubits, the quantum world is our oyster. This week we used the full power of Dirac notation to prove some fundamental no-go theorems. But no-go theorems are a bit of a bummer — let’s create something!
This week you will fill your tool box with the canonical gate set and learn how to quickly recognise their utility and tricks for working with them.
Practicing calculations and internalising some common tricks and identities is critical to analysing and creating quantum circuits. Here I provide some simple tasks and exercises to get you started.
This week you will be introduced to the first two canonical quantum protocols: superdense coding and teleportation. These demonstrate that entanglement can be used as a resource for some tasks. You’ll have your first taste as designing protocols as well as analysing them.
In Lecture 6 you were introduced to superdense coding and quantum teleportation. We looked at the circuits and even built them with the Quirk drag-and-drop simulator. In this Lab you will build both protocols in the three programming languages you were assigned in Lab 4.
Superdense coding and quantum teleportation in three quantum programming languages
Lab 6 of Introduction to Quantum Computing
We will continue the theme of quantum advantages this week by studying the Deutsch-Jozsa algorithm. This algorithm also deterministically solves a problem which is impossible to solve via classical means with the same number of resources. This will be your first taste of a computational speed-up provided by quantum computers.
This week you will learn about the high-level structure of quantum algorithms and some primitives such as superposition, digital logic, phase logic, and uncomputation. With these you’ll at least be able to fake it until you make it!