The Nature of Coding Theory Steven T. Dougherty Department of Mathematics University of Scranton Scranton, PA 18510 USA June 22, 2011

1

History

Coding Theory began with the early work of Shannon [22] and Hamming [11]. This work was in response to the engineering problem of electronic information transfer. Namely, how do you transmit electronic information over a noisy channel so that errors that occur in the transfer can be recognized and corrected. Essentially they wanted to construct a system where information would be encoded as a set of binary vectors and sent over a channel with the property that if errors were made then the received vector would be decoded to the original vector with a high probability. This required a set of vectors with the conflicting aims of having as many vectors as possible in it but with distances from each other as large as possible. A large number of points is required so that it accomadates as much information as possible and the points need to be as far away from each other from possible so that vectors received can be corrected to the nearest actual code word. More mathematically, the questions are: • How do you pack the largest number of points in Fn2 , the set of length n binary vectors, so that they are as far away as possible from each other? • How do you efficiently encode and decode information from these packings? These packing are what we now call codes. The natural questions that arose are how do you construct the codes and how should one encode and decode the information. Shannon showed that effective communication could be done over any channel no matter how noisy, but the question of how to do it efficiently remains open. In the early work, coding theory was all done over the binary field and used heavily the classical mathematical results of linear 1

algebra over finite fields and results from combinatorics and finite geometry. It attracted the attention of mathematicians from various branches of algebra, combinatorics and number theory. Important early work was done and appeared in the Bell Systems Technical Journal and in a series of Air Force reports done in Cambridge, Massachusetts. By the late 1960s a good deal of mathematicians were working on this applied problem. They began however to see the problem more in terms of a purely mathematical problem than as a solution to an engineering problem. By the 1970s, coding theory had emerged as an interesting branch of mathematics studied for its own sake. MacWilliams and Sloane published the important text The Theory of Error-Correcting Codes [18] in 1977. This text served as the most important reference in coding theory for several decades. To see the rapid growth of the discipline examine the difference in the topics covered in MacWilliams and Sloane’s book in 1977 and the Handbook of Coding Theory [20] published in 1998 and Huffman and Pless’s Fundamentals of Error-correcting Codes published in 2003. These three texts are now essentials to anyone interested in the study of coding theory. A large literature on the subject has developed over the past 50 years. A good deal of the engineering material can be found in IEEE Transactions on Information Theory. The papers concerning the more mathematical areas of the subject have appeared in every journal on finite or discrete mathematics as well as some general journals. Within the last 15 years two journals have come about dedicated to the this subject and its related subjects, namely Designs, Codes and Cryptography and Advances in Mathematics of Communication. More elementary texts that introduce the subject very well include Raymond Hill’s text [12] and the text by San Ling and Chaoping Xing [16]. In recent years interesting results have been found on the most fundamental levels of the subject and its applications. For example the recent rediscovery of LDPC codes and their use to attain optimal codes has been widely studied and used to create optimal codes. In 1993, turbo codes were described (see [4]) which produced codes very close to the limit provided by Shannon. An interesting decoding technique was also given for these codes. Both of these families of codes have produced an enormous amount of research over the past decade. Moreover these codes have been implemented widely in practical applications in all areas of electronic communication. Additionally, while coding theory has a natural application to the effective transfer, storing or retrieving of electronic information, its techniques have also been useful in cryptography, the science of secret communication, such as in secret sharing schemes. For example, see Chapter 5.4 in Stinson’s book Cryptography, Theory and Practice [23].

2

2

The fundamental question

