Fundamentals of quantum algorithms and their implementation
Project reference: 2212
Quantum computers are based on a completely different principle than classical computers. The aim of this project is to explain this difference. Thanks to this insight, potential students should then understand, for example, why quantum computers are able to solve the problem of exponential complexity in less than exponential time, what is the difference between quantum natural parallelism and parallel programming on HPC, or what the principle of quantum teleportation is based on.
As this field has been undergoing hectic progress in recent times, new research results are constantly being published. It is therefore not possible to cover all of these new developments in a few weeks of teaching, so this project will focus mainly on the theoretical foundations, mathematical description and practical testing of the resulting quantum circuits on real quantum computers and their simulators.
Project Mentor: Jiří Tomčala
Project Co-mentor: /
Site Co-ordinator: Karina Pešatová
Students should be introduced to a completely different principle of quantum computers and their programming. They should also be able to design basic quantum circuits.
Student Prerequisites (compulsory):
Knowledge of basic linear algebra.
Student Prerequisites (desirable):
Imagination and experience with Python programming.
“Quantum Computation and Quantum Information” by Isaac Chuang and Michael Nielsen.
“Quantum Algorithm Implementations for Beginners” by various authors, which can be downloaded from here: https://arxiv.org/pdf/1804.03719.pdf
1st week: Quantum bits
2nd week: Single qubit operations
3rd week: Quantum gates
4th week: Quantum teleportation
5th week: Deutsch–Jozsa algorithm
6th week: Grover’s algorithm
7th week: Quantum Fourier transform
8th week: Shor’s algorithm
Final Product Description:
Students test their own quantum circuits on a simulator and, if possible, on a real quantum computer. This includes the correct evaluation of their measured results.
Adapting the Project: Increasing the Difficulty:
Attempting to create interesting modifications of the discussed algorithms.
Adapting the Project: Decreasing the Difficulty:
Skipping overly complicated algorithms.
IT4Innovations National Supercomputing Center at VSB – Technical University of Ostrava