26
/k Coding Theory Ruud Pellikaan [email protected] MasterMath 2MMC30 Lecture 1.3 February 18 - 2016

Coding Theory - win.tue.nlruudp/courses/2MMC30/week1-3.coding-theory.pdf · /k Coding Theory Ruud Pellikaan [email protected] MasterMath 2MMC30 Lecture 1.3 February 18 - 2016

Embed Size (px)

Citation preview

/k

Coding Theory

Ruud [email protected]

MasterMath 2MMC30

Lecture 1.3February 18 - 2016

2/26

/k

Explicit and implicit description

There are two standard ways to describe a subspace:

Explicitly by giving a basis orImplicitly by the solution spaceof a set of homogeneous linear equations

hi1X1 + · · · + hinXn = 0 for i = 1, . . . ,m

Therefore there are two ways to describe a linear codeExplicitly by a generator matrixImplicitly by the null space of a matrixH with entries hij

3/26

/k

Parity check matrix

Let C be an Fq -linear [n, k ] codeSuppose that H is an m × n matrix with entries in Fq

Let C be the null space of HSo C is the set of all c ∈ Fn

q such that HcT = 0These are called parity check equations or parity checks

The dimension k of C is at least n −mIf there are dependent rows in the matrix H , that is if k > n −mthen we can delete a few rows until we obtain an (n − k )× n matrix H ′

with independent rows and with the same null space as HSo H ′ has rank n − kSuch a matrix is called a parity check matrix of C

4/26

/k

Error detection

The parity check matrix of a code can be used for error detectionUseful in a communication channel where one asks for retransmission

C is a linear code of minimum distance d with parity check matrix HLet c be the codeword transmitted and r = c+ e is receivedThen e is the error vector and wt(e) the number of errors

H rT = 0 if there is no error andH rT 6= 0 for all e such that 0 < wt(e) < d

One can detect any pattern of t errors with t < d , but not moreIf the error vector is equal to a nonzero codeword of minimal weight dthen the receiver would assume that no errors have been madeH rT is called the syndromeof the received word r

5/26

/k

Proposition

Suppose C is an [n, k ] code

Let Ik be the k × k identity matrixLet P be a k × (n − k )matrix

Then(Ik |P ) is a generator matrix of C

if and only if

(−P T|In−k ) is a parity check matrix of C

6/26

/k

Proof

Every codeword c is of the form form c = (m, r) withm ∈ Fk

q and r = mP ∈ Fn−kq

The following statements are equivalent:

c is a codeword

−mP + r = 0

−P TmT+ rT = 0(

−P T|In−k

)(m, r)T = 0(

−P T|In−k

)cT = 0

Hence(−P T|In−k

)is a parity check matrix of C

The converse is proved similarly.

7/26

/k

Example 1 - trivial codes

The linear codes with parameters [n,0, n + 1] and [n, n,1]are the trivial codes {0} and Fn

q

Have the n × n identity matrix In andthe empty matrixas parity check matrix, respectively

8/26

/k

Example 2 - binary even weight code

The generator matrix of the binary even weight code

G =

1 0 . . . 0 0 10 1 . . . 0 0 1...

.... . .

......

...

0 0 . . . 1 0 10 0 . . . 0 1 1

Gives the parity check matrix

H = ( 1 1 · · · 1| 1 )

which is the generator matrix of the repetition code

9/26

/k

Example 3 - ISBN code

The ISBN code over the finite field Z/11Zthat satisfies the parity check equation:

b1 + 2b2 + 3b3 + · · · + 10b10 ≡ 0 mod 11

Hence has parity check matrix

H = ( 1 2 3 4 5 6 7 8 9 10 )

10/26

/k

Example 4 - Hamming code

The generator matrix G of the Hamming code

G =

1 0 0 0 0 1 10 1 0 0 1 0 10 0 1 0 1 1 00 0 0 1 1 1 1

has parity check matrix

H =

0 1 1 1 1 0 01 0 1 1 0 1 01 1 0 1 0 0 1

11/26

/k

Example 5

Consider the code C with generator matrix

G =

1 0 1 0 1 0 1 00 1 1 0 0 1 1 00 0 0 1 1 1 1 00 0 0 0 0 0 0 1

Has parity check matrix

H =

1 1 1 0 0 0 0 01 0 0 1 1 0 0 00 1 0 1 0 1 0 01 1 0 1 0 0 1 0

12/26

/k

Proposition

Let H be a parity check matrix of a code C

Then the minimum distance d of Cis the smallest integer d such thatd columns of H are linearly dependent

13/26

/k

Proof

Let h1, . . . ,hn be the columns of HLet c be a nonzero codeword of weight wLet supp(c) = {j1, . . . , jw} with 1 ≤ j1 < · · · < jw ≤ nThen HcT = 0, so

cj1 hj1 + · · · + cjw hjw = 0

with cji 6= 0 for all i = 1, . . . ,wTherefore the columns hj1, . . . ,hjw are dependent

Converse is proved similarly

14/26

/k

Cases d = 1, d = 2 and d ≥ 3

The minimum distance of code is 1 if and only if H has a zero column

Now suppose that H has no zero columnthen the minimum distance of C is at least 2

