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
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.
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.
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.
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 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.
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 |
| [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 |