32
/k Coding Theory Ruud Pellikaan [email protected] MasterMath 2MMC30 Lecture 4.1 March 10 - 2016

Coding Theory - TU/eruudp/courses/2MMC30/week4-1.coding-theory.pdf · 2/32 /k Introduction We have introduced some parameters of a linear code In coding theory one of the most basic

Embed Size (px)

Citation preview

/k

Coding Theory

Ruud [email protected]

MasterMath 2MMC30

Lecture 4.1March 10 - 2016

2/32

/k

Introduction

We have introduced some parameters of a linear codeIn coding theory one of the most basic problems is to findthe best value of a parameter when other parameters are given

In this lecture we discuss some bounds on the code parameters

3/32

/k

Content lecture 4

1. • Singleton bound• MDS codes• Vandermonde matrix• Reed-Solomon codes• Cauchy matrix

2. • Griesmer bound• Hamming bound• Sphere covering bound• Plotkin bound

3. • Gilbert bound• Varshamov bound• Asymptotic bounds

4/32

/k

Singleton bound - 1

The Singleton bound for non linear codes

PROPOSITION

Let Q be an alphabet with q elementsLet C ⊆ Q n be a code of length n and minimum distance dSuppose M is the number of codewords in CThen

M ≤ qn−d+1

5/32

/k

PROOF

Consider an M × n array with rows all codewords in C

Delete the first d − 1 columnsThen the rows of the M × (n − d + 1) array are mutually distinctsince d is the minimum distance of C

In other words:the punctured code CP with P = {1, . . . ,d − 1} has the same number Mof elements as C and

CP ⊆ Q n−d+1

HenceM ≤ qn−d+1

6/32

/k

Singleton bound - 2

PROPOSITION

If C is an [n, k , d ] code, then

d ≤ n − k + 1

PROOF

|C | = qk≤ qn−d+1

7/32

/k

ALTERNATIVE PROOF

Let H be a parity check matrix of CThis is an (n − k )× n matrix of row rank n − k

The minimum distance of C is the smallest integer d such thatH has d linearly dependent columnsThis means that every d − 1 columns of H are linearly independentHence, the column rank of H is at least d − 1

By the fact that the column rank of a matrix is equal to the row rankwe have n − k ≥ d − 1

8/32

/k

MDS codes

Let C be an [n, k , d ] codeIf d = n − k + 1, then C is called a

maximum distance separable code

or an MDS code, for short

From the Singleton bound follows:a maximum distance separable code achievesthe maximum possible value for the minimum distancegiven the code length and dimension

9/32

/k

Trivial examples

The minimum distance of the the zero code of length n is n + 1by definitionHence the zero code has parameters [n, 0, n + 1] and is MDS

Its dual is the whole space Fnq with parameters [n, n, 1] and is also MDS

The n-fold repetition code has parameters [n, 1, n] andits dual is an [n, n − 1, 2] code and both are MDS

10/32

/k

PROPOSITION

Let C be an [n, k , d ] code over Fq

Let G be a generator matrix and H a parity check matrix of CThen the following statements are equivalent:

1. C is an MDS code

2. every (n − k )-tuple of columns of a parity check matrix Hare linearly independent

3. every k -tuple of columns of a generator matrix Gare linearly independent

11/32

/k

PROOF - 1

The minimum distance of C is dSo any d − 1 columns of H are linearly independent

Now d ≤ n − k + 1 by the Singleton boundSo d = n − k + 1 if and only ifevery n − k columns of H are independent

Hence (1) and (2) are equivalent

12/32

/k

PROOF - 2

Now let us assume (3)

Let c be an element of C which is zero at k given coordinatesLet c = xG for some x ∈ Fk

qLet G ′ be the square matrix consisting of the k columns of Gcorresponding to the k given zero coordinates of cThen xG ′ = 0Hence x = 0, since the k columns of G ′ are independent by assumptionSo c = 0This implies that the minimum distance of C is at least n − (k − 1)

Therefore C is an [n, k , n − k + 1]MDS codeby the Singleton bound

13/32

/k

PROOF - 3

Assume that C is MDS

