This course covers both introductory numerical linear algebra and quantum algorithms, which are phrased in linear algebraic terms. The course provides a mathematical foundation for subsequent study in Quantum Computing, and covers several quantum algorithms in depth, including Deutsch’s Algorithm, the Deutsch-Jozsa Algorithm, and Grover’s Algorithm. Students will also cover linear operators and matrix representations, operator norms, orthogonalization, the SVD and QR factorizations.
Instructor | Matthew G. Knepley |
Class times | 11:00am to 12:20pm on Tuesday & Thursday |
Location | Capen 108 |
Office Hours | 12:30am to 1:30pm on Tuesday Capen 211A |
The texts for the course are Quantum Algorithms via Linear Algebra: A Primer by Richard J. Lipton and Kenneth W. Regan and Numerical Linear Algebra by Lloyd N. Trefethen and David Bau III. Class notes have been prepared for each class, and the lecture will follow the notes. All homework problems are given in the class notes.
Upon completion of this course, students will understand the basic building blocks of quantum circuits and their linear algebraic representation. They will be able to setup and solve quantum computing problems as linear algebra problems. Students will be able to analyze both the correctness and complexity of simple quantum algorithms.
Course Learning Outcome | ABET Outcome | Assessment |
Construct basic quantum circuits | 1 | HW 4 |
Express circuits using | 1,6 | HW 1,2,3,5,6 |
Express circuits using | 1 | HW 4,5,6 |
Analyze correctness/complexity | 1,6 | HW 4,5,6 |
Solve problems with | 1,3 | HW 5,6 |
In this course, we address several ABET Student Learning Outcomes:
ABET CAC Student Outcome Support (CS)
Student Outcome | 1 | 2 | 3 | 4 | 5 | 6 |
Support Level | 3 | 0 | 2 | 0 | 0 | 3 |
Students will be required to complete seven written homework assignments, detailed in the Schedule below which also includes the submission date for each assignment. Late homework will not be accepted. Participation in class discussions is expected.
In order to enroll in CSE 439, a student is required to be an approved computer science, computer engineering, or bioinformatics major, or request permission of the department. In addition, they must have completed CSE 250 or the equivalent. Moreover, MTH 309 is required as a co-requisite.
You will be required to submit your writeup of the assignment before 23:59 on the corresponding due date. For written homework assignments, we will only be accepting electronic submissions. These will be accepted via the autograding system called Autolab. Submissions must be in the form of PDF. There are two ways to complete your written homework:
Quizzes will be given at the start of some lectures. Quizzes will be based on reading material covered in lecture. There are intended to help students evaluate their current level of mastery of the material. If the overall quiz grade raises a student’s grade, it will be included, otherwise it will be discarded.
Grades will be determined using the standard decile scale, namely an A greater than 90% of the points, B for greater than 80%, C for greater than 70%, and D for grater than 60%. Points are the accumulated sum of points from the assignments listed in the Schedule. Quiz points will be separately totaled and added as bonus points to each student total.
In certain cases, students may be eligible to receive a temporary incomplete (I) grade. A grade of incomplete (I) indicates that additional course work is required to fulfill the requirements of a given course. Students may only be given an I grade if they have a passing average in coursework that has been completed and have well-defined parameters to complete the course requirements that could result in a grade better than the default grade. An I grade may not be assigned to a student who did not attend the course. Detailed information is available from the Undergraduate Course Catalog, https://catalog.buffalo.edu/policies/explanation.html.
We will use Piazza for class discussion. The system is designed to provide help from classmates, TAs, and myself quickly and efficiently. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza, although email to the instructors is welcome. If you have any problems or feedback for the developers, email team@piazza.com. Find our class page at: https://piazza.com/buffalo/fall2020/cse439/home.
Please note the following about the Piazza platform:
You should have received an invitation in your UB provided email to join our course on Piazza. You will be unable to join without being added by the teaching staff.
If you have any disability which requires reasonable accommodations to enable you to participate in this course, please contact the Office of Accessibility Resources, 60 Capen Hall, 645-2608, and also the instructor of this course. The office will provide you with information and review appropriate arrangements for reasonable accommodations. Additional information is available at http://www.buffalo.edu/studentlife/who-we-are/departments/accessibility.html.
Academic integrity is a fundamental university value. Through the honest completion of academic work, students sustain the integrity of the university while facilitating the university’s imperative for the transmission of knowledge and culture based upon the generation of new and innovative ideas. The UB undergraduate academic integrity policy is available at https://catalog.buffalo.edu/policies/integrity.html.
We will have an in-person Lecture once a week on Tuesday, and a virtual Video presentation on Thursday.
We will go over the course overview and syllabus. I will answer student questions about the course procedures and material. It will be essential in this course to write equations and derivations in this homework and submit them as PDF. Thus I recommend learning TeX or the Equation Editor for Word.
We also discuss linear spaces, bases and linear operators.
Assignment 0, Due 9/6
This assignment prepares the student to generate PDF homework and turn it in electronically.
Online resources
We discuss bases, linear operators, matrix representation, and matrix-vector multiplication.
Reading: Notes Ch. 2.1–2.4.1, QALA Ch. 1–3, NLA Ch. 1–2
Assignment 1, Due 9/13
This assignment covers linear vector spaces and linear operators.
We continue our discussion of linear algebra and its role in expressing quantum algorithms. We also consider the difference between classical probability theory and quantum mechanics.
Reading: Notes Ch. 1
Online resources
We define unitary operators, direct sum and direct product (tensor product) spaces.
Reading: Notes Ch. 2.4.2-3,2.5, NLA Ch. 2, QALA Ch. 3
We discuss dual spaces and the relation to norms.
Reading: NLA Ch. 3
Assignment 2, Due 9/27
This assignment covers linear vector spaces and linear operators.
We discuss vector and matrix norms.
Reading: Notes Ch. 2.6, NLA Ch. 3
We discuss projectors and relations between spaces.
Reading: NLA Ch. 6
We introduce the Singular Value Decomposition (SVD).
Reading: Notes Ch. 2.7, NLA Ch. 4–5
We introduce the QR factorization.
Reading: NLA Ch. 7
Assignment 3, Due 10/11
This assignment covers projectors and orthogonalization.
Watch lectures giving an overview of quantum computing by Jarrod McClean, John Preskill, Artur Ekert and Harry Buhrman.
We introduce the PETSc libraries for numerical linear algebra.
Reading: PETSc User’s Guide https://www.mcs.anl.gov/petsc/petsc-current/docs/manual.pdf
We introduce Gram-Schmidt orthogonalization.
Reading: NLA Ch. 8
Assignment 4, Due 10/18
This assignment covers PETSc implementation and conditioning.
Online resources
We take student questions and review topics from the first part of the course.
We discuss basic representations for quantum complexity theory.
Reading: Notes Ch. 3, QALA Ch. 2
Assignment 5, Due 11/1
This assignment covers introductory quantum algorithmics.
We define families of matrices that are useful for quantum circuits, and also review asymptotic notation.
Reading: QALA Ch. 4
We cover three distinct ways of looking at quantum circuits, and also define quantum feasibility.
Reading: Notes Ch. 3, QALA Ch. 5
We discuss Bell’s Theorem and the CHSH game.
Online resources
We introduce tricks for defining quantum algorithms.
Reading: QALA Ch. 6
Assignment 6, Due 11/22
This assignment covers elementary quantum algorithms, including Deutsch’s Algorithm.
At last, we spot a quantum algorithm, albeit not a useful one.
Reading: QALA Ch. 7
We introduce Deutsch’s Algorithm to test whether a unary Boolean function is constant.
Reading: QALA Ch. 8
We review material and go over any outstanding questions or confusions.
We introduce the Deutsch-Jozsa Algorithm which can differentiate a constant function from a balanced one.
Reading: QALA Ch. 9
Assignment 7, Due 12/7
This assignment covers the Deutsch-Jozsa Algorithm and Grover’s Algorithm.
We discuss the practicality of Grover’s Algorithm.
Online resources
We introduce Grover’s Algorithm for search problems.
Online resources
Reading: QALA Ch. 13
We examine the isomorphism between Grover’s Algorithm and Galperin’s billiards.
Online resources
We look at recent papers to understand what claims of quantum supremacy or advantage are actually about.
We review the first half of the course.
We review the second half of the course.