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 (09:00 - 11:00):
Introduction to Quantum Computation and the course dynamics (slides).
Oct 13 (09:00 - 11:00):
Computability and computational complexity: motivating example (Eulerian and Hamiltonian
paths). Proof and computation. A brief background tour: Sets, functions, relations. (lecture notes).
Oct 20 (09:00 - 11:00):
Conclusion of the previous lecture.
Introduction to computability. The halting problem. The Church-Turing and the Physical Church-Turing conjectures. A concrete model of computation: Turing machines. (lecture notes).
Oct 27 (09:00 - 11:00):
Conclusion of the previous lecture (Turing machines)
Introduction to computational complexity. The asymptotic notation. Examples. Complexity classes (P, BPP, PSPACE, NP). NP-complete and NP-hard problems. The conjecture P = NP. (lecture notes).
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)
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.10.26