A Review of MacWilliams Identity and Linear Programming Bound Javier Parra Arnau Codes and Cryptography Master in Advanced Mathematics and Mathematical Engineering Technical University of Catalonia (UPC) [email protected]

Abstract. In this work, we explore two of the most important results in coding theory. First, we review MacWilliams identity, which enables us to establish a connection between the distribution of weights of a code and that of its dual code. Secondly, we examine one of the best bounds on the maximum number of words in a given code, namely, the linear programming bound. In addition, we review some basic background and properties that lay the foundation of MacWilliams identity and the linear programming bound. Namely, we introduce the notion of group character, describe the Krawtchouk polynomials and provide a connection between these polynomials and the distance distribution of a code.

1

Introduction

Florence Jessie MacWilliams was one the first women to conduct research in coding theory. Her PhD thesis at Harvard presented one of the most remarkable combinatorial results in the field. Among other achievements, MacWilliams found a formula relating the weight distribution of a linear code to that of its dual. The object of this work is to explore, on the one hand, MacWilliams identity, and on the other, an interesting result regarding one of the best bounds on the maximum number of codewords in a given code, the linear programming bound. This work has been organized in the following points. Section 2 examines MacWilliams identity and some previous results. Section 3 introduces the Krawtchouk polynomials, which we relate to the distance distribution of a code, and ultimately, we focus on the linear programming bound. Finally, conclusions are drawn in Sec. 4.

2

MacWilliams Identity

This section first examines some fundamental concepts related to coding theory which will help to better understand the essence of this work.

We shall start with some elementary definitions. Let C be a linear code of length n and dimension k over Fq . We denote by C ⊥ the dual code of C, that is, the set of vectors that are orthogonal to all codeword x ∈ C. Further, we define wt(x) as the weight of a codeword x, which is the number of nonzero coordinates of that codeword. In terms of this notation, we denote by {A0 , . . . , An } the distribution of weights of a code, where Ai = |{x ∈ C : wt(x) = i}|, i.e. the number of codewords of weight i. According as the Pnto this,i we define the⊥ weighted Pnenumerator ⊥ i polynomial A(z) = i=0 Ai z . Similarly, A (z) = i=0 Ai z represents the distribution of weights of the dual code C ⊥ . In addition, recall that the orthogonal complement U ⊥ of a subspace U of an inner vector space V, is the subspace containing all the vectors in V that are orthogonal to every vector in U [1]. From this definition, one should be meticulous and should not consider a dual code as an orthogonal complement. More specifically, there exist codes such that C = C ⊥ , called self-dual codes, whereas for a subspace U and its orthogonal complement U ⊥ , |U ∩ U ⊥ | = 0 always holds. At this point, we need to review a lemma that will be later used to prove MacWilliams identity. Above, we recalled what an orthogonal complement was. Now, we shall focus on an interesting result relating the cardinality of pairs of orthogonal complements. Lemma 1. Let U and V be two subspaces of an n-dimensional vector space over Fq , with dim U = k and dim V = n − j. Let U ⊥ and V ⊥ be the corresponding orthogonal complements. Then, |U ∩ V| = q k−j |U ⊥ ∩ V ⊥ |. Proof. It is easy to check that dim (U ⊥ ∩ V ⊥ ) = n − dim (U ⊥ ∩ V ⊥ )⊥ = n − dim (U + V) = n − dim U − dim V + dim (U ∩ V), where the last equality follows from Grassmann formula [2]. In addition, note that as U and V are finite-dimensional subspaces, we can relate the dimension of any of these subspaces with the cardinality of the field and the cardinality of the subspace itself. Namely, |U| = q dim U . According to this, and after simple manipulation, we prove the lemma. t u Now, we are in a position to examine MacWilliams identity, which establishes a connection between the weighted enumerators of the primal and the dual code.

Theorem 1. (MacWilliams Theorem). If C is a k-dimensional code of length n over Fq with dual code C ⊥ , and A(z) and A⊥ (z) are, respectively, their weighted enumerators, then A(z) = q

k−n

n



(1 + (q − 1)z) A



1−z 1 + (q − 1)z

 .

