a I b R.AR.Y OF THE UNIVERSITY Of ILLINOIS 510.84 no. 140-147 copo2 CENTRAL CIRCULATION BOOKSTACKS The person charging this material is re- sponsible for its renewal or its return to the library from which it was borrowed on or before the Latest Date stamped below. You may be charged a minimum fee of $75.00 for eacii lost book. Theft, mutilation, and underlining of books are reasons for disciplinary action and may result In dismissal from the University. TO RENEW CALL TELEPHONE CENTER, 333-8400 UNiVEIiSITY OF ILLINOIS LIBIiARY AT URBANA-CHAMPAIGN OCT 5 NOV 2 1391 When renewing by phone, write new due date below previous due date. L162 Digitized by the Internet Archive in 2013 http://archive.org/details/cyclicspoterrorc141foul hO,lA-\ UNIVERSITY OF ILLINOIS ^(^P- '^ GRADUATE COLLEGE DIGITAL COMPUTER LABORATORY REPORT NO, llfl CYCLIC SPOT-ERROR- CORRECTING CODES by Clinton R. Foulk July 22, 1963 (This work is being submitted in partial fulfillment of tbe requirements for the Degree of Doctor of Philosophy in Mathematics^ -July;, 196'^^ and was supported in part by the Office of Naval Research under Contract Nonr-l834(27). ) UNIVERSITY OF ILLINOIS GPJ\DUATE COLLEGE DIGITAL COMPUTER LABORATORY REPORT NO, li+1 CYCLIC SPOT-ERROR- CORRECTING CODES by Clinton R„ Foulk July 22, 1963 (This work is being submitted in partial fulfillment of the requirements for the Degree of Doctor of Philosophy in Mathematics ;, July^, 19^3^ and vas supported in part by the Office of Naval Research under Contract Nonr-l834(27) = ) no, ' ^/ ^ iii ACKNOWLEDGEMENT The author wishes to express his appreciation to Professor David E, Muller for his indispensable guidance and assistance in the preparation of this thesis p and to his wife, Dorothy, for her patience, forbearance ^ and encouragement in its preparation. IV TABLE OF CONTENTS Page L/ilAX'^l i-JrC U o J.N1 rCUUU Ol XwN »oooooooooooooooooooooooo«ooooooooooooooo I CHAPTER I„ ERROR-CORRECTING CODES oooooooooooooooooooooooooooooeo Section 1-1 o Cyclic Group Codes ooooooooooo.eooooooooooooo 7 Section 1-2 o Binary Code-Generating Poljmomials » „ « « o e o o <> o 19 Section 1-3 » Factorable Code-Generating Polynomials ooo o » o 2? WC?U UiLOil X*" T o -CjX X lUlCllCy^ o oooooooooooooo ooooooooooooooooooo ■•^ CHAPTER II o CODES DEFINED ON RASTERS o „ „ „ „ o o o o o.o c o o o o o o » o o » o o o o o p 35 Section II-1 o Correction of Cyclic Spot-Errors J-/GX lliGCl Oil cL rtaSU^x O ooooooooooooooooooooooo ^^ Section II-2o Correction of Cyclic Spot-Errors on Rasters Determined by Matrix PairSo „ oooo o o» ^2 Section II-=.3o Methods for Constructing a Cyclic Spot- Error-Correcting Code on a Given Rastero ooo 55 CHAPTER in o ONE-DIMENSIONAL CODES c o o o » „ » „ o o . , o o « » o o » o » o e o o o o o » » 60 Section III-1 o The Fire Method o oooooooooooooooooooooooo«o 60 Section III-2o The Modified Combination Method o „ » o o o o » o o o 61 Section III-3 <. The Computer Search « „ „ „ » o « o „ » » o » » o o o o o » » o « 68 Section 111=^ » Summary of One-Dimensional Results, oo ooo oo 75 CHAPTER IVo TWO- AND THREE-DIMENSIONAL CODESo „ , . . . o o o o o o o » » , . » « . 83 Section IV- 1 „ Diameter of a Two-Dimensional Rastero ooo » oo 83 Section IV-2 o The Direct Method c « „ , „ » » « o c o » » » o » » o o » o . . » o . 88 Section IV-3 o The Fire Method » « o » .. o « o o o o » » o » « » o o o o o o » o » o » 1 00 Section IV-ii- „ The Combination Method o „ o o o » » o o » » o c o o o o o » » « 101 Section IV=5<, Comparison with Iterated Two-Dimensional OvJU."& D OOOOOOOOOOOOQOOOOOOOOOOOOOOOOOOOOOOOO I v^ i^X-OJuXxAJrCixx ilx oeoooooooooooooooooooooooooooooooooooooooOQoooooo«ooo I W^ vXlAooooooooooooooooooooooodooooooooooooooooooeoooooooooooooooeoo • wo CHAPTER INTRODUCTION The problem of transmitting and storing large amounts of information with high reliability has recently come under investigation o By "transmission" of information;, we refer to any process which first stores a message in some stor- age medium or information channel ^ such as 9 for example ^ radio waves or magnetic tape„ and then retrieves this message for use at some other time or place o In^ stead of working to make physical components absolutely reliable p it is possi- ble to transmit a certain amount of redundant information with each message so that if some component fails during transmissions the message can be corrected at the receiver o In order to do this 5 there must of course be some agreement between the transmitter and the receiver as to what form this redundant infor- mation is to takes, just as there must originally be some agreement as to what form the message itself is to takeo Several methods of adding redundant information to a message have been suggested o One method is to have the receiver transmit each received message back to the transmitter where it is compared with the original message to see if it is correct o Another method is to transmit the whole message three times and take a "majority vote" among each of the received symbols to ascertain what they should be. The method which we shall investigate is an outgrowth of the "parity check" o A parity check bit is a single zero or one bit of information added to a binary message so as to make the number of one's in the entire message be of odd or even parity ^ whichever has been agreed upon, Thenj, if an odd number of errors occurs in the transmission of a messages this fact is immediately detected by the receiver because the number of ones is of the wrong parity = 1 «> Hamming was the first to demonstrate thatp by transmitting multiple parity check bits with each message „ it is possible not only to detect that an error has occurred in transmission,,, but actually to correct an error if it is one in some prearranged set of errors o Figure 0-1 illustrates how an error-correcting code is used to transmit a message o We imagine that we ha¥e a set of messages which we wish to send from the transmitter to the receiver through an information channel or storage medium » The encoder first selects one of the permissible code words to represent the given message and inserts it into the iriformation channel or storage medium o We imagine that while the code word is in this channel or mediumj, it is subject to certain errors which manifest themselves as alterations in the code wordo Therefore, the received n- tuple must either be itself a code words or it must consist of the code word originally selected by the encoder altered by some permissible error o The receiver reconstructs the original code word from the received n^tuple^ and the decoder determines which message is represented by the code wordo It is obvious that in order for this method to work 5 each of the n-tuples obtained from the permissible alterations of a given code word must be different from any n-tuple obtained from a permissible alteration of any other code wordo (This is the condition for correction described in Section I=.1o) There are a great many advantages which result from the use of a group code 5 that is 9 a code which is closed under the operations of vector addition and scalar multiplication? both in the mathematical analysis of the code and in its practical implementationo One of the most important mathematical ad=. vantages of the group code is that the set of all code words of a given code is precisely the null space of some matrix Ao Still further advantages result from the use of a cyclic group codep for the set of all code words of a given cyclic group code of length n is precisely the set of all multiples of de- gree ^ n - 1 of some polynomial P(t)o In the case of a cyclic group codep therefore, it is only necessary to divide each n<» tuple arriving at the re- ceiver by P(t)? if the remainder of this division is zero„ we know that this n=.tuple is a code word and therefore,, by the condition for correction^ it is the code word transmitted originally o If 9 on the other hand„ this remainder is non-zero 9 then some error has occurred in the transmission of the codej, and, in order to satisfy the condition for corrections there must be a distinct re« mainder for each of the permissible errors o There are a n-umber of methods which can be used for the physical realiza- tion of the process of deducing the correct code word and the error from a given received n- tuple „ Petersono po 193o gives a method which takes advantage of the cyclic group properties of the code by using a feedback shift register realizing P(t) and a buffer storage register, and thus requires much less hard- ware than a simple matrix logic decodero The reader who is familiar with the contents of Peterson" s Er ror-C orrec t- ing,, Codes should have no difficulty with this paper, as we assume a familiarity with error-correcting codes approximately equal to that provided by his booko In Section 1-1 , we give a formal definition of codes and sets of errors in general, then proceed to define group codes, and finally cyclic group codes « The group code has the advantage, as we pointed out, that every element of the code is in the null space of a matrix A and therefore we can use the known re- sults of matrix theory to expedite our investigation of these codes Further- more, the cyclic group codes have the property that every element in the code is some multiple of a generating polynomial, which means we can use the known results concerning polynomials with coefficients in a Galois Field to expedite our investigation of these codes o Finally, consideration is given to the prob- lem of defining the efficiency of a cyclic group codCo Beginning with Section 1-2 j, we restrict our investigations to the binary caseo We first consider the cyclic stracture of polynomials with coefficients in GF(2) with a view to using the results obtained to find cyclic group codes for transmitting binary information c This discussion also gives us an insight into the method by which a given polynomial generates an error«.correcting code and a method for determining whether or not a given polynomial generates a given cyclic group codec In Section 1^3 » it is shown that many of the error^correcting properties of the code generated by a product polynomial can be predicted from the cyclic structures of its factors o This enables us to use polynomials of low degree ;, whose error-correcting properties can be determined with relatively little efforts to construct polynomials with similar error-correcting properties but of high degree o The resulting factorable poljmomials usually generate less efficient codes than irreducible polynomials of comparable degree ^ but are much easier to find since the detailed properties of cyclic structures of irreducible polynomials are to a large extent unpredictable o In Section I-^j we give a more complete discussion of the concept of efficiency o In Section II~1 , we first define what we mean by a raster and spoti, what we mean when we say that a code is defined on a rasters and how the results of Section I"3 on factorable polynomials can be applied to rasters appropri- ately related by their respective distance functions o In Section 11-2, a distance function is defined which is based on the ordinary Euclidean distance function and yet satisfies the cyclic hypothesis of Section II-1 a The raster itself is defined as a set of equivalence classes of a particular set of points in Euclidean space c The diameter of a raster is defined and the application of the results of Section II-1 to such rasters is discussed o In Section 11-35 we discuss methods of actually constructing codes on given rasters by each of three different methods; the Direct Method „ the Fire Methods and the Combination Method <> We also discuss the methods by which a given raster and code can be "expanded":, thus greatly increasing the usefulness of the results given in Chapters III and IV » In Chapter III;, we show how to construct codes defined on one-dimensional rasters and give a table of poljmomials generating one-dimensional error- correcting codes These are actually arrived at by a special method which in- sures that the codes obtained are always maximally efficient « In Section IV^I „ we discuss the properties of typical two-dimensional ras- ters and codes defined on themo and give examples of the construction of a larger raster from a given oneo In Section IV-Z, we give tables showing various two-dimensional error- correcting codes obtained by the Direct Method and give examples which show exactly how these results are arrived ato In Section IV=.3s we show how the Fire Method can be used to find spot- error-correcting codes in two or more dimensions. In Section IV=.^5 we show how to combine the Direct Method and the Fire Method to give the Combination Method of constructing spot-error-correcting codes of high efficiency. Finally £, in Section IV-59 we compare our codes with the iterated two- dimensional codes investigated by ElspaSo CHAPTER I ERROR-CORRECTING CODES Section I.»1 o Cyclic Group Codes o Definition I~^1c^1 i A code C of length n is a non=einpty subset of the set of ordered n^ tuples x " (x-c x. „ oooc x „) f, where each coordinate x„ is a 1 n~l 1 symbol from some finite alphabet Fo We shall consider only the case in which the alphabet is a finite field F = GF(q), where q = p for some prime p and integer k^ C is then a set of vectors in F o Definition I°1-^2 g A code word is any n-tuple in a code Co Definition I~>1.^3 s An error function E is a mapping defined on the elements x in C such that the image E(x) of each x in C is some subset of F^o Definition I.»1«.4 s An error function E satisfies the condition for correc- tion iff E(x) r\ E(y) = ^ whenever x and y are in C and x ^ yo Definition 1^1 -5 g Let E be an error function defined by means of a set D of ordered n- tuples of F and the operation of vector addition as follows? for each x in Cp E(x) is the set of all n-tuples of the form x + u^ where u is in Do Then D is said to be a set ^of errors defining Eo Def i nrtion^I^ 1 :^ g An error is any n=tuple in a set of errors Do Definition I-°1^7 g The code C corrects the set of errors D iff the error function E defined by D satisfies the condition for correction,) Theorem I»°1~1 ; If C is a code correcting a set of errors D and N(C) and N(D) are the numbers of elements in C and D respectivelys then N(C) x N(D) ^ q"o Proofs Since the error function E(x) defined by D satisfies the condition for correction;, we know that there exist N(D) distinct n-tuples corresponding to each of the N(C) distinct code words in Co However s there exist only q^ distinct n-tuples with coefficients in GF(q)5 therefore;, we see that N(C) X N(D) £ q", This theorem establishes an information- theoretical upper bound on the product of the number of n^tuples in C by the number of n-tuples in D which depends only on n and qo It should be noted that C and D are not necessarily disjoint and that the sum of the number of n-tuples in C plus the number of n-tuples in D may be great, er than q"o If, however;, the field of coefficients is the binary field GF(2)i, then C and D can have at most one element in common,, since the svm of any binary n-tuple plus itself is always the zero n- tuple o Thus„ in the binary case^ the condition for correction would be violated if C and D had more than one element in commono Usually this single element will be the zero n-tuple 0=, for if C is a group code (see Definition 1-1-10) ^ then must be in Ci at the same time^ we shall almost always wish to assume that it is possible for a code word to be transmitted unimpaired 5 ioeoo that D contains the error Oo It should also be noted that it is possible to have a code C which contains only the zero element while D contains all q n- tuples? or„ on the other hand» to have a code C which contains all q n-tuples while D contains only the zero elements In the first case^ we would be able to transmit only the zero code word but would have correction of all q'^ possible errors; in the second case we would be able to transmit all q'^ possible code words but would have correc- tion of only the zero error o These extreme examples are of little interest in themselves, but are very important in the construction of codes by the Fire Method described in Sections 11-3 and IV<=>3o Theorem 1-1-2 ; The code C corrects the set of errors D iff x + u = y + v implies x = y and u = v whenever x and y are in C and u and v are in Do Proofs First, suppose that x + u = y + v implies x = y and u = v whenever X and y are in C and u and v are in Do Then for x and y in C and x f^ y^ we have X + u f^ y + V for every u and v in Do This means that E(x) (] E(y) = ^ whenever x and y are in C and x ^ ys therefore „ C corrects Do Conversely!, suppose that C corrects the set of errors Do Then E(x) n E(y) = ^ whenever x and y are in C and x ^ jo Since E(x) is the set of all n-tuples of the form x + u with u in D and similarly E(y) is the set of all n- tuples y + v with v in D,, we see that x + u ^ y + v whenever x and y are in C, u and v are in D, and x ^ jo Therefore j, x + u = y + v with X and y in C and u and v in D implies that x = y which in turn implies that u = Vo Therefore;, x + u - y + v implies x = y and u = v whenever x and y are in C and u and v are in Do Definition I-1°-8 s An error function E is said to be close-.packed iff for each y in F there exists an x in C such that y is in E(x)o Definition I-°1°°9 :; A code C which corrects a set of errors D is said to be close.^packed with respect to D iff the error function E defined by D is close-packed Theorem I=-1~3 g A code C which corrects a set of errors D is close-packed with respect to D iff each vector in F' is uniquely expressible as a sum x + Ut where x is in C and u is in Do Proofs Let y be any vector in F o C is close-packed with respect to D iff there exists an x in C such that y is in E(x) f, where E(x) is the error function defined by D? that is^ iff there is a u in C such that y s x + Uo By Theorem 1-1 -2 j, x and u are unique o Corollary t If a code C is close-packed with respect to a set of errors D corrected by C„ then N(C) x N(D) = q'^„ For a further discussion of the concept of "close-packed" „ see Section 1-4 o 10 Definition I~1-10 g A group code C is a code which is also a vector space; ioe,5 a code which is closed under the operations of component-wise addition and scalar multiplication o Theorem I~1-^ g A code C is a group code iff there is a matrix A of rank m ^ n with coefficients in F such that Ax = iff x £, Co (Note that although A is not unique all matrices A have the same rank mo) Proofs This is a well-known theorem of matrix algebra <> Definition I»1-11 s If C is a group code defined byC= {^xiAxsOj , then the matrix A is said to determine Cj, and the rank m is said to be the number associated with C o Theorem 1-1 -5 » If A is an m x n matrix of rank m which determines a group code Ci, then C corrects a set of errors D iff all m-tuples Au are distinct as u ranges over Do Proofs First suppose x and y are in C and u and v are in D and that all m-tuples Au are distinct as u ranges over Do This means that Au - Av implies that u = Vo By the rules of matrix multiplication » x + u = y + v implies A(x + u) = A(y + v)j, which implies that Au ~ kv, which implies that u = Vo and this finally implies that x = y^ Summarizing, we see that x + u = y + v implies that x - j and u = v^ so C corrects Do Conversely;, suppose that C corrects Do We shall prove that Au = Av implies that u = Vo To this end, assume that Au = Av and let u - v = Wo Then w is in C because Aw = A(u <- v) = Au - Av = Oo Then + u = w + v implies that w = and u = v because and w are in C and u and v are in Do Theorem I-°1-6 i If A is an m x n matrix of rank m which determines a group code C correcting a set of errors Dj then the pair (CoD) is close-packed iff Au generates all ra^vectors as u ranges over Do Proofs First „ suppose that the pair (CsD) is close»packed(, and let z be an arbitrary m-vectoro Since A is m x n and of rank m^ we may solve Aw = z for some n<- tuple Wo By hypothesis „ w is uniquely expressible in the form w = X + u where x is in C and u is in Do Therefore 5 the arbitrary ra=vec- tor z is generated by the element u in D since z = Aw = A(x + u) - Auc Conversely p suppose that Au generates all m«tuples z as u ranges over Do Let w be any n vector and suppose that Aw =5 Zo By hypothesis, there exists a u in D such that Au = z, which implies that Aw = Au and therefore that A(w - u) = Ax = 0^ therefore w » u = x is in C, Therefore;, we have w = x + Us where x is in C and u is in Do Corollary g If A is an m x n matrix of rank m which determines a group code C correcting a set of errors Dp then the pair (CpD) is close-packed iff there is a one-to-one correspondence between the set of all m^vectors and the set of elements u in Dc Theorem I-~1-7 g If A is an m x n matrix of rank m which determines a group code C correcting a set of errors D;, and the number of elements in F is qj then the pair (CaD) is close packed iff the number of elements in D is q Proofs First p suppose that the pair (CpD) is close-packed o Thenp because of the one-to-one correspondence between elements of D and the set of all m- vectors., we see that D contains exactly q elements Conversely 5 suppose that D contains q^ elements o By Theorem 1-1-59 all m-vectors are distinct as u ranges over D? therefore Au generates all q m-vectors as u ranges over Do Definition I=°1-^12 s A group code C which corrects a set of errors D is said to be efficient with respect to D iff N(C) x N(D) > q'^ " ^ o 12 Theorem 1-1 -8 i If a group code C exists which corrects a set of errors D and is efficient with respect to D^ then no group code u exists which also corrects D and contains a larger number of elements than C„ Proof; Since C and C are both group codes „ N(C) and NCC) are both powers of qo Let N(C) = q^i then N(C) ^ q^ "*" ^ „ Since by hjrpothesis N(C) x N(D) = q ^N(D) > q" " \ we see that N(C) x N(D) ^ q^ * ''n(D) > q'^, which is im- possible by Theorem 1-1-1 „ Therefore, no such group code C exists « For a further discussion of the concept of "efficient",, see Section I-4„ Definition 1-1-13 ? A group code C is cyclic iff (x-!, x. o oocp x .) = X in C implies that (x .„ x^^ coop x g) - ^° ^^ i" '^s ^^'^ similarly a set of errors D is cyclic iff (uq,, u. o <> o ^ u ^ ) = u in D implies that (u . 9 U-. s o o t, u o ) = li " is in D c n " 1 n - ^ Definition 1-1-1^ ; We define P^(t) = Xq + x^t + oo o + x^ ^ ^^^ ^ '^ + n 1 X .t ~ 5 and say that P (t) is in C* iff x is in C and^ similarly a P (t) is in D* iff u is in Do u The symbol t introduced in Definition 1-1 -1^*- is an indeterminate which can be added and multiplied just as though it were an element of GF(q) j, and therefore generates a ring of poljmomials with coefficients in GF(q)o The reason for introducing such an indeterminate is that,, as Theorem I«1-10 shows, there is a one-to-one correspondence between cyclic group codes of length n and monic polynomials P(t) which divide t - 1 o Theorem 1-1 -9 ^ If C is a cyclic group code determined by an m x n matrix A of rank m^ then there exists a monic poljmomial P(t) of degree m with non- zero constant term such that P (t) is in C* iff P (t) can be expressed in the form P^(t) = R(t)P(t), where (degree of R(t)) + (degree of P(t)) ^ n - 1o Proofs Since C is a cyclic group codec, P„(t) in C* and P.^(t) in C* imply X y that P (t) + P (t) = P ^ (t) is in C*; a in F and P (t) in C* imply that X y X + y X 13 aP (t) = P (t) is in C*; and P (t) in C* implies that ? ^(t) ~ tP (t) - X a.X X XX X .(t" - 1) is in C*o In other words„ P ,(t) = Res tP^(t)(mod t" ^ 1) is n <" ' XX in C*o This means that P f .At) = Res t^^P (t)(mod t" ~ 1) is in C* for any ^ n ^ integer jo Finally j Res A(t)P (t)(mod t «■ 1 ) is in C* for any polynomial X ■t)l , X A(t)o Using the Euclidean algorithms we first find the monic polynomial P(t) of maximum degree m* which divides all P (t) in C*^ This polynomial is nee- essarily unique and has a non»zero constant term since C* contains polynomials which are not divisible by to NoWj we can find two sets of poljmomials (, P. (t) in C* and A. (t), such that / i A. (t)P„ (t) ^ P(t)i therefore P(t) is in C*e ^ Since P(t) is the goCodo of all P (t) in C*, every P_.(t) in C* is of the form R(t)P(t)(, where R(t) is some polynomial of degree ^ n ~ m* - 1 , Since P(t) is in C* and A(t)P (t) is in C* for all A(t) and x, the polynomial R(t)P(t) is in C* for every R(t) of degree ^ n - m* - 1 o The fact that m* = m will become apparent after we have come to Theorems 1-1 -lii- and 1-1 -1 6 Definition 1-1 -1 5 i The polynomial P(t) related to a cyclic group code C as described in Theorem 1-1-9 is said to be the g;enerating ^ polynomial of Co Corollary ; If P(t) is the generating polynomial of a cyclic group code C of length n, then P(t) divides t - io Proofs Let Q(t) be a non»zero polynomial of highest degree such that Q(t) divides both P(t) and t^ « U Then there exist R(t) and S(t) such that R(t)P(t) + S(t)(t" - 1) = Q(t)c Then Q(t) is in C* and is therefore actually a multiple of ?it)i therefore P(t) divides t^ - 1 „ Theorem, 1-1 -10 g There exists a one-to-one correspondence between cyclic group codes C of length n and monic polynomials P(t) which divide t - 1 o Proof? The correspondence from codes to polynomials is that established by Theorem 1-1-9 and its corollary o Conversely, given a monic poljmomial P(t) which divides t - 1 5 we form the set C* of all multiples P^(t) - R(t)P(t) of P(t) of degree ^ n -= 1 » The set C* is clearly closed under the operations of component-wise additions scalar multiplication -, and multiplication by t mod t - 1 o Therefore „ the set of n-tuples X in C defined by the correspondence x in C <— ^ P^(t) in C* is a cyclic group code with generating polynomial P(t)o Corollary, 1 g If C is any given cyclic group code and P(t) is its gen- erating polynomial, then C is isomorphic to the set of all multiples of P(t) of degree ^ n = 1 under the correspondence x in C ^— > P (t) ~ R(t)P(t) and with respect to the operations of componentwise addition, scalar multiplica- n tionf, and multiplication by t mod t - 1 » Corollary 2t If C is a cyclic group code of length n with generating polynomial P(t) of degree m, then N(C) s q" ~ "^, Theorem 1-1^11 s If C is a cycla.c group code with generating polynomial P(t) and A is a matrix determining C^ then for any two n-vectors u and v, P (t) = P (t)(mod Pit)} iff Au = Avo u V Proof; First suppose that Au - Av. and thus that u - v is in Co Then P (t) ^ Pit) = P „(t) = R(t)P(t) for some R(t)| therefore P„(t) = U V U — V u P^(t)(mod P(t))o Conversely, suppose P (t) = P (t)(mod P(t))o which implies that ^u - v^^^ ^ ^u^^^ " V^'^ ^ R(t)P(t) for some R(t). Then P^ ^ ^(t) is in C*„ u - V is in C5 and A(u - v) = Oj therefore Au = Avo 15 Theorem 1-1-12? If C is a cyclic group code with generating polynomial P(t) and A is a matrix determining C, then C corrects a set of errors D iff p (t) = P (t)(mod P(t)) implies that u = v whenever u and v are in Do Proofs First;, suppose that C corrects Do Then by Theorem 1-1 -5 o Au = Av implies that u = v whenever u and v are in Do Therefore ^ P (t) = P (t)(mod P(t)) implies Au = Av implies u = v whenever u and v are in Do Converselya suppose that P (t) = P (t)(mod P(t)) implies that u = v whenever u and v are in D, By Theorem 1-1 -11p P (t) = P (t)(mod P(t)) iff Au = Avo Therefore a Au = Av implies that u = v whenever u and v are in Dp so C corrects Do Theorem 1-1 -1 3 s If A is aixy matrix of the foiro A = a^ La^ oooj _ 4 1 L ~ aj and x is any n-component colimn vectors then Ax - P (L)ao Proofs Ax = ax^ + Lax, + o o c + l" ~ ^ax ^ + L^ °" ax . 1 1 n - 2 n - 1 n 1 = x.a + x^La+«oo+x .L " a because each x. is a scalar n 1 = (x. + x.L + ooc + X .L " )a because matrix multi- 11 n - 1 plication is distributive over additions = P3^(L)ao Theorem 1-1 -1^ s If C is a cyclic group code with generating polynomial P(t)8 then a suitable matrix A which determines C is one of the form A = a^ Lap ooo» L "" aJ , where a is the m-component column vec- tor and L is the companion matrix m m 1 1 ooo 1 ooo 16 m ~ 1 of the polynomial P(t) = t"^ + / \ h.t^o i = Proofs First 9 suppose that we are given a code C with generating poly- nomial P(t)o and let us form the matrices L and A described above „ Then P(t) is both the characteristic polynomial and the minimum polynomial of Lo It is also the minimum poljmomial satisfying P(L)a ^.0^ since the vec- tors L a are all linearly independent for the a specified above and i = Op 1 5 <, , o 9 n - 1 o This means that for every x in C ^ we have Ax = since Ax = ax^ + Lax. + 000+1°° ax ^ + L~ax . 1 n - 2 n - 1 = P (L)a X = R(L) P(L)a ~ Oo Conversely, every x such that Ax = is in C since Ax = implies n 1 ax- 4 Lax. + 000+L " ax 4=0j, which implies that P (L)a - Oo This 1 n - 1 ^ X implies that P (t) = R(t)P(t) for some R(t) because P(t) is the minimum Jib polynomial such that P(L)a = and hence divides P (t)o By the Corollary 1 of Theorem I-.I-IO0 the set of all multiples of degree ^ n - 1 of the gen- erating polynomial of a cyclic group code is isomorphic to the code itself. Therefore I, x is in Ce We have proved that Ax = iff x is in C? therefore;, A determines Co Definiti on I~1-I6g When L and a have the form described in Theorem I»1-.iZ<. the matrix A is said to be the standard form corresponding to P(t)o Corollary i If A is an m x n matrix of rank m in standard form which determines a c^/'clic group code C with generating polynomial P(t) of degree m*i, then m* = m. Proofs By the construction of A in Theorem 1-1-1^, 17 Theorem 1-1-1 5 s If A is an m x n matrix of rank m in standard form which determines a cyclic group code C with generating polynomial P(t)j then for any n-tuple w we have PA„(t) = Res P (t)(mod P(t))o Proofs Let P (t) = Res P (t)(mod P(t))o Then clearly P (t) is of n - m m degree ^ m - 1, Let z* be the n-tuple z* = 0^ o o » s, 0,, z ^o o^os z-. Then Az* = z since A is a matrix of the form B^ I ^ where B is an m X (n - m) matrix and I is the identity matrix of order ra. By h3rpothesiSi P^(t) = R(t)P(t) + P (t) = P (t) + P (t) with X in C= Therefore 8 w = (x + z*)s and Aw = A(x + z*) = Az* = z. Therefore^ P. (t) = P (t) = Res P (t)(mod P(t)). w T h e orem 1-1-1 6 s A matrix A of rank ra determines a cyclic group code C of length n with generating polynomial P(t) iff A is of the form A= lajLa, oe.oL " a^L " al ^ where L is an m x m matrix and a is a column vector such that L a = a and such that P(t) is the minimum polynomial satisfying P(L)a = Oo Proofs First;, suppose that A is a matrix having the specified form and that x is any n-tuple 5 then Ax = iff P (L)a = iff Res P (t) = O(mod P(t)) iff P^(t) = R(t)P(t) for some R(t) such that (degree of R(t)) + (degree of P(t)) ^ n - I0 By Theorem 1-1 -4^ there exists a group code C such that Ax = iff x is in C, Combining these two results, we see that X is in C iff P^(t) = R(t)P(t) for some R(t) with (degree of R(t)) + (degree of P(t)) :^ n - 1 § therefore ^ C is actually a cyclic group code with generating polynomial P(t)o Conversely 8 suppose that C is a cyclic group code with generating poly- nomial P(t) . By Theorem I-1-1i^5 we know that this is possible iff there exists a matrix B of the form B= bsMbpoooen'tD^iyr" b where M is the m X m companion matrix 18 m m - 2 1 I v O O 1 o o o of P(t) and b is Since B and the matrix A determining C are both m x n matrices of rank mo the rows of B form a basis for the space of the rows of A^ that iSj, there exists a non-singular matrix T such that A = TBo This means that A is a matrix of the form A = [Tb, TMb, „oo, TM" "" i>, Tm" "" bj o Applying this same linear transformation T to b and M„ we obtain a vector a - Tb and a matrix L = TMT' such that TM^b = (TM^T" )Tb = L^ao Therefore^ A is of the form A = a 9 La, .n 2 -n - 1 a, L a where L is an m x m matrix 9 a is an m-vector, and L^a = (TM^T"'' )Tb = TM"b = Tb = a„ Also, P(t) is the minimum polynomial satisfying P(L)a = because P(L)a - TP(M)bo Corollary ; If A is any matrix of rank m determining a cyclic group code C with generating polynomial P(t) of degree m*^ then m* = mo 19 Section 1-2 » Binary Code-Generating Polynomials „ Definition 1-2-1 ; An n-tuple x is said to be binary iff its coordi- nates X , X. (, 0...9 X . are elements of the field GF(2)„ For convenience, from now on we shall consider only binary errors and code words and, because -1 = +1 in GF(2)8 we shall no longer use "-1" in such expressions as "mod t - 1"" but instead will xorite "mod t +1*^0 Definition 1-2-2 g The polynomial P(t) is said to be of period n iff P(t) divides t + 1 but divides no poljmomial of the form t^ + 1 9 where o < j ^ n - 1 , Definition 1-2-'^ g The polynomial H(t) is said to be of order d with respect to P(t) iff d is the smallest positive integer such that H(t) = tTl(t)(mod P(t))o We also say in this case that H(t) lies in a cycle of length d with respect to P(t)<, Note that because we always have H(t) = t^(t)(mod P(t))i, where n is the period of P(t)o we know that d must be a divisor of no Theorem 1-2-1 g The polynomial H(t) is of order d with respect to P(t) iff the polynomial (P(t)/gcd(H(t),P(t))) is of period d„ Proof? Let P(t) = F(t)G(t), where F(t) = gcd(H(t) oP(t) ) and G(t) = (P(t)/gcd(H(t),P(t)))e Then H(t) is of order d with respect to P(t) iff d is the smallest positive integer such that (t + 1 )H(t) = (mod F(t)G(t)), which in turn is true iff d is the smallest positive integer such that (t^ + l)H(t)/F(t) = (mod G(t))o Since H(t)/F(t) is prime to G(t), we see that this can be true iff d is the smallest positive integer such that G(t) divides t + 1„ Therefore, H(t) is of order d with respect to P(t) iff G(t) is of period do Corollary g If P(t) is irreducible and of period n, and P(t) does not divide H(t) , then H(t) is of order n with respect to P(t)o 20 Proofs If P(t) is irreducible and P(t) does not divide H(t)£, then gcd (H(t)9P(t)) = 1; therefore, the order of H(t) with respect to P(t) is equal to the period of ?(t)/lg which is n» Definition I-2~^ ; The n» tuple u is said to be of order d iff P (t) is of order d with respect to t^ + 1 o We then have u = u %, where \r ^ is defined recursively by the formulas u =Ut, u =u»5 and u^"^'^ = u '^ "" o Note that because we have u = n \ we know that d must be a divisor of no Definition I^2~5 s A set of cyclic errors D is said to be of order d iff every non-zero error in D is of order d. Definition I~2-6 g Let the elements of GF(2) be put into one-to-one correspondence with the integers and 1 „ We say that v is the normal form and j is the index of the cyclic error u of order d iff v "^ = Uo where o ^ j -^ d - 1 and S" ? ~ -. v, 2"^ is a minimum for all cyclic shifts of Vo Note that under these restrictions, v and j are unique for a given Uo Definition 1-2-7 ? The polynomial P (t) is said to be the nognal polynomial of u , and any polynomial P (t) for which ^ - Z o ^°^ is a minimum for all cyclic shifts of v is a normal ^ polynomial o The following theorems indicate that each error u in a set of cyclic errors D is related through the operation of cyclic shifting;, or multipli- cation by t (mod t + 1 ) ^ to a unique normal form v^ which may therefore be used to identify the cycle to which u belongs „ Theorem, 1-2-2 s If D is a set of cyclic errors of length n and D* is the set of all polynomials P (t) such that u is in Dg then each element P (t) in D* may be written uniquely in the form P (t) = Res t''"H(t) (mod t" + 1)9 where if d is the order of Uo H(t) is a normal polynomial 21 in D* of order d with respect to t" + 1 and o ^ i ^ d - 1 » Proofs Suppose that u is in D and that u = v "^ f, where v is the normal form and j the index of Uo Then P (t) = P / .At) - Res f^P (t) (mod t^ + 1)^ where o ^ j ^ d - 1 and P (t) is a normal polynomial in D* of order d with respect to t + 1o Taking i = j and H(t) = P (t), we obtain P (t) = u Res t%(t) (mod t" + 1) Theorem 1-2-3 ? If D is a set of cyclic errors of length n and D* is the set of all polynomials P (t) such that u is in D, then Res t"''H(t) (mod t + 1 ) is in D* for any integer i and any polynomial H(t) in D*c Proofs Suppose that i is any integer and that H(t) is any polynomial in D*o Then there exists an integer s and a pol5niomial M(t) such that H(t) = Res t^(t) (mod t" + 1)„ where o ^ s ^ n - 1 and M(t) is a normal polynomial in D*o Now let P (t) = M(t) and let j = i + s (mod n) o Then there exists a u in D such that Res t^H(t) (mod t" + 1 ) = Res t^ "*" ^M(t) (mod t" + 1) = Res t'^P^(t) (mod t" + 1 ) = P , .x (t) = P^(t) in D*„ Theorem 1-2-^ ; The cyclic group code C of length n with generating polynomial P(t) corrects a set of cyclic errors D iff „ for any two normal polynomials H^(t) and H2(t) in D* both of order d with respect to t +1, t 'H^(t) = t ^(t) (mod P(t)) implies H^(t) = H2(t) and i^ = i^ (mod d) « Proof; If either H^(t) or H2(t) is equal to zero, then t H. (t) f ^2 t H2(t) unless H. (t) = ^^^(t) = 0? therefore^ this is merely an applica- i. tion of Theorem 1-1-12 with P (t) replaced by t H. (t) and P (t) replaced by t ''H2(t)„ 22 Theorem I~2-5 s Let P(t) be a polynomial of degree m which generates the code C of length n correcting a set of cyclic errors D„ Then for each u in D there exists a iinique poljniomial K (t) of degree ^ m -> 1 such that K (t) - Res P (t) (mod P(t))o Proofs Let A be the m x n matrix of rank m in standard form corres- ponding to P(t)o Then K (t) = P. (t) = Res P (t) (mod P(t)) is the de» sired polynomial,, Definition 1,72^8; The polynomial K (t) is said to be the image poly- nomial of u with respect to P(t), Definition I°^2<»9 s Let the elements of GF(2) be put into one-to-one correspondence with the integers and 1 as in Definition I=-2-6(, let u be an error of order d in a set of cyclic errors Dp and let K (t) = Res P (t) (mod P(t))9 as in Theorem 1-2-5 Then we say that R (t) is the represen- tative polynomia l of u with re spect to P(t) and j is the power of u with respect to P(t) iff K (t) = Res th (t) (mod P(t)), where o :^ j ^ d - 1 , and, for all polynomials R(t) such that R (t) = Res t^(t) (mod P(t)), we have X] i = ^i^^ — Y11^0^\^^^' ■"^®^® ^ ^^ ^"^ integer and the r. 's and (r ) 's are the coefficients of R(t) and R (t) respectively„ Definition 1^.2-10 ; The polynomial R(t) of degree ^ m - 1 is said to be a representative polynomial with respect to P(t) iff it has the property that for all polynomials K(t) such that K(t) = t'^R(t) (mod P(t))j we have y 'l^ " ^ k.2^ ^ S^^ " ^ v.2^, where the k„»s and r »s are the co- Z_i 1 = X ^^—i 1 = 01 1 i efficients of K(t) and R(t) respectivelyo Theorem I°°2-6 g If P(t) is the generating polynomial of a code which corrects the set of cyclic errors D of length n and D# is the set of all polynomials K (t) such that K (t) = Res P„(t) (mod P(t))5 where u is in Dj u is of order d^ and K (t) is of order d with respect to P(t)p then each 23 element of D# may be written uniquely in the form K (t) = Res t^(t) (mod P(t))9 where ^ i ^ d - 1 and H(t) is a representative polynomial in D# of order d with respect to P(t)o Proofs Suppose that u in D is of order d and that K (t) in D# is also of order d with respect to P(t) and is the image polynomial of u with re- spect to P(t), Then K (t) = Res t'^R(t) (mod P(t))i) where j is the power of u with respect to P(t) <, ^ j ;^ d - 1 g and R(t) is the representative polynomial of u Tri-th respect to P(t)o Taking i = j and H(t) ~ R(t)(, we obtain K^(t) = Res t%(t) (mod P(t))o Theorem I-2»7 s If P(t) is the generating polynomial of a code which corrects the set of cyclic errors D of length n and D# is the set of all pol3nioraials K (t) such that K (t) = Res P (t) (mod P(t))o where u is in Dj then Res t''"H(t) (mod P(t)) is in D# for any integer i and any polynomial H(t) in D#o Proofs Suppose that i is any integer and H(t) is any poljoiomial in Df o Then there exists an integer s and a polynomial M(t) such that H(t) = Res t M(t) (mod P(t))s, where ^ s ^ d - 1 and M(t) is a representative polynomial with respect to P(t) and is in D#o Now let R(t) = M(t) and let j = i + s (mod n) e Then there exists a u in D such that Res t'^H(t) (mod P(t)) = Res t^ "^ ^M(t) (mod P(t)) ^ Res t^R(t) (mod P(t)) = K^(t) in Theorem 1-2-8 s The cyclic group code C of length n with generating polynomial P(t) corrects the set of cyclic errors D iff » for any two repre- sentative polynomials H. (t) and H2(t) in D# both of order d with respect to t" + 1, t %^(t) = t ^2^^) ("1°^ P^"*^)) implies H^(t) = H2(t) and i. = ±2 (mod d) » 2i^ Proofs If either H^(t) or HgCt) is equal to zeros then t H^(t) ? t H^Ct) (mod P(t)) unless H^(t) = H^Ct) ~ 0; therefore „ this is merely an application of Theorem 1-1 »1 2 with P (t) replaced by t H.(t) and P (t) re- placed by t 'TI^(t)o Theorem I-2~9 g The cyclic group code C of length n with generating polynomial P(t) of degree m corrects the set of cyclic errors D iff for any u and V in D, P^(t) = P^(t) (mod P(t)) implies P^(t) = P^(t) (mod t^ + 1 ) » Proofs Since P^(t) = P^(t) (mod t" + 1) iff u = v, this result follovjs directly from Theorem 1-1-1 2, Theorem 1-2-10 ; The cyclic group code C of length n with generating polynomial P(t) corrects the set of cyclic errors D iff for each distinct normal form v of order d in D there exists a distinct representative poly- nomial R (t) in D# of order d with respect to P(t)o Proofs Suppose first that P(t) generates C and that u and v are dis- tinct normal forms of order d in D^ but that R (t) ^ R (t). Then we know u V that there exists ajcOt^j^d-lj such that K (t) = f^K (t) (mod P(t))o This means that P (t) = t^P (t) (mod P(t))5 which means (because C corrects D) in turn that P (t) = t^P (t) (mod t^ + 1), and, finally that u - v^*' o Also, if u is any error of order d in D^, then R (t) is of order d with re- spect to P(t) because R (t) S t'^R (t) (mod P(t)) implies, as before^ that u = u ^ 5, which is impossible unless j = (mod d) » Conversely^ suppose that for each distinct normal form w of order d in D there exists a distinct representative polynomial R^(t) in D# of order d with respect to P(t) and suppose that P (t) = P (t)(mod ?(t))s where u and V are any errors of order d in Do Then R (t) = R (t)c which by hypothe.- 25 (i) sis implies that u and v have the same normal form,, so that u ~ v \ for some ^ j i^ d - 1„ Since^ however, P (t) = t F^(t) (mod P(t)) and P (t) and P (t) are of order d with respect to P(t)(, we see that j = Oo Therefore, P (t) = P (t) (mod P(t)) implies that u - Vo Theorem 1-2-1 1 i The cyclic group code C of length n with generating polynomial P(t) corrects the set of cyclic errors D iff t + 1 corrects the set of errors D which has the property that u is in D iff there exists a u in D such that P^(t) = P^(t)Q(t) (mod t^ + 1), where Q(t) = (t^ + 1)/ P(t)o Proof? We know that P (t)Q(t) = P^(t)Q(t) (mod P(t)Q(t)) iff P (t) S P (t) (mod P(t))s which means that P(t) generates a code correcting D iff n ^ P(t)Q(t) = t +1 generates a code correcting D, The preceding theorems indicate that 1 ) if we know which polynomials of degree < m lie in which cycles of P(t)s then we can readily determine whether or not the code generated by P(t) corrects any given set of cyclic errors 5 and 2) each cycle of P(t) possesses a unique representative poly<= nomial and length c Therefore, we can test whether or not a given set of cyclic errors is corrected by the code generated by P(t) in the following ways we first find the set of normal forms of the set of cyclic errors and the order of each of these o This can usually be done quite easily by inspection o Theng for each normal form 9 we find first the corresponding image polynomial with respect to P(t) and then the corresponding repre=» sentative polynomial with respect to P(t) and its order with respect to P(t)o If each distinct normal form corresponds to a distinct representative polynomial whose order with respect to P(t) is the same as the order of the normal forms then Theorem 1-2-10 tells us that the code generated by P(t) 26 corrects D„ Alternatively, Theorem 1-2-11 shows that each error u in the set of cyclic errors D may be first multiplied modulo t +1byQ(t) = (t + 1)/P(t) to form a modified error u; if each distinct normal form v in the original set of errors D corresponds to a distinct normal form ^ from the set of modified errors Dj and each v is of the same order as its corresponding V9 then the code generated by P(t) corrects De The method of Theorem 1-2-10 is best adapted to use on a high-speed computer s, where- as the method of Theorem I-2«11 can be carried out by hand even for fairly long and complicated codes because the normal forms can be obtained by in- spection o If we are not interested in determining whether the code generated by a given polynomial P(t) corrects a given set of errors D but rather in ex- amining the actual cycle stru.cture of PCt), we may proceed as follows? Firsts we note that the polynomial lies by itself in a cycle of length 1 o Next 5 we choose the polynomial 1 as the representative polynomial of the first non-zero cycle of P(t) 9 then form and write down the products tj t 0000 t " t (mod P(t))s 0009 t " (mod P(t))„ where t = 1 (mod P(t))c We know that n :^ 2^^ - 1 because the total number of non-zero binary polynomials of degree < m is 2^ - 1 o If n = 2^^ - 1 3 then the cycle structure of P(t) has been completely determined — namely^ it con- sists of a zero cycle of length 1 and a non-zero cycle of length 2^ -. 1 « If n < 2"^ - 1 s we may obtain the remaining cycles of P(t) by choosing that poljmomial H(t) of degree < m not appearing in any cycle already obtained for which 7 . ^ - h.2 is a minimum as the representative polynomial of the next non-zero cycle and writing down the products Res tH(t) (mod P(t) 000s Res t " H(t) (mod P(t))£, where d is the order of H(t) with respect to P(t) o This procedure is repeated until all polynomials of degree < m have been accounted foro 2? Section I»3o Factorable Cod e~Generatine;_Polynomials. Let us now suppose that P(t) is a poljmoraial of the form P(t) -• P2(t)P^(t) and let us consider whether or not it is possible to relate the error-correcting properties of P(t) to the cycle structures of its fac<= tors P^(t) and P2(t)o Theorem 1-3-1 s If P(t) = P2(t)P^(t)„ where PgCt) and P^(t) are rela« tively primep and each of P(t) o P^Ct);, and PoC^t) is of period n^ n. o and n2 respectively a then n = lcm(n. ;, n2) <> Proofs If P(t) ~ P2(t)P^(t)p where P2(t) and P^(t) are relatively prime, then P(t) divides Q(t) iff P2(t) divides Q(t) and P^(t) divides Q(t) Theorem I»>2s Let P(t) be any polynomial of the form P(t) = P2(t)P^(t), where P^(t) and P2(t) are relatively primeo Let H(t) and K(t) be any two polynomials such that H(t) and K(t) are both of order d. with respect to P^(t) and both of order d2 with respect to ?2it) ,. Then 1) H(t) and K(t) are both of order d = lcm(d. j, d2) with respect to P(t) and 2) there exists a j such that H(t) = t'^K(t)(raod P(t)) iff there exist two in- tegers j^ and jg such that ^ j^ ^ d^ - 1 o ;^ jg ~ ^2 "" ^ ' ^^^^ ^ i i t ^K(t) (mod P,(t)), H(t) = t ^K(t) (mod P„(t)), and j, = j. (mod gcd(d^ =^2^^ " Proofs 1) Since P(t) = P^(t)P^(t), where P^(t) and P2(t) are rela- tively prime, H(t) = t^H(t) (mod P(t)) implies that H(t) 5 t^(t) (mod P. (t)). However c d. is by hypothesis the smallest positive integer such that H(t) = t H(t) (mod P. (t)); therefore;, we see that d. divides do Similarly, d2 divides d, and therefore H(t) = t H(t) (mod P(t)) for any d which is a multiple of both d. and d^,-, The smallest positive integer which is a multiple of both d. and d2 is 1 cm(d. ;, dp)^ therefore the order of H(t) with respect to P(t) is d = lcm(d^ , d^) ^ Similarly, the order of K(t) 28 with respect to P(t) is d = lcm(d. 5 d^) « 2) Since P(t) = ?^(t)?At), where P. (t) and PpC't) are relatively primes we have H(t) = t^K(t) (mod P(t)) iff H(t) = f^KCt) (mod P^(t)) and H(t) 5 t'^K(t) (mod P2(t))o Because H(t) and K(t) are of order d. with respect to P^(t), H(t) = t^K(t) (mod P^(t)) iff there exist integers c^ and j. , with ^ j^ ^ d^ - 1, such that j = c^d^ + j^ and H(t) S t 'K(t) (mod P^(t))<. Similarly, H(t) = t^K(t) (mod P(t)) iff there exist integers Cp and jg '^^'^ — ^z — ^2 " ^ " ^^^ ^^^^ ^ ~ ^2*^2 **" ^2 ^"^ ^^^^ ^ t 'TC(t) (mod P2(t))« Finally, c^d. + j^ = j and C2d2 "•" J2 ~ ^ ^^^ j. - J2 = c.d. + C2d2» which in turn is true iff j.^ ~ J2 ^ (mod gcd(d. 5d2))e Theorem 1-3^3 1 Let P(t) be any polynomial of the form P(t) = p2(t)P. (t)^ where P^(t) and PpC't) are relatively prime Then the cyclic group code C of length n with generating polynomial P(t) corrects the set of cyclic errors D iff, for each pair of distinct normal forms u and v of order d in D, we haves 1) P (t) and P (t) are both of order d with re- ' u V spect to P(t) and 2) it is not true that there exist two integers j. and J2 such that ^ j^ ^ d^ - 1, ^ J2 ^ d2 =- 1 , P^(t) = t 'P^(t) (mod P^(t)), P^(t) = t S^(t) (mod P2(t)), and j^ = 3^ (mod gcd(d^,d2)), where d is the order of P (t) and P (t) with respect to P=j(t) and dp is the order of P (t) and P (t) with respect to P2(t)o Proofs By Theorem 1-2-45 C corrects D iff 1) P (t) and P (t) are both of order d with respect to P(t) and 2) there exists no j such that = t^I Do Therefore, this is a direct application of Theorems 1-2-4 and 1-3-2. P (t) = t'^P (t) (mod P(t)) whenever u and v are distinct normal forms in Theorems 1-3-2 and 1-3-3 show that we can indeed predict the error- correcting properties of the product P(t) if we know the cycle structures 29 of the factors P^(t) and P2(t)c Thus, to determine whether or not a given set of cyclic errors D is corrected by the code generated by P(t) » we first find the set of normal forms in Do Let u be such a normal form and let K (t)p K^ (t), and K^ (t) be its image poljniomials with respect to P(t)o P^(t)8 and P2(t) respectively^ and let v be another normal form with image polynomials K (t)^ K^ (t)i, and K2 (t). By Theorem 1-3-39 we know that there exists a j such that K (t) == t'^K (t) (mod P(t)) iff there exist two inte- gers j^ and J2 such that ^ j^ ^^: d^ - 1 „ ^ J2 ^ d^ « 1 , K^^(t) 5 t ^K^^(t)(mod P^(t)), K2^(t) - t \it) (mod P2(t)), and j^ ^ i^ (mod gcd(d^od2))o Assuming that the cycle structures of P^(t) and P2("^) have been found and written down as described at the end of Section 1-2 it is easy to determine whether or not a j, and ^^ ©xist satisfying these conditions o The following theorems are important because they provide the theoreti- cal basis for the method used in succeeding chapters to construct an arbi- trarily long code correcting a given set of errors if we already know of a shorter code which corrects a set of errors with a related set of normal forms o Theorem 1=^3°°^ g Let P(t) be any polynomial of the form P(t) - P2(t)P. (t)o where P^(t) and P2(^) ^.re relatively prime and are of period n. and n2 respectively^ so that P(t) is of period n - lcm(n^on2)o Let D be a set of cyclic errors of length n and let each non-zero polynomial P (t) in D* be of order n. with respect to P4(t)o Finallyo suppose that u 11 for each distinct non-zero normal form v in D here exists a distinct poly- nomial R2 (t) which is the representative polynomial of P„(t) with respect to P2('t') and is of order n^ with respect to P2(t)o Then D is of order n and the code C generated by P(t) corrects Do 30 Proof? Let u and v be any two distinct non-zero normal forms in D with representative polynomials R (t) and R (t) with respect to P(t)(, and suppose that R (t) = R (t)„ Then there exists a J such that K (t) = t^K (t) U V U V (mod P(t)), which means that K (t) S t«^K (t) (mod Pp(t))o which contradicts the hypothesis that each distinct non-zero normal form v has a distinct representative polynomial with respect to Pp(t)o AlsOc Theorem I-.3-2 shows that each representative poljniomial R^(t) in D# is of order n = 1cm (n^ ^ng) with respect to P(t) because P (t) is of order n. with respect to P.j(t) and of order n^ with respect to P2(t)o Therefore^ D is of order n and^ by Theorem I„2-10„ C corrects Do Corollary s Let P(t) be any polynomial of the form P(t) = P2(t)P^(t)o where ^^(t) and ^^^^"^ ^^® relatively prime and are of period n^ and ng respectivelys so that P(t) is of period n - lcm(n. nnp)o Let D be a set of cyclic errors of length n and suppose that P^(t) is irreducible and di- vides no non»zero polynomial P (t) in D*o Finallyo suppose that for each distinct non^zero normal form v in D there exists a distinct polynomial Rp (t) which is the representative polynomial of P (t) with respect to Po^^^ and is of order ng with respect to P2(t)o Then D is of order n and the code C generated by P(t) corrects Do Proofs By the Corollary of Theorem 1-2-1 , we know that if "PA^) is irreducible s is of period n. . and does not divide P^Ct);, then P (t) is of order n. with respect to P. (t)o Theorem 1-3-5 s Let P(t) be any polynomial of the form P(t) = Pp(t)P. (t)^ where P. (t) and ^2^^^ ^^® relatively prime and are of period n. and n^ respectively „ so that P(t) is of period n = lcm(n. pn^). Let D 31 be a set of cyclic errors of order n^ corrected by the code Cg generated by Pp,(t)j, and let D be a set of cyclic errors whose set of normal forms is obtained from the set of errors D^ as follows s to each non-zero normal polynomial P (t) in D^* we first add some multiple Q(t)P2(t) of PgCt) of degree ^ n - 1 p then form the representative poljniomial P (t) of P (t) = P (t) + Q(t)Pp(t) with respect to t" °f 1 „ so that v is the normal form of the error Uo Finally^ suppose that each P„(t) so formed is of order n^ with respect to P. (t)o Then the code C generated by P(t) corrects Do Proofs Because Cg corrects D^v we know by Theorem 1-2-10 that for each distinct normal form in Dp there exists a distinct representative poly- nomial of order n^ with respect to P2(t)c Because P (t) differs from P (t) only by a multiple of Pp(t)p we see that ? (t) , and hence P.-Ct), has this same representative polynomial with respect to P2(t)o Therefore j, by Theorem 1-3-^9 C corrects D because each distinct non~zero normal form v has a distinct representative polynomial with respect to P2(t)o Corollary s Let P(t) be any polynomial of the form P(t) = ?Jt)?^(t), where P^(t) and P^Ct) are relatively'- prime and are of period n^. and n^ re» spectively, so that P(t) is of period n = lcm(n Definit ion^ . I-^-j s Let C be a cyclic group code of length n with gen- erating pol"^momial P(t) of degree m which corrects a set of errors D con- taining the zero error and g distinct non-zero normal forms of order n so that N(D) = ng + 1 o We say that C is maxi mallv efficient -with respect to D iff ng + 1 > 2^- - g„ Theo rem 1-4-1 i Let C be a cyclic group code of the kind described in Definition 1-4-1 o If C is maximally efficient with respect to D^ then there exists no cyclic group code C of length n :^ n + 1 with generating poly- A nomial P(t) of degree m which corrects D, Proofs If a code C exists ^ then for such a code we have ng + 1 ^ (n + 1)g + 1 > 2 because ng + 1 > 2^" - go Thereforej for such a code,, N(C) X N(D) ^ 2^ " ^(ng +1) > 2^, which is impossible by Theorem 1-1-1 » Therefore, no such code C exists » The following three theorems show how this new concept is related to the two earlier ones, '^ 33 Theorem 1-^-2 s Let C be a cyclic group code of the kind described in Definition lJ^-1 , Then C is efficient if f ng + 1 > 2^ ~ » Proofs By Corollary 2 of Theorem I»1-10, we know that N(C) = 2^ " '^, so that in this case N(C) x N(D) > 2^ ~ "^ x 2"^ " "* = 2^ " "* o Therefore, by Definition 1-1 -12, C is efficient with respect to D. Theorem 1-^-3 s Let C be a cyclic group code of the kind described in Definition 1-^-1 o Then C is maximally efficient iff ng + 1 > 2 - g< Proofs This is merely a restatement of Definition 1-^-1 o Theorem 1-4-^ s Let C be a cyclic group code of the kind described in Definition 1-4-1 „ Then C is close-packed iff ng + 1 = 2^^, Proofs By Corollary 2 of Theorem 1-1-10, we know that N(C) = 2" ~ '^^ so that in this case N(C) x N(D) = 2^ " " x 2^ = 2". Therefore, by the Corollarj;- of Theorem 1-1 -3o C is close-packed with respect to D, Defini t ion 1-4 -2 s Let C be a cyclic group code of length n with gen- erating polynomial P(t) of degree m which corrects the set of cyclic errors Do The efficiency of C with respect to D is N(D)/2'", Let C be a cyclic group code of the kind described in Definition 1-4-1 . It is immediately apparent that C is efficient with respect to D iff its efficiency x^rith respect to D is > -|; C is maximally efficient with respect to D iff its efficiency irxith respect to D is )>• 1 - g/2'^? and C is close- packed with respect to D iff its efficiency with respect to D is = 1 » Recalling Theorem 1-1-1 9 we may summarize by saying that the code C is efficient with respect to D iff it is information-theoretic ally impossi- ble to find a code C with generating pol3Tioraial P(t) of degree ra 4 m which corrects a set of cyclic errors D as large as Do The code C is maximally 3^ efficient with respect to D iff it is information-theoretically impossible to find a code C of length n > n with generating polynomial P(t) of de- A ^ A gree m -^ m which corrects a set of cyclic errors D of order n with g dis- tinct non-zero normal forms o The code C is close-packed with respect to A D iff it is information-theoretically impossible to find a code C with gen- erating polynomial P(t) of degree m ^ m which corrects a set of errors D containing a larger number of errors than Do The concept of efficiency can be very useful when we are searching systematically for a poljmomial which generates the most efficient possi- ble code correcting a set of errors D such that the order of each non-zero error is equal to its length and such that D has a given set of g distinct non-zero normal forms. We first order the polynomials of each degree m ^ 3 (degrees 1 and 2 are trivial) with coefficients in GF(2) in such a way that P(t) precedes Q(t) iff either 1) degree of P(t) < degree of Q(t) or 2) degree of P(t) = degree of Q(t) = m and X! ^ = 1 P'^^ ^ X! i = 1 ^i^^° We next examine the cycle structure of the first polsniomial P(t) for which ng + 1 — 2^8 where m is the degree of P(t) and n is its period 3 to ascer- tain whether or not the code C with generating polynomial P(t) corrects the set of cyclic errors D of length n and order n with the given set of g dis- tinct non-zero normal forms. If C does correct D, we calculate the effi- ciency (ng + 1)/2 of C with respect to D before going on to the next P(t), so that we may now speed up our search by ignoring not only those P(t)'s for which (ng + 1)/2"^ > 1« but also those for which (ng + 1)/2"^ is less than or equal to the efficiency of the code already found. Each time a new code is found, we note its efficiency and henceforth ignore any succeeding P(t) which does not give promise of generating a code whose efficiency is greater than that of the most efficient already founds continuing in this way until we find a code of efficiency 1 or stop for some other reason o CHAPTER II CODES DEFINED ON RASTERS Section II-1 o Correction of Cyclic Spot°Errors Defined on a Raster o Definition II-.1-1 g A raster R is an ordered n« tuple (r^j r. „ oooo r .) of points in a space E such that for each pair (r. 9 r J in R there is defined a distance function ra(r. 9 r,) with the following properties? 1 ) m(r. D r. ) = for each r. in R 11 1 2) m(r. 9 ro) > for all pairs r„ 4 r„ 1 J 1 J 3) m(r^9 r.) + mCro, r^^) :^ ra(r^9 r^^) for all triples (r^, r.^ r^) in R ^) m(r. 9 ro) depends only on the value of i = j (mod n), so that there is a function M(s) defined over the integers with the property that M(s) = M(q) if s = q (mod n) and M(j » i) = m(r. 9 rj = m(ro9 r.) = M(i - j). Examples of rasters which we shall consider ares 1) a straight line with raster points one unit apart 9 so that m(r.9 r»^^) = M(1) = 1= Since we are considering only cyclic codess we imagine that the last or (n = 1 ) st point of the raster is at a distance of one unit from the first points so that m(r .9 r ) = m(r . „ r.) = M(1 ) = 1 , Note that ^ n - 1 n n - 1 because of its cyclic characters this raster may conveniently be regarded as a circle instead of as a straight line (see Figure II-1)o 2) a two-dimensional square j, rectangular 9 or hexagonal array with points one unit apart in a direction defined as "horizontal* , If the raster is a b. by b^ array 9 then points r^j r. » 0009 r, ^ are in the first row^ r/ o 1 )h " ^(j - i)b^ + r " = - ^,ib^ « 1 ^^^ ^" ^^^ ^^^ ^°^' ^"^ ^(b^ - i)b^' ^(b^ » i)b^ + 1 r, , _ . are in the last roWo We again imagine that m(r,, 1' ^°b ^ ~ ^ and m(r, , ^9 r ) = I9 and that the direction from r =, ^ to r ., is also D2D^ - 1 o jb^ - 1 jb^ 35 36 Figure II- 1 / - — — — — — — — 1 / 1 "■(bg-Db^+l ^(b2«1)b^+2 \b^-2 ^(j-i)b^ 1 i "■(j-Db^+l ^(j-1)b^+2 ^jb^-2 '*;jb^-i r • ^1 __^b^+2 ^2b^-2 ^2b^-1 ^2 ^b^-2 ^-1 Figure II«2 37 "horizontal" o Note that because of its cyclic characters, this raster may conven- iently be regarded as a helix instead of as a plane array (see Figure II-2)„ Definition II-1.»2 g A spot is any subset of a raster Ro Definition II<«1-3 g The diameter of a spot S is max m(r.sr J. (rip rj in S) ^ ^ Note that the diameter of a spot S as defined here is the smallest value a such that S is wholly contained in each circle of radius a with center at one of the points of S^ and therefore may be less than the diameter of the smallest physical circle enclosing all the points of So For example ^ the vertices of an equilateral triangle with sides of length 1 form a spot of diameter 1 by Defini- tion II"1-3» but the smallest circle enclosing all three points has diameter ^!) since the set of all spot-errors of diameter ^ a is a set of cyclic errors of length n. Corollary s Let P(t) be any polynomial of the form P(t) - ?2(t)P^(t), where P^(t) and Pp(t) are relatively prime and are of period n. and n2 respec- tively £, so that P(t) is of period n ~ lcm(n^ a ng)* Let D be the set of all spot- errors of diameter ^ a and suppose that P^(t) is irreducible and divides no non-zero polynomial P (t) in D*o Finally^ suppose that for each distinct non- zero normal form v in D there exists a distinct polynomial ^ov^^^ which is the representative polynomial of P (t) with respect to ?At) and is of order n^ with respect to P2(t)o Then D is of order n and the code C generated by P(t) corrects D,, Proofs This is merely a special case of the Corollary of Theorem 1-3"^!) since the set of all spot-errors of diameter ^ a is a set of cyclic errors of length no Theorem II^U12 ; Let P(t) be any polynomial of the form P(t) = P2(t)P^(t)j where P^(t) and P^Ct) are relatively prime and are of period n^ and n2 respec= tivelyp so that P(t) is of period n = lcm(n. o t^2^ ° ^^^ ^2 ^® ^ raster of length n2i) let each error of diameter ^ a on Rg be of order n^o and suppose that the code C2 with generating polynomial ^2^^^ ^^ ^ spot-correcting code of diameter a on Rgo Let R be a raster of length n and suppose that the set S of normal forms of the errors of diameter ^ a on R is in one-to-one correspondence with some subset S2 of normal forms of the errors of diameter ^ a on R2 as follows? to each non-zero normal poljmomial P (t) of diameter ^ a we first add some ^2 multiple Q2(t)P2(t) of ^2^"^^ °^ degree ^ n - 1 ,, then form the representative polynomial P (t) of P,(t) = P, (t) + <^Jt)?^(t) with respect to t" + 1 „ so that V is the normal form of Uo Finally j, suppose that each P (t) so formed is of order n^ with respect to P. (t)o Then the code generated by P(t) is a spot- 1*2 correcting code of diameter a on Ro Proofs This follows directly from Theorem 1-3-58 since the set of all spot-errors of diameter ^ a is a set of cyclic errors of length np and C^ corrects any subset of the set of errors D^ if it corrects D-o Section II-2o Correction of Cyclic Spot=»Errors on Rasters Determined by Matrix Pairs » Up to this point, we have not supposed that a raster has any properties other than those given in Definition II-1-1; that iSp it must be a set of points in a space E on which are defined an enumeration and a particular kind of distance functiono We shall now consider the problem of actually construct- ing point-sets which satisfy Definition II-.1-1 and to which the theorems of Section II-1 can be applied « The process by which a raster of length n is constructed is briefly as follows s we first define an infinite set of points in N-dimensional Euclidean space by means of a configuration matrix Lo We then define a partition of this point set into n equivalence classes by means of an enumeration vector S. » and an alignment matrix M, and finally define a distance function m(r. » r .) between any two equivalence classes r. and r. of points in our original point setc The set R = (r , r^, »«»!, r i^ ^^ equivalence classes r^p r^ » <,oe<, r . is then a set of n "points" which constitute a raster according to Definition II-1»1c The reason for adopting this rather complicated procedure is that we wish to consider cyclic codes defined on finite rasters in N-dimensional Euclidean space o By grouping the points of an infinite point set in N-dimensional Euclidean space into n equivalence classes ^ we obtain a finite raster on vrtiich the distance function behaves cyclicly, as desired „ and yet can be defined in ^3 Euclidean terms o Definition II-2-1 t Let E be an N-dimensional Euclidean space in which is defined a Cartesian coordinate system o A non-singular N x N matrix L is the configuration matrix of an infinite set of points F iff the coordinates of each point ^ in F are given by | = L =^ o where «<. is a vector of integers o We shall henceforth consider only points sets F which may be obtained by a linear transformation of the integer points of a Cartesian coordinate system o The configuration matrix specifies this linear transformation and thus deter- mine whether F is square (, rectangular o hexagonal o etc « Although a given config- uration matrix defines a unique configurations the following theorem shows that the matrix defining a given configuration is not unique e Theorem II-2~1 ; Let E be an N-dimensional Euclidean space in which is de- fined a Cartesian coordinate system and an infinite point set F with configura- tion matrix Lo Then L" is also a configuration matrix of F iff there exists a matrix T of integers with determinant 1 such that L' = LT. Proofs Suppose that L is the configuration matrix of F^ that I = L«L is any point of Fs, and that T is a matrix of integers with determinant 1 <, Then there exists a /3 such that ^ = LT /3 = L« /5 ; since „ therefore „ /3 = T oC where .^ is a vector of integers j, we know that /3 must also be a vector of in- tegers,, Therefore, L' = LT is also a configuration matrix of Fo On the other hand^ suppose that L and L" are both configuration matrices of F and that f is a point of Fo Then there exist vectors of integers oL -1 and iS such that L o Theorem II-2-2 g Let E be an N-dimensional Euclidean space in which is defined a Cartesian coordinate system and an infinite set of points F with con- figuration matrix L, let 5^ be the column N-vector and let M be an alignment matrix of length no Then every point in F can be represented unique- ly in the form I = iL § . + LM^ , where ^ i :^ n - 1 and ^ is a vector of integers. Proofs Let S be any point in Fo Then there exists a vector of in- tegers oC such that I = L =L ; and since L is non-singular t, $ = iL S .+ LM/3 iff °^ = i § . + M/3 o Recalling the definitions of M and S -j » we see that this implies that k. oi. n 12 13 1N ^1 ^2 ^5 Rewriting this matrix equation as a set of N simultaneous linear equations 9 we have? ftz S = i*" f^i* SJ^^'^tj (^i ^2- Since ol 1 P N N = N 2 k. o ^ . is a constants there exist unique integers i and /5 . such that ^ i :^ n - 1 and /3.= ^.-i- ) k.o/S.., Letting /3 . = c>{ . for 3 = 2, „ » <. o N , we have J = 2 ? = L ^ = iL + LM c=^i - i - "'N where ^ i ^ n » 1 and (3 is a vector of integers, = iL 5 ^ + LM ^ Definition 11-2-3 ? Let /3 and / be N- vectors and let M be an alignment matrix of length n^ We say that (^ ^ o (mod M) iff there exists a vector of integers ^ such that (^ ~ ° = M "^ Theorem II-2-3 ? Let E be an N-dimensional Euclidean space in which is defined a Cartesian coordinate system and an infinite point set F with con- figuration matrix L, and let M be an alignment matrix of length n with eniimera- tion vector S . = Then M partitions the set F into n equivalence classes un- der the equivalence relation $ S 3 (mod LM) o Proofs By Theorem II-2-25 we know that there exist an integer i and a vector of integers <=C such that £ = iL 5 . + LM cxi, where ^ i ^ n - 1 s and we know that there exist an integer j and a vector of integers ^ k6 such that O = JL S . + LM ^ , where d ^ j ^ n - 1 o Since I = \^ (mod LM) iff there exists a vector of integers V such that e - o = LM V „ we see that ^- CS =(i-j)L S^+LM(o<^»/S)=LM-i^ implies that i = j (mod n) „ Since i must be an integer such that ^ i ^ n - 1 o we see that M partitions the set F into n equivalence classes under the equiva- lence relation c = o (mod M) » Corollary ; If M is an N x N alignment matrix of length n and S is the column vector then i S^ = (mod M) if f i = (mod n)o Proofs It is clear from Theorem II«2»2 that i S ^ and are in the same equivalence class iff i S o (mod n) o Definition 11-2^ g The equivalence class of points ^ in F such that y- =iLd,+LM^ is called the equivalence class r. » The function of the alignment matrix and the enumeration vector is to specify 1) the length n of the raster R = (r^s r^o 0009 r ^) being con- structed and 2) the alignment of the equivalence classes of the points of F relative to each other c Specifically „ the first column of LM gives the coordinates of the first point belonging to equivalence class r^ in the L S ^ "- direction from the origin » For i = 2, „oos N9 the i column of LM gives the coordinates of the first point belonging to equivalence class r^ in the L % .-direction from the point L S . « where S . is a column N-vec- th tor with i coordinate equal to 1 and all other coordinates equal to Oo We now proceed to define a distance function between any two equivalence classes r, and r. based on the minimum Euclidean distance between points of ^7 F in the respective equivalence classes o Definition 11-2-5 g Let F be an infinite point set which is partitioned by an alignment matrix M with enumeration vector 5 into n equivalence classes The distance m(r. ,, r„) from equivalence class r„ to equivalence class r. is given by m(r. , r.) = min d( '^ ^ 5 ) where |> is any point in r. and d( f , i ) is the ordinary Euclidean distance from the initial point I to the terminal point ~^ o The following theorem shows that the value obtained for mCr, s r.) does not depend on which point | of r. is chosen as the initial point „ Theorem _II-2-^ g Suppose that c is in r , o S is in r„o and that d( G ^ ) = m(r. „ r„)o Then if I is any other point in r. <, there exists a point ~o in r » such that d( G ^ O ) = ra(r. j r,), J ^3 / i Proofs Let S^ be the point 6 = i + ( 6 - '^ ) o Then d( | , 5 ) = d( ^ !, i ) = m(r. 5 r.) because o <» ^ = O - "^ 1 3 Furthermore , C) is in r . because o - O =1-^ =LM^5 which means that ;;^ is in the same equivalence class r , as o » %J Theorem II-2-5 ' Let E be an N-dimensional Euclidean space in which is defined a Cartesian coordinate system and an infinite point set F with con^ figuration matrix L^ let M be an alignment matrix of length N with enumeration vector S . and let the distance between any two equivalence classes r. and r. of F be as given in Definition II».2-5o Then the set R of equivalence classes r^j r. ^ oeop r . of F is a raster as defined in Definition II-l-lo u 1 n = 1 Proofs Since R is clearly an ordered n<- tuple , it will be necessary to show only that the distance function m(r, 9 r J satisfies Definition II-I-I0 1 3 1) m(r. i, r.) =0 for each r, in R since „ if $ is any point in r . ^ m(r. , r. ) = min d(J,i)=d(|„^) = k8 2) m(r. , r.) = ra(r.9 r , ) for all pairs r. ^ r,^ since if I is any point in r , m(r „ r.) = min d( t » ^ ) = win d( ^ » f ) = mCr., rj 3) m(r rj + m(r.o r ) ^ m(r„ , r ) for all triples r. „ r„8 r, J-J J.K IK IJK since if t is any point in r. p ^5 siny point in r«5 and 'f any point in r^, we have d( ^ , f ) ^ d( ^ , 6 ) + d( ^ , f ) Therefore, min d( ^ , f ) ^ min [7d( 6> . i ) + d( J , 4^ ))1 cftr^ This implies that? min d( g, , 4- ) ^ min d( 6> , S ) + min d( ^' , f ) ^C\ 6e^i .fe^k By Theorem U-Z-H', we know that it is immaterial which pointst,. and O are chosen as the initial points of r and r , » Therefore s i J m(r^„ r^) ^ m(r^, r.) + mCr., rj^)o ^) ra(r. » r.) depends only on the value of i - j (mod n)p since^ if ?> = iL S . + LM (^ is any point in r. b and vi)=jL6.+LM^ is a point in r. such that d( ^ ^ ^ ) = m(r. s r.), then i' = :^ - jL S^ is in r^, a ' = g - jL S ^ is in r^ ^ ^^^^^^ ^). and d( ^S CS") = d( (S , -^ )o Therefore, m(r^o rj = m(r^ ^ j)(mod n) " ^0^" which means that m(r. „ r,) depends only on the value of (i - j) (mod n) o Theorem II<-2-5 shows that the set of equivalence classes of F satisfy the definition of a raster as given in Definition 11-1-1 » Therefore;, we may think of each eq\iivalence class of points in F as being itself a "point" in an N-dimensional raster R of length n<, Definition 11-2-6 ? The matrix pair (L^M), where L is a configuration matrix and M is an alignment matrix with enumeration vector S . is said to determine the raster R=(r^9r^j,<.o<,9r .) c k9 Definition II-2~7 s The diameter e of a raster R is the minittium distance between two distinct points of any given equivalence class of points in Fp and is given by e = rain d(Os,LM =-6 ) „ where 06 is a vector of integerso The question naturally arises as to what is the maximum possible value of e for a raster of given length n in a space of dimension No This is a well-worked out topic in the theory of the geometry of numbers 5 and CasselSj P« 3328 gives limits on e relative to n for each dimension N such that 1 ^ N ^ 10„ For N = 1s 2, 3, and Ur, these limits are N = 1 e ^ n det L N = 2 e^ ^ (2n/ J^) det L N = 3 e^ ^ ^/2" n det L N = ^ e^ ^ 2n det L Theorem II«-2-6 g Let L be an N x N configuration matrix 9 let M be an N X N alignment matrix of length n^ let R be the raster of diameter e de- termined by the matrix pair (LsM)^ and let C be the code of length n defined on R and generated by the polynomial P(t) = t + 1 o Then C corrects all spot- errors on Ro Proofs This follows directly from Theorem II-1-7o Theorem II»2^7 g Let L be an N x N configuration matrix „ let M. and Mp be N X N alignment matrices of length n^ and n^ respectively^ so that the pairs (Lt, M/) and (Lo Mg) determine rasters R. and Rg respectively ^ and let the set of equivalence classes of R^ be designated r^j, r^p 0009 r ^o Then M = MgM^ is an alignment matrix of length n = n2n. and the pair (Ls,M) determines a raster R = (r^^ r. 9 0009 r .) with the property that if "i is a point of F in equivalence class r„ of R^t, then there exists an integer ^2 "^ o^^ such that ^ is in equivalence class r= . , „ of Ro 50 Proofs The following direct calculation shows that if M. and M^ are alignment matrices of length n. and ng respectively „ then M = M2M^ is an alignment matrix of length n = ^o^i ° M M = "2 "^12 1 ^13 '1N 1N Hgn^ ^12^2 "^ ^12 ^3^2 -^ ^13 ^1n"2 "^ ^1N = M Suppose now that S = ioL S . + LMp ^ p ^^ ^ point in equivalence class r. of Rp. We know by Theorem 11-2-2 that there exist a unique integer i, :^ i =^ n - 1 (, and a vector of integers f2> such that q> = iL ^ . + LM /3 = iL § ^ + LM2^1 /^ ° "^^^^ means that ig §1+^2 ^62 = ! ^^ + M^M^ (3 ; i,eo, that (i - ig) S ^ = Mg ( /Q g " ^1 /^ ^ " But ( ,^ 2 " "i /^ ^ is a vector of integers oL » so our equation becomes i - ^2 = " ' '12 i3 '1N [°'^^ ^2 cf* /'n_ 51 Rewriting this matrix equation as a system of N simultaneous linear equa- tions „ we obtain i - ig = o^^n2+ Z_.j=2^1j ^j N Therefore,, i - i2 = '=L .n^^ which means that fc is in equivalence class i^ + °^^2 °"^ ^^ We now know that if Rg and R are related as in Theorem II-Z-?, then given anv error u on Rj there exists an error Uo on R^ such that r. is in Uo iff there exists an c>L . such that r. , , is in Uo In other words, 2 1 13 + o^^n^ if P (t) is the image polynomial of u with respect to t + 1 9 then P (t) ^ n2 ^2 is the image polynomial of u with respect to t + 1 „ If we now make the additional assumptions that the diameter of R^ is e^ and that the diameter of u on R is less than e2/2 3 the following generalizations of Fire's original re- sult can be developed „ Theorem 11-2.^8 ; Let L be an N x N configuration matrix ^ let M. and Mp be alignment matrices of length n. and n^ respectively^ so that the pairs (L9 M. ) „ (Lp Mg)^ and (Lj M) = (L, MpM. ) determine rasters R. R^i, and R respectively as in Theorem II-2~7!J and let R^ be of diameter e^* Let u and V be any two spot-errors of diameter < ep/2 on Rs let P,,(t) and P (t) be the image polynomials of u and v with respect to t + I5 let ^2 P (t) and P (t) be the image polynomials of u and v with respect to t + ^2 ^2 1, and finally suppose that P (t) = P (t)o Then there exists a q such qn^ ^2 ^2 that P (t) = t ^Y (t) o V "^ u ONIVERSITY Of ttUNOlS lIBRARlt 52 Proofs Because of the way in which Rg and R were constructed and the assumption that P (t) = P (t)„ it is possible to write P (t) + P (t) = Uq V/5 U V n2 ^ , c Q(t)(t + 1)a Let t""" be the term of lowest degree in Q(t)„ (If there is no such term, then P^(t) = P^(t) and the theorem is provedo) Consider all . i + 2n2 i + qn^ the terms of the form t „ t ^ o»., and let t be the first » i + qnp such term which is not in Q(t) Then t and t are both in Q(t) "2 (t +1)9 which means that they must also both be in the sum P (t) + P (t)o Because of the way in which R_ and R were constructed j we know that y i + qng t and t must be separated by a distance of at least e,.„ which means that they must have originated in different spots o Without loss of gen- ^ i + qn2 erality^ we take t as a terra in P (t) and t as a term in P qn2 Next consider the two spots P (t) and t P (t) o They are also con- "2 gmient mod t + 1 and hence their sum is either zero or else contains two X y terms t and t separated by a distance of at least e.-,„ as before. However „ by the triangle inequality (Definition 11-1-1, Property 3) we see that the ^ i + ^"2 i + qng s-um of the distances from t to t and from t to t"^ is at least e^p which iriolates the assumption that P (t) and P (t) are of diameter < qng^ e2/2c Hence p we must have P (t) = t P (t)o Theorem II-=-2-9 g Let L be an N x N configuration matrix t, let M. and Mg be alignment matrices of length n^. and ng respectively ^ so that the pairs (L, M^)^ (Ls Mg)!, and (L^ M) = (Lf, MgM^ ) determine rasters R^ 1, Rg? and R respectively as in Theorem II-2-7(, and let R^ be of diameter e_o Let S be the set of all normal forms u of diameter < ^-J"^ °" ^ ^""^ ^®^ ^2 ^® ^"^^ set of all normal forms Ug of diameter <^ 62/2 on R2 such that Ug is in Sg "2 iff P (t) is the representative polynomial of u with respect to t + I0 ^2 Then the set S is in one-to-one correspondence with the set S2 as follows? 53 to each non»zero normal form P (t) in Sgo we first add some multiple n^ n^ ^2 Q(t)(t + 1) of (t + 1) of degree ^ n « 1, then form the representa- tive polynomial ?(t) of P (t) = P (t) + Q(t)(t +1) with respect to t + 1 9 so that w is the normal form of Uo Proof? Let u and v be any two distinct normal forms on R of diameter <:^ e^/Z^ let P (t) and P (t) be the image poljmomials of u and v with re- "^ n22 ^2 spect to t + 1 9 let Wg and Zg be the normal f onns on R^ of Ug and ^2 re- spectivelys, and suppose that P (t) = P (t)o Then there exists a j^ such that P (t) = t P (t) (mod t + 1), which means, by Theorem II-2»8a that ^2 . ^ „ ^2 - ^2 ^"2 n P (t) = t P (t) (mod t +1)9 which contradicts the hypothesis that u and V are distinct normal forms o no On the other hand, since P (t) = Res P (t) (mod t + 1)0 we see that V / u Up is unique for a given Uo This, together with the fact that distinct u and V in S give rise to distinct Up and Vp in Sp. means that the sets S and Sp are in one-to-one correspondence with each other o Because of the way in which Rp and R were constructed;, the points of Rp are a subset of the points of Ro This together with the cyclic charac-= ter of the distance function p means that the diameter of each normal form Up in Sp is less than or equal to the diameter of the u in S to which it corresponds o np Finally, because P (t) = Res P (t) (mod t + 1 ) „ we have P (t) ~ np 2 ^ P (t) + Q(t)(t + 1)„ as requiredo ^2 Theorem II-2.x,i0g Let L be an N x N configuration matrix ^ let M. and Mp be N X N alignment matrices of length n^ and np respectively^ so that (Lt, M. ), (L9 Mp) and (L, M) - (L, MpM/) determine rasters R. „ Rp and R re« spectively as in Theorem 11-2-7, and let Rp be of diameter epo If u is any 5^ spot-error on R of diameter < 62/25 then the image polynomial P (t) of u n^ n^ 2 with respect to t + 1 is of order ng with respect to t + 1 „ Proof; Suppose that d is the smallest positive integer such that ■j n„ , P (t) = t^P, (t) (mod t "^ + 1), Then P (t) S t^P (t)(mod t" + 1), and, by ^2 2 u u Theorem II-2-.8s d = qn^ for some q^ Therefore „ P (t) is of order n« with 2 respect to t + 1 5 which means that Up is of order n^, Theorem II~2-.1 1 1 Let L be an N x N configuration matrix ^ let M^ and Mg be N X N alignment matrices of length n. and n^ respectively (, so that (Lo M^)p (L, M2)i, and (Lj, M) = (L„ M^/) determine rasters R^ „ R20 and R respectively as in Theorem II-2«7 and let R^ be of diameter e^o Let P^(t) ^'2 be any polynomial which is prime to t + 1 „ is of period n. * such that lcm(n^*j n2) = n, and has the property that each spot-error of diameter ^ a, where a < 62/2^ on R is of order n^* with respect to P^(t)o Then P(t) = "2 (t + 1)P. (t) generates a spot"=correcting code C of diameter a on Ro Proof? This follows directly from Theorems II-1-12, 11=2-6 , II»2»9 and II-2-.IO0 The preceding theorem is the basis for the Fire Method of constructing error-correcting codes discussed in Sections II-3 and IV-3o Theorem II°=2-12g Let L be an N x N configuration matriXs let M. and M2 be N X N alignment matrices of length n^ and n2 respectively , so that (Lj, M. )(, (L, M2)!, and (L, M) = (L, MgM. ) determine rasters R. „ ^2" ^^'^ ^ ^®° spectively as in Theorem 11-2-75 and let R2 be of diameter 62= Let "^2^^^ be the generating polynomial of a spot-correcting code Cg of diameter a < 62/2 on R2 and let P^(t) be any polynomial which is prime to ?2(t) ^ is of period n.* such that 1cm (n *„ rig) - n^ and has the property that each spot» 55 error of diameter ^ a on R is of order n^* with respect to P^(t)o Then P(t) = PgCt)?. (t) generates a spot-correcting code C of diameter a on Ro Proof? This follows directly from Theorems II«1-12i, II-2~9(, and "2 II-2-IO5 and the fact that PgCt) divides t + 1„ The preceding theorem is the basis for the Combination Method of con- structing error-correcting codes discussed in Sections II-3 and IV-^o Section II-3o Methods for Constmicting a Cyclic Spot-Error-C orrecting Code on a Given Raster » Let us now summarize the theory which has been developed and see how to apply it to the problem of actually constructing an error-correcting code. In order to do this 5 however s, we will find the following definitions useful Definition II°»3-1 % Let P(t) be any polynomial which generates a cyclic code of length no Then P(t) is said to generate a shortened cyclic code of length b for any b < no The shortened cyclic codes are useful because it may happen that we can- not find a code of exactly the desired length b but we can find a code of length n > bo This code is then made to simulate a code of length b by setting digits x, <, x. .^ 0009 x .of code word x equal to zero in the encoder 5 transmitting only digits x^^ x^s « o o s, x, .„ and re-inserting the missing n-b zeros at the decodero For a more complete discussion of shortened cyclic codes ^ see Petersons po I580 Definition II-3-2 g Let C be a shortened cyclic code of length b genera- ted by a poljmomial P(t) of degree ra and let each of the g distinct non-zero normal forms in C be of order n ^ b with respect to P(t) o We define the efficiency of C to be (bg + 1)/2"^o It is more reasonable to define the efficiency of a shortened code in terms of b rather than ri;, as was done for the full-length codes (see Defi- nition 1-^-1)5 because the number of bits actually transmitted (hence sub- ject to error) is bo We shall ignore the small inaccuracy arising from the fact that some errors which are congruent (mod t + 1 ) are not necessarily congruent (mod t + 1 ) » Definition II-3-3 g Let R be an N-dimensional raster with configuration o p b^, respectively in each of its N dimen- matrix L and of extent b^ „ bp sions 5 and let S . 5 for i = 2(,35, 0009 N^ be the column N- vector with i th coordinate equal to 1 and all other coordinates equal to Oo Then R is said to be simple iff each of the points L S . of F belongs to equivalence class TT;: b. In order to see the significance of this definition let us examine its meaning in two dimensions o In the two-dimensional case of a raster of width b. and height b^r it means that a simple raster is one in which the point L So belongs to equivalence class r, o Thus» as is evident from Figure II-2, 1 each point i^L S ^ + ^^ 6 p of F is in equivalence class r. , ^ , for each pair (i. j, i^) such that ^ i. ^ b. - 1 and :^ ^2 ~ ^2 " ^ " From Figure II-2 and the comment following Definition 11-2-^ p it is evi- dent that the alignment matrix for the simple raster of extent b^, bgo 0000 b„ must be M b-b. b-b^b^ 1 -TT! b, 1=1 1 57 N where b =1TL V Now that we have shown how to find the alignment matrix M for the ras- ter R on which the code C of diameter a is to be defined;, we proceed to the problem of finding a polynomial P(t) which generates C on Ro We consider first the Direct Method o Direct Method s In this method „ it is first necessary to find the set of g normal forms of the errors of diameter ^ a^ either by inspection or by a formal calculation o Nexto by the trial and error method described at the end of Section I»2o we search for some polynomial P(t) which is of lowest degree m, is of period n :^ b^ and generates a spot-correcting code C of di- ameter a on Ro The reason for choosing P(t) to be of lowest degree m is that the efficiency of C is defined to be (bg + \')l'f^^ so that the efficiency is maximized by keeping m as small as possible „ Although the Direct Method can be very time-comsumingo it does have the advantage that with sufficient effort we can guarantee that the most effi- cient possible spot-correcting code of given diameter on a given raster will eventually be found o Fire Method s This is an extension to N dimensions of the method first used by Fire to find 1 -dimensional spot-correcting codes o It is based upon Ho the fact demonstrated in Theorem II-2»1 1 that one of the factors, (t +0, in certain code-generating polynomials maj'' be thought of as defining the nor- mal form of the error to be corrected and the other factor, (P. (t)), as de- fining the location of the error within the code wordo In the Fire Methods as in the Direct Method » it is first necessary to find the set of g normal forms of the errors of diameter ^ a on Rg either by inspection or by calculationo Then^ using a table such as Table IV-1 ^ we search for the smallest n^ such that there exists 1 ) a raster Rp of length r\^ 58 and diameter e^ > 2a such that R^ and R are related as in Theorem II-.2-7o Finally „ we choose some P^(t) of lowest degree m. such that each non-zero spot-error of diameter ^ a on R is of order n^ with respect to P^Ct), where 1cm ( n^ , ng) = n =^ bo Then we know that P(t) « (t -f 1)P^(t) gen» erates a spot-correcting code of diameter a on Ro The reason for choosing ng as small as possible is that going from "2 ^^2 + 1 PpCt) = t + 1 to PoC't) = t +1 merely increases the value of n by n. 5 while at the same time it increases the degree of P(t) by 1 „ thus de- creasing the overall efficiency of the codec Combinat ion Method o The Combination Method based on the results demon- strated in Theorem II«2-12o is the most sophisticated of the three methods „ in that it combines the Direct Method with the Fire Method and thus greatly extends the usefulness of code~generating polynomials found by the Direct Method o Actually,, the only difference between the Fire Method and the Com- bination Method is that the poljniomial Pg^"^) is itself arrived at by the "2 Direct Method instead of being taken of the form 'Po^'^^ ~ ^ * ^ " ^"^ ^^ ^®~ lected from pre-computed tables o As with the Direct Method and the Fire Method, we first find the set of g normal forms of the errors of diameter ^: a on Ro either by inspection or cal- culation. Then,, using a table such as one of Tables IV-.2 through IV=.6o we search for an n^ such that there exists 1 ) a raster Rg of length ng such that Rg and R are related as in Theorem 11=2-7 and 2) a polynomial PoCt) which gen- erates a spot-correcting code of diameter a on R^o No definite rules can be given as to exactly which Pp(t) should be se- lected from the pre-computed tables to generate a code with given properties except that we want the resulting P(t) to be of as low a degree as possible. However;, this is not necessarily achieved by taking PpC't) to be of as low degree as possible ^ since there may be a p2(t) which is of higher degree but 59 results in a final P(t) = P2(t)P.(t) of lower degree. It is therefore possi- ble to recommend only that the search for a P(t) be carried on at least until an efficient P(t) is encountered » CHAPTER__III ONE-DIMENSIONAL CODES The first application which we shall make of the theorjy developed in Chapters I and II is to the one-dimensional or linear caseo We shall consider codes obtained by the Fire Method and by a modification of the Combination Method o Section ni-1 o The Fire Method o The first to make systematic use of polynomials of the form P(t) -it + 1)P. (t) to generate spot-correcting codes on one=dimensional ras= ters was Fire. These results are now widely known and are summarized in Petersen 3 p. I83, but we shall take note only of that portion of them con- tained in Theorem III-i"1o Definition III.»1»^1 g A burst^error is any spot^error defined on a one-dimen- sional raster Ro Each of the theorems in Chapter II relating to spot^errors of diameter ^-^^ a may now be interpreted as applying to burst-errors of diameter /-a on Ro The most important of these theorems is the following! Theorem 111-1=1 (Fire)g Let L be the 1 x 1 configuration matrix h and let M be the 1 x 1 alignment matrix n^o Let Rp be the one-dimensional raster of length n« and diameter e^ 2^ hn^ determined by the matrix pair (LsMp) with dis- tance function m^Cr, (,r. ) s h( Res(j- = i2)(mod n_)) and let R be the one-di- raensional raster of length n - n^n. determined by the matrix pair (LoM) - (L^MgM^) with distance function ra(r„(,ro) ^ h(Res(j - i)(mod n))o Let P^(t) be any poly= no nomial which is prime to t + 1 . is of period n^* such that 1 c m (n^*£,n2) - n^ and has the property that each burst»error of diameter .^a^ where a ^e^l'^^ on R is of order n * with respect to P.(t)o Then P(t) = (t + 1) P2"^~^-1- 1 /Z^ ^ Recalling again that n must be an integer ^ 2^ " ^ - 1, we obtain finally n = 2^" " ^ - 1 o Theorem III-2-6 ; Let C be a burst-correcting code of diameter r and with associated number m^ and let D be the set of all burst errors of diameter ^ r. Then the pair (0,0) is close^packed iff C is a maximally efficient code of diam- eter Oo Proof I By Theorem 1-1 -7 , (C^D) is close-packed iff N(D) = 1 + n 2^ = 2°^5 ioBo, iff _ 2"^ - 1 o Since n must be an integer^ this is possible iff r = 0, 2^ Therefore, (C,D) is close-packed iff n = 2^ - 1; ioeoo iff C is maximally effi- cient of diameter Oo 61^ Theorem 111-2-6 ; (Similar to a theorem of No Mo Abramson) » If C is a maximally efficient binary burst-correcting code of diameter r, with generating polynomial P(t) of degree m and if < r < ^t, then P(t) is of the form P. (t)P2(t)8 where P^(t) is primitive of degree ra - r and Pp(t) is some poly- m — r nomial of degree r which belongs to a divisor of 2 - 1 „ Proof? Since C is maximally efficients we know that C is of length n = 2™ ~ ^ - 1, and it is therefore true that P(t) belongs to 2™ "" ^ » 1 „ Let Q(t) be any factor of P(t)o Assume Q(t) is of degree ho We begin by proving that either h ^ r or h > m - ro In a binary burst-correcting code of diameter r the number of distinct polynomials of the form Res t"'"K(t) (mod P(t))i, where K(t) is of degree ^ r with non-zero constant term is n2 since each choice of i = 0^ I9 o o = ;, n - 1 and each choice of K(t) of degree £ r with non-zero constant term must yield a distinct residue Hence for a maximally efficient binary code we obtain just 2 -(2(2^ -1))=2 poly- nomials of degree "^ ra which are not of the form Res t'^K(t) (mod P(t))c However t, if h ^ r, then any polynomial of the form R(t)Q(t) is not of the form Res t K(t)o For if we assume R(t)Q(t) = t^(t) (m.od P(t)), then t" " ^ R(t)Q(t) S K(t) (mod P(t))s and since P(t) is divisible by Q(t)p this would imply that K(t) must also be divisible by Q(t)o Since we have just 2™ " choices for R(t)8 it follows that 2 "^ ^2 and hence r ^ m - h. We next prove that P(t) has at least one irreducible factor P. (t) of degree ^ m - ro Assume first that r < ^p and that no irreducible factors of P(t) of degree ^ m - r exists Hence all irreducible factors of P(t) are of degree < ro Let P(t) - Q. (t)Q2(t) be any decomposition of P(t) into two factorso By the previous result 5 one of these factors „ say Q^(t)(, is of degree < ro Since Qp(t) is of degree > m - r^ it must be compositeo Hence, we may pick any factor P. (t) of Q2(t) of degree < r and write Q*(t) - P.(t)Q^(t)„ and QS(t) = Q,(t)/P,(t)o Thus P(t) = Q*(t)Q*(t) and Qf(t) is of degree < 2r< 65 m - r and hence Qf is of degree ^ To However j, this process may be repeated indefinitely s each time increasing the degree of Q^(t) until its degree exceeds r, thus giving a contradiction o In the case r = ^ „ then by the above argument P(t) must consist solely of factors of degree ro This means that P(t) = P. (t)P2(t)P^(t)5 where all three factors are of degree ro This means that all expressions of the form R(t)P^(t)P2(t), R(t)P^(t)P^(t), and R(t)P2(t)P^(t) are not of the form Res t K(t) (mod P(t)) but since there are 3x2 of these polynomials;, the code cannot be maximally efficients, for then only 2 of these polynomials may I exist o We may now write P(t) = ?^(t)?.it) , where P^(t) is irreducible of degree ^ m - r,. We wish to show that P^(t) is primitive of degree m - r^ To show this we note that all expressions of the form t"'"P2(t) are incongruent mod P(t) for i = Op I5 0005 n - I0 Hencec, all t are incongruent mod P.(t) and P. (t) therefore belongs to no Thusj if h is the degree of P^(t) we see that n = Z^ ~ - 1 divides 2 ~ 1 so that m - r divides ho Hence „ since m - r ^h < m, we have h = m - r and P. (t) is primitiveo Finallyi, we note that since t = 1 (mod P(t)) we must have t = 1 (mod P«(t)) so ?Jt) must belong to a divisor of 2^ " ^ » 1 c* Theorem III-'2-~7 s If C is a binary cyclic group code with generating poly- nomial P(t) of degree m > 2^ then C is a maximally efficient burst-correcting code of diameter iff P(t) is primitive. Proofs By Theorem 111-2-13 we know that C is burst-correcting of diam- eter iff the period of P(t) is the same as the length n of C<, Since C is maximally efficient iff n = 2"^ - 1 and P(t) is primitive iff it belongs to 2 - 1 5 it follows that C is maximally efficient iff P(t) is primitive. 66 Theorem 111-2-8 g If C is a binary cyclic group code with generating poly- nomial P(t) of degree m > 3d then C is a maximally efficient burst-correcting code of diameter 1 iff P(t) is of the form P(t) = (t + DP^Ct)^ where P^(t) is primitive of degree m - 1 « Proofs Firsts suppose that C is a maximally efficient burst-correcting code of diameter 1o Then^ by Theorem 111-2-6, we know that P(t) is of the form PpCt)?. (t)i, where Px(t) is primitive of degree m - 1 and P^Ct) is a polynomial m - 1 of degree 1 which belongs to a divisor of 2 - 1 „ Since the only polynomial _ 4 of degree 1 which belongs to a divisor of 2^ " - 1 is t + 1 „ we see that P(t)s (t + l)P^(t)o Conversely 3 suppose that P(t) is of the form P(t) = (t + 1)P. (t)„ where P^(t) is primitive of degree m - 1o By Theorem III-2-2(, C is a burst-correcting m — 1 code of diameter 1 and length 2 - 1 ; therefore j, C is a maximally efficient burst-correcting code of diameter 1 o Theorem III-2-9 ; Let C be a maximally efficient binary burst-correcting m — r s code of length n - 2 =1=2-1 and diameter r with generating poly- nomial P(t) of degree m, where < r < ~ ^ so that P(t) = P2(t)P (t), where P. (t) is primitive of degree s and P^Ct) is of degree r and belongs to divisor of 2^ - 1 o Also, let P2('t) = ^21 ^^^^22^^^" where ^21^''^^ ^^ °^ degree r^ „ PpgCt) is of degree r^f, and P2^("^) ^^^l Pg?^^^ ^^® relatively primeo Then Q^(t) = P2 A^(M(t)) = k^(K(t)) - A2(M(t))(mod d) , where d is the divisor of 2^^^ - 1 which is the pe- riod of Pp(t). The above congruence fails to hold for every such pair K(t) and M(t) iff P(t) generates a codej, which result may be derived directly from Theorem II-U3<. This procedure was carried out on Illiac for all combinations of poly- nomials Pp(t) and P. (t) such that P^(t) is primitive of degree s = m =- r < 139 the period of ^2^"^^ ^^ ^ divisor of 2^^^ = 1 and is of degree ^ s, and such that it has not previously been found that the product of some factor of Pj>(t) with P. (t) fails to give a code-generating polynomial o By Theorem III-2<»6. we know that we have now found all maximally efficient burst-correcting codes such that s = m - r < 13 and r < |o If Illiac found that P(t) = P2(t)P^)t) was a code-generating polynomial, it indicated this by printing out an "0K"o Ifs however, P(t) failed to generate a codej, then Illiac indicated that fact by printing out the causes of the failure o That is^ for each combination of A.(K(t)) - A.(M(t)) K(t) and M(t) such that t ' M(t) = K(t)(mod P(t)) with M(t) ^ K(t), Illiac printed out M(t), K(t), A^(K(t)) - A^(M(t)), and, if this was the first occurrence of M(t) for this P(t)p A. (M(t)) was also printed outo The complete results are too bulky to be included in this papers but they are summarized in Table III-1 , where each polynomial P(t) = P2(t)P^(t) which 70 generates a code is designated by an "0" in the corresponding square and each P(t) which fails to generate a code is designated by an "x* in the corres- ponding square o Actually 9 corresponding to each primitive polynomial P^Ct) included in the table p there is another primitive polynomial Pf (t) which may be obtained from P. (t) by reversing the order of its coefficients; ioe„s, P|(t) = s -1 t P. (t" )o However t, it is easy to see that each of the polynomials Pp(t)P!|'(t) would have been found to generate a code iff Pi(t)P^(t) was found to generate a code; therefore;, it is not necessary to consider the P|(t)'s separately as long as both Pp(t) and PS(t) are included among our Pp(t)'So Note that while we may have PX(t) = Po^^'^' ^^^ ^° ^^® fact that P. (t) is primitive, we never have P (t) = P*(t)„ Figure III-1 shows what the output from Illiac looks like. In this output, binary information is represented sexadeciraally according to the following code; Binary Sexadecimal 0000 0001 1 0010 2 0011 3 0100 ^ 0101 5 0110 6 0111 7 1000 8 1001 9 1010 + 1011 1100 N 71 Binary 1101 1110 1111 Sexadecimal J F L Line 1 . P2 = 90000 2o 000003 3o 01 0. OJ ^. 000003 5. 03 OL 05 6. 000001 7. 07 8. N = 0000000006 PSI N = 0000000006 9o PI = 86000 P2P1 = 96N0000000 10. - OJ 000013 000035 11o PI = NFOOO P2P1 = J7N00 00000 12o 01 0- 000019 000000 13, PI = J+000 P2P1 N1 ^0000000 1^0 03 OL 000016 000008 15. 03 05 000008 Figure- III-1 Therefore, Line 1 tells us that P^Ct) is 1001 0000 0000 0000 0000, which 3 2 3 is the polynomial 1 «t-^ + 0°t + O't + 1 °1 or t^ + 1 c Lines 2 and 3 tell us that the set of polynomials arising from K-(t) = 1 has three members t, and specifi- cally that t = t^ + t + 1 (mod t^ + 1 ) and t^ = t^ + t^ + 1 (mod t^ + 1 ) o Lines ^ and 5 tell us that there are also three polynomials in the set arising from K^(t) = t + 1 and that t(t + 1) S t^ + t^ + t + 1 (mod t^ + 1 ) and that 2 —2 3 t (t + 1) = t +1 (mod t-^ + 1)o Lines 6 and 7 tell us that there is exactly 2 one poljmomial in the set arising from Kp(t)=t +t+1o Line 8 tells us that N(= m - r) = 6 is the degree of the P. (t)"s which we shall consider (disregard PSI N) » Line 9 tells us that P^(t) is 1000 0110 0000 0000 0000, which is the polynomial t + t + 1 j, and that P(t) = P2(t)P. (t) is 1001 0110 110«— — — which is the polynomial t^ + t + t + t^ + t + 1 o Line 10 tells us that P(t) fails to generate a code because 72 t''^(t^ + t + 1) = t^ + t^ + 1 (mod P(t)), and also tells us incidentally that A^(t^ + t + 1) = 35o Lines 11 and 12 tell us that P(t) = (t^ + 1)(t + t^ + t^ + t + 1) fails to generate a code because t^^ = t^ + t + 1 (mod P(t)) and that A^(1) = Oo Lines 13» 1^, and 15 tell us P(t) = (t^ + 1)(t + t^ + t^ + t^ + 1) fails to generate a code because t^^(t + 1) = t^ + t^ + t + 1(raodP(t)) and t^(t + 1) = t^ + 1 (mod P(t)) and that A. (t + 1) = 8, As there are no other primitive polynomials of degree 6 except a Pf(t) corresponding to each P^(t) already considered^ there are no codes generated by P(t)'s of the form (t"^ + l)P^(t) where P^(t) is of degree Go This procedure not only enables us to test a given pair of pol3niomials P«(t) and P^(t) to determine whether or not their product P(t) generates a code but also enables us to estimate the probability that a given P(t) will actually generate a code 5 assuming that all residues 0^ 1„ ccos d-1 are equally probable for any given A. (K(t))o While there is no known theoreti- cal basis for assuming that all such residues are equally probable s, our results are not inconsistent with such an assumption c To estimate the probability that P(t) will generate a code^ we first note that due to the existence of certain relations among the polynomials of degree < r with non- zero constant terra, there are not actually 2 independent cases to consider <, For example s when testing for codes of level 3 generated by P(t) = 2 (t + t + 1)P. (t)^ we first note that in this case d = 3 and that in accord- 2 ance with the definitions given above,, A2(1) ~ 0, A2(t + 1) - 2^ ^2^^ + 1) = 2 1s and A2(t + t + 1) = Oo However, if K(t) is any polynomial of degree ^ 2 with non-zero constant term other than t + t + 1 d then there is no h such that t^(t^ + t + 1) = K(t) (mod t^ + t + 1 ) „ In other words, since t^ + t + 1 is itself a K.(t) and is in fact the only member of the set of poly- 2 nomials arising from K.(t) = t + t + U the value of the quantity 73 A (K(t)) - A (t^ + t + 1) (mod 3) for any K(t) ^ t^ + t = 1 is immaterial to the existence of a codeo Furthermore!, since A. (1) is always equal to zero and A<,(t^ + 1) = 2A^ (t + 1) since t^ + 1 = (t + 1 )^ in GF(2), we see that the existence or non-existence of a code may actually be inferred from the value of A. (t + 1) alone or from the value of A. (t +1) aloneo Specificallyg a code exists iff either A. (t + 1) = (mod 3) or A. (t + 1 ) = 1 (mod 3)o where- as a code fails to exist iff A. (t + 1) = 2 (mod 3)o Or^ if we prefer to look 2 2 — at A. (t + 1 ) , we see that a code exists iff either A. (t + 1) = (mod 3) or 2 - 2 - A. (t + 1) = 2 (mod 3)s, whereas a code fails to exist iff A. (t + 1) = 1 (mod 3)° From this discussion „ we may conclude that the probability that P(t) = (t + t + 1)P. (t) will generate a code is 2/39 which is not inconsis- tent with the fact that out of 228 P,<.(t)'Ss, I50 gave code-generating P(t)'So As another example 5 we may estimate the probability that P(t) = (t^ + 1)P^(t) = (t + 1)(t^ + t + 1)P^(t) will generate a codeo Referring to Figure III-1 , we see that P(t) fails to generate a code iff one or more of the congruences A^(t^ + t + 1) - A^(1) = 1 (mod 3) « A^ (t^ + t^ + 1 ) - A^ (1 ) = 2 (mod 3). A^(t^ + t^ + 1) - A^(t^ + t + 1) = 1 (mod 3)« A^ (t^ + t^ + t + 1 ) » A^(t + 1) = 1 (mod 3). A^(t^ + 1) - A^(t + 1) = 2 (mod 3), or A^(t^ + 1) - 32 - A. (t + t + t + 1) = 1 (mod 3) holds o These values may not all be chosen 3 2 3 independently, however^ since A. (t-^ + t + 1) - A. (t-^ + t + 1) = A^(t^ + t^ + 1) - A^(1) - (A^(t^ + t + 1) " A^(1)) and A^(t^ + 1) ^ A^(t^ + t^ + t + 1) = A^(t^ + t^ + t + 1) - A^(t + 1) = 2(A^(t^ + 1) - A. (t + 1))c A straightforward calculation now shovrs that P(t) generates a code only ifs 1) either A^ (t^ + t^ + 1 ) - A^ (1 ) S (mod 3) and A^ (t^ + t + 1 ) - A^ ( 1 ) = (mod 3) or A^ (t^ + t^ + 1 ) - A^ ( 1 ) = 1 (mod 3) and A^(t-^ + t + 1) ^ A^(1) =2 (mod 3) and 2) A^(t^ + 1) - A. (t + 1) = 1 (mod 3)0 Since the first condition can be met in 2 ways out 7^ of 9 possibilities and the second can be met in 2 ways out of 3 possibilities, we may conclude that the probability of obtaining a code-generating polynomial 2 2^ of the form P(t) = (t + 1)P. (t) is g x ■r = ^ , which is not inconsistent with the fact that out of 228 P. (t)'s5 36 gave code-generating polynomials » As a check on our method of estimating the probability of obtaining a code- generating P(t) of this form, we may utilize Theorem III-2-9 and calculate that the probability of obtaining a code-generating P(t) using a P^(t) which 2 is known to give a code-generating polynomial of the form (t + t + 1)P. (t) 2 should be — „ which is not inconsistent with the fact that out of I50 such 7 P. (t)'Ss, 36 gave code-generating P(t)»s„ By a similar calculation, we find that the probability of obtaining a code-generating polynomial of the form P(t) = (t + t + 1)P.(t) or P(t) = (t'^ + t + 1)P. (t) should be - X — X - = -rr-^ which is not inconsistent 1 ( ( ( jr+J with the fact that out of I98 such P(t)''s<, 5 were code-generating polynomialSo The probability of finding a code=generating polynomial of the form P(t) = Pp(t)P. (t) where P^Ct) is of degree ^ or 5 has not been calculated, but it may be expected to be quite low; and, indeedj, no such P(t)'s were found for P 2 were actually run on Illiac o No codes were found except for r = 2 and r = 3 in the range s < 13, o Our results ares 1) For P2(t) = t^ + t + 1 , we have Degree of P. (t) h 6 8 10 12 Totals Noo of Primitive Polynomials 2 6 16 60 1^^ 228 No, of Codes Found 2 i\ 10 ij-O 9^ 150 2) For P2(t) = t-^ + 1, we have Degree of P^(t) if 6 8 10 12 Totals Noo of Primitive Polynomials 2 6 16 60 144 228 No. of Codes Found 10 26 36 3) For P^Ct) = t^ + t + 1 , we have Degree of P-j(t) 6 9 12 Totals Noo of Primitive Poljmomials 6 48 144 198 Noo of Codes Found 1 4 5 3 2 A similar result holds by sjnranetry for P«(t) = t^ + t + 1 % By Theorem III-2-6s, we know that we have found all maximally efficient binary cyclic burst-correcting codes for which s = m - r ^ 13 and r ^ ^ o Table III~1 sxunmarizes the results obtained by Illiac in its search for maximally efficient binary cyclic burst-correcting codes of diameter 2 ^ r ^ 5 1 3 and length ^ 2 ^ « 1 „ Since the product P(t) of a pair of polynomials PoCt) and P^(t) can be a code«generating polynomial only if the period of ^'A^) divides 2 - I5 where s is the degree of P^Ct), a horizontal line has been drawn through the square corresponding to each pair of polynomials such that the period of "^J^"^) g does not divide 2 -1, ThuSj there are no codes of diameter 2 ^ r ^^ 5 sind 7 11 13 length 2 -.1„2 -1pOr2-^-.1 since each of these numbers is prime to 3t) 50 7i, 15o 21, and 31 o Also a vertical line has been drawn through the square corres- ponding to a given PoC^t) and P^(t) if PpCt) is composite and it has previously been ascertained that the product of one of the factors of Pp(t) with P^(t) fails to be a code^generating poljniomial. All other squares are marked with an "0* if P(t) is a code-generating polynomial and an "x" if it is note Each PoC't) and P. (t) is expressed in the sexadecimal notation described earlier; thus, NOOOO/.z-s - 1100 0000 0000 0000 0000 /gNp which represents the polynomial t + 1; similarly 2 3 FOOOO represents t + t + 1 „ -0000 represents t^ + t + 1 „ 98000 represents t + t + 1 etc c Although Theorem 111=2-6 applies only when r ^ °r » for the sake of completeness,, calculations have been carried out even for those combina- tions of P2('t) and P^(t) for which r — ■r o 11 M i 78 J — + Ha 21 O O Z UNj^ O O ^^ ft, S o O + hJ^ O O + UN,^ o O ^ vr^^ O O OhJ^ o o >_) CM !S O O •^ s s o o t^ -3 S O O 00 1 ^ o o s^ s o o s s^ o o OnvO j:}- O O co^ ^ o o ^ / 1 ' \y^ 1 ■^ ' ''^\/< i 1 i i 1 i i 1 X f f «>- II / 1 ' C3N 1 ■3— CO 8 (0 CM ■«- CM fm P-, i. o o o g o o o o o o o o o o o o ON 1 »-3 o o o 00 (X4 o c o c o c CO a 1 c N8000 L8000 o c o c o c > o o ) o o o o : ^ s •-3 CO o o o o o o ■^ :^ S On O O o c c c ) c ) c > c 1 — . > c ) c c 1 > O 5 O > O ^ ! c^ r- c^ t>- ^ w^ u^ ITS XT •^ CM c3 C^ c^ s C- ^ ?■ U- CM c^ ^ »A 79 0) ;:! Ci •H -p c o o s M M H W 80 •H ■P C o o I M H M s 81 I ! -P a." CM O O O o o o On » ^ n CM c^ CM o o o o o CC 00 CO 00 CO fr, { C3N S H-1 r>i{v{>-CN-{N-"^"^"^ c^ o o o o o 00 + ^ 00 s o o o o o o On O O o o o o o c. o c o o (^ xr\ ir\ u^ ^r\ CMCM c^r^c^c^c^r^ § •H O o I H H M 9 82 O O o o o O o o o o iH iH 00 CO 00 o o (H iH t-{ iH rH ^ ^ ^ s On •-D « ,o 43 Xi X) X) "H •H •H «H ■>H .H •H O O X X X X !k! O O O O C) ^ P» :3 a ?J ::! •rt TJ o o o o o T5 Tl T» T( •s 0) o o o o o C o of Ml HI wf E-«| CHAPTER IV TWO- AND THREE-DIMENSIONAL CODES The two- and three-dimensional rasters are considerably more compli- cated and therefore more interesting:, than the one-dimensional raster be- cause a variety of different shapes are possible for these rasters o It should be noted that the method given below for testing whether or not a given polynomial generated a given spot-correcting code is a systematic one and can be easily programmed for use on a high-speed computer, even though it is explained here by means of examples » Section IV- 1 . Diameter of a T&fo- Eimensional Raster , Let us first consider how the diameter of the square two-dimensional rasters i.e., a raster whose configuration matrix L is the identity matrix, varies as a function of the alignment matrix M^ A two-dimensional alignment matrix is of the form n k^2 where n 1 is the length of the raster and 0^ ^12^ n-1o It is obvious that if the configuration matrix helping to determine a raster R is the identity matrix, 2 then e , the square of the diameter of R, must either be a perfect square or 2 the sum of two squares; thus we have e = 1, 2, il-, 5, 8, 9, 10, 13? 16, I?!. etc. The following table, which was worked out by hand, gives the value of 2 e for each choice of n such that 1 -^ n ^ ^7 and ::£ k.^ — "• 83 &* 1 2 ^12° 1 2 3 k 5 6 7 8 9 10 11 12 13 H 15 16 17 1 1 2 1 3 2 2 1 i^ 2 ^ 2 1 5 2 5 5 2 1 6 2 5 ii 5 2 1 7 2 5 5 5 5 2 1 8 2 5 8 ^ 8 5 2 1 9 2 5 9 5 5 9 5 2 1 10 2 5 10 8 ^ 8 10 5 2 1 11 2 5 10 10 5 5 10 10 5 2 1 12 2 5 10 9 8 ^ 8 9 10 5 2 1 13 2 5 10 10 13 5 5 13 10 10 5 2 1 H 2 5 10 13 10 8 ^ 8 10 13 10 5 2 1 15 2 5 10 17 9 13 5 5 13 9 17 10 5 2 1 16 1 2 5 10 16 10 13 8 4 8 13 10 16 10 5 2 1 17 1 2 5 10 17 13 10 13 5 5 13 10 13 17 10 5 2 ^ TABLE IV- 1 An examination of this table shows that for every n except n = 15i) the maxi- 2 mum value of e is given by the largest sum of squares which is less than or 2 equal to no In the case n = 15t) k.^ ~ ^ or 11, we have e = 17d which is quite close to the theoretical maximum value (2 x \5)l J~^ - 10 J^ ^ \loyio^^ given in Section II"2„ Similar tables could be worked out for any raster with a known configura= tion matrix ^2 We know by Theorem II-2»11 that (t + 1) P^(t), for certain P^(t), gen- erates a code which corrects all spot«errors of diameter < ep/2 on a raster of length n = lcm(n^*p n2)o The following example shows the application of this result to a tjrpical raster o Let R be the two-dimensional raster determined by configuration matrix L = 1 1 (the identity matrix) and alignment matrix M = MgM. 6 2 1 "l Table IV-1 shows that the raster Rg determined by (Ls, Mg) has diameter e^ ~ J~S- 2o236 ,o.; which means that (t +1) P.j(t) generates a code which corrects all spot-errors of diameter < e2/2 = I0II8 000 p ando in particular that 85 (t + 1 ) P. (t) generates a spot-correcting code of diameter 1 , From Figure IV™.1 J it is obvious that no spot of diameter -^ 1 containing t can have a point in common with any spot of diameter ^ 1 containing t^ for any integer q be- cause each spot of diameter -^ 1 is by definition wholly contained in each cir- cle of radius 1 with center at one of its points « Figure IV-1 shows that each of these circles is disjoint from all the others, and therefore that (t +1) P^Ct) generates a spot-correcting code of diameter 1 on Ro The fact that (t +1) P^(t) actually corrects all spot-errors of diame- ter ^ 1 J18o.. is onl3'- of theoretical interest in this casep since there are no actual spots of diameter m such that 1 :^m^ I0II8000 o The following examples show that 1 ) there exists a raster R on which (t + 1) P^(t) fails to generate a code of diameter ©o/^^ ^""^ ^^ there exists a raster R on which (t +1) P^(t) generates a code of diameter ©^ ^ ^ " where £ is any arbitrarily small positive number, Thus„ the actual diameter of correction m varies from raster to raster within the absolute limits &,^l2 ^ m ^ e^o Let R be the two-dimensional raster determined by configuration matrix L = 1 1 as before and alignment matrix M = MgM^ = 6 3 1 M^ . Table IV- 1 shows that the raster Rp determined by (Lj M) has diameter q^-^ h = 2^ which means that (t +1) P^(t) generates a code which corrects all spot-errors of diameter < ©o/^ ~ "* ' -^^^ ^^ °^" ^® shoxim that,, for example, (t +1) (t^ + t + 1) = t^ + t"^ + t + t-^ + t + 1 (= -2N in sexadecimal notation) fails to generate a spot-correcting code of diameter 1 on a simple square raster of length ^2 with b^ = 30 From Figure IV-25, it is obvious that two distinct spots, one n An containing the point t and the other containing the point t can have a third point in common. On the other hand, let e be any arbitrarily small positive number, let n^ be any integer such that n^ ^ 3» let R be the two-dimensional raster determined 86 Circles of Diameter 2 on a Simple Square Raster Determined by L = and M = 6 2 1 1 1 'J M. 6 Each Point is Identified by its Residue Modulo 6, Figure IV«.1 \ y Circles and M = 3 X 3 x"- 1 ^ / T 7^ ^ ^ 1 '^ T of Diameter '^ on a Simple Square Piaster Determined by L = \\. Each Point is Identified by its Residue Modulo 6 , Figure IV-2 1 1 [6 3 1 ^ 0- 2^0 \ 1 .f?' \ /• T^ "Z V "1 ";^ 12 12 12 Circles of Diameter 2(i-.e) on a Simple Square Raster Determined by L = 1 - e and M = 1 !_ _ Residue Modulo 3o 3 1 M. o Each Point is Identified by its Figure IV-3 87 by configuration matrix L and alignment matrix np 1 M. Then (t +1) P^(t) generates a spot-correcting code of diameter 1 - €. on R„ From Figure IV-3!, it is obvious that no spot of diameter ^ 1 - e con- taining t can have a point in common with any spot of diameter ^ 1 -t con- qng taining t for any integer q. Most of the rasters studied in this paper are simple rasters » as defined in Definition 11-3-3 «> However, there exist raster pairs R_ and R such that the R raster is not simple and yet Rp and R together satisfy the hypotheses of Theorem II-.2-.7o Since our most important theoretical results,, Theorems II-2-11 and 11-2-125 concern raster pairs related as in Theorem II-2»7o let us now con- sider in detail the construction of a raster R from a given raster R^o Let us take the raster R^ to be a simple square raster of length ng and width b, so that Mp = n. n. Suppose also that M. = '12 then M = MgM^ = ^2^1 ^12^'2 ^ [n^ - b^) ^ 1 As may be easily verified ^ the raster R corresponding to M is of length n = ngn^ and width b.* = b^ + (n. -= 1 - h.g) ^0° ■^^^ example p if Mp = so that Rg is of length 5 and width 2, (see comment following Definition n-2-4) and M, = then M 50 33 1 so that R is a simple square raster of length 50 and width 17o These rasters are respectively and 3 1 ^ 2 R = 3^ 35 36 37 38 39 ^0 ^4-1 ^2 l^^ L^ k^ l^ 14.7 kQ t^<^ 17 18 19 20 21 22 23 Z^' 25 26 27 28 29 30 31 32 33 1 2 3 i*- 5 6 7 8 9 10 11 12 13 1^ 15 16 If for any M. it turns out that b * does not itself divide n but there exists a d such that b.*/d does divide n^ then the raster R determined by 88 (L, M2M^) may be thought of as an "interlinear" raster of length n and width b.*/d<, For example 5 if M^ = 5 k 1 and M. = 3 1 1 then M = "= ll ?] so that R may be thought of as a simple square raster of length 15 and width 6, Since b^* = 6 does not divide 15^ but b */d - 6/2 = 3 does divide 15§ therefore we may think of R as an interlinear raster of length 15 and width 3o These rasters are respectively; Rp = ^ 5 simple R = 3 2 13 1i^ 6 7 8 9 10 11 1 2 3 ^ 5 2 1 and interlinear R = 9 10 11 3 if 5 ° 12 13 1^ 6 7 8 1 2 The simple raster is the easiest to implement physically because any mechanism that simplj scans the raster from left to right and bottom to top (in this cases rows 1^ 2^ 3? ^<. 5 in order) will obtain the information bits in their correct sequence on such a ras^^er^ whereas an "interlinear" raster would have to be scanned interlinearly (in this case^ rows 1 „ ^^ 2j, 5i> 3 in order) in order to obtain the bits in their correct sequence. On the other handp any two simple rasxers R derived from a given R^ must either be of the same width b. * or differ in width by a multiple of n2!) which may be inconven- ient for some applications c This limitation is relaxed for the interlinear ras= ter to the extent that rasters of width b.*/d5 for certain do can also exist, thus giving us a wider choice of raster widths for a given ngo Section IV-2., The Direct Method . Now let us consider the problem of actually finding a polynomial P(t) which generates a spot-correcting code of given diameter a on a two-dimensional raster 89 of given length b„ The first method which we shall discuss is the Direct Method described in Section II-3c Suppose that we are given a two-dimensional simple square raster of width b. and height h^, so that the length of the raster is b = bpb. „ The set of normal polynomials of all spot-errors of diameter ^ a is first determined either by inspection or by calculations and a poljoiomial P(t) is chosen whose period is such that it is capable of generating the desired code. Then the sequence of calculations described at the end of Section 1-2 is under- taken to determine whether or not P(t) does indeed generate a code which corrects the set of errors under consideration. Let us suppose J for example p that we have been asked to find a polynomial which generates a spot-correcting code of diameter 1 on a simple square raster of width b, and height h^, and thus of length b = b-b. » The number of non-zero normal forms is three-^namely 1 ^ (single error) (o), t + 1 (horizontal double error) ( » » ) and t + 1 (vertical double error) (I). We therefore must choose a polynomial P(t) of degree ra such that 2 - 1 ^ 3b since N(D)-1 , the niimber of non-zero errors to be corrected ^ is 3b and the number of non-zero residues available with a pol:^niomial of degree m is 2^^ - 1 o Having chosen a likely polynomial, we calculate the order n of the polynomial 1 with respect to P(t) and then test whether or not b ^ n,, because if b > n, P(t) obviously cannot generate a code of length b. If b < nj we will have a shortened cyclic codei if b = n, MQ will have a full-length cyclic code. If b = n = (2' - l)/3, the code v:ill be close-packed and maximally efficient; if b = n> (2" - \j/6, the code will be 90 efficient o We next test whether or not n r^ (2"^ » l)/3, because if n > (2™ <» l)/3, P(t) obviously cannot generate a code with three separate cycles of length n^, Assuming that b :^ n r^ (2 -> l)/3i, we proceed to find the representative poly- nomial (see Definition 1-2-10) of t + 1 with respect to P(t) and its order with respect to P(t)o If the representative polynomial of t + 1 with respect to P(t) is of order n and is not equal to 1 (which is of course its own representa=. tive polynomial) 5 we proceeds otherwise ^ we conclude that P(t) does not generate the desired codec Assuming that the test of t + 1 has succeeded^ we next pro« ceed to find the representative polynomial of t +1 with respect to P(t) and b. its order with respect to P(t)o If the representative polynomial of t +1 is of order n and is not equal to 1 or to the representative polynomial of t + 1 p we then conclude that P(t) generates a spot«correcting code of diameter 1 on R^ otherwise J we conclude that P(t) does not generate the desired codeo To see exactly how the Direct Method works „ let us test whether or not 6 H- 2 P(t)-t +t +t +t+1=+F (see explanation of sexadecimal notation in Section III-2) generates a spot=.correcting code of diameter 1 with b. = 7 (see Figure rv-if-) ^ Firsts we calculate the cycle containing the polynomial to 223 This is done by forming the products t(1) = tj t(t) - t , t(t ) = t p t(t^) = t^, t(t^) ~ t^, t(t^) - t^ S t^ + t^ + t + 1 (mod +F), t(t^ + t^ + t + 1 ) = t^ + t^ + t^ + t, t(t^ + t^ + t^ + t) ^ t^ + t^ + t^ + t^ S t^ + t + 1 - 1 - (mod +F) 8 etc= In sexadecimal notations we have t ~ 001, t = 002;; t^ S 004, t^ S 008, t^ = 010, t^ S 020, t^ S 017, t^ = 02F, t^ S 00=o t^ ^ 016,, t''^ = 02N, t^"* = 00L„ t^^ S 0IF0 t^^ S 03N, t^^ = 026, t^^ 5 009» t^^ = 012„ t"''^ = 024, t''^ = OIL5 t^^ S 03Fs t^° = 02«, (all mod +F) „ which gives us fin<- ally 001, 002, 004, 008, 010, 020, 017. 02F, 00», 016, 02N, OOL, OIF, 03N, 026, 009, 012, 024, 01L, 03Fg 02-. Thus the first cycle is of length 21 and has representative polynomial 1 = 001 Next, we calculate the cycle containing 91 ^H "15 ^16 "17 ^18 "19 ^20 ^7 ^8 "9 ^10 ^11 ^12 "13 ^0 ^1 ^2 "3 ^^ "5 ^6 Simple Square Raster of Length 21 with b^ = 7. Figure IV-4 "•15 ^8 "9 ^10 ^11 ^12 ^■13 "•14 ^0 ^1 ^2 "3 ^^ ^5 ••6 ■-7 Simple Square Raster of Length 16 with b. = 8a Figure IV»5 r^z, ="15 '■le "•i? ^18 ="19 ^20 "■y '•s ■"9 ^10 '•n ^12 "13 "•o ''I ^2 ■"3 ^4 =•5 ^•6 Offset Square Raster of Length 21 with b. = 8. Figure IV«.6 the polynomial t + 1 =002+001 =003. This gives uss 003, 006, OON, 018, 030 „ 037. 039. 025o 01J, 03+, 023« 011„ 022„ 013, 026, 01-„ 036^ 03-„ 021 „ 015„ 02+o Thus this cycle is also of length 21 and has representative polynomial t + 1 s 7 003 o Finally we calculate the cycle containing the polynomial t + 1 ^ 02F + 001 = 02Lo This gives us 02L„ 009o 012„ 02^^ OILp 03F„ 02«, 001, 002^ 00^„ 008o 010„ 020p 017, 02F, 00», 016, 02N, OOL^ 01F„ 03N, Thus this cycle is of length 21 and has representative polynomial 1 = 001, Therefore j, because 7 6^2 1 and t' + 1 have the same representative polynomial, t +t +t +t+1sE +F does not generate the desired code. The method just described is based on Theorem 1-2-10 and would be used to investigate this problem on a high-speed computer such as Illiaco The follow- ing method, based on Theorem 1-2-1 1(, is superior for hand computations We first determine the period of +F to be 21 by calculating the cycle containing the polynomial 1 as described above. The next step is to calculate the quotient (t^^ + 1)/(t^ + t^ + t^ + t + 1) = t"*^ + t^^ + t''^ + t*^ + t^ + t^ + t + 1 is Q(t) as follows? 101001001100101 1010111 ; 1000000000000000000001 1010111 1011100 1010111 1011000 1010111 1111000 1010111 1011110 1010111 1001000 1010111 1111100 1010111 1010111 Therefore j on a raster of length 21 , we have s 93 1 X Q(t) - 000001010010011001011? Normal polynomial = 000001010010011 (t + 1) X Q(t) = 000001010010011001011 uuiuu + 000010100100110010110 000011110110101011101? Normal polynomial = 000011110110101 (t"^ + 1) X Q(t) = 000001010010011001011 011101 + 100100110010110000010 100101100000101001001; Normal polynomial = 000001010010011 001011 n Therefore, because Q(t) and (t' + 1)Q(t) have the same normal polynomial,+F does not generate the desired code„ This method is obviously easier than pro- ceeding as the machine would, except for calculating the cycle containing the pol:^momial 1 ?.nd the initial division to determine Q(t), A similar calculation shox^s that +F does generate a spot<=correcting code of diameter 1 with b. = 8^ Therefore ^ +F could be used to generate a shortened code of length 16 on the raster of Figure IV-5 or to generate a code of length 21 on the offset raster of Figure IV»6o Tables IV-2 to IV-6 contain the results of an Illiac search for codes of various error^correcting capabilities generated by various polynomials ^ To illustrate the use of these tables, we note that the first line of Table IV-2 has the entries ISt 5? 1.000? 2o This means that the polynomial L8 = k T 2 11111000 = t +t-^ + t +t + 1 generates a spot=.correcting code of diameter 1 on a simple square raster of length 5 with b. = 2 or 3? i.^o^ a raster deter» mined by the matrix pair (Lj, M) with L = Fl 0~| and M = 5 3 or 5 The efficiency of either of these codes is loOOOo (Note that when- ever a code exists for a given b^ j, then it also exists for n - b^O Corresponding to each non-SATnraetric polynomial P(t) of degree s in these tables 8 there is another polynomial P*(t) which may be obtained from P(t) by s ~1 reversing the order of its coefficients (IoB^^ P*(t) - t P(t" )) and which gen- erates a code with given lengthy diameter i, and b^ iff P(t) generates a code of 5 2 1 9^ the given length, diameter t and b. . This "mirror image" polynomial P*(t) is listed beside each non- symmetric P(t). The intrinsic significance of these results iSj of coTirse^ far out- weighed by their value as building blocks in constructing codes of any desired length by the Combination Method « P(t) n LB 5 84 5 LN 6 82 6 8+,+2 14 92 9 9F,L2 15 ++ 8 +F,F-»- 21 -+ 15 j6 12 LP 7 81 7 8-oJ1 15 9-,J9 35 9L.L9 21 -J 12 NL,L3 14 J« 9 F7 15 LL 8 808 8 828, +08 30 «88 12 8+8 » +88 14 8-8, F88 15 ficiency ^ I0OOO 2 ,500 2 .595 2 »297 2 »673 3.5 o438 2.4 = 719 2„3.6,7 .391 3 I0OOO 2,8J0 »719 2o7 o579 2.5 c344 2»3 0I72 2,3 o359 2,3.5,6,7 0829 2,3,8, 12J3J7 e500 2,3,6,7,8,9,10 »289 2,4,5 0336 2,3,4,5.6 .211 2,3,4 o359 2,7 0I95 2,3 0O97 2,3 »356 3,5,7,9,11,13 ,145 2„3,5 ,168 2,3,4,5,6 ,180 2,3,4,5,6,7 (TABLE IV=.2 continued on next page) 95 P(t) n 8J8,J88 51 938,F^8 63 9+8, +N8 63 9N8 17 9J8„JN8 kz 9L8„LN8 85 +28 12 +58„J28 21 ++8 10 -58,J68 35 -78,L68 30 — 8,FF8 85 -F8 21 N58,J18 85 N98 30 NL8pL98 51 J58 2^ J-8,FJ8 i^Z JJ8 15 F38 12 F-8 17 L78 20 LL8 9 Efficiency ^ .602 2,3A»5.6,7,8JO,11J3.15o18J9,2U 22,23, 2^^-, 25 ,7^2 2,3d6,8,9«10„12,15,18,21,23,2^„27, 29.30.31 .7^2 2,3,6,8,9,1 1J2J3o 15 J8J9»21,2i|-„ 27,30,31 .203 2,3.^,5o6,7,8 .^96 2,^,8,10,16,20 I0OOO 2,308,9,12,17,19.22,26,30,32,35,36, 37,^2 J^5 3,5 „250 2,3^,5,6,8,9,10 0121 2,3,^ 0^15 2,3,8,12,13,17 .356 2,^,5,7,8,13,1^ 10000 2,8,9,1^,19,26,29,30,31,32,3^,35, 36,39,^2 o250 2,^,5,10 10000 2,5,6,7,8,11,17,20,23,2^^,27,28,32,^1,^2 c356 2,^,7,8,13,1^ =602 2, il-, 5, 6, 7, 8, 9, 10, 12, 13, 1i^, 15, 18, 19, 20, 22,24,25 o285 5,11 c^96 5,11,17,19 ,180 2,3.^,6,7 .1^5 2,4,5 o203 2,3,^,5,6,7,8 »238 3,7 ,109 2,3,4 TABLE IV-2 Table IV-2 lists all polynomials of degree ^ 8 with the property of gen- erating a spot-correcting code of length n and diameter 1 on a simple two- dimensional square raster of width b. i ioCo, one with configuration matrix L = 1 and alignment matrix M = 1 n n-b. I That is^ for each 1 ^ P(t) and b. appearing in the table, we have the polynomials 1 («), t+ 1 (<,..) ^1 and t +1(0) lying in separate cycles of length n with respect to P(t)o 96 P(t) LF 81 9L,L9 NL„L3 LL 808 888 8+8, +88 8-8„F88 +58 , J28 ++8 JJ8 LL8 n 7 7 21 14 8 8 12 1i^ 15 21 10 15 9 XV^ J.^11V. • a, and such that k 12 Res (n^ - b. ) ^ (mod ng)^ Now let P.|(t) be any polynomial s-ach that P-j(t) is prime to t + I0 b. has the property that lcm(n. ,n^) ^ b, and such that each of 1^ t+1 ^ and t + 1 '1 "2' is of order n^ with respect to P^(t)o Then we know that P(t) = (t + 1)P^(t) generates a spot correcting code C of diameter a on the raster of length n = lcm(n. on^) determined by the matrix pair (LjM) = (L^M-M. )„ where L 1 1 \ =s "2 "2-^1 1 n n-b^ c If 1 M, "1 ^1' il and M = "2 "2-^1 n<|"1 1 If it happens that n = b^ then the raster on which C is defined is of length b, as was desired If n > bo we can still use C as a shortened cyclic code? that is^ one which is formally of length n with respect to en- coding and decoding processes but in which only b bits of the code are trans- mitted „ the remainder being assumed to be zero and^ of course ^ error-less « To see exactly how the Fire Method works „ suppose we wish to find a poly- "2 nomial of the form P(t) = (t +1) P. (t) which generates a spot-correcting code of diameter 1 on a simple square raster of width ? and height 150 and thus 101 of length 105o Since Res(5-7)(niod 5) = 3d we see by Table IV-1 that the first ngD k.2 combination we may use is the combination ^^ ~ So k^2 ~ 3 for which we have diameter e^ = 5i ioeoj, ^2/2 > 1 „ as requiredo Now we must choose a P-j(t) "2 such that P-j(t) is prime to t + 1 „ has the property that lcm(n^i,nj>) ^ 105s 7 and each of the polynomials 1 ^ t + 1 ^ and t +1 is of order n, with respect 1 to P. (t)» Since we are looking for as efficient a code as possible t, whether full-length or shortened;, we know that P^(t) must be some polynomial of least degree and of period n. :^ IO5/5 = 21° therefore,, we choose P. (t) to be any primitive poljmomial of degree 5 and thus of period 2-^ » 1 = 31 o Then P(t) - (t + 1) P^(t) generates a spot-correcting code of length 5 x 31 - 155 on a raster of width 7°, or 5 considering the code as a shortened cyclic code^ a code of shortened length 1 05 on a raster of width 7 and height 15o The efficiency of the shortened code is given by (ng + 1 )/2" = ((IO5) 3 + 1)/2^^ - 316/102^ = .3080 Section IV-^o The Combinat ion Method » The Combination Method is very important because it enables us to extend greatly the usefulness of code=generating polynomials found by the Direct Method c The Combination Method is similar to the Fire Method in that the fin= al code-generating poljmomial arrived at is of the form P(t) = Po^^) ^1^^^ where PpC't) defines the normal form of the error to be corrected and P^(t) its location c The only real difference is that the factor polynomial PoC't-) is arrived at by the Direct Method instead of being taken to be of the form "2 p^Ct) = t "^ + I0 The steps to be followed in using the Combination Method are precisely the same as those for the Fire Method 5 except that instead of searching Table IVe=1 "2 for a Pp(t) of the form t +1 which generates a spot«correcting code of the 102 given diameter p we search in the appropriate one of Tables rV-.2 through IV»6 for a Pp(t) previously found by the Direct Method which generates a spot- correcting code of the given diameter on a suitable raster R, To see exactly how the Combination Method works o let us solve the same problem as was solved by the Fire Method in Section IV-3c That iSs, suppose we vrish to find a poljmomial of the form P(t) - PgCt)?. (t) which generates a spot- correcting code of diameter 1 on a simple square raster of width 7 and height 15s and thus of length 105o We see from Table IV-2 that the polynomial P^Ct) = L8000 - t^ + t^ + t^ + t + 1 generates a spot-correcting code of diameter 1 on a raster of length n^ = 5 and b. = 2| therefore, as in the Fire Method,, we choose P^(t) to be any primitive polynomial of degree 5 and thus of period 2-^ - 1 = 31 « which means that P(t) - P2(t)P^(t) will be of degree 4 + 5 = 9, Whereas the polynomial P(t) obtained by the Fire Method was of degree 10,, and thus of efficiency (3 X 105 + 1)/1024 = „308 the P(t) obtained by the Combination Method is of de= gree 9 and thus of efficiency p x I05 + 1)/512 == e6l7„ Since 0617 > |» we know that the code obtained by the Combination Method is efficient and that therefore it would not be of any use to try to find a more efficient codeo This codep like the one found by the Fire Method^ is a spot-correcting code of length 5 X 31 = 155 on a raster of width 7? or a shortened cyclic code of length 105 on a raster of width 7 and height 15o Since this code is efficient, there is no use in looking for a P(t) which generates a more efficient codep but it is possible to find a code for the 7 x 15 raster which is a full=length code instead of a shortened codee To do this, we note that in Table TJ^Z„ =+ generates a spot-correcting code of diameter 1 on a raster of length 15 and width 7o Choosing P. (t) to be any primitive poly<= noraial of degree 3 and thus of period 2-^ - 1 = 7p we obtain a polynomial P(t) 103 which generates a spot-=correcting code of diameter 1 on the 7 x 15 raster. Since P(t) is of degree 6 + 3 - 9o its efficiency is also o6l7. Section IV-5» Comparison with Iterated Two-Dimensional Codes o A number of previous investigations of cyclic group codes in two or more dimensions have been based on the concept of the iterated code; that is, a two~dimensional array with the property that each row of the array is a code word from some one-dimensional burst-error correcting code C, of length n, and of diameter e and^ similarly ^ each column is a code word from some one- dimensional burst-error correcting code of length n and diameter e . The following analysis of these codes is due to Elspas. It is clear that the product code C, x C is the set of all (n,n) -tuples, (f. .) , such that the polynomial fCx^y/) = n^-1 ^;— rn^-l ^ _ / f xV^, is some multiple A(x,yJP, (x)P (y) of ^- ' i=0 "^ ' j=0 ^^ n V P, (x)P (y)^ xihere Pi.^(x) and P (y) are the generating polynomials of the cyclic group codes C, and C respectively o It is also obvious that any error u which can be contained in the union of 1 ) a vertical band of width e, and h of any height,^ and 2) a horizontal band of height e and of any width, can be corrected by C, and C independently and hence by C, x C o Elspas has dis- covered the following more remarkable results C, x C corrects any rec- *= h V tangular spot-error of size up to m, digits wide and ra digits high, where m, and m are the degrees of Pu(x) and P (y) respectively. To see what this result means » consider the burst-correcting code of length 15 and diameter generated by any primitive polynomial of degree ^„ Iterating this code with itself „ we obtain a code of length 225 generated by a pol3rnomial of degree 10^ on which all spots of size ^ x 4- or less are 104 corrected, even though the codes C, and C themselves correct only single errors » To compare the results of this paper with Elspas's result, we note that according to the table following Definition II-2-75 for two-dimensional ras- ters we have eg ^ (2/-/3)np5 which means n^ :^ 2V3(ep/2) » Since a size 4x4 spot on a square raster has diameter 3 -/^o we know that the value of n^ "2 in the generating polynomial P(t) = (t + 1)P. (t) must be such that P ng ^ 2Ay3(3'N/2) =36^3 = 62„4o Therefore,, we construct a table similar to Table IV-1 beginning with np = 63 and continuing until we find a combina= P tion of n^ and k.g for which eg > 72^ that is^ 6^/2 > jjz„ Since we know 2 that for the combination n^ = 81 and k^p = 9 we have eg = 81 o we know that 2 there will certainly be an n^ in the rajige 63 ^ n^ ^ 81 for which e^ > 72 c Thenj, choosing an appropriate P. (t),, we obtain a polynomial of the form "2 P(t) = (t + 1)P. (t) which generates a spot-correcting code of length at least 225 and diameter ^ 3^2, Since we know that Pp(t) can be of de- gree ^ 81 and P. (t) can be of degree ^ 3 because lcm(2-^ « 1, 81) :>• 225t we see that the code obtained by our method is more efficient than Elspas"s, For even greater efficiency „ we could use the Direct Method to find a polynomial PgCt) which generates a spot-correcting code of diameter 3/2, and then multi- ply by appropriate P^(t), if necessary, to give a code of length at least 225 c Thus it appears that;, in this case, Elspas"s method is about as easy to use J but gives a less efficient code^ For spots of diameter ^ 2^ on the other hand, the methods given in this paper would seem to be better because very efficient code-generating polynomials can be found relatively easily whereas Elspas's method would require the use of polynomials P, (x) and P (y) of degree > 2 to achieve a product code C. x C of reasonable length o 105 BIBLIOGRAPHY 1„ Abramsorio No M« "A Class of Systematic Codes for Non-independent Errors", IRE Trans, on Information Theory „ Volo IT-5i, pp„ I50 - 157„ December „ l959o 2o Albert, Ao A„ Flindamental Concepts of Higher Algebra „ University of Chicago Press t, 1956o 3o Birkhofff, G, and MacLane, So A Survey of Modern Algebra „ Revised Edition, New York^ MacMillan, 195^0 4„ Cassels, Jo Wo S„ An IntTo duction to the Geometry of Numbers „ Berlin, Springer Verlag„ 1959o 5o ElspaSj B„ "Design and Instruraentation of Error-Correcting Codes" „ Final Report, RADC™TDR»62-511 , Stanford Research Institute, October, 1962„ 60 Elspaso Be and Shorts Ro Ao "A Note on Optimum Burst-Error^ Correcting Codes" „ IRE TranSo on Information Theory^ Volo IT-S, pp„ 39 „ 2|>2, January, 1962„ 7o Fire, P, "A Class of Multiple-Error-Correcting Binary Codes for Non-Independent Errors" , Sylvania Report RSL»E-2 , Sylvania Reconnaissance Systems Laboratoryf Mountain View, California, 1959 » 80 Foulk, Co Ro "Some Properties of Maximally Efficient Cyclic Burst- Error-Correcting Codes and Results of a Computer Search for such Codes", University of Illinois Digital Computer Laboratory, File Number 375. June 12, I96I e 9e Goroga Eo "Some New Classes of Cyclic Codes Used for Burst-Error Correction", IBM J, Research and Development, Volo 7, ppo 102 - 111, April, 19630 IO0 Hamming, Ro Wc "Error-Detecting and Error-Correcting Codes" 9 Bell System Tech„ J,, Volo 29, ppo i^7 - 160, 1950= 11 o Meggitt, Jc E, "Error-Correcting Codes for Correcting Bursts of Errors" IBM Jo Research and Development, Vol. ^, ppo 329 = 33^9 July, I96O. 12„ Melas, C„ M„ and Gorog, Eo "A Note on Extending Certain Codes to Correct Error Bursts in Longer Messages", IBM J, Research and Development, Volo 7, ppo I5I - 152, Aprils 1963= 13o Peterson, Wo Wo Error^Correcting Codes , Massachusetts Institute of Technology Press and John Wiley & Sons, New York, I96I0 1^0 Stone, Jo Jo "Multiple Burst Error Correction", Information and Control, Volo 4, ppo 32^ - 331 I96I0 i06 VITA Clinton Ross Foulk was born in Wichita „ Kansas, on January 2^;, 1930o and was graduated from El Dorado Senior High School in El Dorado „ Kansas 5 in May^ l9^7o He attended the University of Kansas as a Sumraerfield Scholar from September 5 19^7 to June, 1951 » graduating with a Bachelor of Arts degree in Astronomy He attended the University of Lund in Lund, Sweden, from September, 1951 to May, l952o From July, 1952 to June, I956, he served at Wright-Patterson Air Force Base as a member of the United States Air Force, leaving with the rank of Staff Sergeant, In September, 195^0 he entered the University of Illinois 5 as a University Fellow in the Digital Computer Laboratory, receiving a Master of Arts degree in Mathematics in February, 1958c He was an assistant in the Digital Computer Laboratory from June, I958 to June, 1962„ He is a member of Phi Beta Kappa, Omicron Delta Kappa, Pi Mu Epsilon, the American Mathematical Society, Society for Industrial and Applied Mathematics, Association for Com- puting Machinery, and Sigma Xio i m ? 01969