/k References 2/43 1. Codes, arrangements and matroids by Relinde - - PowerPoint PPT Presentation

k
SMART_READER_LITE
LIVE PREVIEW

/k References 2/43 1. Codes, arrangements and matroids by Relinde - - PowerPoint PPT Presentation

Arrangements, matroids and codes first lecture Ruud Pellikaan joint work with Relinde Jurrius ACAGM summer school Leuven Belgium, 18 July 2011 /k References 2/43 1. Codes, arrangements and matroids by Relinde Jurrius and Ruud Pellikaan,


slide-1
SLIDE 1

/k

Arrangements, matroids and codes

first lecture Ruud Pellikaan joint work with Relinde Jurrius ACAGM summer school Leuven Belgium, 18 July 2011

slide-2
SLIDE 2

2/43

/k

References

  • 1. Codes, arrangements and matroids

by Relinde Jurrius and Ruud Pellikaan, in Series on Coding Theory and Cryptology vol. 8 Algebraic geometry modelling in information theory

  • E. Martinez-Moro Ed., World Scientific 2011

http://www.win.tue.nl/∼ruudp/paper/57.pdf

  • 2. Error-correcting codes and cryptology

by R. Pellikaan, X.-W. Wu and S. Bulygin Book in preparation, February 2011 To be published by Cambridge University Press http://www.win.tue.nl/∼ruudp/courses/2WC11/2WC11-book.pdf

slide-3
SLIDE 3

3/43

/k

Introduction

✫✪ ✬✩ ✫✪ ✬✩ ✫✪ ✬✩

M C A

◮ C = error-correcting codes

(extended) weight enumerator polynomial WC(X, Y), WC(X, Y, T)

◮ M = matroids

generalization of linear algebra and graph theory (di)chromatic polynomial and Tutte polynomial tM(X, Y)

◮ A = arrangements of hyperplanes

topology, combinatorics characteristic polynomial χ(T), coboundary polynomial χ(S, T)

slide-4
SLIDE 4

4/43

/k

Content 5 lectures

  • 1. Error-correcting codes

Weight enumerator

  • 2. q-ary symmetric channel and the probability of undetected error

Arrangements and projective systems

  • 3. Extended weight enumerator

Graph theory and colorings

  • 4. Matroids

Tutte-Whitney polynomial

  • 5. Geometric lattices

Characteristic polynomial

slide-5
SLIDE 5

5/43

/k

Content first lecture

  • 1. Error-correcting codes:

Shannon, Hamming distance

  • 2. Linear codes:

Generator and parity check matrix, inner product and dual code Hamming and simplex codes

  • 3. Singleton bound and MDS codes:

Vandermonde matrices and generalized Reed-Solomon codes

  • 4. Weight enumerator:

MacWilliams identity and examples

  • 5. Exercises
slide-6
SLIDE 6

6/43

/k

Error-correcting codes

slide-7
SLIDE 7

7/43

/k

Shannon’s block diagram

source encoding sender noise receiver decoding target

message

001...

011...

message

Shannon’s block diagram of a communication system

slide-8
SLIDE 8

8/43

/k

Hamming code

4 message bits: (m1, m2, m3, m4) 3 redundant bits: (r1, r2, r3) Rule: number of ones in every circle is even

✫✪ ✬✩ ✫✪ ✬✩ ✫✪ ✬✩

r1 r2 r3 m4 m3 m2 m1

Venn diagram of the Hamming code

slide-9
SLIDE 9

9/43

/k

Block codes

The message words have a fixed length of k symbols the encoded words have a fixed length of n symbols both from the same alphabet Q Add redundant symbols to the message in a clever way An error-correcting code C of length n over Q is a non-empty subset of Q n The elements of C are called codewords If C contains M codewords, then M is called the size n − logq(M) is called the redundancy R = logq(M)/n is the information rate

slide-10
SLIDE 10

9/43

/k

Block codes

The message words have a fixed length of k symbols the encoded words have a fixed length of n symbols both from the same alphabet Q Add redundant symbols to the message in a clever way An error-correcting code C of length n over Q is a non-empty subset of Q n The elements of C are called codewords If C contains M codewords, then M is called the size n − logq(M) is called the redundancy R = logq(M)/n is the information rate