Let G be a generator matrix of CLet G ′ be the square matrix consisting of k chosen columns of GLet x ∈ Fk

q such that xG ′ = 0Then c = xG is a codeword and its weight is at most n − kSo c = 0, since the minimum distance is n − k + 1Hence x = 0,since the rank of G is k

Therefore the k columns are independent

14/32

/k

EXAMPLE

Consider the code C over F5 of length 5 and dimension 2 with generatormatrix

G =(

1 1 1 1 10 1 2 3 4

)The minimum distance of C is at least 4On the other hand, the second row is a word of weight 4Hence C is a [5, 2, 4]MDS codeThe matrix G is a parity check matrix for the dual code C⊥

All columns of G are nonzero, and every two columns are independentsince

det(

1 1i j

)= j − i 6= 0

for all 0 ≤ i < j ≤ 4Therefore, C⊥ is also an MDS code

15/32

/k

COROLLARY

The dual of an [n, k , n − k + 1] code is an [n, n − k , k + 1] codeThat is: the dual of an MDS code is an MDS code

PROOFThe trivial codes are MDS and are dual of each other

Assume 0 < k < nLet H be a parity check matrix of an [n, k , n − k + 1] code CThen any n − k columns of H are linearly independent, by (2)Now H is a generator matrix of the dual codeTherefore C⊥ is an [n, n − k , k + 1] code, by (3)

16/32

/k

Vandermonde matrix

Let a be a vector of Fkq

The Vandermonde matrix V (a) has entries a i−1j

LEMMALet a be a vector of Fk

qThen

detV (a) =∏

1≤r<s≤k

(as − ar)

Proof is left as an exercise

17/32

/k

EXAMPLE

Let n ≤ qLet a = (a1, . . . , an) be an n-tuple of mutually distinct elements of Fq

Let k be an integer such that 0 ≤ k ≤ nDefine the matrices Gk (a) and G ′k (a) by

Gk (a) =

1 · · · 1a1 · · · an...

. . ....

ak−11 · · · ak−1

n

and G ′k (a) =

1 · · · 1 0a1 · · · an 0...

. . ....

...

ak−11 · · · ak−1

n 1

The codes with generator matrix Gk (a) and G ′k (a) are MDS codes

18/32

/k

PROOF

Consider a k × k submatrix of G (a)Then this is a Vandermonde matrix and its determinant is not zerosince the ai are mutually distinct

So any system of k columns of Gk (a) is independentHence Gk (a) is the generator matrix of an MDS code

The proof for G ′k (a) is similar and is left as an exercise

19/32

/k

Reed-Solomon codes

These are called Reed-Solomon codes or RS codesand are the prime examples of MDS codes

These codes will be treated later in more detail

The previous proposition showed the existence of MDS codes over Fq

with parameters [n, k , n − k + 1] for all possible values of k and nsuch that

0 ≤ k ≤ n ≤ q + 1

20/32

/k

EXAMPLE

Let q be a power of 2 and n = q + 2 and Fq = {a1, a2, . . . , aq}Consider the code C with generator matrix 1 1 . . . 1 0 0

a1 a2 . . . aq 0 1a2

1 a22 . . . a2

q 1 0

Then any 3 columns of this matrix are independentThe only remaining nontrivial case to check is∣∣∣∣∣∣

1 1 0ai aj 1a2i a2

j 0

∣∣∣∣∣∣ = −(a2j − a2

i ) = (ai − aj )26= 0, in characteristic 2

Hence C is a [q + 2, 3, q] code

21/32

/k

REMARK

Let G be generator matrix of an [n, k ]MDS codeThen every k columns of G are independentIn other words: the code is systematic at any k positions

So any k symbols of the codewords may be taken as message symbols

This is another reason for the name MDS:

maximum distance separable

22/32

/k

COROLLARY

Let C be an [n, k , d ] code

Then C is MDS if and only iffor any given d coordinate positionsthere is a minimum weight codewordwith the set of these positions as support

Furthermore two codewords of an MDS code of minimum weightwith the same support are a nonzero multiple of each other

23/32

/k

PROOF - 1

