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