On successful completion of the course students should be able
To understand basic concepts of computability, computational complexity, and underlying mathematical structures.
To master the quantum computational model.
To design and analyse quantum algorithms.
To implement and run quantum algorithms in the Qiskit open-source software development kit.
- Computability and complexity
- Mathematical backgound: sets, orders, groups.
- Turing machines and computability.
- Computational complexity. Algorithms and complexity classes.
- Complexity in quantum computation.
- Quantum computation and algorithms
- The quantum computational model (gates, measurements, and circuits).
- Introduction to quantum algorithms.
- Algorithms based on phase amplification.
- Algorithms based on the quantum Fourier transform.
- Case studies in quantum algorithmics.
- Quantum programming in Qiskit and other tools
Oct 6 (11:00 - 13:00):
Mathematical foundations of quantum computing pt. 1: vector space, operator, and tensor
Oct 13 (11:00 - 13:00):
Mathematical foundations of quantum computing pt. 2: basis and matrix representation
Oct 20 (11:00 - 13:00):
Mathematical foundations of quantum computing pt. 3: inner product, norm, isometry, and unitary operator.
Postulates of quantum computing
Oct 27 (11:00 - 13:00):
Basic aspects of Entanglement, one of the surprising quantum phenomena.
Quantum teleportation (hands-on via Qiskit)
(Qiskit circuit 1)
(Qiskit circuit 2).
Nov 03 (11:00 - 13:00):
Continuation of the previous lecture
Nov 10 (11:00 - 13:00):
Exercises with the phase kickback technique. An overview of the different functionalities
of Qiskit illustrated with examples from previous lectures
Nov 17 (11:00 - 13:00):
(Generalised) Deutsch-Josza in Qiskit
Nov 24 (11:00 - 13:00):
Implementation of conditional phase shift via "not", Hadamard, and Toffoli gates. Grover in Qiskit. A brief introduction to the satisfiability problem.
Computability and Computational Complexity
H. R. Lewis and C. H. Papadimitriou. Elements of the Theory of Computation. Prentice
Hall (2nd Ed), 1997.
S. Arora and B. Barak. Computational Complexity: A Modern Approach. Cambridge
University Press, 2009.
C. Moore and S. Mertens The nature of computation. Oxford
University Press, 2011.
Quantum Computation and Algorithms
M. A. Nielsen and I. L. Chuang. Quantum Computation and Quantum Information (10th
Anniversary Edition). Cambridge University Press, 2010
E. Rieffel and W. Polak. Quantum Computing: A Gentle Introduction. MIT Press, 2011.
F. Kaye, R. Laflamme and M. Mosca. An Introduction to Quantum Computing. Oxford University Press, 2007.
N. S. Yanofsky and M. A. Mannucci. Quantum Computing for Computer Scientists. Cambridge
University Press, 2008.
W. Scherer. Mathematics of Quantum Computing. Springer, 2019.
N. S. Yanofsky. The Outer Limits of Reason. MIT Press, 2013.
S. Aaronson. Quantum Computing since Democritus. Cambridge
University Press, 2013.
J. Preskill Quantum Computing in the NISQ era and beyond. Quantum 2, 79, 2018.
- Training assignment on programming quantum algorithms (60%): to be discussed on 12 January 2022
(with intermediate ckeckpoints and deliverables to be fixed in the TP lectures)
Individual assynchronous test (40%): to be divided into 2 or 3 exercises proposed along the T lectures
- Appointments - Luis: Wed, 18:00-20:00 and Fri, 18:00-20:00 (please send an email the day before)
- Appointments - Renato: Thu, 14:00-18:00 (please send an email the day before)
- Email: lsb at di dot uminho dot pt (Luis) and nevrenato at gmail dot com (Renato)
- Last update: 2021.11.23