The minimum distance is equal to 2 if and only if H has two columnssay hj1,hj2 that are dependent

In the binary case that means hj1 = hj2

In other words the minimum distance of a binary code is at least 3if and only ifH has no zero columns and all columns are mutually distinctThis is the case for the [7,4,3] Hamming code

15/26

/k

Maximal length for d = 3

For a given redundancy r the length of a binary linear code Cof minimum distance 3 is at most 2r

− 1the number of all nonzero binary columns of length r

For arbitrary Fq

the number of nonzero columns with entries in Fq is q r− 1

Two such columns are dependentif and only ifone is a nonzero multiple of the other

Hence the length of an Fq -linear code code C withd (C ) ≥ 3 and redundancy r is at most

(q r− 1)/(q − 1)

16/26

/k

Projective space

A point of the projective space Pr(F)over a field F of dimension ris a line through the origin in Fr+1

A line in Pr(F) is a plane through the origin in Fr+1

More generally a projective subspace of dimension s in Pr(F)is a linear subspace of dimension s + 1 of the vector space Fr+1

and r − s is called the codimension of the subspace

17/26

/k

Homogeneous coordinates

A point in Pr(F) is denoted by its homogeneous coordinates

(x0 : x1 : · · · : xr)

with x0, x1, . . . , xr ∈ F and not all zero, where λ(x0, x1, . . . , xr), λ ∈ Fis a parametrization of the corresponding line in Fr+1

(x0 : x1 : · · · : xr) and (y0 : y1 : · · · : yr) represent the same pointif and only if(x0, x1, . . . , xr) = λ(y0, y1, . . . , yr) for some λ ∈ F∗

The standard homogeneous coordinates of (x0 : x1 : · · · : xr)is such that there exists a j with xj = 1 and xi = 0 for all i < j

18/26

/k

Projective space over a finite field

Pr(Fq) =(Fr+1q \ {0}

)/F∗q

The number of elements of Pr(Fq) is

q r+1− 1

q − 1= q r

+ q r−1+ · · · + q + 1

19/26

/k

Hamming and simplex code

Let n = (q r− 1)/(q − 1)

Let Hr(q) be a r × n matrix over Fq with nonzero columnssuch that no two columns are dependent

The code H r(q) with Hr(q) as parity check matrixis called a q-ary Hamming code

The code with Hr(q) as generator matrixis called a q-ary simplex code and is denoted by Sr(q)

20/26

/k

Parameters Hamming code

The q-ary Hamming code Hr(q) has parameters[q r− 1

q − 1,q r− 1

q − 1− r,3

]

PROOF:The rank of the matrix Hr(q) is rsince the r standard basis vectors of weight 1are among the columns of the matrixAny 2 columns are independent by constructionAnd a column of weight 2is a linear combination of two columns of weight 1

21/26

/k

Ternary Hamming code with r = 3

The ternary Hamming H3(3) code of redundancy 3has length 32

+ 3+ 1 = 13 and parity check matrix

H3(3) =

1 1 1 1 1 1 1 1 1 0 0 0 02 2 2 1 1 1 0 0 0 1 1 1 02 1 0 2 1 0 2 1 0 2 1 0 1

All rows have weight 9In fact all nonzero codewords of the simplex code S3(3) have weight 9

22/26

/k

Parameters Simplex code

The q-ary Simplex code Sr(q) has parameters[q r− 1

q − 1, r, q r−1

]

Every nonzero codeword of Sr(q) has weight q r−1

23/26

/k

Proof

Hr(q) has rank r

Let c be a nonzero codeword of the simplex codeThen c = mHr(q) for some nonzero m ∈ Fr

q

Let hTj be the j -th column of Hr(q)

Then cj = 0 if and only if m · hj = 0Now m · x = 0 is a nontrivial homogeneous linear equationThis equation has q r−1 solutions x ∈ Fr

qit has q r−1

− 1 nonzero solutionsIt has (q r−1

− 1)/(q − 1) solutions x such that xT is a column of Hr(q)since for every nonzero x ∈ Fr

q there is exactly one column in Hr(q)that is a nonzero multiple of xT

So the number of zeros of c is (q r−1− 1)/(q − 1)

Hence the weight of c is the number of nonzeros which is q r−1

24/26

/k

Inner product

The standard inner product is defined by

a · b = a1b1 + · · · + anbn

Is bilinear and non-degeneratebut "positive definite"makes no sense

Two subsets A and B of Fnq are perpendicular:

A ⊥ B if and only if a · b = 0 for all a ∈ A and b ∈ B

25/26

/k

Dual code

Let C be a linear code in Fnq

The dual code is defined by

C⊥ = { x | x · c = 0 for all c ∈ C }

PROPOSITIONLet C be an [n, k ] code with generator matrix GThen C⊥ is an [n, n − k ] code with parity check matrix G

26/26

/k

Dimension dual code

PROOF:The following statements are equivalent:

x ∈ C⊥

c · x = 0 for all c ∈ C

mGxT = 0 for all m ∈ Fkq

GxT = 0

This means that C⊥ is the null space of GG is a k × n matrix of rank kHence C⊥ has dimension n − kand G is a parity check matrix of C⊥