Quantum algorithms

While the mathematical basis of quantum computing, the programming model, and most quantum algorithms have been published decades ago (starting in the 1990s), they have been of interest only to a small dedicated community. Time has come to make quantum algorithms and their implementations accessible to a broader audience aiming to explain the principles of quantum programming, which are quite different from those of classical programming.

Lecture 1: From classical computers to quantum computers
- Classical computers in the circuit representation: Bits, gates, universality, computational complexity
- Motivations to build a quantum computer: Quantum parallelism and quantum speedup
- Introduction of quantum computing in the quantum circuit model
- Universal set of quantum gates – connection to entanglement
- The measurement   

Lecture 2: Quantum Algorithms  
- Warm-up: Deutsch's problem  
- Data search: Grover’s algorithm
- Factorization: Shor’s algorithm   

Lecture 3: Quantum Error correction
- The role of decoherence in a quantum circuit
- Introduction to repetition codes
- Stabilizer formalism.
- Quantum threshold theorem and fault-tolerant quantum computing. The example of surface codes   

Lecture 4: Quantum optimization I: Quantum annealing
- Warm-up: Quantum adiabatic theorem
- Quantum annealing
- Fundamental limitations of quantum annealing  

Lecture 5: Quantum optimization II: hybrid classical quantum Quantum annealing
- Quantum approximation optimization algorithm (QAOA)
- Analog/Digital quantum Simulation.
- Solving quantum chemistry problems
– variational quantum eigensolver (VQE)   

Useful references:  J. Preskill’s notes on quantum information: http://theory.caltech.edu/~preskill/ph229/ Quantum computation and quantum information, M. Nielsen, I. Chuang, Cambrige Press  

Prerequisite: Quantum mechanics M1
Published on February 27, 2021
Updated on April 23, 2021