Proof. Consider the coordinate space Fnq . Suppose that we fix j coordinates of a particular vector and set these coordinates to zero. Obviously, the set of all vectors with these j coordinatesequal to zero constitutes a subspace. In addition, note that there are nj subspaces satisfying that, as we may arbitrarily choose these j positions from a total of n coordi nates. We shall denote these subspaces as S (m) , for m = 1, . . . , nj . The ⊥

orthogonal complement of the subspace S (m) will be denoted by S (m) . ⊥ Therefore, each vector of S (m) will have n − j zero coordinates in the complementary j positions fixed in S (m) . In addition, for any vector x we write |x ∩ S (m) | = 1 if x ∈ S (m) , whereas |x ∩ S (m) | = 0 if x ∈ / S (m) . Having defined that, suppose x is a vector with wt(x) = i, and we wish to calculate the number of subspaces P(nj) |x ∩ S (m) |. Clearly, for a S (m) that this vector belongs to, that is, m=1 fixed n, when both i and j become larger, the number of those subspaces decreases. In the special case when j = n−i, just one subspace contains x, whereas if j > n − i, x does not belong to any of those subspaces. Accordingly, we consider only the nontrivial case when j 6 n − i. However,  P(nj) |x ∩ S (m) | = n−i it is straightforward to realize that m=1 j , since we are choosing j coordinates from those zero components of vector x, which precisely amounts to n − i. Next, we turn our attention to the code C, and we wonder whether we can calculate the total number of subspaces S (m) to which every x in C belongs. Precisely, it turns out that this is (nj) X X x∈C m=1

|x ∩ S

(m)

|=

n X i=0

  n−i Ai , j

(1)

which follows from the fact that, for a fixed n and j, the number of subspaces to which a particular codeword belongs only depends on its weight. In an entirely analogous manner, we would obtain the total number of ⊥ subspaces S (m) to which every x in C ⊥ belongs. This would lead to the

conclusion that (nj) X X x ∈ C⊥

m=1

|x ∩ S

(m)⊥

|=

n X

A⊥ i



i=0

 n−i , n−j

(2)

where the combinatorial number follows by simply noting that we are selecting n − j coordinates from n − i zero components of codeword x. Before proceeding, it is interesting to observe that (1) and (2) are P(n) P(n) ⊥ equivalent to mj = 1 |C∩S (m) | and mj = 1 |C ⊥ ∩S (m) |, respectively. Bearing in mind Lemma 1, we apply it to these two expressions and we find that     n n X X n−i n−i Ai = q k−j A⊥ . (3) i j n−j i=0

i=0

Next, we shall multiply the left-hand equality by xj and, afterwards, we shall sum these terms over all possible j. Hence, n−i X n X j=0 i=0

  n n−i j X Ai x = Ai (1 + x)n−i , j

(4)

i=0

where we use the binomial theorem, that describes the algebraic expansion n of  of a binomial, and more specifically, states that (x + y) = Pnpowers n n−i i may check, for the simple case i = 0 and n = 4, i=0  i x y . Sceptics    4 2 4 4 that 0 + 1 x + 2 x + 43 x3 + 44 x4 yields (1 + x)4 . Now, we proceed in an analogous way with the right-hand equality in (3), and obtain n−i X j=0

q

k−j

n X i=0

A⊥ i



 n  X n−i j q n−i A⊥ 1 + x = q k−n xn . i n−j x

(5)

i=0

To complete the proof, we perform the substitution z = (1 + x)−1 in (4) and (5). After routine manipulation, we have that (4) becomes A(z)z −n and (5) yields   1−z k−n −n n ⊥ . q z (1 + (q − 1)z) A 1 + (q − 1)z As (4) and (5) must be equal because of (3), we finally prove the theorem. t u

3

Linear Programming Bound

A basic problem in coding theory has been to find the largest code of a given length and minimum distance [3, §17]. In order to formalize this crucial problem, we define Aq (n, d) to be the maximum number of codewords in any code of length n and minimum d over Fq . In this section, we focus on an interesting bound on Aq (n, d), the linear programming bound, which is considered to be one of the best bounds at present [4, §5] [5, §1]. As we shall see further on, the linear programming bound is derived from a connection between the Krawtchouk polynomials and the distance distribution of codes, which may be regarded as a generalization of the weight distribution defined in Sec. 2. More specifically, we shall first find inequalities that will be tightly related to MacWilliams identity and, then, we shall apply linear programming strategies to finally obtain a bound on Aq (n, d). Next, we introduce the Krawtchouk polynomials and some results that lay the foundation for the linear programming bound theorem. For k = 0, 1, 2, . . . , we define the Krawtchouk polynomial Kk (x, n, q) as    k X n−x j x Kk (x, n, q) = (q − 1)k−j , (−1) k−j j j=0

