Computational Algebra and Number Theory
Jan - May 2025

Lectures

Following is an outline of lectures given along with references and links to additional reading. For abbreviations, AL, CLO and vGG check the references page.

Lec 1 (07 Jan, Tue) : Administrative information. Algorithms via algebra. Scenarios where algebra helps in answering combinatorial and number theoretic problems - (1) Finding perfect matching in graphs, (2) Primality testing. Polynomial identity testing.

Reading : Perfect matching via determinants, see here; Agrawal-Biswas theorem see Lemma 3.1.

Lec 2 (09 Jan, Thu) : Scenarios where algebra helps in practical settings - (3) Robot motion - forward and inverse kinematic problems (4) Geometric theorem proving. Ideals and varieties. The central objects and questions. Goals of this course.

Reading : CLO Chapter 6, section 1-4; Section 1.2.4 of a book by B. Mishra.

Theme: Basics of algebra and algorithm design

Lec 3 (11 Jan, Sat) : (Compensatory lecture) Solving linear recurrences in parallel and its connection to computing determinant in parallel (Csanky). Structure of the course. Well ordering, division theorem. A basic algorithm for multiplication.

Reading : Class notes; Section 1.1 of Dasgupta-Papadimitriou-Vazirani text. See this moodle link.

Lec () (14 Jan, Tue) : Holiday due to Pongal

Lec 4 (16 Jan, Thu) : A $O(n^2)$ algorithm for multiplication and division of $n$ bit integers. Big-oh notation. Proof of correctness and runtime analysis.

Reading : Class notes; Section 1.1 of Dasgupta-Papadimitriou-Vazirani text. See this moodle link.

Lec 5 (21 Jan, Tue) : Completed runtime for division algorithm. Modulo computations. Modular exponentiation, greatest common divisor of integers and Euclid’s algorithms for computing them. Verifying GCD computation via extended Euclid’s algorithm.

Reading : Class notes; Section 1.2 of Dasgupta-Papadimitriou-Vazirani text.

Lec () (23 Jan, Thu) : Class cancelled. Instructor out of town.

Lec 6 (28 Jan, Tue) : Completed the discussion on Extended Euclid’s algorithm. Integer multiplication via divide and conquer approach - Karatsuba’s algorithm and correctness. Need to study structured sets. Basic structures - Groups, subgroups and cosets. Examples. Group isomorphisms. Lagrange’s theorem - statement and proof.

Reading : Class notes; Section 1.2 of Dasgupta-Papadimitriou-Vazirani text.

Lec 7 (30 Jan, Thu) : Rings, unit and zero element, examples. Integral domains. Fields. $\mathbb{Z}_n$ is a field iff $n$ is prime. Ideals, examples. Polynomial rings.

Reading : Class notes

Lec 8 (04 Feb, Tue) : Ideals over polynomial rings. Trivial and non-trivial ideals. Describing an ideal and generator set of an ideal. Principal ideas and Principal ideal domains. Every field is a principal ideal domain. Every principal ideal domain is an integral domain. Ideals over univariate polynomial ring. Division theorem for polynomials.

Reading : (AL) Chap 1. Section 1.3 and Class notes

Lec 9 (06 Feb, Thu) : Division theorem - correctness and uniquenss of quotient and remainder. Every ideal over univariate polynomials is principal. Computing the generators of an ideal over univariate polynomials - Euclid’s algorithm for GCD of polynomials. Checking solvability of system of univariate polynomials over $\mathbb{C}[x]$ using GCD computation.

Reading : (AL) Chap 1. Section 1.3 and Class notes

Lec 10 (11 Feb, Tue) : Basic operations on univariate polynomials - addition, multiplication and evaluation and their algorithms. Analysis of cost in terms of the number of arithmetic operations. Representations of a polynomial - as coefficients, roots+scalar, valuation representations. Cost of the basic operations sufficient for various polynomial operations.

Reading : Class notes, Section 2.6 of Dasgupta-Papadimitriou-Vazirani text. See this moodle link.

Lec 11 (13 Feb, Thu) : Conversion between coefficient and valuation representations - Discrete Fourier Transforms. Idea of nice sets and divide and conquer strategy. Algorithm for evaluation and runtime analysis achieving $O(n\log n)$ time. Overview of a faster algorithm for multiplying univariate polynomials - Fast Fourier Transforms.

Reading : Class notes, Section 2.6 of Dasgupta-Papadimitriou-Vazirani text. See this moodle link.

Lec 12 (18 Feb, Tue) : Test 1 and discussion of questions.

Reading :

Lec 13 (20 Feb, Thu) : Fast Fourier Transforms (FFT). Computing FFT and inverse FFT - algorithms and correctness. Description of algorithm univariate polynomial multiplication in $O(n \log n)$ time. Towards a faster algorithm for integer multiplication - need for a modular variant of FFT.

Reading : Class notes

Lec 14 (25 Feb, Tue) : Overview of algorithm for integer multiplication via polynomial representation. Issues with direct application of FFT. Need for modular FFT. Challenges - computation over integer rings (which is not even an integral domain), nice sets (without using complex numbers) and efficiency of operations over integer ring (without spending quadratic bit operations). Fix for each of these issues. Overall procedure for the modular FFT.

