CSE622 Introduction to Quantum Computing Winter 2024

This is an introductory course about designing solutions for computation problems using the quantum computing models. It has been shown that these models allow us to solve certain problems more efficiently compared to classical platforms (like Digital circuits or Turing machines). On the other hand, there are certain scenarios where this model is siimlar or even worse than classical platforms. In this course a student will learn about the models and interesting solutions (circuits, algorithms) for some problems from the perspective of computer science. The first half of the course will introduce the postulates of quantum computing, operations and operators and basic structure of circuits and algorithms on the circuit model and the Turing machine model. We will also cover some simple but amazing solutions like quantum teleportation, super-dense coding and Deutsch-Jozsa algorithm. The second half of the course will cover important algorithmic tools like the quantum Fourier transformation, amplitude amplification and eigenvalue estimation and discuss important algorithms like Grover’s search, Shor's factoring, BB84 protocol which bring significant efficiency compared to classical algorithms. Depending upon time and interest, some recent advances will be covered. Students may have to read a recent/classical research paper and/or simulate some of their algorithms and circuits on some quantum backend (e.g., IBM quantum computer) to gain a solid understanding about the system.

Pre-requisites

All of the following are strict requirements. The course relies heavily on linear algebra and algorithms.
You are expected to be comfortable with the following prior concepts:

If you are not familiar or comfortable with these concepts, then you must do a self-study before joining the course (you are recommend to solve a few problems in those concepts from any textbook; mere reading of concepts may not provide sufficient depth); this book chapter explains the linear algebraic concepts suitable for quantum computation in one place.

Course Objectives

  1. Understand the principles of quantum computing.
  2. Understand different quantum computing models used in different applications like search, numerical algorithms, cryptography, etc.
  3. Design and/or analyse quantum algorithms and circuits.
  4. Explain and/or implement simple algorithms and circuits from research papers.

Evaluation Policy

Evaluation will be based on homeworks, closed-book proctored midsem and endsem exams, and project/survey.

Course Personnel and Office Hours

All office hours will take place on the Meet Link given on Classroom.

Debajyoti Bera - dbera@ - TBA (email me if you want meet at some other time)
Tharrmashastha - tharrmashasthav@ - TBA

Weekly Schedule

  1. Single-qubit systems: representation, evolution, measurement, superposition, simple circuit, BB84, interaction-free measurement
  2. Multi-qubit systems: Bell-states, teleportation, super-dense coding, remote state preparation
  3. Building quantum circuits: universal set of gates, oracle gates, circuit construction, phase kickback
  4. Basic quantum algorithms: Deutsch, Deutsch-Jozsa, Simon's algorithm, Bernstein-Vazirani, Forrelation
  5. Toolbox - Amplitude amplification: unordered search, minimum finding, graph algorithms, dynamic programming
  6. Toolbox - Phase estimation: order-finding, factoring, amplitude estimation
  7. Toolbox - QUBO formulation & Hamiltonian simulation
  8. To be announced (post mid-sem)

Homeworks

TBA