where x ∈ R and   x x(x − 1) · · · (x − j − 1) = . j j! Although these polynomials depend on three parameters, in our discussion later on, n and q will be fixed and, therefore, Kk (x) will be a polynomial in x of degree k. Next, we review a lemma that, on the one hand, provides an interpretation of these polynomials and, on the other, plays a key role in Theorem 2. Previously, we shall recall some basic concepts. In particular, an n-th root of unity, where n ∈ Z+ , is any z ∈ C satisfying the equation z n = 1. In this sense, an n-th root of unity is primitive if z k 6= 1, for k = 1, . . . , n − 1. Additionally, we require to introduce the notion of character. Let (G, +) be a finite commutative group with elements g1 , . . . , gn and let (T, ∗) be the group of complex numbers with module one. A character of (G, +) is a homomorphism χ : G → T. The character that maps any element in G into 1 is called the trivial character. On the contrary, if there exists an element g ∈ G such that χ(g) 6= 1, then χ is said to be nontrivial. Two interesting properties of nontrivial characters will be used

P in Lemma 2. On the one hand, the first result is that nj=1 χ(gj ) = 0, which we may argued as follows: denote by S the sum and suppose that χ(gk ) 6= 1 for some k = 1, . . . , n, which clearly follows from the definition of nontrivial characters. Further, note that as gj runs through all elements of G in the sum, the same happens with gj gk . Accordingly, S=

n X

χ(gj gk ) = χ(gk )

j=1

n X

χ(gj ) = χ(gk )S.

j=1

As χ(gk ) 6= 1, we have that S(1 − χ(gk )) = 0 implies that S = 0. On the other hand, observe that from the definition of a character we have thatPχ(0) = 1. If we consider gk to be the identity of G, then it follows that nj=1 χ(gj ) = −1, which is the second property we especially j6=k

wanted to remark. Lemma 2. Let ω ∈ C be a primitive q-th root of unity and let x ∈ Znq be a fixed word of weight i. Then X

ω = Kk (i),

y∈Zn q wt(y)=k

where < x, y > denotes the standard inner product Znq .

Pn

j=1 xj yj ,

for x, y ∈

Proof. Without loss of generality, we assume that x has its i nonzero coordinates in the first i positions. This can be argued by considering an equivalent code for which x satisfies that condition. Let z be another word in Znq with wt(z) = k. For this z, consider the position tuple p = (p1 , . . . , pk ) satisfying that zpj 6= 0, for j = 1, . . . , k. In addition, we require that the elements of p accomplish that 0 < p1 < · · · < pj 6 i < pj+1 < · · · < pk 6 n. In order to illustrate that point, consider the case in which x, z ∈ Z93 , and their weights are 6 and 4, respectively. The word x and z could be (1, 2, 1, 2, 2, 1, 0, 0, 0) and (0, 1, 2, 0, 0, 0, 1, 1, 0), respectively, where clearly p = (2, 3, 7, 8) would satisfy the above conditions. After this simple example, we define D as the set of all words with exactly k nonzero coordinates in the positions determined by p. Put differently, this set consists of all words satisfying that the positions of their nonzero coordinates coincide with those of the word z. At this point, we consider the sum in the state-

ment only over D. According to this, we have that X X X ω xp1 yp1 +···+xpk ypk ··· ω = y∈D

yp1 ∈Zq \{0}

ypk ∈Zq \{0}

X

= (q − 1)k−j

···

yp1 ∈Zq \{0} k−j

= (q − 1)

(6)

j Y

X

X

ω xp1 yp1 +···+xpj ypj (7)

ypj ∈Zq \{0}

ω xpl y

(8)

l=1 y∈Zq \{0}

= (−1)j (q − 1)k−j .

