We saw in the last chapter that the linear Hamming codes are nontrivial perfect codes.

Similar documents
ELEC 519A Selected Topics in Digital Communications: Information Theory. Hamming Codes and Bounds on Codes

Lecture 17: Perfect Codes and Gilbert-Varshamov Bound

On non-antipodal binary completely regular codes

Codes over Subfields. Chapter Basics

Chapter 2. Error Correcting Codes. 2.1 Basic Notions

ELEC 405/ELEC 511 Error Control Coding and Sequences. Hamming Codes and the Hamming Bound

ELEC 405/ELEC 511 Error Control Coding. Hamming Codes and Bounds on Codes

Lecture 14: Hamming and Hadamard Codes

Arrangements, matroids and codes

Know the meaning of the basic concepts: ring, field, characteristic of a ring, the ring of polynomials R[x].

11 Minimal Distance and the Parity Check Matrix

FUNDAMENTALS OF ERROR-CORRECTING CODES - NOTES. Presenting: Wednesday, June 8. Section 1.6 Problem Set: 35, 40, 41, 43

The Witt designs, Golay codes and Mathieu groups

3. Coding theory 3.1. Basic concepts

MATH32031: Coding Theory Part 15: Summary

Combinatória e Teoria de Códigos Exercises from the notes. Chapter 1

Chapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005

MATH3302. Coding and Cryptography. Coding Theory

Coding Theory. Golay Codes

7.1 Definitions and Generator Polynomials

The extended Golay code

Week 3: January 22-26, 2018

Finite Mathematics. Nik Ruškuc and Colva M. Roney-Dougal

MATH 291T CODING THEORY

Tilings of Binary Spaces

FRACTIONAL FACTORIAL DESIGNS OF STRENGTH 3 AND SMALL RUN SIZES

EE512: Error Control Coding

EE 229B ERROR CONTROL CODING Spring 2005

Hamming codes and simplex codes ( )

ORTHOGONAL ARRAYS OF STRENGTH 3 AND SMALL RUN SIZES

Answers and Solutions to (Even Numbered) Suggested Exercises in Sections of Grimaldi s Discrete and Combinatorial Mathematics

MATH 291T CODING THEORY

Lecture 2 Linear Codes

Hamming Codes 11/17/04

: Coding Theory. Notes by Assoc. Prof. Dr. Patanee Udomkavanich October 30, upattane

Section 3 Error Correcting Codes (ECC): Fundamentals

Finite fields: some applications Michel Waldschmidt 1

1. How many errors may be detected (not necessarily corrected) if a code has a Hamming Distance of 6?

Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014

Some error-correcting codes and their applications

Hypercube Coloring and the Structure of Binary Codes

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x f(x) = q(x)h(x) + r(x),

Homework 3 Solutions, Math 55

MATH Examination for the Module MATH-3152 (May 2009) Coding Theory. Time allowed: 2 hours. S = q

Orthogonal Arrays & Codes

G Solution (10 points) Using elementary row operations, we transform the original generator matrix as follows.

We want to show P (n) is true for all integers

Solutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16

On Locating-Dominating Codes in Binary Hamming Spaces

The Golay code. Robert A. Wilson. 01/12/08, QMUL, Pure Mathematics Seminar

Self-Dual Cyclic Codes

On Perfect Codes and Related Concepts

Chapter 3 Linear Block Codes

MATH3302 Coding Theory Problem Set The following ISBN was received with a smudge. What is the missing digit? x9139 9

Mathematics Department

On the Nonexistence of Perfect 2- and 3-Hamming-Error-Correcting Codes over GF(q)

Open problems on cyclic codes

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x

Math 109 HW 9 Solutions

The Hamming Codes and Delsarte s Linear Programming Bound

Problems for Putnam Training

Homework #1. Denote the sum we are interested in as To find we subtract the sum to find that

Math 896 Coding Theory

De Bruijn Cycles for Covering Codes

ELEC-E7240 Coding Methods L (5 cr)

CYCLIC SIEVING FOR CYCLIC CODES

MAS309 Coding theory

