In addition to being very basic objects in Algebra and Number Theory, finite fields have found many applications in Cryptography, Coding Theory and other aspects of communications, Statistical design of experiments and many other places. It is thus important to be able to compute efficiently in finite fields.
This course will focus on the current state of the art in computations on finite fields. We will discuss algorithms for the basic operations, solving equations, extracting roots, factoring polynomials, solving the discrete logarithm problem and many others. For some of these problems there are efficient algorithms, others only have probabilistic efficient algorithms, while some do not have efficient algorithms at all.
Prerequisite: graduate algebra
Textbook: none. Most of the material can be found in
Lidl-Neiderreiter "Finite Fields", Cohen "A course in Computational
Algebraic Number Theory" or in Bach-Shallit "Algorithmic Number Theory".
Class notes taken by students: The only requirement for this class, for registered students, is to take turns to write up notes in TeX that I will make available to all other students through this webpage.
The whole set of notes as one file