slide-11
SLIDE 11

9/43

/k

Block codes

The message words have a fixed length of k symbols the encoded words have a fixed length of n symbols both from the same alphabet Q Add redundant symbols to the message in a clever way An error-correcting code C of length n over Q is a non-empty subset of Q n The elements of C are called codewords If C contains M codewords, then M is called the size n − logq(M) is called the redundancy R = logq(M)/n is the information rate

slide-12
SLIDE 12

10/43

/k

Hamming distance

The Hamming distance d(x, y) on Q n is defined by d(x, y) = |{i : xi = yi}| It is a metric:

  • 1. d(x, y) ≥ 0 and equality hods if and only if x = y
  • 2. d(x, y) = d(y, x) (symmetry)
  • 3. d(x, z) ≤ d(x, y) + d(y, z) (triangle inequality)

x

d(x,y)

❍❍❍❍❍ ❍ ❥

y

❍ ❍ ❍ ❍ ❍ ❍ ❨

d(y,z)

✘✘✘✘✘✘✘✘✘✘✘ ✘ ✿ z ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✾

d(x,z)

slide-13
SLIDE 13

10/43

/k

Hamming distance

The Hamming distance d(x, y) on Q n is defined by d(x, y) = |{i : xi = yi}| It is a metric:

  • 1. d(x, y) ≥ 0 and equality hods if and only if x = y
  • 2. d(x, y) = d(y, x) (symmetry)
  • 3. d(x, z) ≤ d(x, y) + d(y, z) (triangle inequality)

x

d(x,y)

❍❍❍❍❍ ❍ ❥

y

❍ ❍ ❍ ❍ ❍ ❍ ❨

d(y,z)

✘✘✘✘✘✘✘✘✘✘✘ ✘ ✿ z ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✘ ✾

d(x,z)

slide-14
SLIDE 14

11/43

/k

Minimum distance

The minimum (Hamming) distance of a code C is defined as d = d(C) = min{d(x, y) : x, y ∈ C, x = y} The main problem of error-correcting codes from Hamming’s point of view is: to construct for a given length and number of codewords a code with the largest possible minimum distance and to find efficient encoding and decoding algorithms

slide-15
SLIDE 15

11/43

/k

Minimum distance

The minimum (Hamming) distance of a code C is defined as d = d(C) = min{d(x, y) : x, y ∈ C, x = y} The main problem of error-correcting codes from Hamming’s point of view is: to construct for a given length and number of codewords a code with the largest possible minimum distance and to find efficient encoding and decoding algorithms

slide-16
SLIDE 16

12/43

/k

Examples

The triple repetition binary code has length 3 and 2 codewords its information rate is 1/3 its minimum distance is 3. The binary Hamming code has length 7 and 24 codewords therefore its rate is 4/7 its minimum distance is 3

slide-17
SLIDE 17

13/43

/k

Linear codes

slide-18
SLIDE 18

14/43

/k

Linear codes

If the alphabet Q is the finite field Fq with q elements then Q n is a vector space Therefore it is natural to look at codes in Q n that are linear subspaces A linear code C is a linear subspace of Fn

q

Its dimension is denoted by k = k(C) and its minimum distance by d = d(C) Then [n, k, d]q or [n, k, d] denote the parameters of the code Size: M = qk Information rate: R = k/n Redundancy: n − k

slide-19
SLIDE 19

15/43

/k

Support and minimal weight

The support of x in Fn

q is defined by

supp(x) = {j : xj = 0} The weight of x is defined by wt(x) = |supp(x)| that is the number of nonzero entries of x Let C be an Fq-linear code, then d(C) = min{wt(c) : 0 = c ∈ C}

slide-20
SLIDE 20

15/43

/k

Support and minimal weight

The support of x in Fn

q is defined by

supp(x) = {j : xj = 0} The weight of x is defined by wt(x) = |supp(x)| that is the number of nonzero entries of x Let C be an Fq-linear code, then d(C) = min{wt(c) : 0 = c ∈ C}

slide-21
SLIDE 21

16/43

/k

