11.07.2015 Views

Abstract Algebra Theory and Applications - Computer Science ...

Abstract Algebra Theory and Applications - Computer Science ...

Abstract Algebra Theory and Applications - Computer Science ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

7.2 LINEAR CODES 117Example 7. In Table 7.3, the codewords c 1 = (00000), c 2 = (00111),c 3 = (11100), <strong>and</strong> c 4 = (11011) determine a single error-correcting code.Table 7.3. Hamming distances for an error-correcting code00000 00111 11100 1101100000 0 3 3 400111 3 0 4 311100 3 4 0 311011 4 3 3 0Historical NoteModern coding theory began in 1948 with C. Shannon’s paper, “A Mathematical<strong>Theory</strong> of Information” [7]. This paper offered an example of an algebraic code, <strong>and</strong>Shannon’s Theorem proclaimed exactly how good codes could be expected to be.Richard Hamming began working with linear codes at Bell Labs in the late 1940s<strong>and</strong> early 1950s after becoming frustrated because the programs that he was runningcould not recover from simple errors generated by noise. Coding theory has growntremendously in the past several years. The <strong>Theory</strong> of Error-Correcting Codes,by MacWilliams <strong>and</strong> Sloane [5], published in 1977, already contained over 1500references. Linear codes (Reed-Muller (32, 6)-block codes) were used on NASA’sMariner space probes. More recent space probes such as Voyager have used whatare called convolution codes. Currently, very active research is being done withGoppa codes, which are heavily dependent on algebraic geometry.7.2 Linear CodesTo gain more knowledge of a particular code <strong>and</strong> develop more efficient techniquesof encoding, decoding, <strong>and</strong> error detection, we need to add additionalstructure to our codes. One way to accomplish this is to require that thecode also be a group. A group code is a code that is also a subgroup ofZ n 2 . To check that a code is a group code, we need only verify one thing. Ifwe add any two elements in the code, the result must be an n-tuple that isagain in the code. It is not necessary to check that the inverse of the n-tupleis in the code, since every codeword is its own inverse, nor is it necessary to

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!