Uploaded by stevenp

Quantum Algorithms: Intro to Computing Science 409

Computing Science 409
Introduction to Quantum Algorithms
Administrative
• For concerns over COVID-19 at SFU:
– https://www.sfu.ca/fas/safety/cdp/
• Lectures:
– Files of lectures will be emailed out ahead of class.
– Lectures will be recorded and posted at
https://stream.sfu.ca/Media/Channel/9a10ac678ea14481bdf4c154babbe0a15f
– The goal of the department is for lectures to be
completely in-person by the Fall semester.
– I advise you to attend lectures rather than resort to
posted video recordings.
2
Administrative
3
ADMINISTRATIVE
• Instructor: Dr. Steven Pearce
– Theoretical astrophysicist and applied mathematician.
– Faculty Member of the School of Computing Science (SFU) for
over twenty years.
– Graduate Advisor for Department of Mathematics (SFU).
– Visiting Professor of Mathematics at IIIT-Allahabad, India, 2015.
– Leading the academic program in Quantum Computing in the
School of Computing Science in collaboration with the
Departments of Physics, Mathematics and Engineering in an
interdisciplinary initiative to form the SFU Quantum Algorithms
Institute.
4
ADMINISTRATIVE
TAs: • Mohamad Assari <maa154@sfu.ca>,
Wednesdays from 1 to 3 pm via Zoom:
https://sfu.zoom.us/j/65760213659?pwd=M0puVWdjUTlZbHZwYk1iUlY3d253UT09
• Neha Borulkar <nmb6@sfu.ca>
Tuesdays: 2:30 to 4:30 pm via Zoom:
https://sfu.zoom.us/j/64271319688?pwd=YTdwaHhmMEpGcUZLaHZNZWhleldQQT09
5
Primary Areas of Expertise:
Computational-Fluid-Mechanics, -Magneto-Fluid-Mechanics,
High Energy Astrophysics and Spectral Methods in PDEs.
6
Administrative
7
Administrative
8
Administrative
Upon successful completion of this course, students will be able to:
1. Demonstrate mastery of the fundamental nature of quantum mechanics and how it can
be exploited for the purposes of computation (i.e., superposition, entanglement, interference,
etc.).
2. Demonstrate mastery of relationship between classical circuits and quantum circuits
(bit versus qubit, the Bloch sphere, quantum gates, quantum circuits, etc.).
3. Demonstrate mastery of mathematics necessary for quantum computing (Operator Theory,
Hilbert spaces, complex probability amplitudes, Dirac notation, etc.).
4. Demonstrate mastery of fundamental theorems underlying quantum computing (adiabatic
theorem, important no-go theorems, threshold theorem, etc.).
5. Demonstrate mastery of the setting within the theory of computation (quantum extended
Church-Turing thesis, BQP, QMA and QCMA).
6. Demonstrate mastery of all existing quantum algorithms beginning with a thorough
understanding of the canonical quantum algorithms (i.e., Deutsch–Jozsa, Grover’s, Shor’s,
Fourier, etc.).
7. Demonstrate mastery of technical frontiers of quantum computing such as decoherence,
error correction and fault tolerance.
9
Administrative
Required Textbook
Get it!
2007 Edition is fine
10
Administrative
An Introduction to Quantum Computing
Phillip Kaye, Raymond Laflamme, and Michele Mosca
TOC:
1. Introduction and background
2. Linear algebra and the Dirac notation
3. Qubits and the framework of quantum mechanics
4. A quantum model of computation
5. Superdense coding and quantum teleportation
6. Introductory quantum algorithms
7. Algorithms with super-polynomial speed-up
8. Algorithms based on amplitude amplification
9. Quantum computational complexity theory and lower bounds
10. Quantum error correction
Administrative
Recommended Textbook
The standard textbook
just a bit out of date.
Link (National Emergency Library – COVID19):
Get it!
https://archive.org/details/QuantumComputationAndQuantumInformation
12
10thAnniversaryEdition/mode/2up
Administrative
Math section (2.1) – lots of worked out problems
(solutions provided)
13
Administrative
Excellent tutorial to get started on a QC-VM:
https://fullstackquantumcomputation.tech/blog/post-tutorial-0-Hello-world/
This is your first assignment – “Hello World”
(on the honor system – should be done in one week).
14
Administrative
Programming QC-VMs* #1
Qiskit is an open-source framework for quantum computing. It provides
tools for creating and manipulating quantum programs and running them
on prototype quantum devices on IBM Q Experience or on simulators on a
local computer. Wikipedia
Get it!
https://qiskit.org/textbook/preface.html
*Quantum Computing Virtual Machines
15
Administrative
Programming QC-VMs #2
• pyQuil is an open source Python library developed at Rigetti
Computing that constructs programs for quantum computers. The source
is hosted on GitHub.
• More concretely, pyQuil produces programs in the Quantum Instruction
Language – Quil.
• For a full description of Quil, please refer to the whitepaper
A Practical Quantum Instruction Set Architecture
(https://arxiv.org/pdf/1608.03355.pdf).
(See next slide)
• Quil is designed to execute on a Quantum Abstract Machine that has a
shared classical/quantum architecture at its core.
Get it!
http://docs.rigetti.com/en/stable/
16
Tentative Course Outline
Weeks
Topic
Chapters
0 and 1
Introduction and background – overview of quantum mechanics and the theory of
computation, classical probabilistic algorithms, The circuit model of computation and
complexity classes; information theory; demonstration of QC-VMs.
1
2
Review of linear algebra and Dirac notation, Hermitian and unitary operators, the
eigenvalue problem, some advanced linear algebra.
2&3
3
Qubits and the framework of quantum mechanics and a quantum model of
computation – qubits, qudits, quantum registers, quantum gates, quantum RAM and the
Bloch sphere; No Cloning Theorem; Operators and measurement; Bell states; Black
Box algorithms and oracles; Deep introduction to quantum algorithms,
4
Superdense coding and quantum teleportation – Density Matrix; Two qubit gates, the
circuit model, models of quantum computing (universal quantum gates, the adiabatic
theorem); Bell’s Inequality; More quantum algorithms.
5
Quantum algorithms – Classification schemes and mathematical structures. Proof of
concept algorithms (Deutsch-Joza and Simon).
6
MIDTERM (1st five chapters);
7
Algorithms with super-polynomial speed-up. Verification and validation;
Quantum compiling.
6, 7
8
Algorithms based on amplitude amplification; Adiabatic theorem and quantum
annealing.
7, 8
9
Complexity theory, quantum complexity; BQP; QMA; QCMA; provable vs.
putative quantum advantage.
8, 9
10
Quantum error correction and fault tolerant computing; Demos
10
11 and 12
Demos
Assignments
Assignment 1
Term project
begins (formation
of teams)
3, 4
4
• Assignment 2;
• Term Project
assigned
5, 6
Assignment 3
Assignment 4
Demos
17
GRADING
Assignments
Term Project (programming)
Midterm (TBA)
Final (TBA)
15%
20%
25%
40%
18
GRADING
Assignments
Term Project (programming)
Midterm (TBA)
Final (TBA)
15%
20%
25%
40%
– The assignments will involve implementing some of the major
quantum algorithms discussed in this course.
– There are exercises at the end of every presentation that you will be
asked for assignments and exams.
See https://github.com/mrtkp9993/QuantumComputingExamples
19
GRADING
Assignments
Term Project (programming)
Midterm (TBA)
Final (TBA)
15%
20%
25%
40%
Organize yourselves into teams of roughly five (5)
individuals using
. Begin to choose a topic starting
no later than week 3, to be finalized at the end of week 4
by approval from your instructor. A great starting point is
here: https://qosf.org/project_list/
20
GRADING
• Use Discord to communicate and organize.
• You can also create teams and have meetings in
Zoom:
– When a student clicks "Sign on" on sfu.zoom.us, they
will be signed into their zoom profile where they can
create meetings.
– If a student doesn’t already have a zoom account with
their SFU email, it will create one.
21
Required
All assignments shall be done using
Group assignments should be done with
Overleaf
Website for free QC template based on M&C,
courtesy of Professor Oskin, UWash:
Zip-file sent out to class.
22
June 30 and July 21 – Classes Cancelled.
23
Three Goals of this Course
This course is focused on
programming a QC. Your
three primary goals are:
1.
2.
3.
Write simple quantum
computing programs on QCVMs (get familiar with Qiskit
and/or pyQuil ASAP);
Be able to understand this
paper;
Course “litmus test”
Goal 2 requires a 3rd goal;
Basic proficiency in the
mathematics of QC.
Get it!
https://arxiv.org/pdf/1608.03355.pdf
24
Miscellany
25
https://qosf.org/learn_quantum/
Miscellany
This is an outstanding overview of the entire subject.
TechRepublic's cheat sheet for quantum computing is positioned
both as an easily digestible introduction to a new paradigm of
computing, as well as a living guide that will be updated
periodically to keep IT leaders informed on advances in the science
and commercialization of quantum computing.
https://www.techrepublic.com/article/quantum-computing-the-smart-persons-guide/
26
Miscellany
27
https://sites.google.com/a/aims.ac.za/computing-and-latex/home/latex/cheatsheets-and-posters?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F&showPrintDialog=1
Miscellany
Additional Reference Materials (my favorites):
–
–
Feynman Lectures (Quantum Mechanics),
John Preskill’s QC Lecture Notes (Physics-intensive)
•
–
Ryan O’Donnell’s QC Lecture Notes – CMU
•
–
https://arxiv.org/pdf/1804.03719.pdf
Microsoft Quantum Documentation
•
–
https://www.chalmers.se/en/centres/wacqt/graduate%20school/aqa/Documents/FullLectureNotes.pdf
Quantum Algorithms Implementation for Beginners (Los Alamos, NW, USA):
•
–
https://www.math.wustl.edu/~matkerr/429/
Advanced Quantum Algorithms (Chalmers, Sweden):
•
–
https://homepages.cwi.nl/~rdewolf/qcnotes.pdf
Linear Algebra Review:
•
–
https://www.scottaaronson.com/qclec/combined.pdf
Ronald de Wolf’s Lecture Notes
•
–
https://www.cs.cmu.edu/~odonnell/quantum18/
Scott Aaronson’s QC Lecture Notes
•
–
http://www.theory.caltech.edu/~preskill/ph219/ph219_2018-1
https://docs.microsoft.com/en-us/quantum/
Quantum computing glossary
•
https://docs.microsoft.com/en-us/quantum/concepts/glossary
28
Miscellany
Excellent video presentations (FYI):
– Quantum Computing for Computer Scientists:
• https://www.youtube.com/watch?v=F_Riqjdh2oM
– 10^500 Parallel Universes: Lecture 1 of Quantum Computation
and Information at CMU:
• https://www.youtube.com/watch?v=78tSf2R1huk&t=12s
– Quantum Computing for the Determined (Michael Nielsen):
• https://www.youtube.com/watch?v=X2q1PuI2RFI&list=PL1826E6
0FD05B44E4
– Anything from Scott Aaronson.
– For physics, anything from Sabine Hossenfelder
29
Email Archives
• You can always keep track of assignments
and other postings here:
https://www2.cs.sfu.ca/CourseCentral/Hypermail/cmpt-409/
30
31
ACADEMIC HONESTY
32
https://www.sfu.ca/policies/gazette/student.html
WARNING
• Quantum computing is very different from classical computing.
• The notation itself is steeped in high-level applied mathematics
(metric spaces, Dirac’s “bra-ket” notation, PDEs, etc.), but you
only need to be proficient in linear algebra for this course.
• You will see some advanced mathematics but you won’t be
completely responsible for such material.
• You will be introduced to the big picture for completeness, but
do not be intimidated.
• Apply yourself and you will prevail.
33
Summer, 2020 and 2021 Grades
34
Summer 2020 Student Project
Develops into Publication
35
Quantum Computing in a Nutshell
Task 1: Watch this video:
Quantum Computers Explained – Limits of Human Technology (7 minutes)
https://www.youtube.com/watch?v=JhHMJCUmq28&t=1s
Task 2: Try to understand the following two jokes (take this
seriously – a final exam question was based on them):
36
Proof That CMPT 409 Students
are Entangled
Remaining students: 66
Watch this video for an explanation:
37
https://www.youtube.com/watch?v=zcqZHYo7ONs&ab_channel=minutephysics
Questions?
39