(9)

On the one hand, the equality in (7) is checked by noting that < x, y1 >= < x, y2 > for any y1 , y2 ∈ D such that y1pl = y2pl for l = 1, . . . , j. In this sense, as there are k − j positions that do not contribute to the sum of the inner product with x, for any word in D we can find (q −1)k−j −1 different words satisfying, on the one hand, that their first i coordinates are equal, and on the other, that they have the same inner product with respect to x. In terms of the example described before, if y1 = (0, 2, 1, 0, 0, 0, 2, 2, 0) and y2 = (0, 2, 1, 0, 0, 0, 1, 1, 0), their respective inner products with x would be equal. In addition, there would be two more words in D with the same first six coordinates and the same inner product with x. On the other hand, the equality in (8) may be easily verified by means of the example shown before. In the last equality, however, we shall use the properties already examined about characters. Specifically, note that for a fixed xpl , the mapping χxpl : Zq → C satisfying that y 7→ ω xpl y is P a nontrivial character of Zq . As we know that y∈Zq \{0} χ(gj ) = −1, the equality in (9) is immediately checked. Finally, recall that  we defined D i n−i based on the positions determined by p. As there are j k−j possible p tuples, we extend the set D into the one in the statement and complete the proof. t u Next, we generalize the notion of weight distribution. Namely, let C be a code of length n and minimum distance d with M codewords. We define Ai to be the normalized number of codewords in C with Hamming distance equal to i. More specifically, Ai = M −1 |{(x, y) : x, y ∈ C, d(x, y) = i}|. We denote by {A0 , . . . , An } the distance distribution or inner distribution of C. It is worth pointing out that if C is linear, the weight distribution matches the distance distribution. In addition, note that A0 = 1, Ai = 0

for i = 1, . . . d − 1, Ad > 0 and Ai > 0 for i = d + 1, . . . , n. The following lemma uses Lemma 2 to relate the distance distribution of a code to the Krawtchouk polynomials. Lemma 3. Let {A0 , . . . , An } be the inner distribution of a code C ⊆ Zqq . Then n X

Ai Kk (i) > 0,

i=0

for k = 1, . . . , n. Proof. From Lemma 2, we know that

M

n X i=0

Ai Kk (i) =

n X X

X

ω

(10)

i=0 (x,y)∈C 2 z∈Zn q d(x,y)=i wt(z)=k

2 X X = ω > 0. n

(11)

x∈C z∈Zq wt(z)=k

For the first equality, it is useful to note that, although in Lemma 2 we fix a reference word x, the sum in the statement only depends on its weight. Thus, the inner product in equality (10) is justified by observing that, for a fixed distance i in the sum, the word x − y has weight i. Finally, the last equality follows from basic properties of complex numbers, and the result proves to be nonnegative. t u Having examined Lemma 2 and 3, we now proceed to present the last theorem, which precisely gives the linear programming bound. Recall that, roughly speaking, a linear optimization program describes the problem of finding an optimum vector that maximizes an affine objective function subject to a number of equality and inequality constraints given by affine functions [6]. Theorem 2. Let C be a code of length n and minimum distance d over Zq . Then, Aq (n, d) is upper bounded by the optimal value of the optimiza-

tion problem maximize

n X

Ai

i=0

subject to

A0 = 1, Ai = 0, for i = 1, . . . , d − 1, Ad > 0, Ai > 0, for i = d + 1, . . . , n, n X Ai Kk (i) > 0, for k = 0, . . . , n. i=0

Proof. First, note that this is a linear optimization problem, as the objective, equality and inequality functions are all affine. In addition, observe that the objective function, that is, the one that we want to maximize, gives us the total number of codewords in C. Finally, in order to prove that the solution to this problem provides an upper bound on Aq (n, d), we need to check that the problem is feasible, i.e. there exists at least one word that satisfies the constraints. To this end, note that since C has minimum distance d, the equality constraints are satisfied as well as the inequality constraints Ai > 0. Now it remains to prove that the last n + 1 inequalities hold. For this purpose, we apply Lemma 3 and complete the proof. t u

4

Conclusions

