To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
Coding theory originated with the 1948 publication of the paper “A mathematical theory of communication” by Claude Shannon. For the past half century, coding theory has grown into a discipline intersecting mathematics and engineering with applications to almost every area of communication such as satellite and cellular telephone transmission, compact disc recording, and data storage.
During the 50th anniversary year of Shannon's seminal paper, the two volume Handbook of Coding Theory, edited by the authors of the current text, was published by Elsevier Science. That Handbook, with contributions from 33 authors, covers a wide range of topics at the frontiers of research. As editors of the Handbook, we felt it would be appropriate to produce a textbook that could serve in part as a bridge to the Handbook. This textbook is intended to be an in-depth introduction to coding theory from both a mathematical and engineering viewpoint suitable either for the classroom or for individual study. Several of the topics are classical, while others cover current subjects that appear only in specialized books and journal publications. We hope that the presentation in this book, with its numerous examples and exercises, will serve as a lucid introduction that will enable readers to pursue some of the many themes of coding theory.
Fundamentals of Error-Correcting Codes is a largely self-contained textbook suitable for advanced undergraduate students and graduate students at any level.
In this chapter we examine the properties of the binary and ternary Golay codes, the hexacode, and the Pless symmetry codes. The Golay codes and the hexacode have similar properties while the Pless symmetry codes generalize the extended ternary Golay code. We conclude the chapter with a section showing some of the connections between these codes and lattices.
The binary Golay codes
In this section we examine in more detail the binary Golay codes of lengths 23 and 24. We have established the existence of a and a binary code in Section 1.9.1. Recall that our original construction of the extended binary Golay code used a bordered reverse circulant generator matrix, and the code was obtained by puncturing. Since then we have given different constructions of these codes, both of which were claimed to be unique codes of their length, dimension, and minimum distance. We first establish this uniqueness.
Uniqueness of the binary Golay codes
Throughout this section let C be a (possibly nonlinear) binary code of length 23 and minimum distance 7 containing M ≥ 212 codewords, one of which is 0. In order to prove the uniqueness of C, we first show it has exactly 212 codewords and is perfect. We then show it has a uniquely determined weight distribution and is in fact linear. This proof of linearity follows along the lines indicated by.
Mathematicians have tried in vain to this day to discover some order in the sequence of prime numbers, and we have reason to believe that it is a mystery into which the mind will never penetrate.
Leonard Euler
Given the number of times we've mentioned Euler's work, you might think it is odd that the zeta function is named for Riemann. The next three chapters will try to counter that impression. In fact, what Riemann showed was that, despite Euler's quote above, there is a certain regularity to the sequence of prime numbers.
Georg Friedrich Bernhard Riemann (1826–1866). Riemann, just like Euler before him, began university studies as a student of theology, in accordance with his father's wishes, before switching to mathematics. Riemann had a very short career and produced only a few papers before he died of tuberculosis. In spite of that, he was one of the greatest mathematicians of all time.
For his Habilitationsvortrag, the advanced part of his Ph.D. degree, Riemann prepared three potential topics to lecture on. To his surprise, Gauss selected “On the Hypotheses that lie at the foundations of geometry.” The first part of the lecture describes the mathematical problem of defining n-dimensional space with an abstract concept of distance. In the second part, he discussed the question of the actual geometry of the universe we live in.
Traditional books on number theory that emphasize the algebraic aspects begin with the subject of modular arithmetic. This is a very powerful technique, based on the work of Fermat, Euler, and Gauss. The idea is to fix an integer, n, and group all the rest of the integers into one of n classes, depending on what remainder you get when you divide by n. A more elegant way of saying this is that two integers, a and b, are in the same class if n divides b − a or, in other words, b − a is an integer multiple of n. In this case, we write a ≡ b mod n. (This is pronounced “a is congruent to b modulo n.”) For example, with n = 6, 5 ≡ 17 mod 6, −2 ≡ 4 mod 6, and even 6 ≡ 0 mod 6. Because there are seven days in a week, the fact that 3 ≡ 10 mod 7 means that the 3rd of the month and the 10th of the month fall on the same weekday.
Example 14.0.1. The following steps show that ≡ is an equivalence relation.
Show that ≡ is reflexive, that is, that a ≡ a mod n.
Show that ≡ is symmetric; that is, if a ≡ b mod n, then b ≡ a mod n.
Show that ≡ is transitive; that is, if a ≡ b mod n and b ≡ c mod n, then a ≡ c mod n.
After this long detour through calculus, we are ready to return to number theory. The goal is to get some idea of how prime numbers are distributed among the integers. That is, if we pick a large integer N, what are the chances that N is a prime? A rigorous answer to this question is hard, so in this section we will only give a heuristic argument. The general idea of an argument based on probability is very old. Not only is it known not to be a proof (Hardy, Littlewood, 1922), but the way in which it fails to be a proof is interesting.
Because this will be an argument about probability, some explanation is necessary. If you flip a fair coin twelve times, you expect heads to come up about 6 = 12 × 1/2 times. You can think of this 6 as 1/2 + 1/2+ ⋯ +1/2, twelve additions. If you roll a fair die twelve times, you expect to roll a five about 2 = 12 × 1/6 times. The 2 is 1/6 added twelve times. This tells us what to do when the probability changes from one trial to the next. Imagine an experiment in which, at the kth trial, the chance of success is 1/k. If you repeat the experiment n times, how many successes do you expect? The answer is 1 + 1/2 + 1/3+ ⋯ +1/n = Hn. Because we already know that the Harmonic number, Hn, is about log(n) in size, we expect log(n) successes after n trials.