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

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.

Theme: Ideals and Grobner basis

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) : Ideal view of GCD. Generators of an ideal. Describing an ideal. Ideals of polynomial ring. Division theorem for polynomials. Computing the generators of an ideal over univariate polynomials - Euclid’s algorithm for GCD of polynomials. Representations of a polynomial. Algorithms for operations on polynomials - evaluation, multiplication via fast fourier transforms and interpolation. Goals - Solving polynomials equations, Ideal membership problem, Ideal description problem. Ideals over multivariate polynomials. Generating set via Dickson’s Lemma. Monomial orderings - properties and examples. Multi-degree. Division algorithm - algorithm, termination and correctness. Hilbert’s basis theorem - statement and proof. Ideals and Varieties - geometric view. Algorithm for the ideal membership problem. Grobner basis - definition and examples. Division using Grobner basis. Chinese remaindering. Computing Grobner basis. Buchberger criteria. Buchberger algorithm.

Reading :

Lec 9 (06 Feb, Thu) : Termination and correctness of Buchberger algorithm. Reduced Grobner basis and Ideal equality problem.

Reading :

Lec 10 (11 Feb, Tue) : An application of Grobner basis - Three coloring of graphs. Another application - solving the integer programming problem. Geometric theorem proving.

Reading :

Lec 11 (13 Feb, Thu) : Elimination ordering and computing intersection of ideals.

Reading :

Theme: Polynomials and algorithms for factorization

Lec 12 (18 Feb, Tue) : 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.

Reading :

Lec 13 (20 Feb, Thu) :

Reading :

Lec 14 (25 Feb, Tue) : Irreducibility. Content of polynomials. Eisenstein’s criteria. Cyclotomic polynomials. Quotient rings, Finite fields from irreducibility.

Reading :

Lec 15 (27 Feb, Thu) : Structure of finite fields - ring isomorphisms, Chinese remaindering over quotient rings. Connection to vector space over finite fields and field extensions.

Reading :

Lec 16 (04 Mar, Tue) : Characteristic of a ring. Characterisation of finite fields. Splitting fields. Constructing finite fields - minimal polynomials.

Reading :

Lec 17 (06 Mar, Thu) : Berlekamp’s factorization algorithm - 1

Reading :

Lec 18 (11 Mar, Tue) : Berlekamp’s factorization algorithm - 2. Frobenius homomorphism.

Reading :

Lec 19 (13 Mar, Thu) : Full algorithm and runtime analysis. Improvements to the algorithm.

Reading :

Lec 20 (18 Mar, Tue) : 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 :