In this work, we examined two fundamental results in coding theory: MacWilliams identity and the linear programming bound. First, we reviewed some additional results related to the cardinality of pairs of orthogonal complements, which were later used to derive MacWilliams identity. Secondly, we presented the Krawtchouk polynomials and established a connection between these polynomials and the distance distribution of a code. In addition, we introduced the notion of group character and we finally examined the linear programming bound theorem.

References 1. P. R. Halmos, Finite-dimensional vector spaces. Springer-Verlag, 1974. ` 2. M. Castellet and I. Llerena, Algebra Lineal i Geometria. Revert´e, 1994. 3. F. MacWilliams and N. Sloane, The Theory of Error-Correcting Codes, N.-H. M. Library, Ed. Elsevier, 1977.

4. J. van Lint, Introduction to Coding Theory. Springer, 1998. 5. S. X. Descamps, Block Error-Correcting Codes. Springer, 2003. 6. S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge University Press, 2004.

A Review of MacWilliams Identity and Linear Programming Bound

Programming Bound. Javier Parra Arnau ... of a code, and ultimately, we focus on the linear programming bound. Fi- .... nomial in x of degree k. Next, we review ...

242KB Sizes 0 Downloads 144 Views

Recommend Documents

linear programming
berg and Tarjan [11] for minimum cost network flows. Step 0. .... For instance, for solving network flow problems there is no need to write .... New York, 1976.

Linear Algebra Review and Reference
Oct 7, 2008 - It is easy to show that for any matrix A ∈ Rn×n, the matrix A + AT is ..... into a (very large) polynomial in λ, where λ will have maximum degree n.

pdf-1287\bound-and-gagged-confessions-of-a ...
... provide very easy of everything to read and take the perks. Page 3 of 7. pdf-1287\bound-and-gagged-confessions-of-a-bondage-slut-3-by-sara-spanks.pdf.

Experimental Studies of Os 2: Observation of a Bound-Bound ... - naomib
Jul 17, 2000 - narrow shape resonance lying only 3.52(12) meV above the ground state detachment threshold, while the other is bound by 11.48(12) meV. Convincing evidence that these states have odd ... recent calculations [4], the knowledge of Os2 was

DownloadPDF Linear Programming with Duals: A ...
Book Synopsis. This textbook presents a theoretical treatment of linear programming, network flows and applications, integer programming, and computational ...

A Practical, Integer-Linear Programming Model for the ...
Goal: Distribute nodes uniformly among process. Method: xor the hash value of each feature. ZH(s) = R[t1] xor R[t2] xor ... xor R[tn]. 2.1. Zobrist hashing (ZHDA*).

Effectiveness of the Multi Objective Linear Programming Model ... - IJRIT
Programming (MOLP) model under two fuzzy environments; (a) when the model ... obtained from a company located in Sri Lanka to study the effectiveness of the ...

pdf-1450\linear-and-nonlinear-programming-international-series-in ...
... the apps below to open or edit this item. pdf-1450\linear-and-nonlinear-programming-internatio ... ns-research-management-science-3rd-third-edition.pdf.

Effectiveness of the Multi Objective Linear Programming Model ... - IJRIT
under this data analysis. Keywords: Multi ... with the actual data obtained from a company located in Sri Lanka to study the effectiveness of the multi-objective.

Linear Programming CSEC Problems.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item.

Programming Exercise 5: Regularized Linear Regression ... - GitHub
where λ is a regularization parameter which controls the degree of regu- larization (thus ... Finally, the ex5.m script should also plot the best fit line, resulting in an image similar to ... When you are computing the training set error, make sure

The combinatorics of LCD codes: Linear Programming ...
Let C denote a binary linear [n, k] code and Ai its weight distribution. Let Bi denote ... To avoid quadratic terms we bound 2kAi below by 2k0 Ai. Note that by the ...

On the Linear Programming Decoding of HDPC Codes
The decision boundaries divide the signal space into M disjoint decision regions, each of which consists of all the point in Rn closest in. Euclidean distance to the received signal r. An ML decoder finds which decision region Zi contains r, and outp

Bounding Average Treatment Effects using Linear Programming
Mar 13, 2013 - Outcome - College degree of child i : yi (.) ... Observed Treatment: Observed mother's college zi ∈ {0,1} .... Pencil and Paper vs Computer?