• Aucun résultat trouvé

Idempotents and multipliers

Dans le document Fundamentals of Error-Correcting Codes (Page 151-160)

4 Cyclic codes

✲ ✲ Delay element

4.3 Idempotents and multipliers



I

0 1· · ·1 1

... B 1



,

where B is a circulant matrix; such a code may be called a “bordered double circulant code.” See Section 9.8 where we examine more extensively the construction of codes using circulant matrices.

4.3 Idempotents and multipliers

Besides the generator polynomial, there are many polynomials that can be used to generate a cyclic code. A general result about which polynomials generate a given cyclic code will be presented in Theorem 4.4.4. There is another very specific polynomial, called an idempotent generator, which can be used to generate a cyclic code.

An elementeof a ring satisfyinge2=eis called anidempotent. As stated earlier with-out proof, the ringRn is semi-simple when gcd(n,q)=1. Therefore it follows from the Wedderburn Structure Theorems that each cyclic code inRncontains a unique idempotent which generates the ideal. This idempotent is called thegenerating idempotentof the cyclic code. In the next theorem we prove this fact directly and in the process show how to deter-mine the generating idempotent of a cyclic code. Recall that aunityin a ring is a (nonzero) multiplicative identity in the ring, which may or may not exist; however, if it exists, it is unique.

Example 4.3.1 The generating idempotent for the zero cyclic code{0}is 0, while that for

the cyclic codeRnis 1.

Theorem 4.3.2 LetCbe a cyclic code inRn. Then:

(i) there exists a unique idempotent e(x)Csuch thatC= e(x),and

(ii) if e(x)is a nonzero idempotent in C,then C= e(x) if and only if e(x)is a unity ofC.

Proof: IfCis the zero code, then the idempotent is the zero polynomial and (i) is clear and (ii) does not apply.

So we assume thatCis nonzero. We prove (ii) first. Suppose thate(x) is a unity inC.

Thene(x) ⊆C as C is an ideal. If c(x)C, then c(x)e(x)=c(x) in C, implying that e(x) =C. Conversely, suppose thate(x) is a nonzero idempotent such thatC= e(x).

Then every elementc(x)Ccan be written in the formc(x)= f(x)e(x). Butc(x)e(x)= f(x)(e(x))2= f(x)e(x)=c(x) implyinge(x) is a unity forC.

133 4.3 Idempotents and multipliers

AsC is nonzero, by (ii) ife1(x) and e2(x) are generating idempotents, then both are unities ande1(x)=e2(x)e1(x)=e2(x). So we only need to show that a generating idem-potent exists. If g(x) is the generator polynomial for C, then g(x)|(xn−1) by Theo-rem 4.2.1. Leth(x)=(xn−1)/g(x). Then gcd(g(x),h(x))=1 inFq[x] asxn−1 has dis-tinct roots. By the Euclidean Algorithm there exist polynomialsa(x),b(x)∈Fq[x] so that a(x)g(x)+b(x)h(x)=1. Lete(x)a(x)g(x) (mod xn−1); that is,e(x) is the coset repre-sentative ofa(x)g(x)+(xn−1) inRn. Then inRn,e(x)2≡(a(x)g(x))(1−b(x)h(x))a(x)g(x)≡e(x) (mod xn−1) as g(x)h(x)=xn−1. Also ifc(x)C,c(x)= f(x)g(x) implyingc(x)e(x)f(x)g(x)(1−b(x)h(x))f(x)g(x)≡c(x) (mod xn−1); soe(x) is

a unity inC, and (i) follows from (ii).

The proof shows that one way to find the generating idempotente(x) for a cyclic code Cfrom the generator polynomialg(x) is to solve 1=a(x)g(x)+b(x)h(x) fora(x) using the Euclidean Algorithm, whereh(x)=(xn−1)/g(x). Then reducinga(x)g(x) modulo xn−1 producese(x). We can produce g(x) if we know e(x) as the following theorem shows.

Theorem 4.3.3 LetCbe a cyclic code overFq with generating idempotent e(x). Then the generator polynomial ofCis g(x)=gcd(e(x),xn−1)computed inFq[x].