The fundamental question of coding theory in an abstract setting is the following. Given an alphabet R with some sort of algebraic structure (ring, field, group), what is the largest number of vectors that you can have in a subset of Rn such that they are at least d apart with respect to some metric. Initially, R was F2 and the metric was the Hamming metric, namely the distance between two vectors is the number of coordinates in which they disagree. The alphabet R was soon generalized to any finite field and later to rings following the important discovery of the connection between linear codes over Z4 and the non-linear binary Preparata, Kerdock and Nordstrom-Robinson codes, see [13]. Moreover, different weights relating to metrics were used. For example, recently work has been done with the Rosenbloom-Tsfasman metric (see [21]) and numerous connections have been made with uniform distributions, (T, M, S)-nets and numerical integration techniques. The general setting for coding is as follows. A code is a subset of Rn , where R is a ring. We can be more general than a ring but usually we at least have a ring. The code is said to be linear if it is a submodule of the ambient space. A metric is attached to the space and a weight assigned to this metric, where the weight of a vector is its distance to the zero P vector. An inner-product [v, w] = vi wi , where the bar represents an involution on the ring, is attached to the space. The orthogonal is defined as C ⊥ = {v | v ∈ Rn , [v, w] = 0 for all w ∈ C}. The orthogonal of the code is important for many reasons. The most important of these is that often a code is described in terms of the generator of the orthogonal. Namely a matrix, called a parity check matrix, is given and the code consists of all vectors orthogonal to the rows of this matrix. The parity check matrix is often important in terms of decoding as well. The minimum weight is the smallest of all non-zero weights and the code is described as an [n, M, d] code where n is the length, M is the number of vectors, and d is the minimum weight. The minimum weight is the smallest of all non-zero weights in the code. For a linear code it is also the smallest distance between any two vectors in the code. The fundamental questions can be phrased as: • Given an n and d what is the maximum value of M for a given ring R? • Given n and M what is the largest d for a given ring R? The questions are usually addressed for linear codes but can be addressed for non-linear codes as well. An on-line directory of the best linear codes maintained by A.E. Brouwer can be found at [5]. An important tool for coding theory is the weight enumerator. For a code C over

3

R = {ao , a1 , . . . , aq−1 } the complete weight enumerator is defined by cweC (x0 , . . . , xq−1 ) =

n XY

xci .

c∈C i=1

If R is a commutative Frobenius ring and T is the matrix of the character table formed from the generating character χ, i.e. Tij = χ(ij), then we can determine the weight enumerator of C ⊥ by 1 (T (x0 , . . . , xq−1 )). cweC ⊥ (x0 , . . . , xq−1 ) = |C| These are called the MacWilliams relations and were originally proven for binary codes by Jesse MacWilliams in her 1962 Ph.D. thesis [17]. These relations can be generalized to various other weight enumerators or reduced to the Hamming weight enumerators WC (x, y) = cwe(x, y, y, y, . . . , y) by WC (x, y) =

1 WC (x + (q − 1)y, x − y). |C|

These relations are one of the most beautiful and useful tools in all of coding theory.

3

Interesting Codes

In general, bounds are given for specific rings, which give upper bounds to the fundamental questions. Two of the most interesting that apply to any ring are the sphere-pacing bound and the Singleton bound. We shall describe these bounds and some interesting families of codes in the following subsections.

3.1

Perfect Codes

If we let q = |R| then the sphere-packing bound is as follows. If C is an [n, M, 2t + 1] code then   t X n M (   (q − 1)i ) ≤ q n . i i=0 Codes meeting this bound are said to be perfect codes. Essentially we are counting points in the sphere of radius t around code words and comparing this to the size of the ambient space. An example of a family of perfect codes are the Hamming codes. Take the points in projective space over a finite field Fp and write them as columns of a matrix which will serve as the generator of the orthogonal (known as the parity check matrix). The codes k −1 are then of length pp−1 and are over the finite field Fp . Since the number of rows of the parity check matrix is k we have the dimension of the code is 4

pk −1 p−1

− k. The minimum