Let G be a generator matrix of CThen G has rank kSo there exist k positions j1, j2, . . . , jksuch that the columns of G at these positions are independentThe complement of these k positions consists of n − k elements

Suppose d ≤ n − kChoose a subset {i1, i2, . . . , id } of d elements in this complementLet c be a codeword with support that is contained in {i1, i2, . . . , id }Then c is zero at the positions j1, j2, . . . , jkHence c = 0 and the support of c is empty

24/32

/k

PROOF - 2

If C is MDS, then d = n − k + 1Let {i1, i2, . . . , id } be a set of d coordinate positionsThen the complement of this set consists of j1, j2, . . . , jk−1

Let jk = i1 and use j1, j2, . . . , jk for systematic encodingSo there is a unique codeword c such thatcjk = 1 and cj = 0 for all j = j1, j2, . . . , jk−1

Hence c is a nonzero codeword of weight at most d and supportcontained in {i1, i2, . . . , id }Therefore c is a codeword of weight d and support equal to {i1, i2, . . . , id }since d is the minimum weight of the code

25/32

/k

PROOF - 3

Furthermore, let c′ be another codeword of weight d andsupport equal to {i1, i2, . . . , id }

Then c ′j = 0 for all j = j1, j2, . . . , jk−1 and c ′jk 6= 0So c′ and c ′jk c are two codewords that coincide at j1, j2, . . . , jkC is systematic at j1, j2, . . . , jkHence c′ = c ′jk c

26/32

/k

Number of min. weight codewords

It follows from the Corollary that for an [n, k ]MDS codethe number of nonzero codewords of minimum weight n − k + 1 is

(q − 1)

(n

n − k + 1

)Next week we will introduce the weight distribution of a linear codeUsing the above result the weight distribution of an MDS codecan be completely determined

27/32

/k

REMARK

Let C be an [n, k , n − k + 1] codeThen it is systematic at the first k positionsHence C has a generator matrix of the form (Ik |A )

It is left as an exercise to show thatevery square submatrix of A is nonsingular

The converse is also true

28/32

/k

Cauchy matrix - 1

Let n ≤ qLet a, b, r and s be vectors of Fk

q such that ai 6= bj for all i , j

Let C (a,b) be the k × k Cauchy matrix with entries

1ai − bj

Let C (a,b; r, s) be the k × k generalized Cauchy matrix with entries

risjai − bj

29/32

/k

Cauchy matrix - 2

Let k be an integer such that 0 ≤ k ≤ nLet A (a) be the k × (n − k ) matrix with entries 1/(aj+k − ai ) for1 ≤ i ≤ k , 1 ≤ j ≤ n − kThen the Cauchy code Ck (a) is the code with generator matrix

(Ik |A (a))

If ri is not zero for all i , then A (a, r) is the k × (n − k ) matrix with entries

rj+k r−1i

aj+k − aifor 1 ≤ i ≤ k , 1 ≤ j ≤ n − k

The generalized Cauchy code Ck (a, r) is the code with generator matrix

(Ik |A (a, r))

30/32

/k

LEMMA

Let a, b, r and s be vectors of Fkq such that ai 6= bj for all i , j

Then

detC (a,b; r, s) =n∏

i=1

rin∏

j=1

sj

∏i<j (ai − aj )(bj − bi )∏n

i ,j=1(ai − bj )

Proof is left to the reader

31/32

/k

PROPOSITION

Let n ≤ qLet a be an n-tuple of mutually distinct elements of Fq

and r an n-tuple of nonzero elements of Fq

Let k be an integer such that 0 ≤ k ≤ n

Then the generalized Cauchy code Ck (a, r) is an [n, k , n − k + 1] code

32/32

/k

PROOF

Every square t × t submatrix of A is a Cauchy matrix of the form

C ((ai1, . . . , ait ), (ak+j1, . . . , ak+jt ); (b−1i1

, . . . ,b−1it

), (bk+j1, . . . ,bk+jt ))

The determinant of this matrix is not zero by the Lemmasince the entries of a are mutually distinct andthe entries of r are not zero

Hence (Ik |A (a, r)) is the generator matrix of an MDS code