Proof: Letd(x)=gcd(e(x),xn−1) inFq[x], and letg(x) be the generator polynomial forC. Asd(x)|e(x),e(x)=d(x)k(x) implying that every element ofC= e(x)is also a multiple ofd(x); thusCd(x). By Theorem 4.2.1, inFq[x]g(x)|(xn−1) andg(x)| e(x) ase(x)C. So by Exercise 158, g(x)|d(x) implyingd(x)∈C. Thusd(x) ⊆C, and soC= d(x). Sinced(x) is a monic divisor ofxn−1 generatingC,d(x)=g(x) by

Corollary 4.2.2.

Example 4.3.4 The following table gives all the cyclic codes Ci of length 7 over F2 together with their generator polynomials gi(x) and their generating idempotents ei(x).

i dim gi(x) ei(x)

0 0 1+x7 0

1 1 1+x+x2+ · · · +x6 1+x+x2+ · · · +x6 2 3 1+x2+x3+x4 1+x3+x5+x6 3 3 1+x+x2+x4 1+x+x2+x4

4 4 1+x+x3 x+x2+x4

5 4 1+x2+x3 x3+x5+x6 6 6 1+x x+x2+ · · · +x6

7 7 1 1

The two codes of dimension 4 are [7,4,3] Hamming codes.

Example 4.3.5 The following table gives all the cyclic codes Ci of length 11 over F3

together with their generator polynomialsgi(x) and their generating idempotentsei(x).

i dim gi(x) ei(x)

0 0 x11−1 0

1 1 1+x+x2+ · · · +x10 −1−xx2− · · · −x10 2 5 1−xx2x3+x4+x6 1+x+x3+x4+x5+x9 3 5 1+x2x3x4x5+x6 1+x2+x6+x7+x8+x10 4 6 −1+x2x3+x4+x5 −x2x6x7x8x10 5 6 −1−x+x2x3+x5 −x−x3x4x5x9 6 10 −1+x −1+x+x2+ · · · +x10

7 11 1 1

The two codes of dimension 6 are [11,6,5] ternary Golay codes.

Notice that Theorem 1.8.1 shows that the only [7,4,3] binary code is the Hamming code.

In Section 10.4.1 we will show that the only [11,6,5] ternary code is the Golay code. By Examples 4.3.4 and 4.3.5 these two codes have cyclic representations.

Exercise 218 Verify the entries in the table in Example 4.3.4.

Exercise 219 Verify the entries in the table in Example 4.3.5.

Exercise 220 Find the generator polynomials and generating idempotents of all cyclic

codes overF3of length 8 and dimensions 3 and 5.

Exercise 221 Let j(x)=1+x+x2+ · · · +xn−1inRnand j(x)=(1/n)j(x).

(a) Prove that j(x)2 =n j(x) inRn. (b) Prove that j(x) is an idempotent inRn.

(c) Prove that j(x) is the generating idempotent of the repetition code of lengthnoverFq. (d) Prove that ifc(x) is inRn, thenc(x)j(x)=c(1)j(x) inRn.

(e) Prove that ifc(x) is inRn, thenc(x)j(x)=0 inRnifc(x) corresponds to an even-like vector inFnqandc(x)j(x) is a nonzero multiple of j(x) inRnifc(x) corresponds to an

odd-like vector inFnq.

The next theorem shows that, just as for the generator polynomial, the generating idem-potent and its firstk−1 cyclic shifts form a basis of a cyclic code.

Theorem 4.3.6 Let C be an [n,k] cyclic code with generating idempotent e(x)= n−1

i=0eixi. Then the k×n matrix





e0 e1 e2 · · · en2 en1

en−1 e0 e1 · · · en−3 en−2

...

enk+1 enk+2 enk+3 · · · enk1 enk





is a generator matrix forC.

135 4.3 Idempotents and multipliers

Proof: This is equivalent to saying that{e(x),xe(x), . . . ,xk1e(x)}is a basis ofC. There-fore it suffices to show that ifa(x)∈Fq[x] has degree less thank such thata(x)e(x)= 0, then a(x)=0. Let g(x) be the generator polynomial for C. If a(x)e(x)=0, then 0=a(x)e(x)g(x)=a(x)g(x) as e(x) is the unity ofC by Theorem 4.3.2, contradicting

