Cambridge University Press, 2008. — 567 p.
This book began as notes for a collection of lectures given as a graduate course in the summer semester (April to July) of 1993 at the Swiss Federal Institute of Technology (ETH), Zurich, building on a talk that I gave in Brazil in 1992. Subsequently, in the fall of 1995 and again in the spring of 1998, the course notes were extensively revised and expanded for an advanced topics course in the Department of Electrical and Computer Engineering at the University of Illinois, from which course has evolved the final form of the book that appears here. These lectures were also given in various forms at Eindhoven University, Michigan Technological University, Binghamton University, Washington University, and the Technical University of Vienna. The candid reactions of some who attended these lectures helped me greatly in developing the unique (perhaps idiosyncratic) point of view that has evolved, a view that insists on integrating recent developments in the subject of algebraic codes on curves into the classical engineering framework and terminology of the subject of error-control codes. Many classes of error-control codes and their decoding algorithms can be described in the language of the Fourier transform. This approach merges much of the theory of error-control codes with the subject of signal processing, and makes the central ideas more readily accessible to the engineer.
The theme of the book is algebraic codes developed on the line, on the plane, and on curves. Codes defined on the line, usually in terms of the one-dimensional Fourier transform, are studied in Chapters 2, 3, and 4_. These chapters provide a background and framework against which later chapters are developed. The codes themselves are defined in Chapter 2, while the decoding algorithms and the performance of the codes are studied in Chapters 3 and 4_. Codes defined on the plane, usually in terms of the two-dimensional Fourier transform, are studied in Chapters 5 and
6. Codes defined on curves, again in terms of the two-dimensional Fourier transform, are studied in Chapters 10, 11, and 12_. The exemplar codes under the three headings are the cyclic codes, the bicyclic codes, and the epicyclic codes. In addition, Chapters 7, 8, and 9 deal with some topics of mathematics, primarily computational algebraic geometry, in preparation for the discussion of codes on curves and their decoding algorithms. Readers who want to get quickly to the algebraic geometry codes without algebraic geometry may be put off by the digressions in the early chapters. My intention, however, is to assemble as much as I can about the role of the Fourier transform in coding theory.
The book is a companion to Algebraic Codes for Data Transmission (Cambridge University Press, 2003), but it is not a sequel to that book. The two books are independent and written for different audiences: that book written for the newcomer to the subject and this book for a reader with a more mathematical background and less need for instant relevance. The material in these books is not quite engineering and not quite mathematics. It belongs to an emerging field midway between these two subjects that is now sometimes called infomatics.
I have three goals in preparing this book. The first goal is to present certain recent developments in algebraic coding theory seamlessly integrated into the classical engineering presentation of the subject. I especially want to develop the theory of codes on curves in a direct way while using as little of the difficult subject of algebraic geometry as possible. I have avoided most of the deep theory of algebraic geometry and also its arcane terminology and notation, replacing much of this with that favorite tool of the engineer, the Fourier transform. I hope that this makes the material accessible to a larger audience, though this perhaps makes it unattractive to the algebraic geometer. The second goal is to develop the decoding algorithms for these codes with a terminology and pedagogy that is compatible and integrated with the usual engineering approach to the decoding algorithms of Reed–Solomon codes. For the most useful of the algebraic geometry codes – the hermitian codes – the ideas of computational algebraic geometry have been completely restructured by the engineers so as to develop practical computational algorithms for decoding. This formulation will make the ideas accessible to engineers wanting to evaluate these codes against practical applications or desiring to design encoders and decoders, and perhaps will provide fresh insights to mathematicians. My final goal is to extract some of the ideas implicit in the decoding algorithms and to present these ideas distilled into independent mathematical facts in a manner that might be absorbed into the rapidly developing topic of computational commutative algebra. I do believe that the now active interface between the topics of algebraic coding and algebraic geometry forms an open doorway through which ideas can and should pass in both directions.
Sequences and the One-Dimensional Fourier Transform
The Fourier Transform and Cyclic Codes
The Many Decoding Algorithms for Reed–Solomon Codes
Within or Beyond the Packing Radius
Arrays and the Two-Dimensional Fourier Transform
The Fourier Transform and Bicyclic Codes
Arrays and the Algebra of Bivariate
Computation of Minimal Bases
Curves, Surfaces, and Vector Spaces
Codes on Curves and Surfaces
Other Representations of Codes on Curves
The Many Decoding Algorithms for Codes on Curves