CMPT 409 & 981: Algebra and Computation

Instructor: Robert Andrews (robert_andrews@sfu.ca)

TA: Hazel Guan

Lectures: Wednesday 3:30–4:20pm and Friday 2:30–4:20pm, AQ 4120

Office hours: Thursday 3:00–4:00pm (or by appointment), TASC1 9405

Discussion forum: CourSys

Course overview

Course description

This course will cover a variety of topics that lie in the intersection of algebra, algorithms, and complexity theory. The contents of this course are divided into three parts.

  1. In the first part of the course, we will cover basic algorithms for computing with polynomials and matrices, learning tools and techniques useful for the design of algorithms for algebraic problems.
  2. The second part will introduce complexity-theoretic aspects of algebra and computation through arithmetic circuit complexity and the polynomial identity testing problem.
  3. The final part of the course will cover powerful and surprising applications of algebra to other areas of theoretical computer science, many of which occurred in the last few years!

Prerequisites

Mathematical maturity and strong background in undergraduate-level algorithms, linear algebra, and probability theory. Prior background with advanced algebra will be useful, but is not necessary; the course will largely be self-contained.

Coursework

Collaboration policy

You may work on and discuss homework problems with one another. However, each student must individually write their own solutions and list any collaborations in which they participated. If you use external sources, be sure to cite them. Be mindful of the course policy on generative AI below.

Late work policy

Any assignment may be submitted up to two days (i.e., 48 hours) late, no questions asked. Late assignments will receive a 10% grade penalty.

Generative AI use

Generative AI has had an astounding impact on research in mathematics and theoretical computer science. These tools are poised to be widely adopted, and it is important to learn to use them effectively.

However, the goal of this course is for students to learn the course content and be exposed to a beautiful connection between mathematics and computer science. This kind of learning requires time, effort, and active engagement. To this end, the use of generative AI to complete work in this course is prohibited.

Course schedule

This is a tentative schedule of the topics we plan to cover during the course and is subject to change.

Date Topic References Homework
September 9 Administrivia, course introduction scribbles HW0 released
September 11 Fast Fourier transform, fast polynomial multiplication, fast multipoint evaluation scribbles, [vzGG §§8.2, 10.1]  
September 16 Polynomial GCD and extended Euclidean scheme scribbles, [vzGG §§3.2, 3.3, 4.2] HW0 due, HW1 released
September 18 Resultants, subresultants, polynomial GCD via linear algebra [vzGG §§6.3, 6.10], [von zur Gathen 1984]  
September 23 Girard–Newton identities, parallel algorithms for linear algebra    
September 25 Parallel algorithms for polynomial GCD   HW2 released
September 30 National Day for Truth and Reconciliation, no classes    
October 2 Fast linear algebra   HW1 due
October 7 Tensors and bilinear algorithms    
October 9 Faster linear algebra: Schönhage’s asymptotic sum inequality    
October 14 Introduction to arithmetic circuit complexity   HW2 due, HW3 released
October 16 Structural results for arithmetic circuits    
October 21 Weak lower bounds for arithmetic circuits    
October 23 Strong lower bounds for low-depth arithmetic circuits    
October 28 Introduction to polynomial identity testing
(Robert out of town, pre-recorded lecture)
  HW3 due, HW4 released
October 30 Derandomizing special cases of polynomial identity testing
(Robert out of town, pre-recorded lecture)
   
November 4 Hardness versus randomness 1/2    
November 6 Hardness versus randomness 2/2   HW5 released
November 11 Remembrance Day, no classes    
November 13 Gröbner bases and ideal membership   HW4 due
November 18 Fast exponential-time algorithms from tensors    
November 20 Applications of algebra to coding theory    
November 25 Parallel algorithms for combinatorial optimization 1/2   HW5 due
November 27 Parallel algorithms for combinatorial optimization 2/2    
December 2 Applications of algebra to space complexity 1/2    
December 4 Applications of algebra to space complexity 2/2    
December TBD Project presentations    

Other resources

Similar courses taught by others

Textbooks and supplementary reading

[vzGG] Modern Computer Algebra by Joachim von zur Gathen and Jürgen Gerhard
[CLO] Ideals, Varieties, and Algorithms by David Cox, John Little, and Donal O’Shea
[Shoup] A Computational Introduction to Number Theory and Algebra by Victor Shoup
[Bläser] Fast Matrix Multiplication by Markus Bläser
[BCS] Algebraic Complexity Theory by Peter Bürgisser, Michael Clausen, and Amin Shokhrollahi
[SY] Arithmetic Circuits: A Survey of Recent Results and Open Questions by Amir Shpilka and Amir Yehudayoff
[Saptharishi] A survey of lower bounds in arithmetic circuit complexity by Ramprasad Saptharishi