Theorem 4.2.1(v) unlessa(x)=0.

IfC1andC2are codes of lengthnoverFq, thenC1+C2= {c1+c2|c1C1andc2C2} is thesumofC1andC2. Both the intersection and the sum of two cyclic codes are cyclic, and their generator polynomials and generating idempotents are determined in the next theorem.

Theorem 4.3.7 LetCibe a cyclic code of length n overFqwith generator polynomial gi(x) and generating idempotent ei(x)for i =1and2. Then:

(i) C1C2 has generator polynomial lcm(g1(x),g2(x)) and generating idempotent e1(x)e2(x),and

(ii) C1+C2 has generator polynomial gcd(g1(x),g2(x)) and generating idempotent e1(x)+e2(x)−e1(x)e2(x).

Proof: We prove (ii) and leave the proof of (i) as an exercise. We also leave it as an exercise to show that the sum of two cyclic codes is cyclic. Letg(x)=gcd(g1(x),g2(x)). It follows from the Euclidean Algorithm thatg(x)=g1(x)a(x)+g2(x)b(x) for somea(x) andb(x) inFq[x]. Sog(x)∈C1+C2. SinceC1+C2is cyclic,g(x) ⊆C1+C2. On the other hand g(x)|g1(x), which shows thatC1⊆ g(x)by Corollary 4.2.5; similarlyC2⊆ g(x) im-plyingC1+C2⊆ g(x). SoC1+C2= g(x). Sinceg(x)|(xn−1) asg(x)|g1(x) and g(x) is monic,g(x) is the generator polynomial forC1+C2by Corollary 4.2.2. Ifc(x)= c1(x)+c2(x) whereci(x)∈Ci fori =1 and 2, thenc(x)(e1(x)+e2(x)−e1(x)e2(x))= c1(x)+c1(x)e2(x)−c1(x)e2(x)+c2(x)e1(x)+c2(x)−c2(x)e1(x)=c(x). Thus (ii) fol-lows by Theorem 4.3.2 sincee1(x)+e2(x)−e1(x)e2(x)∈C1+C2. Exercise 222 Prove part (i) of Theorem 4.3.7. Also prove that ife1(x) and e2(x) are idempotents, so aree1(x)e2(x),e1(x)+e2(x)−e1(x)e2(x),and 1−e1(x).

Exercise 223 Show that the sum of two cyclic codes is cyclic as claimed in Theorem

4.3.7.

Exercise 224 LetCibe a cyclic code of lengthnoverFqfori =1 and 2. Letαbe a primitive nth root of unity in some extension field ofFq. SupposeCihas generator polynomialgi(x), where

gi(x)=

sKi

Mαs(x)

is the factorization ofgi(x) into minimal polynomials overFq with Ki a subset of the representatives of theq-cyclotomic cosets modulon. Assume that the representative of a coset is the smallest element in the coset. What are the subsets of representatives of q-cyclotomic cosets that will produce the generator polynomials for the codesC1+C2 and

C1C2?

Exercise 225 Find the generator polynomials and the generating idempotents of the fol-lowing codes from Example 4.3.4:C1+C6,C2+C3,C2+C4,C2+C5,C3+C4,C3+C5, C1C6,C2C3,C2C4,C2C5,C3C4, andC3C5. Exercise 226 Which pairs of codes in Exercise 220 sum to the codeF83? Which pairs of

codes in that example have intersection{0}?

Exercise 227 IfCiis a cyclic code with generator polynomialgi(x) and generating idem-potentei(x) for 1≤i≤3, what are the generator polynomial and generating idempotent

ofC1+C2+C3?

We are now ready to describe a special set of idempotents, called primitive idempotents, that, once known, will produce all the idempotents inRnand therefore all the cyclic codes.

Letxn−1= f1(x)· · · fs(x), where fi(x) is irreducible overFq for 1≤is. The fi(x) are distinct asxn−1 has distinct roots. Letfi(x)=(xn−1)/fi(x). In the next theorem we show that the idealsfi(x)ofRnare the minimal ideals ofRn. Recall that an idealIin a ringRis aminimal idealprovided there is no proper ideal between{0}andI. We denote the generating idempotent offi(x)byei(x). The idempotentse1(x), . . . ,es(x) are called theprimitive idempotentsofRn.

Theorem 4.3.8 The following hold inRn.

(i) The idealsfi(x)for1≤is are all the minimal ideals ofRn. (ii) Rnis the vector space direct sum offi(x)for1≤is.

(iii) If i= j,thenei(x)ej(x)=0inRn. (iv) s

i=1ei(x)=1inRn.

(v) The only idempotents infi(x)are0andei(x).

(vi) If e(x)is a nonzero idempotent inRn,then there is a subset T of{1,2, . . . ,s}such that e(x)=

iTei(x)ande(x) =

iTfi(x).

Proof: Suppose thatfi(x)is not a minimal ideal ofRn. By Corollary 4.2.5, there would be a generator polynomial g(x) of a nonzero ideal properly contained infi(x) such that fi(x)|g(x) with g(x)=fi(x). As fi(x) is irreducible and g(x)|(xn−1), this is impossible. Sofi(x)is a minimal ideal ofRn, completing part of (i).

As{fi(x)|1≤is}has no common irreducible factor ofxn−1 and each polynomial in the set dividesxn−1, gcd(f1(x), . . . ,fs(x))=1. Applying the Euclidean Algorithm inductively,

1= s i=1

ai(x)fi(x) (4.3)

for someai(x)∈Fq[x]. So 1 is in the sum of the idealsfi(x), which is itself an ideal of Rn. In any ring, the only ideal containing the identity of the ring is the ring itself.

This proves that Rn is the vector space sum of the ideals fi(x). To prove it is a di-rect sum, we must show thatfi(x) ∩

j=ifj(x) = {0}for 1≤is. As fi(x)|fj(x) for j =i, fj(x)fj(x), and the irreducible factors of xn−1 are distinct, we con-clude that fi(x)=gcd{fj(x)|1≤ js,j =i}. Applying induction to the results of

137 4.3 Idempotents and multipliers applying induction to Theorem 4.3.7(ii), s

i=1ei(x) is the generating idempotent of

We remark that the minimal ideals in this theorem are extension fields ofFq. Theorem 4.4.19 will also characterize these minimal ideals using the trace map.

Theorem 4.3.9 LetMbe a minimal ideal ofRn. ThenMis an extension field ofFq. Proof: We only need to show that every nonzero element inMhas a multiplicative inverse inM. Leta(x)Mwitha(x) not zero. Thena(x)is a nonzero ideal ofRn contained inM, and hencea(x) =M. So ife(x) is the unity ofM, there is an elementb(x) in Rn witha(x)b(x)=e(x). Now c(x)=b(x)e(x)M as e(x)M. Hence a(x)c(x)=

e(x)2=e(x).

Exercise 228 What fields arise as the minimal ideals inR7andR15overF2? Theorem 4.3.8 shows that every idempotent is a sum of primitive idempotents and that cyclic codes are sums of minimal cyclic codes. An interesting consequence, found in [280], of this characterization of cyclic codes is that the dimension of a sum of cyclic codes satisfies the same formula as that of the inclusion–exclusion principle, a fact that fails in general.

Theorem 4.3.10 LetCibe a cyclic code of length n overFq for1≤ia. Then:

Theorem 4.3.8, eachCi is a direct sum of{ej(x) | jSi}for some subsetSi of {1, 2,. . .,s}. Thus a basis ofCi1+ · · · +CibisBi1∪ · · · ∪Bib, and this basis contains|Bi1

· · · ∪Bib| =dim(Ci1+ · · · +Cib) elements, where|B|is the number of (distinct) elements inB. A basis ofCi1∩ · · · ∩CibisBi1∩ · · · ∩Bib, and this basis contains|Bi1∩ · · · ∩Bib| = dim(Ci1∩ · · · ∩Cib) elements. Since dim(C1+C2+ · · · +Ca)= |B1B2∪ · · · ∪Ba|, we can apply the inclusion–exclusion principle to obtain the result.

Example 4.3.11 Theorem 4.3.10 does not work in general for noncyclic codes. For exam-ple, for 1≤i ≤3, letCi be a binary code of length 2 with generator matrixGi, where G1=[ 1 0 ], G2=[ 0 1 ], and G3=[ 1 1 ].

Then dim(Ci)=1 for 1≤i ≤3, dim(CiCj)=0 fori = j, and dim(C1C2C3)=0.

But dim(C1+C2+C3)=2, which does not equal 1+1+1−0−0−0+0.

Exercise 229 Prove that ifC1andC2are linear codes of lengthnoverFq, then dim(C1+

C2)=dim(C1)+dim(C2)−dim(C1C2).

We turn now to a particular permutation which maps idempotents ofRnto idempotents of Rn. Letabe an integer such that gcd(a,n)=1. The functionµadefined on{0,1, . . . ,n−1}

byai a(modn) is a permutation of the coordinate positions{0,1, . . . ,n−1}of a cyclic code of length n and is called amultiplier. Because cyclic codes of lengthn are represented as ideals inRn, fora>0 it is convenient to regardµaas acting onRnby

f(x)µaf(xa) (mod xn−1). (4.4)

This equation is consistent with the original definition ofµabecausexiµa=xi a =xi a+j n in Rn for an integer j such that 0≤i a+ j n<n since xn =1 inRn. In other words xiµa =xi amodn. If a<0, we can attach meaning to f(xa) in Rn by defining xiµa= xi amodn, where, of course, 0≤i amodn <n. With this interpretation, (4.4) is consistent with the original definition ofµa whena<0. We leave the proof of the following as an exercise.

Theorem 4.3.12 Let f(x)and g(x)be elements ofRn. Suppose e(x)is an idempotent of Rn. Let a be relatively prime to n. Then:

(i) if ba(modn),thenµb=µa, (ii) (f(x)+g(x))µa= f(x)µa+g(x)µa, (iii) (f(x)g(x))µa =(f(x)µa)(g(x)µa), (iv) µais an automorphism ofRn, (v) e(x)µais an idempotent ofRn,and

(vi) µq leaves invariant each q-cyclotomic coset modulo n and has order equal to ordn(q).

Exercise 230 Prove that if gcd(a,n)=1, then the map µa is indeed a permutation of {0,1, . . . ,n−1}as claimed in the text. What happens if gcd(a,n)=1?

139 4.3 Idempotents and multipliers

Exercise 231 Prove Theorem 4.3.12.

Theorem 4.3.13 LetC be a cyclic code of length n overFq with generating idempotent e(x). Let a be an integer withgcd(a,n)=1. Then:

(i) a= e(x)µaand e(x)µa is the generating idempotent of the cyclic codeCµa,and (ii) e(x)µq =e(x)andµq ∈PAut(C).

Proof: Using Theorem 4.3.12(iii), a = {(e(x)f(x))µa| f(x)∈Rn} = {e(x)µa× f(x)µa| f(x)µaRn} = {e(x)µah(x)|h(x)Rn} = e(x)µa as µa is an automor-phism ofRn by Theorem 4.3.12(iv). Hencea is cyclic and has generating idempotent e(x)µaby Theorem 4.3.12(v), proving (i).

If we show that e(x)µq =e(x), then by part (i),Cµq =C and so µq ∈PAut(C). By Theorem 4.3.8(vi),e(x)=

iTei(x) for some setT. By Theorem 4.3.12(ii),e(x)µq = e(x) ifei(x)µq =ei(x) for alli. Butei(x)µq =ei(xq)=(ei(x))q by Theorem 3.7.4, the latter certainly being a nonzero element ofei(x). But by Theorem 4.3.12(v),ei(x)µq is also an idempotent ofei(x). Henceei(x)µq =ei(x) by Theorem 4.3.8(v).

Exercise 232 Consider the cyclic codes of length 11 overF3as given in Example 4.3.5.

(a) Find the image of each generating idempotent, and hence each cyclic code, underµ2. (b) Verify thatµ3fixes each idempotent.

(c) Write the image of each generator polynomial underµ3 as an element of R11. D o generator polynomials get mapped to generator polynomials?

Exercise 233 Show that any two codes of the same dimension in Examples 4.3.4 and 4.3.5

are permutation equivalent.

Note that arbitrary permutations in general do not map idempotents to idempotents, nor do they even map cyclic codes to cyclic codes.

Corollary 4.3.14 LetCbe a cyclic code of length n overFq. L etAbe the group of order n generated by the cyclic shift ii+1 (modn). L etBbe the group of orderordn(q) generated by the multiplierµq. Then the groupGof order n·ordn(q)generated byAand Bis a subgroup ofPAut(C).

Proof: The corollary follows from the structure of the normalizer ofAin the symmetric group Symn and Theorem 4.3.13(ii). In fact,G is the semidirect product ofA extended

byB.

Exercise 234 In the notation of Corollary 4.3.14, what is the order of the subgroupGof PAut(C) for the following values ofnandq?

(a) n=15,q =2.

(b) n=17,q =2.

(c) n=23,q =2.

(d) n=15,q =4.

(e) n=25,q =3.

Corollary 4.3.15 LetCbe a cyclic code of length n overFq with generating idempotent

where J is some subset of representatives of2-cyclotomic cosets modulo n,and (iii) if q=2,every element ofRnof the form

where J is some subset of representatives of2-cyclotomic cosets modulo n,is an idempotent ofRn.

Since any idempotent is a generating idempotent of some code, the preceding corollary shows that each idempotent inRnhas the form

e(x)=

where the outer sum is over a system of representatives of theq-cyclotomic cosets modulon and eachajis inFq. Forq =2, but not for arbitraryq, all such expressions are idempotents.

(Compare Examples 4.3.4 and 4.3.5.)

We can also give the general form for the idempotents inRnoverF4. We can construct a setS of representatives of all the distinct 4-cyclotomic cosets modulonas follows. The set S=KL1L2, where K, L1, and L2 are pairwise disjoint. K consists of distinct jL1 as i and 4i are in the same 4-cyclotomic coset. Thereforee(x) is an idempotent if and only ifa2j =aj for all jK anda2j =a2j for all jL1. In particulare(x) is an idempotent inRnif and only if

e(x)=

141 4.4 Zeros of a cyclic code

then we leave it as an exercise to show thatCis a cyclic code with generating idempotent e(x)=

jaj

iCjxi. Furthermore, by examining (4.6), we see thate(x)=e(x)µ2. By Theorem 4.3.13,C=2. We summarize these results.

Theorem 4.3.16 LetCbe a cyclic code overF4with generating idempotent e(x). Then e(x) has the form given in(4.6). AlsoC=2is cyclic with generating idempotent e(x)µ2. Exercise 235 Show that ife(x) is the generating idempotent of a cyclic codeCoverF4, thenCis a cyclic code with generating idempotente(x)=

jaj

iCjxi. Show also that

e(x)=e(x)µ2.

Exercise 236 Do the following:

(a) List the 4-cyclotomic cosets modulo 21.

(b) Construct a setS =KL1L2of distinct 4-cyclotomic coset representatives modulo 21 which can be used to construct idempotents inR21overF4as in the discussion prior to Theorem 4.3.16.

(c) Give the general form of such an idempotent.

(d) How many of these idempotents are there?

(e) Write down four of these idempotents.

Theorem 4.3.13 shows thatµa maps cyclic codes to cyclic codes with the generating idempotent mapped to the generating idempotent; however, the generator polynomial may not be mapped to the generator polynomial of the image code. In fact, the automorphism µqmaps the generator polynomial to itsqth power. See Exercise 232.

A multiplier takes a cyclic code into an equivalent cyclic code. The following theorem, a special case of a theorem of P´alfy (see [150]), implies that, in certain instances, two cyclic codes are permutation equivalent if and only if a multiplier takes one to the other. This is a very powerful result when it applies.

Theorem 4.3.17 Let C1 and C2 be cyclic codes of length n over Fq. Assume that gcd(n, φ(n))=1,whereφis the Eulerφ-function. ThenC1andC2are permutation equiv-alent if and only if there is a multiplier that mapsC1toC2.

Since multipliers send generating idempotents to generating idempotents, we have the following corollary.

Corollary 4.3.18 Let C1 and C2 be cyclic codes of length n over Fq. Assume that gcd(n, φ(n))=1,whereφis the Eulerφ-function. ThenC1andC2are permutation equiva-lent if and only if there is a multiplier that maps the idempotent ofC1to the idempotent ofC2.

Dans le document Fundamentals of Error-Correcting Codes (Page 151-160)