Error Detection and Correction: Hamming Code; Reed-Muller Code

Math 512 Syllabus Spring 2017, LIU Post

Complete Induction and the Well- Ordering Principle

exercise in the previous class (1)

CSC 344 Algorithms and Complexity. Proof by Mathematical Induction

Solutions for Chapter Solutions for Chapter 17. Section 17.1 Exercises

Coding Theory and Applications. Linear Codes. Enes Pasalic University of Primorska Koper, 2013

Extended 1-perfect additive codes

TC08 / 6. Hadamard codes SX

Lecture Introduction. 2 Linear codes. CS CTT Current Topics in Theoretical CS Oct 4, 2012

Putnam Greedy Algorithms Cody Johnson. Greedy Algorithms. May 30, 2016 Cody Johnson.

Definition 2.1. A metric (or distance function) defined on a non-empty set X is a function d: X X R that satisfies: For all x, y, and z in X :

Lecture B04 : Linear codes and singleton bound

And for polynomials with coefficients in F 2 = Z/2 Euclidean algorithm for gcd s Concept of equality mod M(x) Extended Euclid for inverses mod M(x)

Circulant Hadamard matrices as HFP-codes of type C 4n C 2. arxiv: v1 [math.co] 26 Nov 2017

Vector spaces. EE 387, Notes 8, Handout #12

Linear Block Codes. Saravanan Vijayakumaran Department of Electrical Engineering Indian Institute of Technology Bombay

MTH6108 Coding theory

Plotkin s Bound in Codes Equipped with the Euclidean Weight Function

Lower bound of the covering radius of binary irreducible Goppa codes

Some codes related to BCH-codes of low dimension

arxiv: v4 [cs.it] 14 May 2013

Solutions to Assignment 1

MT5821 Advanced Combinatorics

Improved Upper Bounds on Sizes of Codes

Linear Codes and Syndrome Decoding

Lecture 6 & 7. Shuanglin Shao. September 16th and 18th, 2013

Elementary 2-Group Character Codes. Abstract. In this correspondence we describe a class of codes over GF (q),

LINEAR ALGEBRA - CHAPTER 1: VECTORS

Lower Bounds for q-ary Codes with Large Covering Radius

Coding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013

Math 314H Solutions to Homework # 3

Lecture 12: November 6, 2017

Transcription:

Chapter 5 Golay Codes Lecture 16, March 10, 2011 We saw in the last chapter that the linear Hamming codes are nontrivial perfect codes. Question. Are there any other nontrivial perfect codes? Answer. Yes, two other linear perfect codes were found by M.J.E. Golay in 1949. In addition, several nonlinear perfect codes are known that have the same n, M and d parameters as Hamming codes. The condition for a code to be perfect is that its n, M and d values satisfy the spherepacking bound M t k=0 ( ) n (q 1) k = q n, k with d = 2t + 1. Golay found three other possible integer triples (n, M, d) that do not correspond to the parameters of a Hamming or trivial perfect code. They are (23, 2 12, 7) and (90, 2 78, 5) for q = 2 and (11, 3 6, 5) for q = 3. Problem 5.1. Show that the (n, M, d) triples (23, 2 12, 7), (90, 2 78, 5) for q = 2, and (11, 3 6, 5) for q = 3 satisfy the sphere-packing bound. It turns out that there do indeed exist linear binary [23, 12, 7] (section 1) and ternary [11, 6, 5] (section 2) codes; these are known as Golay codes. But, for parameters (90, 2 78, 5) we have the following theorem 53

