This text offers an introduction to error-correcting linear codes for graduate students in mathematics, computer science and engineering and researchers. The book differs from other standard texts in its emphasis on the classification of codes by means of isometry classes. The relevant algebraic concepts like finite fields and group actions are developed rigorously. Cyclic codes are discussed in great detail, as well as their application in CD players. In the last four chapters these isometry classes are enumerated, and representatives are constructed algorithmically with or without a prescribed automorphism group. Furthermore, lattice basis reduction is presented as a tool for computing generator matrices and the minimum distance of codes. The attached CD provides access to generator matrices of more than 70000 nonisometric optimal codes, covering all optimal codes for a given set of code parameters. It also contains software for evaluating minimum distances, weight enumerators, and for the construction of codes.
The fascinating theory of error-correcting codes is a rather new addition to the list of mathematical disciplines. It grew out of the need to communicate information electronically, and is currently no more than 60 years old. Being an applied discipline by definition, a surprisingly large number of pure mathematical areas tie into Coding Theory. If one were to name just the most important connections, one would start of course with Linear Algebra, then list Algebra and Combinatorics, and further mention Number Theory and Geometry as well as Algebraic Geometry.
Being a thorough introduction to the field, this book starts from the very beginning, which is the channel model of communication in the presence of noise. From there, we develop the fundamental concepts of error-correcting codes, like the Hamming metric and the maximum likelihood decoding principle. After discussing dual codes and simple decoding procedures, this book takes an unusual turn. The standard approachwould be tomove on fromthere and introduce either more theory or present standard constructions of codes. The approach taken here is different.