• Aucun résultat trouvé

Affine-invariant codes

Dans le document Fundamentals of Error-Correcting Codes (Page 181-187)

4 Cyclic codes

✲ ✲ Delay element

4.7 Affine-invariant codes

In this section we will look at extending certain cyclic codes and examine an important class of codes called affine-invariant codes. Reed–Muller codes and some BCH codes, defined in Chapter 5, are affine-invariant.

We will present a new setting for “primitive” cyclic codes that will assist us in the description of affine-invariant codes. Aprimitive cyclic code overFq is a cyclic code of lengthn =qt−1 for somet.1To proceed, we need some notation.

LetIdenote the field of orderqt, which is then an extension field ofFq. The setIwill be the index set of our extended cyclic codes of lengthqt. LetIbe the nonzero elements ofI, and supposeαis a primitiventh root of unity inI(and hence a primitive element of I). The setIwill be the index set of our primitive cyclic codes of lengthn=qt−1. With

The setFq[I] is actually an algebra under the operations

c

1 Cyclic codes of lengthn=qt1 over an extension field ofFqare also called primitive, but we will only study the more restricted case.

163 4.7 Affine-invariant codes

The vector spaceFq[I] will be the new setting for primitive cyclic codes, and the algebra Fq[I] will be the setting for the extended cyclic codes. So in fact both codes are contained inFq[I], which makes the discussion of affine-invariant codes more tractable.

Suppose thatCis a cyclic code overFqof lengthn=qt−1. The coordinates ofChave been denoted{0,1, . . . ,n−1}. InRn, theith componentciof a codewordc=c0c1· · ·cn1, with associated polynomialc(x), is the coefficient of the termcixiinc(x); the component ci is kept in positionxi. Now we associatecwith an elementC(X)∈Fq[I] as follows: We now need to examine the cyclic shiftxc(x) under the correspondence (4.9). We have xc(x)=cn1+ Example 4.7.2 We continue with Example 4.7.1. Namely, xc(x)=x+x2+x4Xα+Xα2+Xα4=Xα1+Xαα+Xαα3.

The coordinates of our cyclic codes are indexed byI. We are now ready to extend our cyclic codes. We use the element 0∈I to index the extended coordinate. The extended codeword ofC(X)= From (4.10), together with the observation that Xα0 =X0=1, in this terminology an extended cyclic code is a subspaceCofFq[I] such that

With this new notation we want to see where the concepts of zeros and defining sets come in. This can be done with the assistance of a functionφs. LetN = {s|0≤sn}. codeC defined inRn had defining setT relative to thenth root of unity α. Then (4.11) shows that if 1≤sn−1,sT if and only ifφs(C(X))=0 for allC(X)∈C. Finally, what isφn(C(X))? Equation (4.11) works in this case as well, implying thatαn =1 is a zero ofCif and only ifφn(C(X))=0 for allC(X)∈C. Butα0=αn=1. Hence we have, by Exercise 238, that 0∈T if and only ifφn(C(X))=0 for allC(X)∈C. We can now describe an extended cyclic code in terms of a defining set as follows: a codeCof lengthqt is anextended cyclic code with defining setT providedTNis a union ofq-cyclotomic cosets modulon=qt−1 with 0∈T and

C= {C(X)∈Fq[I]|φs(C(X))=0 for allsT}. (4.12) We make several remarks.

r 0 andnare distinct inT and each is its ownq-cyclotomic coset.

r 0∈T because we need all codewords inCto be even-like.

r IfnT, thenφn(C(X))=

g∈ICg=0. As the extended codeword is even-like, since 0∈T,

g∈ICg =0. Thus the extended coordinate is always 0, a condition that makes the extension trivial.

r The defining setTofCand the defining setT are closely related:Tis obtained by taking T, changing 0 tonif 0∈T, and adding 0.

165 4.7 Affine-invariant codes

r sT with 1≤snif and only ifαsis a zero ofC.

r By employing the natural ordering 0, αn, α1, . . . , αn1onI, we can make the extended cyclic nature of these codes apparent. The coordinate labeled 0 is the parity check co-ordinate, and puncturing the codeCon this coordinate gives the codeCthat admits the standard cyclic shiftαiααi as an automorphism.

r To check that a codeCinRnis cyclic with defining setT, one only needs to verify that of F8 satisfying α3=1+α. See Examples 3.4.3 and 4.3.4. The extended generator is 1+X+Xα+Xα3. Then a generator matrix forCis In Section 1.6, we describe how permutation automorphisms act on codes. From the discussion in that section, a permutationσ ofIacts onCas follows:

