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
**1.8 Implementation of quantum computers **
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 Shor’s algorithm
2.6 Grover’s algorithm
2.7 Noisy intermediate scale quantum computers
2.8 Quantum algorithms for applications
3 Quantum machine learning
3.1 Machine learning review
3.2 Quantum measurement classification
3.3 Quantum machine learning algorithms
Week | Topic | Material | Assignments |
---|---|---|---|
Aug 25 | 1.1 Introduction to quantum computing | [IGFAE20] Lecture 1: Introduction to Quantum Computing (slides) [Nielsen10] Sections 1.1 Global perspectives Dario Gil, The Future of Quantum Computing, IBM 2020 (video) Class Aug 25 (video, in Spanish, description and logistics of the course) Class Aug 27 (video) | |
Sep 1-8 | 1.1 Introduction to quantum computing 1.2 Linear algebra and Dirac notation | [Nielsen10] Section 2.1 Linear algebra [Nielsen10] Section 2.2 Postulates of quantum mechanics [Asfaw19] 8.1 Linear Algebra Class Sep 1 (video) Class Sep 3 (video) Class Sep 8 (video) Notes Sep 3-8 (pdf) | |
Sep 15 | 1.3 Qubits 1.4 Measurements | [CS191x] Chapter 1 Qubits and Quantum Measurement [Nielsen10] Section 2.2 Postulates of quantum mechanics Class Sep 10 (video) Class Sep 15 (video) Notes Sep 10-15 (pdf) | |
Sep 15-22 | 1.5 Composite systems 1.6 Pure, entangled and mixed states | [CS191x] Chapter 2 Entanglement [Nielsen10] Section 2.2 Postulates of quantum mechanics Class Sep 17 (video) Notes Sep 17 (pdf) | Assignment 2 |
Sep 29 | 1.7 Theory of computation and Computational Complexity | [Nielsen10] 3.2 The analysis of computational problems Class Sep 29 (video) Notes Sep 29 (pdf) | |
Oct 6-13 | 1.8 Implementation of quantum computers 2.1 Quantum circuits and gates | [Asfaw19] 1.2 The Atoms of Computation [Asfaw19] 1.3 Representing Qubit States [Asfaw19] 1.4 Single Qubit Gates [Asfaw19] 2.2 Multiple Qubits and Entangled States [Asfaw19] 2.3 Phase Kickback [Asfaw19] 2.4 More Circuit Identities Class Oct 6 (video) Class Oct 8 (video) Class Oct 13 (video) | Assignment 3 |
Oct 20 | 2.2 Superdense coding and teleportation | [Asfaw19] 2.2 Quantum Teleportation [Asfaw19] 2.2 Superdense Coding Class Oct 20 (video) Class Oct 22 (video) | |
Oct 27 | 2.3 Deutsch-Joza algorithm 2.4 Simon's algorithm | [Asfaw19] 3.4 Deutsch-Jozsa Algorithm [Asfaw19] 3.6 Simon's Algorithm Class Oct 27 (video, notes) Class Oct 29 (video 1, video 2, notes) | |
Nov 3-10 | 2.5 Shor's algorithm | [Asfaw19] 3.7 Quantum Fourier Transform [Asfaw19] 3.8 Quantum Phase Estimation [Asfaw19] 3.9 Shor's Algorithm [Asfaw19] 3.11 Quantum Counting (Hans Toquica) [Asfaw19] 3.12 Quantum Key Distribution (Sebastián Medina) Edwards et al, A review of quantum and hybrid quantum/classical blockchain protocols (Leonardo Avendaño) (presentation) Class Nov 5 (video, notes) Class Nov 10 (video, notes) Class Nov 12 (video) | Assignment 4 |
Nov 17 | 2.8 Quantum algorithms for applications | [Asfaw19] 4.1.1 Solving Linear Systems of Equations using HHL (Oscar Bustos) [Asfaw19] 4.1.2 Simulating Molecules using VQE (Nicolas Parra) Increasing the representation accuracy of quantum simulations of chemistry without extra quantum resources (Camilo Pino) [Asfaw19] 4.1.3 Solving combinatorial optimization problems using QAOA (Angel Corredor) [Asfaw19] 4.1.4 Solving Satisfiability Problems using Grover's Algorithm (Pedro Valderrama) [Asfaw19] 4.1.5 Hybrid quantum-classical Neural Networks with PyTorch and Qiskit (Sneyder Gantiva) [Asfaw19] 4.2.1 Variational Quantum Linear Solver (Carlos Garavito) Class Nov 17 (video) Class Nov 19 (video) | Final Project |
Nov 24 | 3.1 Machine learning review 3.2 Quantum measurement classification | Class Nov 24 (video) Class Nov 26 (video, notes) | |
Dec 1 | 3.3 Quantum machine learning algorithms | [Schuld18] 6.1.1 Inner Products with Interference Circuits (Miguel Angel Castro) [Schuld18] 6.1.2 A Quantum Circuit as a Linear Model (Diego Vega) [Schuld18] 6.1.3 Linear Models in Basis Encoding (Juan Pablo Ovalle) [Schuld18] 6.1.4 Nonlinear Activations (Juan Sebastián Peña) Near-Term Quantum-Classical Associative Adversarial Networks (Arkai Julián Ariza) Quantum embeddings for machine learning (Miguel Angel Rodríguez) The effect of data encoding on the expressive power of variational quantum machine learning models (Cristhian Gómez) Small quantum computers and large classical data sets(Miguel Angel Ortiz) Class Dec 1 (video) Class Dec 3 (video) |