Generator and parity check matrix

C an Fq-linear code of dimension k A k × n matrix G with entries in Fq is called generator matrix of C if C = { xG | x ∈ Fk

q }

A (n − k) × n matrix H with entries in Fq is called a parity check matrix of C if C = { c ∈ Fn

q | cH T = 0 }

slide-22
SLIDE 22

16/43

/k

Generator and parity check matrix

C an Fq-linear code of dimension k A k × n matrix G with entries in Fq is called generator matrix of C if C = { xG | x ∈ Fk

q }

A (n − k) × n matrix H with entries in Fq is called a parity check matrix of C if C = { c ∈ Fn

q | cH T = 0 }

slide-23
SLIDE 23

17/43

/k

Example

The binary Hamming code with parameters [7, 4, 3] has generator matrix G: G =     1 1 1 1 1 1 1 1 1 1 1 1 1     and parity check matrix H: H =   1 1 1 1 1 1 1 1 1 1 1 1  

slide-24
SLIDE 24

17/43

/k

Example

The binary Hamming code with parameters [7, 4, 3] has generator matrix G: G =     1 1 1 1 1 1 1 1 1 1 1 1 1     and parity check matrix H: H =   1 1 1 1 1 1 1 1 1 1 1 1  

slide-25
SLIDE 25

18/43

/k

Proposition

Suppose C is a [n, k] code Let Ik be the k × k identity matrix Let 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

slide-26
SLIDE 26

18/43

/k

Proposition

Suppose C is a [n, k] code Let Ik be the k × k identity matrix Let 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

slide-27
SLIDE 27

19/43

/k

Inner product and dual code

The inner product on Fn

q is defined by

x · y = x1y1 + · · · + xnyn This inner product is bilinear, symmetric and nondegenerate but the notion of positive definite makes no sense over a finite field For an [n, k] code C we define the dual or orthogonal code C ⊥ as C ⊥ = {x ∈ Fn

q : c · x = 0 for all c ∈ C}.

slide-28
SLIDE 28

19/43

/k

Inner product and dual code

The inner product on Fn

q is defined by

x · y = x1y1 + · · · + xnyn This inner product is bilinear, symmetric and nondegenerate but the notion of positive definite makes no sense over a finite field For an [n, k] code C we define the dual or orthogonal code C ⊥ as C ⊥ = {x ∈ Fn

q : c · x = 0 for all c ∈ C}.

slide-29
SLIDE 29

20/43

/k

Generator and parity check matrix of dual code

Proposition If C has length n, then dim(C) + dim(C ⊥) = n Furthermore G is a generator matrix of C if and only if G is a parity check matrix of C ⊥ H is a parity check matrix of C if and only if H is a generator matrix of C ⊥

slide-30
SLIDE 30

20/43

/k

Generator and parity check matrix of dual code

Proposition If C has length n, then dim(C) + dim(C ⊥) = n Furthermore G is a generator matrix of C if and only if G is a parity check matrix of C ⊥ H is a parity check matrix of C if and only if H is a generator matrix of C ⊥

slide-31
SLIDE 31

21/43

/k

Parity check matrix and minimum distance

Proposition Let H be a parity check matrix of a code C Then the minimum distance d of C is the smallest integer d such that d columns of H are linearly dependent Proof H parity check matrix with entries hi,j c a codeword of weight d with nonzero entries cji HcT = 0 · · · cj1 · · · cjd · · · · · · h1,j1 · · · h1,jd · · · · · · . . . · · · . . . · · · · · · h(n−k),j1 · · · h(n−k),jd · · ·

slide-32
SLIDE 32

21/43

/k

Parity check matrix and minimum distance

Proposition Let H be a parity check matrix of a code C Then the minimum distance d of C is the smallest integer d such that d columns of H are linearly dependent Proof H parity check matrix with entries hi,j c a codeword of weight d with nonzero entries cji HcT = 0 · · · cj1 · · · cjd · · · · · · h1,j1 · · · h1,jd · · · · · · . . . · · · . . . · · · · · · h(n−k),j1 · · · h(n−k),jd · · ·

slide-33
SLIDE 33

22/43

/k

