Quantum Programming
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
02QPRG | Z | 2 | 1P+1C | English |
- Course guarantor:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Physics
- Synopsis:
-
The goal of the course is to provide the basic skills for programming quantum computers, and to use these skills to develop understanding of fundamental quantum communication protocols and quantum algorithms. The classes are combinations of lectures that introduce the essential concepts and tools, followed by exercise sessions during which programming assignments are completed. Familiarity with quantum mechanics is not necessary. Any quantum SDK, such as Qiskit, Cirq, Forest, Q#, may be used during the course, based on agreement at the beginning of the semester.
- Requirements:
- Syllabus of lectures:
-
Outline of the course:
1.Probabilistic and quantum bits, quantum computing SDK (e.g. Qiskit),
2.Bloch sphere representation of a qubit, general single qubit gates
3.Measurement, cloning, state identification of an ensemble
4.Two qubits, quantum correlations, quantum circuits
5.Quantum communication protocols: quantum teleportation, super dense coding
6.Quantum key distribution protocol: BB84
7.Multi-qubit gates, universal quantum computer
8.DeutschJozsa algorithm, the Oracle
9.Grovers search algorithm
10.Quantum Fourier Transform
11.Quantum phase estimation
12.Shors factorization, quantum Fourier transformation
13.Discrete time quantum walks and spatial search
- Syllabus of tutorials:
-
Outline of the exercises:
Students are expected to write code during the class that implements the assigned tasks using the chosen SDK, typically using the Jupyter notebook interface to python. Use of own laptops with a preinstalled quantum SDK is expected.
- Study Objective:
- Study materials:
-
Studijní literatura a studijní pomůcky
Key references:
[1] M. A. Nielsen, I. L. Chuang, Quantum computation and quantum information, Cambridge Univ. Press, 2013.
Recommended references:
[2] Learn Quantum Computation using Qiskit: https://qiskit.org/textbook
[3] Cirq tutorial: https://quantumai.google/cirq
[4] Forest SDK Docs: https://pyquil-docs.rigetti.com/en/stable/
[5] Microsoft QDK tutorial: https://docs.microsoft.com/en-us/learn/paths/quantum-computing-fundamentals/
- Note:
-
This course has been replaced by 02QPRGA so please sign up there if you are interested.
- Further information:
- https://people.fjfi.cvut.cz/gabriaur/index.php?n=Main.Teaching
- No time-table has been prepared for this course
- The course is a part of the following study plans: