Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Idempotents & Binary Cylic Codes Idempotent Generators Generator polynomials for cyclic codes have the nice property of giving information about the dimension of the code generated. However, finding generator polynomials involves factoring xn-1 which can be difficult. Other generators however can be found without factoring this polynomial. A generator e(x) of an ideal in Rn = F[x]/(xn - 1) is called an idempotent generator if it satisfies e2(x) = e(x). An idempotent generator is a unit in the ideal it generates. That is, if a(x) is in <e(x)>, then a(x) = b(x)e(x) and a(x)e(x) = b(x)e2(x) = b(x)e(x) = a(x). Conversely an idempotent that is a multiplicative identity for an ideal I generates I (homework problem). Example Consider the polynomial ring, R7 = F[x]/(x7-1) where the field F = GF(2). Let I be the ideal <1+x2 +x3 +x4> and consider the polynomial e(x) = x3(1+x2 +x3 +x4) = 1 + x3 + x5 + x6 in this ideal. e2(x) = (1 + x3 + x5 + x6 )2 = 1 + x6 + x3 + x5 = e(x), so e(x) is an idempotent. Since g(x)e(x) = (1+x2 +x3 +x4)(1 + x3 + x5 + x6 ) = (1+ x3+ x5+ x6) + (x2+ x5+1+ x) + (x3+ x6+ x+ x2) + (x4+1+x2+x3) = 1 + x2 + x3 + x4 = g(x), g(x) ∈ <e(x)> and so I = <e(x)>. So e(x) is an idempotent generator of I. Existence Theorem 55: Every binary cyclic [n,k] code C with odd n has an idempotent generator e(x). Furthermore, the matrix M formed by e(x) and its next k-1 cyclic shifts is a generator matrix for C. Pf: Let g(x) be the generator polynomial of the cyclic code C. Then xn-1 = g(x)h(x) in F[x]. Since (n,2) = 1, xn-1 has distinct factors, so gcd (g(x), h(x)) = 1. Thus, there exist polynomials a(x) and b(x) so that 1 = g(x)a(x) + h(x)b(x) in F[x]. Let e(x) = a(x)g(x). Since g is a generator, e(x) is in C. Multiply the equation by a(x)g(x) to get, a(x)g(x) = a2(x)g2(x) + a(x)g(x)h(x)b(x) = a2(x)g2(x) in Rn. If c(x) is any codeword in C, then c(x) = d(x)g(x), so c(x) = c(x)1 = c(x)g (x)a(x) + c(x)h(x)b(x) = c(x)e(x) + d(x)g(x)h(x)b(x) = c(x)e(x) in Rn. Thus, e(x) is a unit in Rn, and so a generator of C. Existence Theorem 55: Every binary cyclic [n,k] code C with odd n has an idempotent generator e(x). Furthermore, the matrix M formed by e(x) and its next k-1 cyclic shifts is a generator matrix for C. Pf(cont.): If M is not a generator matrix for C, then there exists a polynomial a(x) of degree < k so that a(x)e(x) = 0 (since M does not have full rank, some linear combination of its rows is 0). But then a(x)e(x)g(x) = a(x)g(x) = 0 and g(x) would not be a generator of C →←. Minimal Ideals Theorem 52: Let C1 and C2 be cyclic codes with generator polynomials g1(x) and g2(x) respectively. Then C1 ⊆ C2 iff g2(x)|g1(x). Pf: <g1(x)> ⊆ <g2(x)> iff g1(x) ∈ <g2(x)> iff g1(x) = k(x)g2(x). An ideal M in a ring R is a minimal ideal if 0 is the only ideal of R which is strictly contained in M. Recall that a generator polynomial of Rn is a divisor of xn-1, and that 0 = <xn-1>. Thus, the generator of a minimal ideal must be a maximal factor of xn-1 (it divides no proper divisor of xn-1). Minimal Ideals If f(x) is a factor of xn – 1, let f(x) = (xn – 1)/f(x), i.e., f(x) is the product of all the factors of xn-1 except for f(x). Theorem 56: If xn-1 = (x-1)f1(x)f2(x) ... fk(x), where the fi(x) are irreducible, then a cyclic code C is a minimal ideal iff it has a generator polynomial fi(x) or (x-1). Pf: These are the maximal factors of xn - 1. Example In the binary case, the code <(x+1)> has generator polynomial: 1 + x + x2 + ... + xn-1 which corresponds to the all 1 vector h. Clearly <h> is a minimal ideal as it only contains h and the 0 vector. Sum and Intersection Codes If C1 and C2 are two binary linear codes, define C1 + C2 = {c1(x) + c2(x): c1(x) ∈ C1 and c2(x) ∈ C2}. Theorem 57: Let C1 and C2 be cyclic codes with generator polynomials g1(x) and g2(x) and idempotent generators e1(x) and e2(x). Then C1 ∩ C2 has as a generator polynomial l.c.m.(g1(x),g2(x)) and idempotent generator e1(x)e2(x). Also, C1 + C2 has generator polynomial g.c.d. (g1(x), g2(x)) and has idempotent generator e1(x) + e2(x) – e1(x)e2(x). We will prove only the statements about the idempotents. Sum and Intersection Codes Theorem 57: Let C1 and C2 be cyclic codes with generator polynomials g1(x) and g2(x) and idempotent generators e1(x) and e2(x). Then C1 ∩ C2 has as an idempotent generator e1(x)e2(x). Pf: Clearly e1(x)e2(x) is in C1 ∩ C2, and is an idempotent since (e1(x)e2(x))2 = e12(x)e22(x) = e1(x)e2(x) . If c(x) is in C1 ∩ C2 , then e1(x)e2(x)c(x) = e1(x)c(x) = c(x) since e1(x) and e2(x) act as units in their respective codes. Thus, e1(x)e2(x) is a unit and is the idempotent generator of C1 ∩ C2 . Sum and Intersection Codes Theorem 57: Let C1 and C2 be cyclic codes with generator polynomials g1(x) and g2(x) and idempotent generators e1(x) and e2(x). Then C1 + C2 has idempotent generator e1(x) + e2(x) – e1(x)e2(x). Pf(cont.): Since C1 + C2 is a subgroup and each term of the sum is an element of it, we have that e1(x) + e2(x) – e1(x)e2(x) is in C1 + C2. Now, (e1(x) + e2(x) – e1(x)e2(x))2 = e1(x)(e1(x) + e2(x) – e1(x)e2(x)) + e2(x)(e1(x) + e2(x) – e1(x)e2(x)) - e1(x)e2(x)(e1(x) + e2(x) – e1(x)e2 (x)) = e1(x) + e2(x) – e1(x)e2(x), so it is an idempotent. Now let c(x) = c1(x) + c2(x) ∈ C1 + C2. (c1(x) + c2(x))(e1(x) + e2(x) – e1(x)e2(x)) = Sum and Intersection Codes Theorem 57: Let C1 and C2 be cyclic codes with generator polynomials g1(x) and g2(x) and idempotent generators e1(x) and e2(x). Then C1 + C2 has idempotent generator e1(x) + e2(x) – e1(x)e2(x). Pf(cont): = c1(x)e1(x) + c1(x)e2(x) – c1(x)e1(x)e2(x) + c2(x)e1(x) + c2(x)e2(x) – c2(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) = c1(x) + c2(x) so this element acts as a unit for C1 + C2 and so is an idempotent generator. Conditions Theorem 58: If xn-1 = (x-1)f1(x)f2(x) ... fk(x), where the fi(x) are irreducible, then there are k + 1 minimal ideals C1, ..., Ck+1 with generator polynomials f1(x), ..., fk(x), (x-1) and idempotent generators e1(x), ..., ek+1(x). These ei(x) satisfy the following conditions in Rn: (i) ei(x)ej(x) = 0 if i ≠ j. (ii) 1 = e1(x) + e2(x) + ... + ek+1(x). Furthermore, any cyclic code C is a sum of minimal ideals Ci, and its idempotent e is a sum of the idempotents ei of the Ci. Conditions Theorem 58: If xn-1 = (x-1)f1(x)f2(x) ... fk(x), where the fi(x) are irreducible, then there are k + 1 minimal ideals C1, ..., Ck+1 with generator polynomials f1(x), ..., fk(x), (x-1) and idempotent generators e1(x), ..., ek+1(x). These ei(x) satisfy the following conditions in Rn: (i) ei(x)ej(x) = 0 if i ≠ j. (ii) 1 = e1(x) + e2(x) + ... + ek+1(x). Pf: Since the Ci are minimal ideals, Ci ∩ Cj = 0 for i ≠ j, so eiej = 0 for i ≠ j since eiej is in Ci ∩ Cj. Now C1 + C2 has idempotent generator e1 + e2 – e1e2 = e1 + e2. By induction, C1 + C2 + ... + Ck+1 has idempotent generator e1 + e2 + ... + ek+1. We know that C1 + C2 has generator polynomial gcd(f1(x), f2(x)), so again by induction C1 + C2 + ... + Ck+1 has generator polynomial gcd(f1(x), f2(x), ..., fk(x), (x-1)). But this gcd can only be 1 since it can not equal any of the fi(x). As 1 would be an idempotent generator we have 1 = e1 + e2 + .... + ek+1. Conditions Theorem 58: If xn-1 = (x-1)f1(x)f2(x) ... fk(x), where the fi(x) are irreducible, then there are k + 1 minimal ideals C1, ..., Ck+1 with generator polynomials f1(x), ..., fk(x), (x-1) and idempotent generators e1(x), ..., ek+1(x). Furthermore, any cyclic code C is a sum of minimal ideals Ci, and its idempotent e is a sum of the idempotents ei of the Ci. Pf (cont): If C is any ideal, then C has an idempotent generator e(x). Hence, e(x) = ee1 + ee2 + ... + eek+1. The ideal C ∩ Ci is contained in Ci and so is either 0 or Ci. If C ∩ Ci = Ci, then Ci ⊆ C and eei = ei; otherwise eei = 0. Hence, e(x) is the sum of the ei for those i such that Ci ⊆ C and C is itself the sum of the Ci that are contained in it. Idempotents and Generators Theorem 59: If e(x) is the idempotent generator of C, then the generator polynomial g(x) of C is gcd(e(x), xn-1). Pf: Homework exercise.