Fabrizio Caruso Marta Giorgetti June 10, 2009
The Recurrence Proof by Generating Functions A Computer-Generated Proof Computing Some Steps of the Recurrence A Computer-Provable Identity Proving the Guessed Closed Form Efficiency Considerations
A Generalization of Cyclic Codes
A Generalization of Cyclic Codes Cyclic codes are a very important class of codes since they have a rich algebraic structure, permitting both fast and sharp estimates on their most important parameters.
A Generalization of Cyclic Codes Cyclic codes are a very important class of codes since they have a rich algebraic structure, permitting both fast and sharp estimates on their most important parameters. In [Gio06], [GS09] the nth-root codes have been introduced. This class is a generalization of the class of cyclic codes and a representation of all non-trivial linear codes.
Our Approach
Our Approach We construct an ideal for each possible weight of the codewords. We compute the Gröbner bases of such ideals and count the number of corresponding solutions.
Our Approach We construct an ideal for each possible weight of the codewords. We compute the Gröbner bases of such ideals and count the number of corresponding solutions. In this paper we only consider binary nth-root codes because of the special structure of the ideals describing them.
Our Approach We construct an ideal for each possible weight of the codewords. We compute the Gröbner bases of such ideals and count the number of corresponding solutions. In this paper we only consider binary nth-root codes because of the special structure of the ideals describing them. We speed up the computation by considering the Gröbner basis of a smaller ideal and by counting the spurious solutions.
Preliminaries
Preliminaries We denote by q a power of a prime and n an natural number such (n, q) = 1.
Preliminaries We denote by q a power of a prime and n an natural number such (n, q) = 1. Let m N such that the field F q m is the smallest extension field of F q containing all the zeros of x n 1. We denote the set of all the n-th roots of unity by R n.
Definition Let L R n {0}, L = {l 1,..., l N } and P = {g 1 (x),..., g r (x)} a subset of F q m[x] such that i = 1,..., N there is at least one j = 1,..., r such that g j (l i ) 0. We denote by C = Ω(q, n, q m, L, P) the code defined over F q having H = g 1 (l 1 ),..., g 1 (l N ) g 2 (l 1 ),..., g 2 (l N ).. g r (l 1 )..., g r (l N ) as its parity-check matrix. We say that C is an nth-root code.
Example Let q = 2, n = 5, q m = 2 4, F 16 = a {0}, with minimal polynomial x 4 + x + 1 and P = {g 1 (z) = a 5 z 4 + a 10 z 3 + a 10 z 2 + a 5 z + 1, g 2 (z) = az 4 + a 2 z 3 + a 8 z 2 + a 4 z + 1, g 3 (z) = a 8 z 4 + az 3 + a 4 z 2 + a 2 z}. The five fifth roots of unity are R 5 = {a 3, a 6, a 9, a 12, 1}. The nth-root code C = Ω(2, 5, 16, R 5, {g 1, g 2, g 3 }) is zerofree (0 / L) and its parity-check matrix H is the following: g 1(a 3 ) g 1 (a 6 ) g 1 (a 9 ) g 1 (a 12 ) g 1 (1) g 2 (a 3 ) g 2 (a 6 ) g 2 (a 9 ) g 2 (a 12 ) g 2 (1) g 3 (a 3 ) g 3 (a 6 ) g 3 (a 9 ) g 3 (a 12 ) g 3 (1) = 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0.
Definition Let C = Ω(2, n, 2 m, L, P) be a binary zerofree nth-root code, w be a natural number such that 2 w N. We denote by J w (C) the following ideal J w = J w (C) F 2 m[z 1,..., z w ], defined by { w } g s (z h ) h=1 1 s r { z n } j 1, l L (z, {p ij (z i, z j )} j l) 1 i<j w, 1 j w where p ij = n 1 h=0 zh i zn 1 h j = zn i zj n z i z j F 2 m[z i, z j ]. Remark In the non-binary case the ideal would involve twice as many variables and its polynomials would have a less symmetric form.
Since the number of solutions of an ideal J is directly computed from any Gröbner basis of J (see [BCRT93]) we can obtain easily an algorithm to compute the weight distribution from the following proposition. Proposition Let C = Ω(2, n, 2 m, L, P) be a binary zerofree nth-root code. There is at least one codeword of weight w in C if and only if there exists at least one solution of J w (C). Moreover the number of codewords of weight w is A w = V(J w ) /w!.
As proposed in [GS09] one can accelerate the computation of Gröbner basis G of the ideal J w (C) by removing the polynomials p i,j (z i, z j ), which guarantee z i z j for any i j. This introduces spurious solutions, that may be counted, with combinatorial arguments, in a recursive way. Definition Let C = Ω(2, n, 2 m, L, P) be a binary zerofree nth-root code. We denote by I w = I w (C) the following ideal in F 2 m[z] I w = { w k=1 g t (z k ) } { 1 t r, zj n 1 } l L (z j l) 1 j w
Definition Let V = ( z 1,..., z w ) (F) w, with w 2. We say that V is strongly double-coordinate (sdc) if w is even and for any i, 1 i w, {h z h = z i } is even. Example (α, β, β, γ, β, α, γ, β) is sdc (α, α, β, γ, β, γ, γ, α) is not sdc Definition If w 2 is even, we say that J w is a sdc ideal if all its solutions are sdc.
Theorem For any 1 w d 1 the ideal I w (C) is sdc. Moreover:
Theorem For any 1 w d 1 the ideal I w (C) is sdc. Moreover: if d is odd, V(I d (C)) = V(J d (C)),
Theorem For any 1 w d 1 the ideal I w (C) is sdc. Moreover: if d is odd, V(I d (C)) = V(J d (C)), if d is even, V(I d (C)) = V(J d (C)) S d, where S d is the set z of all sdc vectors in (V( n 1 Ql L (z l)))d (F 2 m) d
Corollary Let C = Ω(2, n, 2 m, L, P) be a binary zerofree nth-root code. Then A d is: A d = V(I d)(c) E(d/2, N) (d even), d! A d = V(I d)(c) (d odd). d! where E(λ, γ) is the number of sdc 2λ-uples with values in {1,..., γ}.
Example Let C = Ω(2, 255, 2 8, L, P) be the binary nth-root code such that L = F 256 \ {0} and P = {x, x 2, x 3, x 4, x 5, x 6 } F 2 [x]. C cannot have words of weight 5. By computing a Gröbner basis of I 5 (C) and J 5 (C), we obtain as expected I 5 (C) = J 5 (C) = 0, but I 5 (C) takes less than 3 seconds, whereas J 5 (C) takes 17 seconds. By computing a Gröbner basis of I 6 (C) and J 6 (C), we obtain that I 6 (C) = 246773955 and J 6 (C) = 0, so that A 6 (C) = 0, as expected, but I 6 (C) takes 381.42 seconds, while J 6 (C) takes 1803.89 seconds.
Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations We are interested in computing E(λ, γ) efficiently. We can do this in different ways: by recurrences or by explicit formulae. Property For any positive integers λ and γ we have: E(λ, γ) = λ k=0 (( ) ) 2λ E(k, γ 1). 2k Moreover we have E(0, γ) = 1, γ N 0 ; E(λ, 0) = δ λ,0, where δ λ,0 is the Kronecker delta.
Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations Fact E(λ, γ) can be expressed in terms of integer compositions of λ of length γ and multinomial coefficients. For λ, γ 1 one can easily prove that ( ) 2λ E(λ, γ) = (a 1,...,a γ) λ=a 1 + +a γ, 0 a 1,...,a γ γ 2a 1 2a 2... 2a γ In particular one can prove that cosh γ is the generating function for E(λ, γ)/λ!, i.e. E(λ, γ)/λ! = [x λ ] cosh γ (x). from which one can derive a closed form.
Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations An alternative strategy for the solution of the combinatorial problem is
Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations An alternative strategy for the solution of the combinatorial problem is 1. unroll the recurrence and compute some steps (fully algorithmic);
Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations An alternative strategy for the solution of the combinatorial problem is 1. unroll the recurrence and compute some steps (fully algorithmic); 2. guess how the recurrence acts on the previous result;
Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations An alternative strategy for the solution of the combinatorial problem is 1. unroll the recurrence and compute some steps (fully algorithmic); 2. guess how the recurrence acts on the previous result; 3. formally prove the guessed formula (elementary inductive proof).
Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations In order to compute, say the first 2 steps of the recurrence (i.e. for γ = 1, 2), we could use Maxima as follows load(zeilbeger); Zeilberger(binomial(2*L,2*k),k,L); which yields a recurrence which gives 2 2L 1, Zeilberger(binomial(2*L,2*k)*2^{2*k-1},k,L); which yields a recurrence whose solution is 1/4(3 2L 3). By looking at these two steps we realize that we must find an expression for the sums of products of the binomial coefficient ( ) 2λ 2k and 2k-th powers of integers. This leads us to the next step.
Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations Property For any positive integer λ and α we have: λ k=0 ( 2λ )α 2k = (α + 1)2λ + (α 1) 2λ. 2k 2 In order to compute the recurrence and at the same time get a computer-generated proof of it in English, it is enough to execute the following Maxima commands load(zeilberger); sm : Zeilberger(binomial(2*L,2*k)*a^(2*k),k,L); zb_prove(binomial(2*l,2*k)*a^(2*k),k,l,sm);
Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations We can now prove and find a general form for E(λ, γ): Theorem For any positive integer λ and γ we have: E(λ, γ) = 2 γ γ i=0 ( γ i )(γ 2i) 2λ = 2 γ+1 γ/2 1 i=0 ( ) γ (γ 2i) 2λ i Proof. We prove the theorem by induction on γ.
Complexity Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations The recurrence allows us to compute in reasonable time just a few values of E(λ, γ) for very small values of λ and γ.
Complexity Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations The recurrence allows us to compute in reasonable time just a few values of E(λ, γ) for very small values of λ and γ. The number of arithmetic operations if the recurrence is used is a function in Θ( ( ) λ+γ γ ).
Complexity Proof by Generating Functions A Computer-Generated Proof Efficiency Considerations The recurrence allows us to compute in reasonable time just a few values of E(λ, γ) for very small values of λ and γ. The number of arithmetic operations if the recurrence is used is a function in Θ( ( ) λ+γ γ ). The total number of arithmetic operations needed to compute E(λ, γ) through the explicit formula given is O(γ log(λ)).
Some of the things that remain to be done:
Some of the things that remain to be done: Extending this method to the whole distribution of weights (done but needs to be checked)
Some of the things that remain to be done: Extending this method to the whole distribution of weights (done but needs to be checked) Applying this approach to Hermitian Codes and other codes (probably easy but it might not pay off as much)
[BCRT93] A. M. Bigatti, P. Conti, L. Robbiano, and C. Traverso. A divide and conquer algorithm for Hilbert-Poincaré series, multiplicity and dimension of monomial ideals. In Applied algebra, algebraic algorithms and error-correcting codes (San Juan, PR, 1993), volume 673 of Lecture Notes in Comput. Sci., pages 76 88. Springer, Berlin, 1993. [Gio06] [GS09] M. Giorgetti. On some algebraic interpretation of classical codes. PhD thesis, University of Milan, 2006. M. Giorgetti and M. Sala. A commutative algebra approach to linear codes. Journal of Algebra, 321(8):2259 2286, 2009.