Nondegenerate codes

Let G be a generator matrix of C C is called nondegenerate if for every position j there is codeword c such that cj = 0 The following statements are equivalent:

  • 1. C is nondegenerate
  • 2. G has no zero column
  • 3. d(C ⊥) ≥ 2
slide-34
SLIDE 34

22/43

/k

Nondegenerate codes

Let G be a generator matrix of C C is called nondegenerate if for every position j there is codeword c such that cj = 0 The following statements are equivalent:

  • 1. C is nondegenerate
  • 2. G has no zero column
  • 3. d(C ⊥) ≥ 2
slide-35
SLIDE 35

23/43

/k

q-ary Hamming and simplex codes

Let n = (qr − 1)/(q − 1) Let Hr(q) be a r × n matrix over Fq such that no two columns are dependent The code Hr(q) with Hr(q) as parity check matrix is called a q-ary Hamming code The code with Hr(q) as generator matrix is called a q-ary simplex code and is denoted by Sr(q) Sr(q) and Hr(q) are dual codes

slide-36
SLIDE 36

23/43

/k

q-ary Hamming and simplex codes

Let n = (qr − 1)/(q − 1) Let Hr(q) be a r × n matrix over Fq such that no two columns are dependent The code Hr(q) with Hr(q) as parity check matrix is called a q-ary Hamming code The code with Hr(q) as generator matrix is called a q-ary simplex code and is denoted by Sr(q) Sr(q) and Hr(q) are dual codes

slide-37
SLIDE 37

24/43

/k

Parameters of Hamming and Simplex codes

Let r ≥ 2 The q-ary Hamming code Hr(q) has parameters [(qr − 1)/(q − 1), (qr − 1)/(q − 1) − r, 3] The q-ary simplex code Sr(q) is a constant weight code with parameters [(qr − 1)/(q − 1), r, qr−1]

slide-38
SLIDE 38

24/43

/k

Parameters of Hamming and Simplex codes

Let r ≥ 2 The q-ary Hamming code Hr(q) has parameters [(qr − 1)/(q − 1), (qr − 1)/(q − 1) − r, 3] The q-ary simplex code Sr(q) is a constant weight code with parameters [(qr − 1)/(q − 1), r, qr−1]

slide-39
SLIDE 39

25/43

/k

Example S3(3)

Consider the ternary Hamming code S3(3)

  • f redundancy 3 of length 13 with parity check matrix

H3(3) =   1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1   . The code H3(3) has parameters [13, 10, 3] The code S3(3) has parameters [13, 3, 9] All rows of H3(3) have weight 9 In fact all nonzero codewords have weight 9

slide-40
SLIDE 40

25/43

/k

Example S3(3)

Consider the ternary Hamming code S3(3)

  • f redundancy 3 of length 13 with parity check matrix

H3(3) =   1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 2 1 2 1 2 1 2 1 1   . The code H3(3) has parameters [13, 10, 3] The code S3(3) has parameters [13, 3, 9] All rows of H3(3) have weight 9 In fact all nonzero codewords have weight 9

slide-41
SLIDE 41

26/43

/k

Singleton bound and MDS codes

slide-42
SLIDE 42

27/43

/k

Singleton bound

Theorem If C is an [n, k, d] code, then d ≤ n − k + 1 Proof Let H be a parity check matrix of C This is an (n − k) × n matrix There exist n − k + 1 dependent columns in fact every (n − k + 1)-tuple of columns is dependent Now d(C) is the smallest integer d such that H has d linearly dependent columns So d ≤ n − k + 1

slide-43
SLIDE 43

27/43

/k

Singleton bound

Theorem If C is an [n, k, d] code, then d ≤ n − k + 1 Proof Let H be a parity check matrix of C This is an (n − k) × n matrix There exist n − k + 1 dependent columns in fact every (n − k + 1)-tuple of columns is dependent Now d(C) is the smallest integer d such that H has d linearly dependent columns So d ≤ n − k + 1

slide-44
SLIDE 44

28/43

/k

MDS codes