54 Math 422. Coding Theory Recall the proof of Theorem 1.4 (Sphere-Packing Bound Theorem) If there is a q-ary (n, M, 2t + 1)-code C, then we have t ( ) n M (q 1) k q n. k k=0 If the equality occurs, then C is called a perfect code. Remark. For any x Fq n and t Z 0, the sphere S(x, t) of radius t and center x is the set S(x, t) = {z Fq n d(z, x) t}. Then if C is a perfect q-ary (n, M, 2t + 1)-code, then we have S(x, t) = Fq n. x C Theorem 5.1 (Nonexistence of binary (90, 2 78, 5) codes). There exist no binary (90, 2 78, 5) codes. Proof. Suppose C is a binary (90, 2 78, 5) code. By equivalence, without loss of generality we may assume that 0 C. Let Y be the set of vectors in F 90 2 of weight 3 that begin with two 1s. Since there are 88 possible positions for the third one, Y = 88. From Problem 5.1, we know that C is perfect, with d(c) = 5. Thus each y Y is within a distance 2 from a unique codeword x. But then from the triangle inequality, 2 = d(c) wt(y) wt(x) wt(y) wt(x y) = d(x, y) 2, from which we see that wt(x) = 5 and d(x, y) = wt(x y) = 2. This means that x must have a 1 in every position that y does. Let X be the set of all codewords of weight 5 that begin with two 1s. We know that for each y Y there is a unique x X such that d(x, y) = 2. That is, there are exactly Y = 88 elements in the set {(x, y) x X, y Y, d(x, y) = 2}. But each x X contains exactly three ones after the first two positions. Thus, for each x X there are precisely three vectors y Y such that d(x, y) = 2. That is, 3 X = 88. This is a contradiction, since X must be an integer. Now let s construct the Golay codes and show some properties. 5.1 Binary Golay codes Remark. A convenient way of finding a binary [23, 12, 7] Golay code is to construct first the extended Golay [24, 12, 8] code, which is just the [23, 12, 7] Golay code augmented with a final parity check in the last position.

5.1. Binary Golay codes 55 Definition 5.1 (Extended binary Golay codes). Let G be the 12 24 matrix G = [I 12 A], where I 12 is the 12 12 identity matrix and A is the 12 12 matrix 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 A =, A t = A 1 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 The binary linear code with generator matrix G is called the extended binary Golay code and will be denoted by G 24. Proposition 5.2 (Properties of the extended binary Golay code). of G 24 is 24 and its dimension is 12. 1). The length 2). A parity-check matrix for G 24 is the 12 24 matrix H = [A I 12 ]. 3). The code G 24 is self-dual, i.e., G 24 = G 24. 4). Another parity-check matrix for G 24 is the 12 24 matrix H = [I 12 A] (= G). 5). Another generator matrix for G 24 is the 12 24 matrix G = [A I 12 ] (= H). 6). The weight of every codeword in G 24 is a multiple of 4. 7). The code G 24 has no codeword of weight 4, so the minimum distance of G 24 is d = 8. 8). The code G 24 is an exactly three-error-correcting code. Proof. 1). This is clear from the definition. 2). This follows from the Theorem in Chapter 3. 3). Note that the rows of G are orthogonal; i.e., if r i and r j are any two rows of G, then r i r j = 0. This implies that G 24 G 24. On the other hand, since both G 24 and G 24 have dimension 12, we must have G 24 = G 24.

56 Math 422. Coding Theory 4). A parity-check matrix of G 24 is a generator matrix of G 24 = G 24, and G is one such matrix. 5). A generator matrix of G 24 is a parity-check matrix of G 24 = G 24, and H is one such matrix. 6). Let v be a codeword in G 24. We want to show that wt(v) is a multiple of 4. Note that v is a linear combination of the rows of G. Let r i denote the i-th row of G. First, suppose v is one of the rows of G. Since the rows of G have weight 8 or 12, the weight of v is a multiple of 4. Next, let v be the sum v = r i + r j of two different rows of G. Since G 24 is self-dual, Exercise 3.2 in Exercise 2 for midterm shows that the weight of v is divisible by 4. We then continue by induction to finish the proof. 7). Note that the last row of G is a codeword of weight 8. This fact, together with statement 6) of this proposition, implies that d = 4 or 8. Suppose G 24 contains a nonzero codeword v with wt(v) = 4. Write v as (v 1, v 2 ), where v 1 is the vector (of length 12) made up of the first 12 coordinates of v, and v 2 is the vector (also of length 12) made up of the last 12 coordinates of v. Then one of the following situations must occur: Case 1: wt(v 1 ) = 0 and wt(v 2 ) = 4. This cannot possibly happen since, by looking at the generator matrix G, the only such word is 0, which is of weight 0. Case 2: wt(v 1 ) = 1 and wt(v 2 ) = 3. In this case, again by looking at G, v must be one of the rows of G, which is again a contradiction. Case 3: wt(v 2 ) = 2 and wt(v 2 ) = 2. Then v is the sum of two of the rows of G. It is easy to check that none of such sums would give wt(v 2 ) = 2. Case 4: wt(v 1 ) = 3 and wt(v 2 ) = 1. Since G is a generator matrix, v must be one of the rows of G, which clearly gives a contradiction. Case 5: wt(v 1 ) = 4 and wt(v 2 ) = 1. This case is similar to case 1, using G instead of G. Since we obtain contradictions in all these cases, d = 4 is impossible. Thus, d = 8. 8). This follows from statement 7) above and Theorem 1.1. Definition 5.3 (Binary Golay code). Let Ĝ be the 12 23 matrix Ĝ = [I 12 Â] where I 12 is the 12 12 identity matrix and  is the 12 11 matrix obtained from the matrix

