Quantum computing is a rapid developing field with a high potential to revolutionize the way we compute and how we use computers to solve problems. It exploits the particular nature of quantum systems to perform calculations that in some cases can exhibit exponential speed-ups with respect to classical computers. This course is an introduction to the mathematical tools necessary to describe quantum systems and the fundamental concepts of quantum circuits and algorithms. The course will provide tools that allow students to implement quantum circuits and algorithms using quantum computing libraries and to run them using quantum simulators as well as real hardware. The final part of the course will focus on the application of quantum computing to machine learning.
At the end of the course the student will be able:
1 Quantum Computing Basis
1.1 Introduction to quantum computing
1.2 Linear algebra and Dirac notation
1.3 Qubits
1.4 Measurements
1.5 Composite systems
1.6 Pure, entangled and mixed states
1.7 Theory of computation and Computational Complexity
2 Quantum circuits and algorithms
2.1 Quantum circuits and gates
2.2 Superdense coding and teleportation
2.3 Deutsch-Joza algorithm
2.4 Simon’s algorithm
2.5 Quantum Fourier Transform
2.6 Quantum Phase Estimation
2.7 Shor’s algorithm
2.8 Grover’s algorithm
2.9 Quantum algorithms for applications
3 Quantum machine learning
3.1 Quantum machine learning algorithms
3.2 Quantum variational learning
3.3 Quantum measurement classification
Week | Topic | Material | Assignments |
---|---|---|---|
Aug 8 | 1.1 Introduction to quantum computing | Synchronous class: Introduction to Quantum Computing (slides) Part 1: Past, present and future (video) Part 2: Why quantum computing (video) Part 3: How quantum computers work (video) Part 4: Quantum information (video) Part 5: How to program quantum computers (video) Part 6: Quantum machine learning (video) Resources : [IGFAE20] Lecture 1: Introduction to Quantum Computing (slides) [Nielsen10] Sections 1.1 Global perspectives Dario Gil, The Future of Quantum Computing, IBM 2020 (video) | |
Aug 15 | 1.2 Linear algebra and Dirac notation | Asynchronous class: Linear algebra review (slides)(video 1)(video 2)(video 3) Reading material: [Nielsen10] Section 2.1 Linear algebra [Nielsen10] Section 2.2 Postulates of quantum mechanics [Asfaw19] 8.1 Linear Algebra | Exercise set 1 Assignment 1 |
Aug 22 | 1.3 Qubits 1.4 Measurements | Asynchronous class: Qubits (slides)(video 1)(video 2) Reading material: [CS191x] Chapter 1 Qubits and Quantum Measurement [Nielsen10] Section 2.2 Postulates of quantum mechanics [Qiskit-TB] Basics of quantum information: Single systems | Exercise set 2 |
Aug 29 | 1.5 Composite systems 1.6 Pure, entangled and mixed states | Asynchronous class: Entanglement (slides)(video) Reading material: [CS191x] Chapter 2 Entanglement [Nielsen10] Section 2.2 Postulates of quantum mechanics [Qiskit-TB] Basics of quantum information: Multiple systems | Exercise set 3 Assignment 2 |
Sep 5 | 1.7 Theory of computation and Computational Complexity | Asynchronous class: Computational complexity (slides) Part 1: analysis of computational problems, how to quantify computational resources, computational complexity (video) Part 2: decision problems, P and NP, Hamiltonian and Euler cycle, problem reduction, NP-complete, complexity classes (video) Reading material: [Nielsen10] 3.2 The analysis of computational problems | |
Sep 12-19 | 2.1 Quantum circuits and gates | Asynchronous class: Single qubit gates (video) Reading material: [Qiskit-TB] Introduction to quantum computing: The atoms of computation [Qiskit-TB] Basics of quantum information: Single systems [Asfaw19] 1.3 Representing Qubit States [Asfaw19] 1.4 Single Qubit Gates | Exercise set 4 |
Sep 26 | 2.1 Quantum circuits and gates | Asynchronous class: Multiple qubit gates (video 1)(video 2)(video 3) Reading material: [Qiskit-TB] Multiple Qubits and Entangled States [Qiskit-TB] Phase Kickback [Qiskit-TB] Basic Circuit Identities | Exercise set 5 Assignment 3 |
Oct 3 | 2.2 Superdense coding and teleportation | Asynchronous class: Superdense coding and teleportation (video 1)(video 2) Reading material: [Qiskit-TB] Quantum Teleportation [Qiskit-TB] Superdense Coding | Exercise set 6 |
Oct 10-17 | 2.3 Deutsch-Joza algorithm 2.4 Simon's algorithm | Asynchronous class: Deutsch-Joza algorithm (slides)(video 1) Simon's algorithm (slides)(video 1, video 2) Reading material: [Qiskit-TB] Deutsch-Jozsa Algorithm [Qiskit-TB] Simon's Algorithm | |
Oct 24 | 2.5 Quantum Fourier Transform 2.6 Quantum Phase Estimation 2.7 Shor's Algorithm 2.8 Grover's Algorithm | Reading material: [Qiskit-TB] Quantum Fourier Transform [Qiskit-TB] Quantum Phase Estimation [Qiskit-TB] Shor's Algorithm [Qiskit-TB] Grover's Algorithm | |
Oct 31 | 2.9 Quantum algorithms for applications | Reading material: [Qiskit-TB] Solving Linear Systems of Equations using HHL [Qiskit-TB] Simulating Molecules using VQE [Qiskit-TB] Solving combinatorial optimization problems using QAOA [Qiskit-TB] Solving Satisfiability Problems using Grover's Algorithm | Final Project |
Nov 7 | 3.1 Quantum machine learning algorithms 3.2 Quantum variational learning | Quantum machine learning (slides)(video) Quantum variational learning (notebook)(video) Reading material: Pennylane introduction Crooks, G. E. (2019). Gradients of parameterized quantum gates using the parameter-shift rule and gate decomposition. arXiv preprint arXiv:1905.13311. | |
Nov 14 | 3.1 Quantum machine learning algorithms | [Qiskit-TB] Quantum Machine Learning | |
Nov 21 | 3.3 Quantum machine learning algorithms | ||
Nov 30 | Final project |