Definition Let C be a [n, k, n − k + 1] code Then C is called a maximum distance separable (MDS) code From the Singleton bound, an MDS code achieves the maximum possible value for the minimum distance given its length and dimension Examples The minimum distance of the zero code of length n is n + 1, by definition Hence the zero code has parameters [n, 0, n + 1] and is MDS Its dual is the whole space Fn

q with parameters [n, n, 1] and is also MDS

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

slide-45
SLIDE 45

28/43

/k

MDS codes

Definition Let C be a [n, k, n − k + 1] code Then C is called a maximum distance separable (MDS) code From the Singleton bound, an MDS code achieves the maximum possible value for the minimum distance given its length and dimension Examples The minimum distance of the zero code of length n is n + 1, by definition Hence the zero code has parameters [n, 0, n + 1] and is MDS Its dual is the whole space Fn

q with parameters [n, n, 1] and is also MDS

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

slide-46
SLIDE 46

28/43

/k

MDS codes

Definition Let C be a [n, k, n − k + 1] code Then C is called a maximum distance separable (MDS) code From the Singleton bound, an MDS code achieves the maximum possible value for the minimum distance given its length and dimension Examples The minimum distance of the zero code of length n is n + 1, by definition Hence the zero code has parameters [n, 0, n + 1] and is MDS Its dual is the whole space Fn

q with parameters [n, n, 1] and is also MDS

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

slide-47
SLIDE 47

29/43

/k

Dual of an MDS code

Proposition Let C be an [n, k, d] code over Fq Then the following statements are equivalent:

  • 1. C is an MDS code,
  • 2. every n − k columns of a parity check matrix H of C are linearly

independent,

  • 3. every k columns of a generator matrix G of C are linearly

independent. Corollary The dual of an MDS code is again MDS

slide-48
SLIDE 48

29/43

/k

Dual of an MDS code

Proposition Let C be an [n, k, d] code over Fq Then the following statements are equivalent:

  • 1. C is an MDS code,
  • 2. every n − k columns of a parity check matrix H of C are linearly

independent,

  • 3. every k columns of a generator matrix G of C are linearly

independent. Corollary The dual of an MDS code is again MDS

slide-49
SLIDE 49

30/43

/k

Vandermonde matrices and MDS codes

Proposition Let n ≤ q Let a = (a1, . . . , an) be an n-tuple of mutually distinct elements of Fq Let k be an integer such that 0 ≤ k ≤ n Define the matrix Gk(a) by Gk(a) =      1 · · · 1 a1 · · · an . . . ... . . . ak−1

1

· · · ak−1

n

     The code with generator matrix Gk(a) is MDS Proof All k × k submatrices are Vandermonde matrices and their determinants are not zero

slide-50
SLIDE 50

30/43

/k

Vandermonde matrices and MDS codes

Proposition Let n ≤ q Let a = (a1, . . . , an) be an n-tuple of mutually distinct elements of Fq Let k be an integer such that 0 ≤ k ≤ n Define the matrix Gk(a) by Gk(a) =      1 · · · 1 a1 · · · an . . . ... . . . ak−1

1

· · · ak−1

n

     The code with generator matrix Gk(a) is MDS Proof All k × k submatrices are Vandermonde matrices and their determinants are not zero

slide-51
SLIDE 51

31/43

/k

Reed-Solomon codes

f(X) = f0 + f1X + · · · + fiX i + · · · + fk−1X k−1 ∈ Fq[X] a1 · · · an f0 1 · · · 1 1 f1 a1 · · · an X . . . . . . ... . . . . . . fi ai

1

· · · ai

n

X i . . . . . . ... . . . . . . fk−1 ak−1

1

· · · ak−1

n

X k−1 f(a1) · · · f(an) f(X) The linear combination of the rows of Gk(a) is equal to the evaluation of f(X) at a1, . . . , an

slide-52
SLIDE 52

31/43

/k

Reed-Solomon codes

f(X) = f0 + f1X + · · · + fiX i + · · · + fk−1X k−1 ∈ Fq[X] a1 · · · an f0 1 · · · 1 1 f1 a1 · · · an X . . . . . . ... . . . . . . fi ai

1

· · · ai

n

X i . . . . . . ... . . . . . . fk−1 ak−1

1

