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.
\( \def\PAL{\rm PAL} \def\HP{\rm HP} \def\MP{\rm MP} \def\EQ{\rm EQ} \def\USELESS{\rm USELESS} \def\EMPTY{\rm EMPTY} \def\DTIME{\sf DTIME} \def\NTIME{\sf NTIME} \def\DSPACE{\sf DSPACE} \def\NSPACE{\sf NSPACE} \def\P{\sf P} \def\co{\sf co} \def\NP{\sf NP} \def\LOG{\sf LOG} \def\NLOG{\sf NLOG} \def\PSPACE{\sf PSPACE} \def\NPSPACE{\sf NPSPACE} \def\EXP{\sf EXP} \)
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 :