- Instructor : Chandan Saha Course Level and No. of Credits : 300 and 3:1 Lecture time : M,W 11:30-13:00.
- Objective : Given the striking applications of algebraic methods in cryptography, coding theory and computational complexity theory, the aim of this course is to gain familiarity with some of the important and fundamental algebraic tools & techniques and see how these are applied effectively in the above-mentioned areas. The focus would be on theoretical aspects of `Computer Algebra' & the use of `Algebraic methods in theoretical computer science'.
- Syllabus : The course will consist of two parts - Part 1: Computational aspects of algebra & number theory (~18 lectures) Part 2: Use of algebraic methods in theoretical computer science (~10 lectures).
Part 1 : We will study the tools Chinese remaindering, Discrete Fourier Transform, Resultant of polynomials, Hensel lifting, Automorphisms of rings, Short vectors in Lattices, Smooth numbers etc. - and see how these tools are used to design algorithms for certain fundamental problems like integer & polynomial factoring, integer & matrix multiplication, fast linear algebra, root finding, primality testing, discrete logarithm etc.
Part 2: This will deal with certain applications of algebraic methods/algorithms in cryptography (RSA cryptosystem, Diffie-Hellman), coding theory (Reed-Solomon & Reed-Muller codes, locally decodable codes), introduction to analysis of boolean functions (Fourier analysis) and expander graphs.
- References : A. The books - "Modern Computer Algebra" by von zur Gathen and Gerhard, and "Introduction to Finite Fields", by Lidl & Niederreiter.
B. Relevant research papers and online lecture notes.
C. A similar course taught by the instructor at MPI.
- Prerequisites : Basic familiarity with linear algebra and properties of finite fields (as in the Chapter 1-3 of the book `Introduction to finite fields and their applications' by Rudolf Lidl and Harald Niederreiter). Alternatively, an undergraduate course in algebra. Most importantly, some mathematical maturity with an inclination towards theoretical computer science.
- Grading policy : Assignments - 40%; Mid-term exam - 30%; End-term exam - 30%
- Lecture notes : The following lecture notes are from a previous offering of a similar course at MPII, co-taught with Markus Bläser .
- Assignments : Assignment 1 (due date: Feb 6, 2013), Assignment 2 (due date: Feb 28, 2013), Assignment 3 (due date: April 3, 2013), Assignment 4 (due date: April 24, 2013)
- Exams : Mid-sem (due date: Mar 18, 2013)