distance is clearly 3 since no two points in projective space are multiples of each other, but there are three collinear points. This produces a family of perfect codes with parameters k −1 pk −1 , p−1 − k, 3]. These codes are some of the most interesting and useful codes and have [ pp−1 interesting connections to designs. For example, the [7, 4, 3] binary Hamming code is the code formed from the projective plane of order 2, using the characteristic functions of lines as generators. Two other interesting perfect codes are the Golay codes. The first is a binary [23, 12, 7] code and the other is a ternary [11, 6, 5] code. These codes are some of the jewels of coding theory. For example, the binary Golay code has a natural connection to the Leech lattice, the Witt designs, and some very interesting finite groups. While there are other perfect codes (non-linear) it has been shown that all perfect codes over a field must have the parameters of one of these codes, see Chapter 6 of [18].

3.2

MDS codes

Another interesting bound is the Singleton bound, which is: n − logq (|C|) + 1 ≤ d. Those codes meeting this bound are called Maximum Distance Separable codes and have interesting connections to combinatorics and coding theory, see Chapter 11 of [18]. For example, there is an interesting connection to Mutually Orthogonal Latin Squares and to finding arcs in projective geometry. An interesting construction of MDS codes come from the Reed-Solomon codes. Namely take the following matrix, where the ai are distinct elements of Fq :          

1 a1 a21 .. .

1 a2 a22



... 1 1 0  . . . aq−1 0 0    2 . . . aq−1 0 0  .

aq−k aq−k . . . aq−k 1 2 q−1 0 1

  

It is easy see that any q − k + 1 columns are linearly independent and so it produces a [q + 1, k, q − k + 2] MDS code over Fq . A long standing conjecture is that if an [n, k, d] MDS code exists over Fq then n ≤ q + 1. The question can be related to a question about the size of arcs in projective geometry. The complete classifications of MDS codes remains open and the question has been extended to classifying Maximum Distance with respect to Rank (MDR) codes which are codes satisfying n − k + 1 = d where k is the rank of the code as a module over a ring.

5

3.3

Cyclic Codes

Cyclic codes are codes such that if (c0 , c1 , . . . , cn−1 ) is in the code then the cyclic shift (cn−1 , c0 , c1 , . . . , cn−2 ) is in the code. It is natural to think of (c0 , c1 , . . . , cn−1 ) as the polynomial c0 + c1 x + . . . + cn−1 xn−1 . Then multiplication by x corresponds to the cyclic shift. We can then see that a linear code in Rn can be viewed as an ideal in R[x]/hxn − 1i. This connection places the study of cyclic codes in the rich area of classical abstract algebra. Cyclic codes are extremely important in applications because of their efficient encoding and decoding and often have a good minimum distance. Moreover, it is easy to determine all possible cyclic codes for codes over fields using polynomial arithmetic. Moreover a check polynomial makes a description of the parity check matrix very easy. The generalization to rings other than Fq has proven fairly difficult. The description of the possible ideals for other rings can be quite complicated, but very interesting. Even over Z4 the classification is quite difficult, see [9]. Many interesting open questions remain in the study of cyclic codes, especially describing their structure over various rings.

3.4

Self-dual codes

Another interesting family of codes are the self-dual codes. These are codes with the property that C = C ⊥ . Self-dual codes have an interesting connection to lattices and modular forms which will be described later. The weight enumerator of the self-dual code is held invariant by the action of the MacWilliams relations. Depending on the ring over which it sits and on the type of self-dual code there are other matrices that hold the weight enumerator invariant. The powerful techniques of 19th century invariant theory can be used to describe all possible weight enumerators of self-dual codes and produce bounds on the largest possible minimum weights. This was first shown in Gleason’s Theorem, see [10]. It put an interesting bound on Type II self-dual binary codes, namely those code whose vectors all have weight congruent to 0 modulo 4. Specifically, if d is the minimum weight of a length n Type II code then n d ≤ 4b c + 4. 24 The most interesting class of codes meeting this bound are the [24k, 12k, 4k + 4] Type II codes. When k = 1 there is a unique code which is the extended Golay code and when k = 2 there is a unique code that is a quadratic residue code. When k = 3 it remains an interesting open question as to whether the code exists. For large values of k it is known that the [24k, 12k, 4k + 4] codes do not exist but the existence of a large number of these codes remains an open and difficult question. The interesting connection between self-dual codes and invariant theory has created a large number of interesting results. Recently a very strong and important result has produced some very interesting results. The book Self-Dual Codes and Invariant Theory by G. Nebe, 6

E. M. Rains and N. J. A. Sloane [19] contains these results.

4

Coding Theory and other branches of Mathematics

Coding theory has a great number of connections to other branches of mathematics. In some sense coding theory has become a branch of algebra or combinatorics, much like group theory or graph theory, where the fundamental object is a code. In a manner similar to these other disciplines, codes are being studied for their own interest and esthetic value and are being used to study objects in different branches of mathematics. One of the most attractive aspects of coding theory is that studying it allows you to research in a wide variety of branches of mathematics and to use the results of other branches to find new results in coding theory. We shall describe some of these connections in the sections that follow.

4.1

Coding Theory and Finite Geometry and Design Theory

The interplay between coding theory and finite geometry and combinatorics has been fruitful from both perspectives. That is, coding theory has been helpful in answering combinatorial questions and combinatorics has been useful in constructing codes. As an example of the first we cite one of the most celebrated questions in finite geometry, that is the projective plane of order 10. The question of the existence of the projective plane had been in question for many decades and in fact can be traced back to the equivalent question of the existence of a complete set of MOLS of order 10 posed by Euler in 1782. It was shown that no such plane existed in [15], but it was the culmination of a good deal of work by many mathematicians. The crux of the proof was to show that if a plane of order 10 existed then a binary Type II self-dual code of length 112 with minimum weight 12 and no weight 16 vectors would have to exist. This code was then shown not to exist (with the final step being a massive computer computation). In general, studying the code generated by the incidence vectors of the blocks of a design has been an important tool in studying the structure of the design, see [1]. For example, codes have been useful in showing that two designs are non-isomorphic. Namely, two designs with the same parameters can produce codes whose dimensions are different which shows that they are not isomorphic. See the discussion of the projective planes of order 9 in [1] as an example. Interesting geometric results about designs can be found by determining the minimum weight, the dimension and the structure of codewords for a given design. Numerous open conjectures remain in this area. Codes have also been useful in the construction of designs. For example, numerous 5designs were created using the Assmus-Mattson theorem and extremal self-dual codes. For a complete description of this theorem and of the connection between codes and design see the book Designs and their Codes by E.F. Assmus Jr. and Jenny Key. 7

As an example of the other direction consider the Reed Muller codes which are one of the most useful and interesting family of codes. In [2] Assmus and Key describe the connection between finite geometries and the construction of these codes.

4.2

Coding Theory and Number Theory

One of the most interesting connections with coding theory has occured with lattices. Lattices are simply sets of discrete points in Rn . Lattices are important with respect to sphere packing questions and with modular forms. The connection is intuitively clear, that is a code is a set of tightly packed points in Znk and a lattice is a set of points tightly packed in Rn . The connection is particular strong with respect to self-dual codes via the Λ map. Namely Λ(C) = √1k {v + w | v ∈ C, w ∈ kZn }. When k is even this map takes self-dual codes to unimodular lattices and takes Type II codes to Type II lattices. Moreover, the theta series of the lattice can be found from the weight enumerator of the code with a nice connection to modular forms. Numerous work has been done in this vein, for references see [6] and the numerous references therein. More to the point, it is interesting to note how many papers in this extensive bibliography are coding theory papers.

4.3

Coding Theory and Algebraic Geometry

The rich theory of algebraic geometry has been used to construct codes. For example, codes can be produced from modular curves. The code coming from algebraic geometry were used to improve the lower bounds for many classes of codes. For a complete description of this theory including a good introduction to coding theory and to curves over finite fields see the book Algebraic-geometric codes [24] by Tsfasman and Vl˘adut¸.

4.4

Coding Theory and Combinatorics

There has been a close connection between coding theory and combinatorics from the beginning of the study of codes. The connection to designs has been discussed already. There is a strong connection between association schemes which are central objects in algebraic combinatorics and coding theory. This connection was first made in the 1974 paper [7]. In the 1998 paper [8] an update on the connection was described including the connection to the MacWilliams relations, the Hamming and Johnson schemes and spherical codes and designs. To see the extensive connection see the wide variety of papers in [3].

8

5

Conclusion

Coding theory has had enormous growth over the last half-century. It has its origin in applied mathematics but now has subbranches both in pure and applied mathematics. Many interesting connections to other branches of mathematics exist and numerous open questions remain. Interesting new veins of research have opened up in the past decade with many new areas to explore.

References [1] Assmus, Jr., E.F., Key, J.D., Designs and their Codes. Cambridge: Cambridge University Press, 1992. [2] Assmus, E. F., Jr.; Key, J. D. Polynomial codes and finite geometries. Handbook of coding theory, Vol. I, II, 1269–1343, North-Holland, Amsterdam, 1998. [3] Alexander Barg, and Simon Litsyn (Eds.) Codes and Association Schemes, DIMACS: Series in Discrete Mathematics and Theoretical Computer Science, Volume: 56, 2001 [4] Berrou, Glavieux, and Thitimajshima, Near Shannon Limit error-correcting coding and decoding: Turbo-codes, Proceedings of IEEE International Communications Conference, 1993. [5] http://www.win.tue.nl/ aeb/voorlincod.html [6] J.H. Conway and N.J.A. Sloane, Sphere Packing, Lattices and Groups (2nd ed.), New York: Springer-Verlag, 1993. [7] P. Delsarte, An algebraic approach to the association schemes of coding theory, Philips Research Reports Supplements, No. 10, 1973. [8] P. Delsarte, V. Levenshtein, Association schemes and coding theory, IEEE-IT, 44, 6, 2477 - 2504, 1998. [9] S.T. Dougherty and S. Ling, Cyclic codes over Z4 of even length , Designs, Codes and Cryptography, 127-153, May 2006. [10] Gleason, Andrew M. Weight polynomials of self-dual codes and the MacWilliams identities. Actes du Congrs International des Mathmaticiens (Nice, 1970), Tome 3, 211-215. Gauthier-Villars, Paris, 1971. [11] Hamming, R. W. Error detecting and error correcting codes. Bell System Tech. J. 29, 147 -160, 1950. 9

[12] Hill, R., A first course in coding theory, Oxford University Press, 1990. [13] Hammons, Jr. A.R., Kumar P.V., Calderbank A.R., Sloane N.J.A. and Sol´e P., A linear construction for certain Kerdock and Preparata codes. Bull Amer. Math. Soc. 29 218 - 222, 1993. [14] W.C. Huffman and V.S. Pless, Fundamentals of Error-correcting Codes, Cambridge: Cambridge University Press, 2003. [15] C.W.H. Lam, T. Thiel, and S. Swiercz, The non-existence of finite projective planes of order 10, Canad. J. Math 41, 117-123, 1989. [16] S. Ling, and C. Xing, A first course in coding theory, Cambridge University Press, 2004. [17] F.J. MacWilliams, Combinatorial problems of elementary group theory, Ph.D. Thesis, Harvard University May 1962. [18] F.J. MacWilliams and N.J.A. Sloane, The Theory of Error-Correcting Codes, NorthHolland Publishing Co. Amsterdam 1977. [19] G. Nebe, E. M. Rains and N. J. A. Sloane, Self-Dual Codes and Invariant Theory, Springer, Berlin, Feb. 2006. [20] V.S. Pless and W.C. Huffman, eds., Handbook of Coding Theory, Elsevier, Amsterdam, 1998. [21] Rosenbloom M., Tsfasman M. Codes in the m-metric. Problem i Peredachi Inf 33 No 1: 55-63, 1997 (in Russian); English translation in: Problems of Inf Trans 33 No 1: 45-52, 1997. [22] Shannon, C. E. A mathematical theory of communication. Bell System Tech. J. 27, 379-423, 1948. [23] Stinson, D.R., Cryptography, Theory and Practice, CRC press, 1995. [24] Tsfasman, M. A.; Vl˘adut¸, S. G. Algebraic- geometric codes. Translated from the Russian by the authors. Mathematics and its Applications (Soviet Series), 58. Kluwer Academic Publishers Group, Dordrecht, 1991.

10

The Nature of Coding Theory

Jun 22, 2011 - Coding Theory began with the early work of Shannon [22] and Hamming [11]. ..... The most interesting class of codes meeting this bound are the [24k,12k,4k + 4] Type II ... final step being a massive computer computation).

