On the Weight Distribution of N-th Root Codessala/talk_Caruso.pdf · Definition of nth-Root Code...
Transcript of On the Weight Distribution of N-th Root Codessala/talk_Caruso.pdf · Definition of nth-Root Code...
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
On the Weight Distribution of N-th Root Codes
Fabrizio Caruso Marta Giorgetti
June 10, 2009
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Introduction
Definition of nth-Root Code
Computing the Distance
Using a Smaller Ideal
The Combinatorial ProblemThe RecurrenceProof by Generating FunctionsA Computer-Generated Proof
Computing Some Steps of the RecurrenceA Computer-Provable IdentityProving the Guessed Closed Form
Efficiency Considerations
Future Work
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
A Generalization of Cyclic Codes
I Cyclic codes are a very important class of codes since theyhave a rich algebraic structure, permitting both fast and sharpestimates on their most important parameters.
I In [Gio06], [GS09] the nth-root codes have been introduced.This class is a generalization of the class of cyclic codes and arepresentation of all non-trivial linear codes.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
A Generalization of Cyclic Codes
I Cyclic codes are a very important class of codes since theyhave a rich algebraic structure, permitting both fast and sharpestimates on their most important parameters.
I In [Gio06], [GS09] the nth-root codes have been introduced.This class is a generalization of the class of cyclic codes and arepresentation of all non-trivial linear codes.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
A Generalization of Cyclic Codes
I Cyclic codes are a very important class of codes since theyhave a rich algebraic structure, permitting both fast and sharpestimates on their most important parameters.
I In [Gio06], [GS09] the nth-root codes have been introduced.This class is a generalization of the class of cyclic codes and arepresentation of all non-trivial linear codes.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Our Approach
I We construct an ideal for each possible weight of thecodewords. We compute the Grobner bases of such ideals andcount the number of corresponding solutions.
I In this paper we only consider binary nth-root codes becauseof the special structure of the ideals describing them.
I We speed up the computation by considering the Grobnerbasis of a smaller ideal and by counting the spurious solutions.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Our Approach
I We construct an ideal for each possible weight of thecodewords. We compute the Grobner bases of such ideals andcount the number of corresponding solutions.
I In this paper we only consider binary nth-root codes becauseof the special structure of the ideals describing them.
I We speed up the computation by considering the Grobnerbasis of a smaller ideal and by counting the spurious solutions.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Our Approach
I We construct an ideal for each possible weight of thecodewords. We compute the Grobner bases of such ideals andcount the number of corresponding solutions.
I In this paper we only consider binary nth-root codes becauseof the special structure of the ideals describing them.
I We speed up the computation by considering the Grobnerbasis of a smaller ideal and by counting the spurious solutions.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Our Approach
I We construct an ideal for each possible weight of thecodewords. We compute the Grobner bases of such ideals andcount the number of corresponding solutions.
I In this paper we only consider binary nth-root codes becauseof the special structure of the ideals describing them.
I We speed up the computation by considering the Grobnerbasis of a smaller ideal and by counting the spurious solutions.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Preliminaries
I We denote by q a power of a prime and n an natural numbersuch (n, q) = 1.
I Let m ∈ N such that the field Fqm is the smallest extensionfield of Fq containing all the zeros of xn − 1. We denote theset of all the n-th roots of unity by Rn.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Preliminaries
I We denote by q a power of a prime and n an natural numbersuch (n, q) = 1.
I Let m ∈ N such that the field Fqm is the smallest extensionfield of Fq containing all the zeros of xn − 1. We denote theset of all the n-th roots of unity by Rn.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Preliminaries
I We denote by q a power of a prime and n an natural numbersuch (n, q) = 1.
I Let m ∈ N such that the field Fqm is the smallest extensionfield of Fq containing all the zeros of xn − 1. We denote theset of all the n-th roots of unity by Rn.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
DefinitionLet L ⊂ Rn ∪ 0, L = l1, . . . , lN and P = g1(x), . . . , gr (x) asubset of Fqm [x ] such that ∀ i = 1, . . . ,N there is at least onej = 1, . . . , r such that gj(li ) 6= 0. We denote byC = Ω(q, n, qm, L,P) the code defined over Fq having
H =
g1(l1), . . . , g1(lN)g2(l1), . . . , g2(lN)
......
gr (l1) . . . , gr (lN)
as its parity-check matrix. We say that C is an nth-root code.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
ExampleLet q = 2, n = 5, qm = 24, F16 = 〈a〉 ∪ 0, with minimalpolynomial x4 + x + 1 andP = g1(z) = a5z4 + a10z3 + a10z2 + a5z + 1, g2(z) =az4 + a2z3 + a8z2 + a4z + 1, g3(z) = a8z4 + az3 + a4z2 + a2z.The five fifth roots of unity are R5 = a3, a6, a9, a12, 1. Thenth-root code C = Ω(2, 5, 16,R5, g1, g2, g3) is zerofree (0 /∈ L)and its parity-check matrix H is the following: g1(a
3) g1(a6) g1(a
9) g1(a12) g1(1)
g2(a3) g2(a
6) g2(a9) g2(a
12) g2(1)g3(a
3) g3(a6) g3(a
9) g3(a12) g3(1)
=
1 0 0 1 10 1 0 1 10 0 1 1 0
.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
DefinitionLet C = Ω(2, n, 2m, L,P) be a binary zerofree nth-root code, w bea natural number such that 2 ≤ w ≤ N. We denote by Jw (C ) thefollowing ideal Jw = Jw (C ) ⊂ F2m [z1, . . . , zw ] , defined by
〈
w∑
h=1
gs(zh)
1≤s≤r
,
znj − 1∏
l∈L(zj − l)
1≤j≤w
, pij(zi , zj)1≤i<j≤w 〉,
where pij =∑n−1
h=0 zhi zn−1−h
j =zni −zn
j
zi−zj∈ F2m [zi , zj ].
RemarkIn the non-binary case the ideal would involve twice as manyvariables and its polynomials would have a less symmetric form.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Since the number of solutions of an ideal J is directly computedfrom any Grobner basis of J (see [BCRT93]) we can obtain easilyan algorithm to compute the weight distribution from the followingproposition.
Proposition
Let C = Ω(2, n, 2m, L,P) be a binary zerofree nth-root code.There is at least one codeword of weight w in C if and only ifthere exists at least one solution of Jw (C ). Moreover the numberof codewords of weight w is Aw = |V(Jw )|/w !.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Using a Smaller Ideal
As proposed in [GS09] one can accelerate the computation ofGrobner basis G of the ideal Jw (C ) by removing the polynomialspi ,j(zi , zj), which guarantee zi 6= zj for any i 6= j . This introducesspurious solutions, that may be counted, with combinatorialarguments, in a recursive way.
DefinitionLet C = Ω(2, n, 2m, L,P) be a binary zerofree nth-root code. Wedenote by Iw = Iw (C ) the following ideal in F2m [Z ]
Iw =⟨ w∑
k=1
gt(zk)
1≤t≤r,
znj − 1∏
l∈L(zj − l)
1≤j≤w
⟩
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
DefinitionLet V = (z1, . . . , zw ) ∈ (F)w , with w ≥ 2. We say that V isstrongly double-coordinate (sdc) if w is even and for any i ,1 ≤ i ≤ w , |h | zh = zi| is even.
Example
I (α, β, β, γ, β, α, γ, β) is sdc
I (α, α, β, γ, β, γ, γ, α) is not sdc
DefinitionIf w ≥ 2 is even, we say that Jw is a sdc ideal if all its solutionsare sdc.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
TheoremFor any 1 ≤ w ≤ d − 1 the ideal Iw (C ) is sdc.Moreover:
I if d is odd, V(Id(C )) = V(Jd(C )),
I if d is even, V(Id(C )) = V(Jd(C )) t Sd , where Sd is the setof all sdc vectors in (V( zn−1Q
l∈L(z−l)))d ∩ (F2m)d
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
TheoremFor any 1 ≤ w ≤ d − 1 the ideal Iw (C ) is sdc.Moreover:
I if d is odd, V(Id(C )) = V(Jd(C )),
I if d is even, V(Id(C )) = V(Jd(C )) t Sd , where Sd is the setof all sdc vectors in (V( zn−1Q
l∈L(z−l)))d ∩ (F2m)d
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
TheoremFor any 1 ≤ w ≤ d − 1 the ideal Iw (C ) is sdc.Moreover:
I if d is odd, V(Id(C )) = V(Jd(C )),
I if d is even, V(Id(C )) = V(Jd(C )) t Sd , where Sd is the setof all sdc vectors in (V( zn−1Q
l∈L(z−l)))d ∩ (F2m)d
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Corollary
Let C = Ω(2, n, 2m, L,P) be a binary zerofree nth-root code. ThenAd is:
Ad =|V(Id)(C )| − E (d/2,N)
d!(d even),
Ad =|V(Id)(C )|
d!(d odd).
where E (λ, γ) is the number of sdc 2λ-uples with values in1, . . . , γ.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Example
Let C = Ω(2, 255, 28, L,P) be the binary nth-root code such thatL = F256 \ 0 and P = x , x2, x3, x4, x5, x6 ⊂ F2[x ]. C cannothave words of weight 5.By computing a Grobner basis of I5(C ) and J5(C ), we obtain asexpected |I5(C )| = |J5(C )| = 0, but I5(C ) takes less than 3seconds, whereas J5(C ) takes 17 seconds.By computing a Grobner basis of I6(C ) and J6(C ), we obtain that|I6(C )| = 246773955 and |J6(C )| = 0, so that A6(C ) = 0, asexpected, but I6(C ) takes 381.42 seconds, while J6(C ) takes1803.89 seconds.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency Considerations
The Combinatorial Problem
We are interested in computing E (λ, γ) efficiently. We can do thisin different ways: by recurrences or by explicit formulae.
Property
For any positive integers λ and γ we have:
E (λ, γ) =λ∑
k=0
((2λ
2k
)E (k, γ − 1)
).
Moreover we have E (0, γ) = 1, ∀γ ∈ N0; E (λ, 0) = δλ,0, whereδλ,0 is the Kronecker delta.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency Considerations
FactE (λ, γ) can be expressed in terms of integer compositions of λ oflength γ and multinomial coefficients. For λ, γ ≥ 1 one can easilyprove that
E (λ, γ) =∑
(a1,...,aγ)|λ=a1+···+aγ ,
0≤a1,...,aγ≤γ
(2λ
2a1 2a2 . . . 2aγ
)
In particular one can prove that coshγ is the generating functionfor E (λ, γ)/λ!, i.e.
E (λ, γ)/λ! = [xλ] coshγ(x).
from which one can derive a closed form.Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency Considerations
An alternative strategy for the solution of the combinatorialproblem 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).
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency Considerations
An alternative strategy for the solution of the combinatorialproblem 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).
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency Considerations
An alternative strategy for the solution of the combinatorialproblem 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).
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency Considerations
An alternative strategy for the solution of the combinatorialproblem 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).
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency 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 22L−1,
Zeilberger(binomial(2*L,2*k)*2^2*k-1,k,L);
which yields a recurrence whose solution is 1/4(32L − 3).By looking at these two steps we realize that we must find anexpression for the sums of products of the binomial coefficient
(2λ2k
)and 2k-th powers of integers. This leads us to the next step.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency Considerations
Property
For any positive integer λ and α we have:
λ∑k=0
(2λ
2k
)α2k =
(α + 1)2λ + (α− 1)2λ
2.
In order to compute the recurrence and at the same time get acomputer-generated proof of it in English, it is enough to executethe 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);
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency Considerations
We can now prove and find a general form for E (λ, γ):
TheoremFor any positive integer λ and γ we have:
E (λ, γ) = 2−γγ∑
i=0
(γ
i
)(γ − 2i)2λ = 2−γ+1
dγ/2e−1∑i=0
(γ
i
)(γ − 2i)2λ
Proof.We prove the theorem by induction on γ.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency Considerations
Complexity
The recurrence allows us to compute in reasonable time just a fewvalues of E (λ, γ) for very small values of λ and γ.
I The number of arithmetic operations if the recurrence is usedis a function in Θ(
(λ+γ
γ
)).
I The total number of arithmetic operations needed to computeE (λ, γ) through the explicit formula given is O(γ log(λ)).
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency Considerations
Complexity
The recurrence allows us to compute in reasonable time just a fewvalues of E (λ, γ) for very small values of λ and γ.
I The number of arithmetic operations if the recurrence is usedis a function in Θ(
(λ+γ
γ
)).
I The total number of arithmetic operations needed to computeE (λ, γ) through the explicit formula given is O(γ log(λ)).
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Proof by Generating FunctionsA Computer-Generated ProofEfficiency Considerations
Complexity
The recurrence allows us to compute in reasonable time just a fewvalues of E (λ, γ) for very small values of λ and γ.
I The number of arithmetic operations if the recurrence is usedis a function in Θ(
(λ+γ
γ
)).
I The total number of arithmetic operations needed to computeE (λ, γ) through the explicit formula given is O(γ log(λ)).
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Future Work
Some of the things that remain to be done:
I Extending this method to the whole distribution of weights(done but needs to be checked)
I Applying this approach to Hermitian Codes and other codes(probably easy but it might not pay off as much)
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Future Work
Some of the things that remain to be done:
I Extending this method to the whole distribution of weights(done but needs to be checked)
I Applying this approach to Hermitian Codes and other codes(probably easy but it might not pay off as much)
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
Future Work
Some of the things that remain to be done:
I Extending this method to the whole distribution of weights(done but needs to be checked)
I Applying this approach to Hermitian Codes and other codes(probably easy but it might not pay off as much)
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes
OutlineIntroduction
Definition of nth-Root CodeComputing the Distance
Using a Smaller IdealThe Combinatorial Problem
Future Work
[BCRT93] A. M. Bigatti, P. Conti, L. Robbiano, and C. Traverso.A “divide and conquer” algorithm for Hilbert-Poincareseries, multiplicity and dimension of monomial ideals.In Applied algebra, algebraic algorithms anderror-correcting codes (San Juan, PR, 1993), volume673 of Lecture Notes in Comput. Sci., pages 76–88.Springer, Berlin, 1993.
[Gio06] M. Giorgetti.On some algebraic interpretation of classical codes.PhD thesis, University of Milan, 2006.
[GS09] M. Giorgetti and M. Sala.A commutative algebra approach to linear codes.Journal of Algebra, 321(8):2259–2286, 2009.
Fabrizio Caruso, Marta Giorgetti On the Weight Distribution of N-th Root Codes