Quantum Computing (Neptun course code: qtcomp1u0_m21vx)

2021 Fall course at the Eötvös Loránd University, Budapest

Lecturer: András Gilyén

The course is organized as part of the QTEdu Master pilot and the material is based on Ronald de Wolf's lectures. Ronald's lecture notes and course decription:

Today's computers---both in theory (Turing machines) and practice (PCs and smart phones)---are based on classical physics. However, modern quantum physics tells us that the world behaves quite differently. A quantum system can be in a superposition of many different states at the same time, and can exhibit interference effects during the course of its evolution. Moreover, spatially separated quantum systems may be entangled with each other and operations may have "non-local" effects because of this. Quantum computation is the field that investigates the computational power and other properties of computers based on quantum-mechanical principles. Its main building block is the qubit which, unlike classical bits, can take both values 0 and 1 at the same time, and hence affords a certain kind of parallelism. The laws of quantum mechanics constrain how we can perform computational operations on these qubits, and thus determine how efficiently we can solve a certain computational problem. Quantum computers generalize classical ones and hence are at least as efficient. However, the real aim is to find computational problems where a quantum computer is much more efficient than classical computers. For example, Peter Shor in 1994 found a quantum algorithm that can efficiently factor large integers into their prime factors. This problem is generally believed to take exponential time on even the best classical computers, and its assumed hardness forms the basis of much of modern cryptography (particularly the widespread RSA system). Shor's algorithm breaks all such cryptography. A second important quantum algorithm is Grover's search algorithm, which searches through an unordered search space quadratically faster than is possible classically. In addition to such algorithms, there is a plethora of other applications: quantum cryptography, quantum communication, simulation of physical systems, and many others.

The course is taught from a mathematical and theoretical computer science perspective, but should be accessible for physicists as well.

Prerequisites: Familiarity with basic linear algebra, probability theory, discrete math, algorithms, all at the level of a first Bachelor's course. Also general mathematical maturity: knowing how to write down a proof properly and completely.

Lectures & location:

The course is taught in English. There is a two-hour lecture per week scheduled on Tuesdays from 8:20 to 9:50 in the János Hunfalvy lecture hall (LD-0-820 -- on the ground floor of the Southern Block of ELTE's Lágymányos Campus), and there is a one hour exercise class scheduled on Mondays from 9:15 to 10:00 in the Pál Erdős lecture hall (LD-00-718 -- in the basement of the Southern Block of ELTE's Lágymányos Campus). (NB You need to sign up for both the lecture and exercise classes in Neptun.)

Homework and Grading:

There will be graded homework exercises for each week. The final grade will come from a weighted combination of the homeworks (1/3) and the final exam (2/3). The weekly homework is due before the start of the next exercise class. You can either send the solutions electroincally as a pdf file or hand in the written solution at the start of the exercise class. When computing the average grade for the homeworks, the two lowest scores will be dropped. This is also meant to cover cases of illness etc.; in general no extension is allowed for homework submission. Cooperation among students is allowed, but everyone has to hand in their own solution set in their own words. Do not share files before the homework deadline, and never put the solutions online. Plagiarism will not be tolerated.

Note that Appendix C of Ronald's
lecture notes has hints for some of the exercises, indicated by (H). If the hint gives you some facts (for instance that there exists an efficient classical algorithm for testing if a given number is prime) then you can use these facts in your answer without proving/deriving these facts themselves.

Class Schedule:

  1. Tuesday September 7, 8:20-09:50 (room LD-0-820): Lecture -- Introduction (Chapter 1 of the lecture notes)
    Note: Make sure you know the material in Appendices A and B of the lecture notes before next week's lecture!
    Thursday September 9, 15:15-16:00 (room LD-0-817): Exercise class

  2. Monday September 13, 9:15-10:00 (room LD-00-718): Exercise class -- homework due at the beginning of the class: Exercises 4, 6, 9, 11 of Chapter 1
    Tuesday September 14, 8:20-09:50 (room LD-0-820): Lecture -- The circuit model of quantum computation & the Deutsch-Jozsa algorithm (Chapter 2)

  3. Tuesday September 21, 8:20-09:50 (room LD-0-820): Lecture -- Simon's algorithm (Chapter 3) -- homework due at the beginning of the class: Exercises 4, 5, 8 of Chapter 2
    Thursday September 23, 15:15-16:00 (room LD-0-820): Exercise class

  4. Monday September 27, 9:15-10:00 (room LD-00-718): Exercise class -- homework due at the beginning of the class: Exercises 1, 3, 4 of Chapter 3
    Tuesday September 28, 8:20-09:50 (room LD-0-820): Lecture -- Quantum Fourier transform (Chapter 4)

  5. Monday October 4, 9:10-09:55 (room LD-00-718): Exercise class -- homework due at the beginning of the class: Exercises 1, 3, 4 of Chapter 4
    Tuesday October 5, 8:20-09:50 (room LD-0-820): Lecture -- Shor's factoring algorithm (Chapter 5)

  6. Monday October 11, 9:10-09:55 (room LD-00-718): Exercise class -- homework due at the beginning of the class: Exercises 2, 3 of Chapter 5
    Tuesday October 12, 8:20-09:50 (room LD-0-820): Lecture -- Hidden subgroup problem (Chapter 6)

  7. Monday October 18, 9:10-09:55 (room LD-00-718): Exercise class -- homework due at the beginning of the class: Exercises 2, 3, 4 of Chapter 6
    Tuesday October 19, 8:20-09:50 (room LD-0-820): Lecture -- Grover's search algorithm (Chapter 7)