5.2. Ternary Golay codes 57 A by deleting the last column of A. The binary linear code with generator matrix Ĝ is called the binary Golay code and will be denoted by G 23. Remark. Alternatively, the binary Golay code can be defined as the code obtained from G 24 by deleting the last digit of every codeword. Proposition 5.4 (Properties of the binary Golay code). 23 and its dimension is 12. 1). The length of G 23 is 2). A parity-check matrix for G 23 is the 11 23 matrix Ĥ = [Ât I 11 ]. 3). The extended code of G 23 is G 24. 4). The distance of G 23 is d = 7. 5). The code G 23 is a perfect exactly three-error-correcting code. Lecture 17, March 15, 2011 5.2 Ternary Golay codes Definition 5.5 (Extended ternary Golay code). The extended ternary Golay code, denoted by G 12, is the ternary linear code with generator matrix G = [I 6 B], where B is the 6 6 matrix 0 1 1 1 1 1 1 0 1 2 2 1 B = 1 1 0 1 2 2 1 2 1 0 1 2, B t = B 1 2 2 1 0 1 1 1 2 2 1 0 Remark. Any linear code that is equivalent to the above code is also called an extended ternary Golay code. Definition 5.6 (Ternary Golay code). The ternary Golay code G 11 is the code obtained by puncturing G 12 in the last digit. Proposition 5.7. 1). A parity-check matrix for G 12 is the 6 12 matrix H = [ B I 6 ]. 2). The code G 12 is self-dual, i.e., G 12 = G 12.

58 Math 422. Coding Theory 3). Another parity-check matrix for G 12 is the 6 12 matrix H = [I 6 B] (= G). 4). Another generator matrix for G 12 is the 6 12 matrix G = [ B I 6 ] (= H). 5). The weight of every codeword in G 12 is a multiple of 3. 6). The code G 12 has no codeword of weight 3, so the minimum distance of G 12 is d = 6. 7). The distance of G 11 is d = 5. 8). The code G 12 is an exactly two-error-correcting code. 9). The code G 11 is a perfect exactly two-error-correcting code. 5.3 Remarks on perfect codes The following codes are obviously perfect codes and are called trivial perfect codes: 1). The linear code C = Fq n (In this case d = 1); 2). Any code C with C = 1 (In this case d is big enough number, such as d = 2n + 1); 3). Binary repetition codes of odd lengths consisting of two codewords at distance n from each other (d = n = 2k + 1). In these two chapters, we have seen that the Hamming codes and the Golay codes are examples of nontrivial perfect codes. In fact, the following result is true. Theorem 5.2 (Tietäväinen, Van Lint). In 1973, they proved that any nontrivial perfect code over the field Fq n must either have the parameters ( qr 1, q 1 qn r, 3) of a Hamming code, the parameters (23, 2 12, 7) of the binary Golay code, or the parameters (11, 3 6, 5) of the ternary Golay code.