Kursusel õpitakse tundma kõige elementaarsemaid kvantalgoritme. Pärast kvantmehaanika kiiret ülevaadet arutame kvantlülitus mudelit ja seejärel alustame algoritmide läbimist:
- Kvant Fourieri teisendus,
- Kvantfaasi hindamine,
- Kvantamplituudi võimendus,
- Kvant amplituudi hindamine.
Pärast kursuse läbimist on üliõpilane tuttav kvantmehaanikaga tasemel, mis on kvantalgoritmide kavandamisel ja analüüsimisel hädavajalik; baaskvantoperatsioonide; põhiliste kvantalgoritmidega.
Kursuse keeleks on inglise keel, 100%.
The course will be 100% in English.
The course covers the most basic and easiest quantum algorithms, think Bubble Sort.
We start with a crash course on quantum mechanics, and then move to discuss the quantum circuit model of universal quantum computation. We'll swoop up some quantum complexity theory, as tourists.
Then we'll be ready for the quantum algorithms:
- Quantum Fourier Transform
- Quantum Phase Estimation
- Quantum Amplitude Amplification
- Quantum Amplitude Estimation.
These are really the foot-of-the-mountain quantum algorithms, in their simplest abstract versions (e.g., we cover the "abstract" version of Grover, known as QAA). These concepts usually take the course participants "all you got": As we will see, quantum algorithms are something entirely different from classical algorithms, and it takes time and strong effort to get the hang of it.
Of course, we'll also encounter Deutsch-Josza and Simon (mostly as simple motivations for more difficult algorithms). We touch Shor's algorithm, which is covered in depth in Quantum Crypto MTAT.07.024 — in Qualms, the emphasis is doing something good with quantum computers.
You can try to translate the course into the "classical realm". The translated course would contain: 0. Variables, if/switch-statements, for-loops; 1. Concept of sorted data and sorting; 2. Insertion Sort; 3. Binary Search; 4. Using Binary Search and Insertion Sort together.
The course relies heavily on finite-dimensional Hilbert space, along with spectral theory and tensor products, including Dirac notation. We will not review that material. If you don't know what the conditions on 𝜓 are for |𝜓⟩⟨𝜓| to be a projector, take Fou Math MTAT.05.008 or FunQ LTFY.04.012.
Covid has taught us how to effectively teach online (and also how to suck at teaching online). The plan is to make this course suitable for online participation, from other continents, countries, or cities, e.g., Tallinn.
The learning environment is now online: As a GitHub repository. It will be made private once the course has started and the participants have been added to the repository.
- Lectures will be streamed live, but there will be no lecture recordings. Be there, or be online!
- Slide decks will be shared after classes.
- There will be one set of "theory" homework assignments every week.
- In addition, we are planning programming assignments (in Julia; for Python take FunQ LTFY.04.012). This feature is in alpha-testing phase, and not open to all students.
- Assoc. Prof. Dirk Oliver Theis: Content & organization
- Alejandro Villoria: Programming assignments