Quantum Computing for Computer Scientists
CMPUT 604-B1
Winter 2024
Instructor: Pierre
Boulanger Office hours: after class or
by appointment
The course will be every Tuesday and Thursday from 12h30 to 13h50 using Zoom. The class will start on January 9 Register in advance
for the meetings: https://us02web.zoom.us/meeting/register/tZcqd-qoqz8sE90xGqCua0imKH9Nrl8an6go After registering, you will receive a confirmation email containing information about joining the meeting.
All lectures will be recorded.
Prerequisites: Students should be comfortable with linear algebra concepts such as unitary and Hermitian matrices. They should also have basic knowledge of probability theory. Prior knowledge of quantum mechanics is helpful but not required.
Course Description: This course introduces the theory and applications of quantum information and quantum computation from the perspective of computer science. The course will cover classical information theory, compression of quantum information, quantum entanglement, efficient quantum algorithms, quantum error-correcting codes, fault-tolerant quantum computation, and quantum machine learning. The course will also cover physical implementations of quantum computation into real quantum computers and their programming languages using real-world examples utilising state-of-the-art quantum technology through the IBM Q Experience, Microsoft Quantum Development Kit, and D-Wave Leap.
Topics to be covered will likely include:
o Introduction, bracket notation, unitary operations, orthogonal measurements, n-qubit states, entanglement, single-qubit, and controlled operations o Super-dense coding, incomplete measurements, quantum teleportation o Quantum Computing Computer Architectures o Quantum Computing Languages o Quantum circuit model of computation o Quantum error-correcting codes and fault-tolerance o Basic quantum algorithms like Deutsch-Jozsa, Simon, and Grover o Shor factoring algorithm o Computational complexity theory o Quantum entanglement, teleportation, and Bell inequalities o Quantum Fourier transforms and the hidden subgroup problem o Quantum query complexity, span programs, and the adversary method o Density matrices, state discrimination, tomography o Von Neumann entropy and Huevo bound o Quantum machine learning
Evaluation o The
course evaluation consists of 8 assignments (5% each) on basic quantum theory
and algorithmic. Some assignments will also involve programming real quantum
computers using web-enabled IBM Q and D-Wave access. o Most of the marks will be on a final project (60%) that must include basic quantum computing applications and their implementation on a simulator and a real quantum computer. |
Lecture Date |
Topics |
Course Material |
Assignments and Announcements |
Jan. 9, 11 |
o Introduction |
||
o Origin of Quantum Mechanics and History of Quantum Computing |
This lecture is for your information |
o Open-source
software in quantum computing
|
|
Jan. 16, 18 |
o Intro. To Complex Linear Algebra and Hilbert Space
o Dirac Notation and Schrodinger Equation
|
More on Dirac Notation and Hilbert Space Derivation-of-Shrodinger-Eqn.pdf |
Assignment 1a: Solve the following math problems Additional Information for
Assignment 1 Coding Assignments o
Assignment
1b Colab Notebook Due date: Jan. 23 |
Jan. 23, 25,30 |
o Classical Bit and Quantum Bit Manipulations
o Circuit model of quantum computation-I
|
|
Assignment 2: Implement the following quantum circuits using Qiskit o Coding
Assignment 2 Colab Notebook Due Date: Feb. 2 o
Quantum
Shift Register Notebook |
Feb. 1, 6 |
o Circuit model of quantum computation-II
o More in Simon algorithm |
Simon Algorithm Implementation |
Assignment 3: Quantum Fourier Transform and Phase Detection Using Qiskit o
Coding
Assignment 3 Colab Notebook Due Date: Feb. 26 |
Feb. 8,13,15
|
o Phase Estimation and Shor Algorithm
o More on Shor quantum factoring algorithm o Grover search algorithm
|
|
Assignment
4: Implement Shor
Algorithm using Qiskit o
Coding
Assignment 4 Colab Notebook o Running a QC Program on IBM Q
o
Pennylane
Tutorial on Gover Algorithm
Due Date: Feb. 26 |
No class Reading Week (Feb. 19-23) |
|
|
|
Feb. 27 -29 |
o
Quantum Gate Neural
Networks
|
Training Optimization for Gate-Model Quantum Neural Networks |
Assignment
5: Implement Quantum Neural Network using
TensorFlow Quantum o
Coding
Assignment 5 Colab Notebook Due Date:
Mar. 9 Project Description Due Mar. 8 My suggestion for this year is that you choose from https://ieeexplore.ieee.org/st 1.
A title of the project 2.
A short description of its
objectives and theoretical foundation (max 3 pages in PDF formal) 3.
Two or three reference
papers that describes similar work 4.
The source of data you
will use to test the idea 5. A zip archive that includes the PDF files of the project description and the reference
papers |
Mar. 7,12,14 |
o Adiabatic Quantum Algorithm
o Adiabatic Quantum Hardware
o D-Wave Programming Environment |
|
Assignment
6: Discrete Optimization and Unsupervised Learning Using DWAVE o
Coding
Assignment 6 Colab Notebook
Due Date:
March 15 o
To do this assignment you need to get an account on
DWAVE virtual machine. Please use the DWAVE Leap website to get your ID
and the machine name to run your program. The code contains my ID and the
machine to use but only use it for a demo. Use your own! |
Mar. 19, 21, 26,28, Apr 2,4 |
o Quantum Machine Learning
o
Quantum Information Theory o DWAVE Quantum o Pennylane Certificate |
More on Quantum Machine Learning
Fast Track Your Quantum
Journey with Quantum Computing Training Expand your knowledge of quantum
computing and get started building quantum applications today. With the
Quantum Programming Core Course, you can accelerate quantum application
development and ramp up quickly with expert training and guidance. You will
also connect with the Leap community and D-Wave experts to gain new ideas and
skills while differentiating yourself in the marketplace. |
Quantum Approaches to Data Science and Data Analytics Examples of Quantum Machine
Learning o
Variational
Quantum Linear Solver o
Solving
Linear Systems of Equations Using HHL o
Quantum
Kernel Classification o
Kernel
Classification with Various Encodings o Training
with Hybrid Architecture o Quantum Generative Adversarial Networks
Assignment 7: Quantum Auto-Encoders o
Coding
Assignment 7 Colab Notebook Due Date: March 26 Assignment 8: Training Deep Belief Networks Using Quantum Boltzmann Machine o Coding
Assignment 8 Colab Notebook Due Date: April 9 |
Apr. 9,11 |
o Quantum Cryptography o Quantum Computer Hardware o
Quantum Computer Compiler o Fault-tolerant quantum error correction |
Quantum
Computer Hardware Overview |
Quantum Cryptography Explained Final Project Report Due:
April 25 The report should be 8-10 pages and follow the IEEE double columns format. You also must supply the notebook with the results and the code. |
Background Reading
Books
Other Lecture Notes
Quantum Computing Devices/Simulators
Papers/Talks