CSE 439: Quantum Computation
through Linear Algebra
Fall 2020 Syllabus

Matthew G. Knepley
101 Davis Hall knepley@buffalo.edu

1 Course Description

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.

2 Course Information

Instructor Matthew G. Knepley
Class times 9:30am to 10:50am on Tuesday
Location Davis 101
Office Hours11:00am to 12:00pm on Wednesday (online)

3 Required and Recommended Reading

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.

4 Learning Outcomes

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
  linear algebra

1,6 HW 1,2,3,5,6

Express circuits using
  Boolean algebra

1 HW 4,5,6

Analyze correctness/complexity
  of quantum algorithms

1,6 HW 4,5,6

Solve problems with
  simple quantum algorithms

1,3 HW 5,6

In this course, we address several ABET Student Learning Outcomes:

ABET CAC Student Outcome Support (CS)








Student Outcome123456
Support Level 302003

5 Course Requirements

Students will be required to complete six 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.

5.1 Requisite Courses

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.

5.2 Written Homework

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:

5.3 Quizzes

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.

6 Grading Policy

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.

6.1 Course Webpage

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:

  1. If you are not comfortable posting with your name visible to everyone, anonymous posting is available.
  2. As anonymous posting is available on Piazza, please be respectful to your classmates.
  3. Please do not post sensitive material/questions to everyone on Piazza. You may restrict posts to only be visible to TAs/myself. If you are uncertain, pose a question with restricted visibility and we can always open it to the entire class if it is a general concern.
  4. A follow up to the previous point – don’t post solutions to Piazza. If you are posting your specific work, please limit visibility.

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.

7 Accessibility Services and Special Needs

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.

8 Academic Integrity

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.

9 Schedule

We will have an in-person Lecture once a week on Tuesday, and a virtual Video presentation on Thursday.

9.1 Week 1: Introduction and Linear Spaces 8/31

9.1.1 Lecture 1: Course Outline and Structure. What is Linear Algebra?

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/7

This assignment prepares the student to generate PDF homework and turn it in electronically.

Online resources

9.1.2 Video 1: Linear Operators

We discuss bases, linear operators, matrix representation, and matrix-vector multiplication.

Reading: QALA Ch. 1, NLA Ch. 1 and 2

Assignment 1, Due 9/14

This assignment covers linear vector spaces and linear operators.

9.2 Week 2: Introduction and Linear Spaces 9/7

9.2.1 Lecture 2: What is Quantum Computing?

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.

Online resources

9.2.2 Video 2: Unitary Operators and the Tensor Product

We define unitary operators, and also the tensor product of spaces.

Reading: NLA Ch. 2, QALA Ch. 3

9.3 Week 3: Norms and Dual Spaces 9/14

9.3.1 Lecture 3: Dual Spaces

We discuss dual spaces and the relation to norms.

Reading: NLA Ch. 3

Assignment 2, Due 9/28

This assignment covers linear vector spaces and linear operators.

9.3.2 Video 3: Vector and Matrix Norms

We discuss vector and matrix norms.

Reading: NLA Ch. 3

9.4 Week 4: SVD 9/21

9.4.1 Lecture 4: Projectors

We discuss projectors and relations between spaces.

Reading: NLA Ch. 6

9.4.2 Video 4: SVD

We introduce the Singular Value Decomposition.

Reading: NLA Ch. 4–5

9.5 Week 5: QR 9/28

9.5.1 Lecture 5: QR

We introduce the QR factorization.

Reading: NLA Ch. 7

Assignment 3, Due 10/12

This assignment covers projectors and orthogonalization.

9.5.2 Video 5: Prepare for Quantum Algorithms

Watch lectures giving an overview of quantum computing by Jarrod McClean, John Preskill, Artur Ekert and Harry Buhrman.

9.6 Week 6: Implementing Orthogonalization 10/5

9.6.1 Lecture 6: PETSc

We introduce the PETSc libraries for numerical linear algebra.

Reading: PETSc User’s Guide

9.6.2 Video 6: Gram-Schmidt

We introduce Gram-Schmidt orthogonalization.

Reading: NLA Ch. 8

Assignment 4, Due 10/19

This assignment covers PETSc implementation and conditioning.

Online resources

9.7 Week 7: Complexity 10/12

9.7.1 Lecture 7: Review and Evaluation

We take student questions and review topics from the first part of the course.

9.7.2 Video 7: Strings and Boolean Functions

We discuss basic representations for complexity theory.

Reading: QALA Ch. 2

Assignment 5, Due 10/29

This assignment covers introductory quantum algorithmics.

9.8 Week 8: Complexity 10/19

9.8.1 Lecture 8: Feasibility and Asymptotics

We define quantum feasibility and asymptotic notation. We also cover three distinct ways of looking at quantum circuits.

Reading: QALA Ch. 4

9.8.2 Video 8: Special Matrices

We define families of matrices that are useful for quantum circuits.

Reading: QALA Ch. 5

9.9 Week 9: Quantum Tricks 10/26

9.9.1 Lecture 9: Bell’s Theorem

We discuss Bell’s Theorem and the CHSH game.

Online resources

9.9.2 Video 9: Tricks

We introduce tricks for defining quantum algorithms.

Reading: QALA Ch. 6

Assignment 6, Due 11/23

This assignment covers elementary quantum algorithms, including Deutsch’s Algorithm.

9.10 Week 10: Deutsch’s Algorithm 11/2

9.10.1 Lecture 10: Phil’s Algorithm

At last, we spot a quantum algorithm, albeit not a useful one.

Reading: QALA Ch. 7

9.10.2 Video 10: Deutsch’s Algorithm

We introduce Deutsch’s Algorithm to test whether a function is constant.

Reading: QALA Ch. 8

9.11 Week 11: Deutsch-Jozsa Algorithm 11/9

9.11.1 Lecture 11: Review

We review material and go over any outstanding questions or confusions.

9.11.2 Video 11: Deutsch-Jozsa Algorithm

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.

9.12 Week 12: Grover’s Algorithm 11/16

9.12.1 Lecture 12: Grover’s Algorithm

We discuss the practicality of Grover’s Algorithm.

Online resources

9.12.2 Video 12: Grover’s Algorithm

We introduce Grover’s Algorithm for search problems.

Online resources

Reading: QALA Ch. 13

9.13 Week 13: UB Fall Recess 11/23

9.13.1 Lecture 13: No class

9.14 Week 14: Using Grover’s Algorithm 11/30

9.14.1 Lecture 14: Solving a problem with Grover

We solve a completely unstructured search problem with Grover’s algorithm.

9.14.2 Video 14: Grover in PETSc

We implement Grover’s Algorithm using our linear algebra tools in PETSc.

9.15 Week 15: Review Week 12/7

9.15.1 Lecture 15A: Review of Part I

We review the first half of the course.

9.15.2 Lecture 15B: Review of Part II

We review the second half of the course.