The fundamental theorem of algebra states that every non-constant polynomial with complex coefficients can be factorized on linear factors with coefficients from the same field. However, this is not true for numerous other equally important and interesting fields such as, for example, finite fields. All existing finite fields are of the q=pk order, where p is a prime number and k is a positive integer. Any two finite fields of the same order are mutually isomorfic, therefore the field of q order is unique; it is also known as »the Galois field«, named after the French mathematician Evariste Galois (1811-1832). This thesis deals with factorization of polynomials over finite fields.
The general rule states that some polynomials are not reducible, yet each polynomial with coefficients of the field can be uniquely factorized into irreducible factors. There are various known algorithms that can determine whether or not a polynomial is reducible and – in the case of reducible polynomials – also find this factorization. There are several such algorithms, however, this thesis shall focus on the Berlekamp's algorithm.
The introductory chapter introduces the historical development of the various approaches to polynomial factorization and presents some modern applications that are currently in use. The second chapter focuses on basic concepts and characteristics of algebraic structures and some classic results that are crucial for the understanding of the algorithm (e.g. groups, rings, fields, division rings and polynomial rings.). The algorithm also uses the Chinese remainder theorem for polynomials and Euclidean algorithm for calculating the greatest common divisor of two polynomials.
The first part of Chapter 3 (i.e. the main chapter of the thesis) demonstrates 4 naive methods for the finding of polynomial factorization. For each of the methods we first introduced factorization of a polynomial over real numbers and then continued with an example of a polynomial with coefficients in the finite field. The sieve method, for instance, builds a list of irreducible polynomials of low degrees. Irreducible polynomials up to (and including) degree 6 over the finite fields Z2, Z3, Z5 and Z7 can be calculated using our own code made in the VisualC# programming language. These naive methods are followed by a detailed description of the Berlekamp's algorithm with theorems, proofs and various examples. At the end of section we present our implementation of the algorithm in the computational algebra system MAGMA.
|