Reading : Class notes

Lec 15 (27 Feb, Thu) : Review of the issues. Algorithm for modular FFT. Correctness and runtime arguments – computing FFT of a degree $K$ polynomial with coefficients of $L$ bits over $Z_M$ where $M=2^L+1$ can be done in $O(KL\log K)$ bit operations. An algorithm for integer multiplication using modular FFT – correctness. Runtime analysis and solving the resulting recurrence equations properly. Multiplying to $N$ bit integers in $O(N(\log N)^{lg 6})$ bit operations.

Reading : Class notes. We saw a weaker result in class. For a nice exposition of the original Schonhage-Strassen algorithm, please see here.

Theme: Ideals and Grobner basis

Lec 16 (04 Mar, Tue) : Solving polynomial system of equations. Main objects - Ideals and varieties. Algebraic vs geometric picture - the maps I and V. Argued that $V(I(V)) = V$. The basic problems - Ideal membership problem, Ideal description problem. Monomial orderings - properties and example. A necessary and sufficient condition for an ordering to be a well-ordering.

Reading : Cox-Little-O’Shea Chap 2 - Section 1,2.

Lec 17 (06 Mar, Thu) : Monomial orderings - properties and examples - lex order and graded lex order. Multi-degree. Division algorithm - algorithm, termination and correctness. Division algorithm and Ideal membership problem - need for a better representation of ideals.

Reading : Cox-Little-O’Shea Chap 2 - Section 3.

Lec 18 (11 Mar, Tue) : Monomial Ideals, examples and properties - membership check in monomial ideals, condition of equivalence of monomial ideals. Dickson’s lemma - every monomial ideal is finitely generated. Proof of Dickson’s lemma via induction.

Reading : Cox-Little-O’Shea Chap 2 - Section 4.

Lec 19 (13 Mar, Thu) : Completed the discussion on Dickson’s lemma. Leading term ideal. Hilbert’s basis theorem - statement and proof using Dickson’s lemma. Motivation behind the definition of Grobner basis.

Reading : Cox-Little-O’Shea Chap 2 - Section 5.

Theme: Polynomials and algorithms for factorization

Lec 20 (18 Mar, Tue) : Algorithm for the ideal membership problem. Grobner basis - definition and examples. Division using Grobner basis. Computing Grobner basis. Buchberger criteria. Buchberger algorithm. Termination and correctness of Buchberger algorithm. Reduced Grobner basis and Ideal equality problem. An application of Grobner basis - Three coloring of graphs. Another application - solving the integer programming problem. Geometric theorem proving. Elimination ordering and computing intersection of ideals. Finding roots for univariate polynomials - via factorization and via linear algebra (companion matrix). Basics of finite fields - Integral domain, examples. Irreducibles and primes, examples. Primes are irreducibles. Unique factorization domains. Gauss’s Lemma. Irreducibility. Content of polynomials. Eisenstein’s criteria. Cyclotomic polynomials. Quotient rings, Finite fields from irreducibility. Structure of finite fields - ring isomorphisms, Chinese remaindering over quotient rings. Connection to vector space over finite fields and field extensions. Characteristic of a ring. Characterisation of finite fields. Splitting fields. Constructing finite fields - minimal polynomials. Berlekamp’s factorization algorithm - 1. Berlekamp’s factorization algorithm - 2. Frobenius homomorphism. Full algorithm and runtime analysis. Improvements to the algorithm. Improvements to GCD computation - minimal polynomial, Cantor-Zassenhaus algorithm. Randomized algorithm for factorizing minimal polynomial due to Rabin.

Reading :

Lec 21 (20 Mar, Thu) : Square-freeness check. Distinct degree and Equal degree factorization over finite fields.

Reading :

Lec 22 (25 Mar, Tue) : From factoring over finite fields to factoring over rationals. Handling large field size - Hensel lifting. Hensel lifting for ideals.

Reading :

Lec 23 (27 Mar, Thu) : Bivariate factorization.

Reading :

Lec 24 (01 Apr, Tue) : Factoring of integer polynomials. Zassenhaus algorithm. Introduction to Lattices. Gram Schmidt orthogonalization, Reduced basis.

Reading :

Lec 25 (03 Apr, Thu) : Lenstra-Lenstra-Lovasz (LLL) algorithm. Correctness and runtime. Back to completing factoring algorithm.

Reading :

Theme: Polynomial identity testing and Primality checking

Lec 26 (08 Apr, Tue) : DeMillo-Lipton-Schwartz-Zippel lemma - two proofs of correctness. Representation of polynomials. Arithmetic circuit identity testing (ACIT). Randomized algorithm for ACIT.

Reading :

Lec () (10 Apr, Thu) : Holiday due to Mahavir Jayanti

Lec 27 (15 Apr, Tue) : Solving Primality testing via derandomizing a special case of ACIT. Chen-Kao and Lewin-Vadhan algorithms.

Reading :

Lec 28 (17 Apr, Thu) : Randomized algorithm for primality testing due to Agrawal and Biswas.

Reading :

Lec 29 (22 Apr, Tue) : Details of deterministic primality testing algorithm due to Agrawal, Kayal and Saxena.

Reading :