173KB Sizes 1 Downloads 245 Views

Recommend Documents

Foundations of Algebraic Coding Theory
Dec 28, 2013 - Coding theory began in the late 1940s, together with the development of electronic commu- nication and computing. In fact, it is possible to pinpoint the moment of its birth exactly, namely the publication of Claude Shannon's landmark

The fractal nature of nature: power laws, ecological complexity and ...
May 1, 2002 - 1999a,b) have developed models that explain these .... ency to be satisfi ed with the 'model' or equation that gives ..... M. Diamond), pp. 81–120 ...

Open Problems in Coding Theory
Email: [email protected] ... Email: [email protected] ..... sarily optimal in the sense that they are the best self-dual codes possible, whereas ...

The fractal nature of nature: power laws, ecological ...
May 1, 2002 - Underlying the diversity of life and the complexity of ecology is order that refl ects the operation of funda- mental physical and biological ... laws of biological inheritance, evolution by natural selection, and many others. ... cesse

pdf-174\channel-coding-theory-course-held-at-the ...
... the apps below to open or edit this item. pdf-174\channel-coding-theory-course-held-at-the-depa ... -1970-cism-international-centre-for-mechanical-sc.pdf.

Bucketing Coding and Information Theory for the ... - Semantic Scholar
Manuscript submitted to IEEE Transactions on Information Theory on. March 3 ,2007; revised on ..... so cs = 1/(2 − 2p) + o(1). Theorem 5.3 implies that in ...... course there exists a deterministic code at least as successful as the average code.

