Self-Dual Cyclic Codes Bas Heijne November 29, 2007
Definitions Definition Let F be the finite field with two elements and n a positive integer. An [n, k] (block)-code C is a k dimensional linear subspace of F n.
Distance Definition For an element x F n one can define the Hamming weight, wt(x) as the number of non-zero coordinates of x. Example: wt(1, 0, 1, 1, 0) = 3. Definition Given a code C its minimal distance is: d = d(c) = min wt(x y) x,y C;x y Example: C = {(0, 0, 0), (1, 1, 0), (0, 1, 1), (1, 0, 1)}. d(c) = 2.
Weight enumerator polynomial Definition An [n, k, d]-code is an [n, k] code with distance d. Definition The weight enumerator,w C is given by: W C (X, Y ) := c C X wt(c) Y n wt(c).
Cyclic Codes Definition A cyclic code is an [n, k]-code C with the property that if (c 0,..., c n 1 ) C then we also have (c n 1, c 0,..., c n 2 ) C. Note: We allow n to be divisible by 2.
Ideals Proposition Under the identification F n = F[X ]/(X n 1) cyclic codes in F n correspond to ideals in the ring F[X ]/(X n 1). Note: F[X ]/(X n 1) is a principal ideal ring. Every ideal is of the form f F[X ]/(X n 1), where f (X ) X n 1 is a monic polynomial. Such f is determined by its roots (with multiplicity) which have order an odd number dividing n.
BCH-bound Theorem Let C be a cyclic [n, k, d]-code defined over F 2, with generating polynomial f, with n 2 mod 4. Fix ζ a primitive n/2-th root of unity. Assume that we have b and δ such that ζ b, ζ b+1,..., ζ b+δ 2 are all zeroes of f with multiplicity 2. Then d δ.
BCH-bound proof Codeword c(x ) = i S X i, with wt(c) = #S < δ. c C so c g f mod X n 1, hence c(ζ b+j ) = 0 and c (ζ b+j ) = 0. Considering Xc and Xc + c one obtains a nontrivial vector in the kernel of: ζ s 1b ζ s 2b... ζ sw b ζ s 1(b+1) ζ s 2(b+1) sw... ζ (b+1) M =...., ζ s 1(b+w 1) ζ s 2(b+w 1) sw... ζ (b+w 1) with s i in S. This contradicts: det M 0.
An example Take n = 18. f (X ) = 1 + X + X 6 + X 7 + X 12 + X 13. Take ζ a primitive 9 th root of unity. (This element lies in F 64.) ζ 1, ζ 2, ζ 4, ζ 5, ζ 7 and ζ 8 occur with multiplicity 2. BCH d 3 (in fact d = 6).
The dual of a code Definition Let C be an [n, k]-code then the dual code, C of C is the [n, n k] code given by C = {x F n : c C x c = 0}. Definition A code satisfying C = C is called self-dual.
Weight enumerator of a dual code Theorem (MacWilliams) Let C be a binary block code and let W C (X, Y ) be the weight enumerator then W C (X, Y ) = 1 #C W C(Y X, Y + X ). So if C is ( self-dual ) W C is invariant ( under) the group generated by α = 1 1 1 1 0 2 and β =, which is D 1 1 0 1 8.
Weight enumerator of a self-dual code Using the invarant theory of D 8 we find: Theorem Let C be a self-dual code. Then there are integers a 0,... a n 8 Z such that: n 8 W C (X, Y ) = a i (X 2 + Y 2 ) n/2 4i (X 2 Y 2 (X 2 Y 2 ) 2 ) i. i=0
The reciprocal of a polynomial. Definition Let f F[X ] be a polynomial of degree k over any field then the reciprocal polynomial, f, is defined as f (X ) = X k f ( 1 X ). (a 0 + a 1 X +... + a k X k ) = a k + a k 1 X +... + a 0 X k. f g = (fg). If f (0) = 1 then deg(f ) = deg(f ).
The dual of a cyclic code Theorem Let C be a cyclic code with generating polynomial f (X ) X n 1, then C is cyclic with generating polynomial g, where X n 1 = f (X )g(x ). Proof: Exercise.
Finding Self-Dual Cyclic codes. Conclusion: C is a cyclic self-dual code if and only if its generating polynomial satisfies: f f = 1 + X n. To find such an example: Split the zeroes of X n 1 into subsets stable under Frobenius. {α} { 1 α }.
Arbitrary distance Theorem Given a positive integer δ. There exist a non-trivial cyclic self-dual code with length n 16δ 2 and distance d δ Proof: Fix a Z minimal such that 2 a δ. Take k = 2 2a+1 1. Fix ζ of order k. Construct f, g and k odd such that X k 1 = ff g and f (ζ 1 ) = f (ζ 2 ) =... = f (ζ δ 1 ) = 0. Then the code generated by f 2 g of lenght 2k satisfies the conditions.
Arbitrary distance (proof) We have < ζ > = Z/kZ G = {1,..., 2 a 1}. S = i 0 2i G. Take f = s S (X ζs ) F 2 [X ].
Arbitrary distance (proof)(continued) Why does this f (X ) satisfy gcd(f, f ) = 1? The roots of f and f are ζ S respectively ζ S So we need S S = An element in Z/kZ can be written as: c 0 + c 1 2 +... + c 2a 2 2a An element in G can be written as: c 0 + c 1 2 +... + c a 1 2 a 1 Elements in S have a + 1 coeffs c i = 0. Elements in S have a coeffs c i = 0.
upper bounds Gleason(1970): A self-dual [n, k, d] code satisfies d 2 + 2 n 8. Conway and Sloane(1990): Improvede this to d 2 n+6 10 for n > 72. There are further improvements e.g. Rains(2001).
The shadow Theorem Every cyclic self-dual code C contains a word c with wt(c) 2 mod 4 i.e. There exists an exact sequence: 0 C (0) C wt mod 4 2Z/4Z = F 2 0 Definition For a binary cyclic self-dual code C we define the shadow S of by S = C (0) \ C. The shadow is a cyclic code, but not a linear one as it does not contain the zero vector.
The weight enumerator of the shadow Theorem Let C be a binary self-dual code of lenght n = 2k. Let S be its shadow then we have: W S (X, Y ) = 1 2 k W C( 1(Y X ), (Y + X )). Corollary With W C = n 8 i=0 a i(x 2 + Y 2 ) n/2 4i (X 2 Y 2 (X 2 Y 2 ) 2 ) i one has n 8 W S (X, Y ) = 2 k 6i a i (XY ) n/2 4i (Y 4 X 4 ) 2i. i=0
An upper bound Theorem (Conway and Sloane) Let C be a [n, k, d] self-dual code. Assume n > 72 then we have: d 2 n + 6 10. For cyclic self-dual codes the original proof can be simplified as follows.
An upper bound Proof Fix l and δ such that n = 10l + 2δ, with 3 δ 1. Assume that the distance d 2l + 2. Then n 2l 2 W C = X n + Y n + A i X i Y n i. i=2l+2
An upper bound Proof (continued) n 2l 2 X n +Y n + A i X i Y n i = i=2l+2 n 8 a i (X 2 +Y 2 ) n/2 4i (X 2 Y 2 (X 2 Y 2 ) 2 ) i. i=0 Put X = 1 and Y 2 = y the modulo y l+1 : n 8 1 a i (1 + y) n/2 4i (y(1 y) 2 ) i mod y l+1. i=0
An upper bound Proof (continued) Using the Bürmann-Lagrange formula this implies: a l = n 2l the coefficient of y l 1 in (1 y 2 ) l δ 1 (1 y) l+δ+1. Remember n = 10l + 2δ. This implies that a l < 0.
An upper bound Proof (continued) Write: W S (X, Y ) = n B i X i Y n i i=0 n 8 W S (X, Y ) = 2 k 6i a i (XY ) n/2 4i (Y 4 X 4 ) 2i. i=0 We already know that B i = 0 if i < d/2. If n > 144 we also get B d/2 = 0. Since we assumed that d 2l + 2 it follows that a l = 0 a contradiction.