g∈I ag+b. Notice that the maps σa,0 are merely the cyclic shifts on the coordinates {αn, α1, . . . , αn1}each fixing the coordinate 0. The group GA1(I) has order (n+1)n = qt(qt−1). An affine-invariant code is an extended cyclic codeC over Fq such that GA1(I)⊆PAut(C). Amazingly, we can easily decide which extended cyclic codes are affine-invariant by examining their defining sets. In order to do this we introduce a partial ordering' onN. Suppose thatq =pm, where p is a prime. ThenN = {0,1, . . . ,n}, expansion ofr. Notice that ifr 's, then in particularrs. We also need a result called Lucas’ Theorem [209], a proof of which can be found in [18].

Theorem 4.7.5 (Lucas) Let r =mt1

We are now ready to determine the affine-invariant codes from their defining sets, a result due to Kasami, Lin, and Peterson [162].

Theorem 4.7.6 LetCbe an extended cyclic code of length qtwith defining setT . The code Cis affine-invariant if and only if whenever sT then rT for all rN with r 's.

Conversely, assume that C is affine-invariant. Assume that sT and that r's.

We need to show that rT, that is φr(C(X))=0 by (4.12). AsC is affine-invariant,

for allbI. But the right-hand side of this equation is a polynomial inb of degree at mosts<qtwith allqtpossiblebIas roots. Hence this must be the zero polynomial. So (sr)φr(C(X))=0 inIfor allr's. However, by Lucas’ Theorem again, (sr)≡0 (mod p) and thus these binomial coefficients are nonzero inI. Henceφr(C(X))=0 implying that

rT.

Example 4.7.7 Suppose thatC is an affine-invariant code with defining setT such that nT. By Exercise 279,r'nfor allrN. ThusT =N andC is the zero code. This makes sense because ifnT, then the extended component of any codeword is always

167 4.7 Affine-invariant codes

0. Since the code is affine-invariant and the group GA1(I) is transitive (actually doubly-transitive), every component of any codeword must be zero. ThusCis the zero code.

Exercise 279 Prove thatr 'nfor allrN.

Example 4.7.8 The following table gives the defining sets for the binary extended cyclic codes of length 8. The ones that are affine-invariant are marked.

Defining set Affine-invariant

{0} yes

{0,1,2,4} yes {0,1,2,3,4,5,6} yes {0,1,2,4,7} no {0,1,2,3,4,5,6,7} yes

{0,3,5,6} no {0,3,5,6,7} no

{0,7} no

Notice the rather interesting phenomenon that the extended cyclic codes with defining sets{0,1,2,4}and{0,3,5,6}are equivalent, yet one is affine-invariant while the other is not. The equivalence of these codes follows from Exercise 41 together with the fact that the punctured codes of length 7 are cyclic with defining sets{1,2,4}and{3,5,6}and are equivalent under the multiplierµ3. These two extended codes have isomorphic auto-morphism groups. The autoauto-morphism group of the affine-invariant one contains GA1(F8) while the other contains a subgroup isomorphic, but not equal, to GA1(F8). The code with defining set{0}is the [8,7,2] code consisting of the even weight vectors inF82. The code with defining set{0,1,2,3,4,5,6}is the repetition code, and the code with defining set {0,1,2,3,4,5,6,7}is the zero code. Finally, the code with defining set{0,1,2,4}is one

particular form of the extended Hamming codeH3.

Exercise 280 Verify all the claims in Example 4.7.8.

Exercise 281 Give the defining sets of all binary affine-invariant codes of length 16.

Exercise 282 Give the defining sets of all affine-invariant codes overF4of length 16.

Exercise 283 Give the defining sets of all affine-invariant codes overF3of length 9.

Corollary 4.7.9 IfCis a primitive cyclic code such thatCis a nonzero affine-invariant code, then the minimum weight ofCis its minimum odd-like weight. In particular,the minimum weight of a binary primitive cyclic code,whose extension is affine-invariant,is odd.

Proof: As GA1(I) is transitive, the result follows from Theorem 1.6.6.

In this chapter we examine one of the many important families of cyclic codes known as BCH codes together with a subfamily of these codes called Reed–Solomon codes.

The binary BCH codes were discovered around 1960 by Hocquenghem [132] and in-dependently by Bose and Ray-Chaudhuri [28, 29], and were generalized to all finite fields by Gorenstein and Zierler [109]. At about the same time as BCH codes appeared in the literature, Reed and Solomon [294] published their work on the codes that now bear their names. These codes, which can be described as special BCH codes, were actually first constructed by Bush [42] in 1952 in the context of orthogonal arrays. Because of their burst error-correction capabilities, Reed–Solomon codes are used to improve the reliability of compact discs, digital audio tapes, and other data storage systems.

Dans le document Fundamentals of Error-Correcting Codes (Page 181-187)