· · · ak−1

n

X k−1 f(a1) · · · f(an) f(X) The linear combination of the rows of Gk(a) is equal to the evaluation of f(X) at a1, . . . , an

slide-53
SLIDE 53

32/43

/k

Generalized Reed-Solomon codes

a = (a1, . . . , an) an n-tuple of mutually distinct elements of Fq b = (b1, . . . , bn) an n-tuple of nonzero elements of Fq GRSk(a, b) = { (f(a1)b1, . . . , f(an)bn) | f(X) ∈ Fq[X], deg(f(X)) < k } Generator matrix: Gk(a, b) =      b1 · · · bj · · · bn a1b1 · · · ajbj · · · anbn . . . · · · . . . · · · . . . ak−1

1

b1 · · · ak−1

j

bj · · · ak−1

n

bn      MDS code with parameters: [n, k, n − k + 1] if k ≤ n

slide-54
SLIDE 54

32/43

/k

Generalized Reed-Solomon codes

a = (a1, . . . , an) an n-tuple of mutually distinct elements of Fq b = (b1, . . . , bn) an n-tuple of nonzero elements of Fq GRSk(a, b) = { (f(a1)b1, . . . , f(an)bn) | f(X) ∈ Fq[X], deg(f(X)) < k } Generator matrix: Gk(a, b) =      b1 · · · bj · · · bn a1b1 · · · ajbj · · · anbn . . . · · · . . . · · · . . . ak−1

1

b1 · · · ak−1

j

bj · · · ak−1

n

bn      MDS code with parameters: [n, k, n − k + 1] if k ≤ n

slide-55
SLIDE 55

33/43

/k

Weight enumerator

slide-56
SLIDE 56

34/43

/k

Weight enumerator

Let C be a code of length n The weight spectrum or weight distribution is the set {(w, Aw) : w = 0, 1, . . . , n} where Aw denotes the number of codewords in C of weight w The weight enumerator is the polynomial: WC(Z) =

n

  • w=0

AwZ w. The homogeneous weight enumerator is: WC(X, Y) =

n

  • w=0

AwX n−wY w.

slide-57
SLIDE 57

34/43

/k

Weight enumerator

Let C be a code of length n The weight spectrum or weight distribution is the set {(w, Aw) : w = 0, 1, . . . , n} where Aw denotes the number of codewords in C of weight w The weight enumerator is the polynomial: WC(Z) =

n

  • w=0

AwZ w. The homogeneous weight enumerator is: WC(X, Y) =

n

  • w=0

AwX n−wY w.

slide-58
SLIDE 58

35/43

/k

Example: trivial codes

The zero code has one codeword and its weight is zero Hence W{0}(X, Y) = X n The number of words of weight w in the trivial code Fn

q is

Aw = n w

  • (q − 1)w

So WFn

q(X, Y) =

n

  • w=0

n w

  • (q − 1)wX n−wY w = (X + (q − 1)Y)n
slide-59
SLIDE 59

35/43

/k

Example: trivial codes

The zero code has one codeword and its weight is zero Hence W{0}(X, Y) = X n The number of words of weight w in the trivial code Fn

q is

Aw = n w

  • (q − 1)w

So WFn

q(X, Y) =

n

  • w=0

n w

  • (q − 1)wX n−wY w = (X + (q − 1)Y)n
slide-60
SLIDE 60

36/43

/k

Example: repetition and even weight code

The n-fold repetition code C has homogeneous weight enumerator WC(X, Y) = X n + (q − 1)Y n In the binary case its dual is the even weight code Hence it has homogeneous weight enumerator: WC⊥(X, Y) =

⌊n/2⌋

  • t=0

n 2t

  • X n−2tY 2t = 1

2

  • (X + Y)n + (X − Y)n
slide-61
SLIDE 61

36/43

/k

Example: repetition and even weight code

The n-fold repetition code C has homogeneous weight enumerator WC(X, Y) = X n + (q − 1)Y n In the binary case its dual is the even weight code Hence it has homogeneous weight enumerator: WC⊥(X, Y) =

⌊n/2⌋

  • t=0

n 2t

  • X n−2tY 2t = 1

