Course description
Instructor
Fabio A. González
Departamento de Ingeniería de Sistemas y Computación
Universidad Nacional de Colombia
Course goal
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:
- To describe the differences between quantum and classic computation.
- To understand the mathematical basis of quantum state representation and quantum operations.
- To build quantum circuits connecting different types of quantum gates.
- To implement quantum circuits and algorithms using quantum programming libraries.
- To run quantum circuits and algorithms using quantum simulators and real quantum computers.
- To understand how to design quantum algorithms to solve different problems.
- To understand how to design hybrid quantum algorithms to solve machine learning problems.
Course topics
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 Machine learning review
3.2 Quantum measurement classification
3.3 Quantum machine learning algorithms
Evaluation and grading policy
- Participation 10%
- Assignments 30%
- Presentation 20%
- Exam 20%
- Final project 20%
Course resources
References
- [Nielsen10] Michael A. Nielsen & Isaac L. Chuang. Quantum Computation and Quantum Information. CAMBRIDGE UNIVERSITY PRESS. 2010
- [Asfaw19] Abraham Asfaw et al., Learn Quantum Computation using Qiskit. Qiskit Development Team. 2019
- [Kaye07] Phillip Kaye et al. An Introduction to Quantum Computing. Oxford University Press. 2007 9783319964232). Springer. 2018
- [Nannicini17] Nannicini, G. An introduction to quantum computing, without the physics. arXiv preprint arXiv:1708.03684. 2017
- [Rieffel11] Rieffel, E. G., & Polak, W. H. Quantum computing: A gentle introduction. MIT Press. 2011
- [Schuld18] Schuld, M., & Petruccione, F. Supervised Learning with Quantum Computers. Springer. 2018
Additional resources
- [IGFAE20] Andrés Gómez. Introduction to Quantum Computing. Short Course, Instituto Galego de Física de Altas Enerxías (IGFAE). 2020
- [CS191x] Umesh Vazirani. BerkeleyX CS191x: Quantum Mechanics and Quantum Computation. edX. 2020.
- [CS269Q] Dan Boneh, Will Zeng, CS 269Q: Quantum Computer Programming, Stanford University, 2019
- [Qiskit] Qiskit: is an open source SDK for working with quantum computers at the level of pulses, circuits and algorithms. IBM.
- [IBMQE] IBM Quantum: Learn, develop, and run quantum programs.
Course schedule
| Week | Topic | Material | Assignments |
|---|---|---|---|
| Oct 5-12 | 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) | |
| Oct 19 | 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 |
| Oct 26 | 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 [Asfaw19] 1. Quantum States and Qubits | Exercise set 2 |
| Nov 2 | 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 [Asfaw19] 2. Multiple Qubits and Entanglement | Exercise set 3 Assignment 2 |
| Nov 9 | 1.7 Theory of computation and Computational Complexity | Asynchronous class: Computational complexity (slides)(video) Reading material: [Nielsen10] 3.2 The analysis of computational problems | |
| Nov 16 | 2.1 Quantum circuits and gates | Asynchronous class: Single qubit gates (video) Reading material: [Asfaw19] 1.2 The Atoms of Computation [Asfaw19] 1.3 Representing Qubit States [Asfaw19] 1.4 Single Qubit Gates | Exercise set 4 |
| Nov 23-30 | 2.1 Quantum circuits and gates | Asynchronous class: Multiple qubit gates (video 1)(video 2)(video 3) Reading material: [Asfaw19] 2.2 Multiple Qubits and Entangled States [Asfaw19] 2.3 Phase Kickback [Asfaw19] 2.4 More Circuit Identities | Exercise set 5 Assignment 3 |
| Dec 7 | 2.2 Superdense coding and teleportation | Asynchronous class: Superdense coding and teleportation (video 1)(video 2) Reading material: [Asfaw19] 3.10 Quantum Teleportation [Asfaw19] 3.11 Superdense Coding | |
| Dec 14 | 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: [Asfaw19] 3.2 Deutsch-Jozsa Algorithm [Asfaw19] 3.4 Simon's Algorithm | |
| Jan 11 | 2.5 Quantum Fourier Transform 2.6 Quantum Phase Estimation 2.7 Shor's Algorithm 2.8 Grover's Algorithm | Reading material: [Asfaw19] 3.5 Quantum Fourier Transform [Asfaw19] 3.6 Quantum Phase Estimation [Asfaw19] 3.7 Shor's Algorithm [Asfaw19] 3.8 Grover's Algorithm | Final Project |
| Jan 18 | 2.9 Quantum algorithms for applications | Reading material: [Asfaw19] 4.1.1 Solving Linear Systems of Equations using HHL [Asfaw19] 4.1.2 Simulating Molecules using VQE [Asfaw19] 4.1.3 Solving combinatorial optimization problems using QAOA [Asfaw19] 4.1.4 Solving Satisfiability Problems using Grover's Algorithm | |
| Jan 25 | 3.1 Machine learning review 3.2 Quantum measurement classification | ||
| Feb 1 | 3.3 Quantum machine learning algorithms |