Bucketing Coding and Information Theory for the ... - Semantic Scholar
mate nearest neighbors is considered, when the data is generated ... A large natural class of .... such that x0,i ⊕bi = j and x0,i ⊕x1,i = k where ⊕ is the xor.

READ ONLINE Coding Theory: The Essentials (Pure and Applied ...
READ ONLINE Coding Theory: The Essentials. (Pure and Applied Mathematics) {Free. Online|ebook pdf|AUDIO. Book details. Title : READ ONLINE Coding ...

The Nature of the Firm
This content downloaded from 128.233.8.60 on Thu, 06 Oct 2016 20:53:40 UTC .... 85, and by Professor Arnold Plant, " Trends in Business Administration," ...

The Nature of the Firm
85, and by Professor Arnold Plant, “ Trends in Business Administration,” ECONOMICA, ... to an outside network of relative prices and costs,”1 but ... Here, he plays his part as a single cell in a ..... times said that the supply price of organi

History of Practice Nature of Western Influence Nature ...
engraining it within Indian culture, and thus support the existence of the transsexual community. ... Chicago: The. University of Chicago Press. Williams, Walter L.

The international nature of germplasm enhancement - ACIAR
supported in part by an ACIAr scholarship. “At the moment there is an IT boom in India and not many parents like their children to get into agricultural science,” ...

Fragments of the earliest land plants - Nature
Competing interests statement The authors declare that they have no competing financial interests. Correspondence and requests for ... Building, Western Bank, Sheffield S10 2TN, UK. 2Petroleum Development Oman, PO Box 81, .... of the covering/spore m

the nature of shakespearean tragedy
Marcellus's (“Something is rotten in the state of Denmark” (I.iv.90)) words add to the ... Roderigo complaining to Iago about having used his purse and witholding ..... the long list of meaningful characters who die starts with Cornwall and his.

The Nature of Dynamical Explanation
The received view of dynamical explanation is that dynamical cognitive science seeks to provide covering-law explanations of cognitive phenomena. By analyzing three prominent examples of dynamicist research, I show that the received view is misleadin

the nature of nurture
Factor analytical results are statistical summaries of the data; this because ..... traits in laboratory animals by standardization of environmental and genetic ...

Longchenpa, The Nature of Mind.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Longchenpa ...

The Multidisciplinary nature of environmental studies - detailed ...
The Multidisciplinary nature of environmental studies - detailed Notes.pdf. The Multidisciplinary nature of environmental studies - detailed Notes.pdf. Open.

The Nature of Cognitive Phenomenology - PhilArchive
phenomenal duplicates, but not intentional duplicates. Nevertheless ... prime number, then so is any phenomenal duplicate of mine. ..... Berlin: De Gruyter, 2012.

the nature of nurture
variance using a computational model of neuronal network development. ..... abilities in adults to about 60% in personality, phobias, and some social attitudes ...

Shore - The Nature of Photographs.pdf
SS: I am talking about framing. In some images, the frame. acts as the end of the picture. I may want to take a portrait of. you, and I decide where your face is ...