2

  • (X + Y)n + (X − Y)n
slide-62
SLIDE 62

37/43

/k

Example: [7, 4, 3] binary Hamming code

The nonzero entries of the weight distribution are A0 = 1, A3 = 7, A4 = 7, A7 = 1 by inspection of all the 16 codewords Hence its homogeneous weight enumerator is X 7 + 7X 4Y 3 + 7X 3Y 4 + Y 7

slide-63
SLIDE 63

37/43

/k

Example: [7, 4, 3] binary Hamming code

The nonzero entries of the weight distribution are A0 = 1, A3 = 7, A4 = 7, A7 = 1 by inspection of all the 16 codewords Hence its homogeneous weight enumerator is X 7 + 7X 4Y 3 + 7X 3Y 4 + Y 7

slide-64
SLIDE 64

38/43

/k

Example: simplex code Sr(q)

This is a constant weight code with parameters [(qr − 1)/(q − 1), r, qr−1] Hence its homogeneous weight enumerator is WSr(q)(X, Y) = X n + (qr − 1)X n−qr−1Y qr−1

slide-65
SLIDE 65

38/43

/k

Example: simplex code Sr(q)

This is a constant weight code with parameters [(qr − 1)/(q − 1), r, qr−1] Hence its homogeneous weight enumerator is WSr(q)(X, Y) = X n + (qr − 1)X n−qr−1Y qr−1

slide-66
SLIDE 66

39/43

/k

MacWilliams identity

Theorem Let C be a [n, k] code over Fq Then WC⊥(X, Y) = q−kWC(X + (q − 1)Y, X − Y) Proof Several proofs are known One will be given at the end by means of the Tutte polynomial

slide-67
SLIDE 67

39/43

/k

MacWilliams identity

Theorem Let C be a [n, k] code over Fq Then WC⊥(X, Y) = q−kWC(X + (q − 1)Y, X − Y) Proof Several proofs are known One will be given at the end by means of the Tutte polynomial

slide-68
SLIDE 68

40/43

/k

Example: dual repetition code

The n-fold repetition code C has homogeneous weight enumerator WC(X, Y) = X n + (q − 1)Y n Using MacWilliams identity gives the homogeneous weight enumerator of its dual: WC⊥(X, Y) = q−1WC(X + (q − 1)Y, X − Y) = q−1((X + (q − 1)Y)n + (q − 1)(X − Y)n) =

n

  • w=0

n w (q − 1)w + (q − 1)(−1)w q X n−wY w

slide-69
SLIDE 69

40/43

/k

Example: dual repetition code

The n-fold repetition code C has homogeneous weight enumerator WC(X, Y) = X n + (q − 1)Y n Using MacWilliams identity gives the homogeneous weight enumerator of its dual: WC⊥(X, Y) = q−1WC(X + (q − 1)Y, X − Y) = q−1((X + (q − 1)Y)n + (q − 1)(X − Y)n) =

n

  • w=0

n w (q − 1)w + (q − 1)(−1)w q X n−wY w

slide-70
SLIDE 70

41/43

/k

Exercises

slide-71
SLIDE 71

42/43

/k

Exercises first lecture

  • 1. Check MacWilliams identity for the binary [7, 4, 3] Hamming code

and its dual the [7, 3, 4] simplex code.

  • 2. Compute the weight enumerators of the ternary Hamming H3(3)

code and its dual the Simplex S3(3) code. Show that MacWilliams identity holds.

  • 3. Compute the weight spectrum of the dual of the q-ary n-fold

repetition code directly, without using MacWilliams identity. Compare this result as given in the lecture.

  • 4. Consider the code with generator matrix (Ik|Ik).

Show that its weight enumerator is equal (X 2 + (q − 1)Y 2)k. Show that the code is self dual if and only if q is even. Verify that this code is formally self-dual, that is the code and its dual have the same weight enumerator.

slide-72
SLIDE 72

43/43

/k

Exercises first lecture

  • 5. Let C be the code over Fq with generator matrix G given by

G =   1 1 1 1 1 1 1 1 1 1 1 1   Determine the finite fields Fq such that the code C contains a word

  • f weight 7?