Math 512 Syllabus Spring 2017, LIU Post

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

MATH32031: Coding Theory Part 15: Summary

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

MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups.

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

EE 229B ERROR CONTROL CODING Spring 2005

B. Cyclic Codes. Primitive polynomials are the generator polynomials of cyclic codes.

MATH 291T CODING THEORY

ERROR CORRECTING CODES

Name: Handed out: 14 November Math 4310 Take-home Prelim 2 Solutions OFFICIAL USE ONLY 1. / / / / / 16 6.

MATH 291T CODING THEORY

Week 3: January 22-26, 2018

3. Coding theory 3.1. Basic concepts

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

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

ECEN 604: Channel Coding for Communications

MATH 433 Applied Algebra Lecture 22: Review for Exam 2.

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

Assume that the follow string of bits constitutes one of the segments we which to transmit.

Mathematics Department

7.1 Definitions and Generator Polynomials

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

Information redundancy

MATH3302. Coding and Cryptography. Coding Theory

Ma/CS 6b Class 25: Error Correcting Codes 2

The extended coset leader weight enumerator

Chapter 2. Error Correcting Codes. 2.1 Basic Notions

Can You Hear Me Now?

9 THEORY OF CODES. 9.0 Introduction. 9.1 Noise

Lecture 12. Block Diagram

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

00000, 01101, 10110, Find the information rate and the minimum distance of the binary code 0000, 0101, 0011, 0110, 1111, 1010, 1100, 1001.

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

MT361/461/5461 Error Correcting Codes: Preliminary Sheet

16.36 Communication Systems Engineering

Error Correcting Codes: Combinatorics, Algorithms and Applications Spring Homework Due Monday March 23, 2009 in class

Math 113 Midterm Exam Solutions

Outline. MSRI-UP 2009 Coding Theory Seminar, Week 2. The definition. Link to polynomials

Review 1 Math 321: Linear Algebra Spring 2010

EE512: Error Control Coding

} has dimension = k rank A > 0 over F. For any vector b!

Cyclic Redundancy Check Codes

Arrangements, matroids and codes

ELEC3227/4247 Mid term Quiz2 Solution with explanation

Chapter 5. Cyclic Codes

Linear Algebra. F n = {all vectors of dimension n over field F} Linear algebra is about vectors. Concretely, vectors look like this:

An Introduction to (Network) Coding Theory

An Introduction to (Network) Coding Theory

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

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

Skew cyclic codes: Hamming distance and decoding algorithms 1

Abstract Vector Spaces and Concrete Examples

Math 110: Worksheet 3

Error-Correcting Codes

Vector Spaces and Linear Transformations

MAS309 Coding theory

Cyclic codes: overview

Physical Layer and Coding

Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Discussion 6A Solution

Modular numbers and Error Correcting Codes. Introduction. Modular Arithmetic.

Generator Matrix. Theorem 6: If the generator polynomial g(x) of C has degree n-k then C is an [n,k]-cyclic code. If g(x) = a 0. a 1 a n k 1.

11 Minimal Distance and the Parity Check Matrix

6.1.1 What is channel coding and why do we use it?

MTH6108 Coding theory

A Brief Encounter with Linear Codes

Lecture B04 : Linear codes and singleton bound

MATH PRACTICE EXAM 1 SOLUTIONS

: Error Correcting Codes. October 2017 Lecture 1

Lecture 3: Error Correcting Codes

Test 1 Review Problems Spring 2015

Codes over Subfields. Chapter Basics

Error Detection & Correction

x n k m(x) ) Codewords can be characterized by (and errors detected by): c(x) mod g(x) = 0 c(x)h(x) = 0 mod (x n 1)

Introduction to error-correcting codes.

Channel Coding I. Exercises SS 2017

Section 3 Error Correcting Codes (ECC): Fundamentals

Solutions to problems from Chapter 3

SYMBOL EXPLANATION EXAMPLE

CSE 123: Computer Networks

Linear Codes and Syndrome Decoding

ELG 5372 Error Control Coding. Lecture 12: Ideals in Rings and Algebraic Description of Cyclic Codes

Lecture 4: Codes based on Concatenation

A Little Beyond: Linear Algebra

MATH/MTHE 406 Homework Assignment 2 due date: October 17, 2016

Math 353, Practice Midterm 1

Objective: To become acquainted with the basic concepts of cyclic codes and some aspects of encoder implementations for them.

Optimum Soft Decision Decoding of Linear Block Codes

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

ECE8771 Information Theory & Coding for Digital Communications Villanova University ECE Department Prof. Kevin M. Buckley Lecture Set 2 Block Codes

LINEAR ALGEBRA BOOT CAMP WEEK 1: THE BASICS

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

Hamming codes and simplex codes ( )

Lecture Summaries for Linear Algebra M51A

Lecture 8: Channel and source-channel coding theorems; BEC & linear codes. 1 Intuitive justification for upper bound on channel capacity

ELEC-E7240 Coding Methods L (5 cr)

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

Linear Algebra Notes. Lecture Notes, University of Toronto, Fall 2016

2. (10 pts) How many vectors are in the null space of the matrix A = 0 1 1? (i). Zero. (iv). Three. (ii). One. (v).

Reed Muller Error Correcting Codes

Math 309 Notes and Homework for Days 4-6

Transcription:

Week Class Date Material Math 512 Syllabus Spring 2017, LIU Post 1 1/23 ISBN, error-detecting codes HW: Exercises 1.1, 1.3, 1.5, 1.8, 1.14, 1.15 If x, y satisfy ISBN-10 check, then so does x + y. 2 1/30 Hamming [7,4] code HW: Exercises 1.19-1.24. Bonus: Generalize Hamming [7, 4] code to a code with r check bits. 3 2/6 Linear Algebra over finite fields HW: Homework 3 handout. 4 2/13 Quiz 1 Weights, distances, and detection/correction. HW: Homework 4 handout 5 2/21 Error correction ( 3.2) Probabilities ( 3.4) HW: Homework 5 handout 6 2/27 Sphere packing (Hamming) bound and Perfect codes ( 2.8) HW: Study for Quiz 2 7 3/6 Quiz 2 Polynomials and finite fields Optional HW handout 3/13 Spring Break 8 3/20 Polynomial codes ( 4-5) HW: Homework 7 Handout 9 3/27 Principal ideals, cyclic codes 10 4/3 Error-correction in cyclic codes Field extensions and minimal distances HW: Homework 8 Handout 11 4/10 Arithmetic in Galois Fields Reed Solomon codes HW: Homework 9 Handout 12 4/17 Quiz 3 Reed Solomon codes continued 13 4/24 Review 5/1 Final Exam

Linear algebra info - MTH 512 In a linear algebra course, one is primarily concerned with linear maps between vector spaces. A map is linear if it is compatible with both vector addition and scalar multiplication. Definition 0.1. A vector space over a field F is a set V equipped with binary operations + (vector addition) and (scalar multiplication) V V + V, F V V satisfying the following axioms (for all v, w, x V and r, s F): 1. v + w = w + v (addition commutative) 2. (v + w) + x = v + (w + x) (addition associative) 3. 0 V such that v + 0 = v for all v (additive identity) 4. v V, ( v) V such that v + ( v) = 0 (additive inverse) 5. r(v + w) = rv + rw (distributive) 6. (r + s)v = rv + sv (distributive) 7. r(sv) = (rs)v (scalar associative) 8. 1v = v (scalar identity) Example 0.2. F n p = {(x 1,..., x n ) x i F p }. More specifically, consdier the vectors (0, 1, 2, 0), (1, 0, 2, 1) F 4 3. Then (0, 1, 2, 0) + (1, 0, 2, 1) = (1, 0, 1, 1), 2(0, 1, 2, 0) = (0, 2, 1, 0), 0(0, 1, 2, 0) = (0, 0, 0, 0). Definition 0.3. Let V be a vector space and W V a subset. Then V is a subspace (or vector subspace or linear subspace) if u, v W ru + sv W. Definition 0.4. Let V, W be vector spaces. A map T : V W is linear if T (rv + sw) = rt (v) + st (w) for all v, w V and r, s F. A linear map T is injective if it is one-to-one, surjective if it is onto, and an isomorphism if it is a bijection. Definition 0.5. Given a linear map T : V W, Kernel Ker(T ) := {v V T (v) = 0 W } V, Image Image(T ) := {T (v) W v V } W. Proposition 0.6. The Kernel and Image of a linear map are vector subspaces. Definition 0.7. Let V be a vector space over F. A finite collection of vectors B = {v 1,..., v n } V is a basis of V if the induced linear map F n V (r 1,..., r n ) r 1 v 1 + r 2 v 2 + r n v n is an isomorphism. In such a case, we say the dimension of V is dim(v ) = n. Theorem 0.8 (Rank-Nullity). If T : V W is a linear map (and V is finite-dimensional), then dim Ker(T ) + dim Image(T ) = dim V.

Math 512 - Homework 3 Due February 13, 2017 1. Consider the [6, 3] linear code (given on p. 12 of Error-correcting codes and discussed in class) with G = 1 0 0 0 1 1 0 1 0 1 0 1. 0 0 1 1 1 0 (a) Construct the parity matrix H. Try to do this by writing the equations that any valid codeword must satisfy. (b) Using H, determine whether the following are valid codewords: 101101, 011010, 100011. (c) Calculate the matrix product GH T. 2. Consider the q-ary repetition code code of type [6, 2], given by taking 2 elements of F q and repeating each of them 3 times. (a) Write the generator matrix G and a parity matrix H. (b) Calculate GH T. 3. Let C be a binary linear code with generator matrix [ ] 1 1 1 1 0 G =. 0 0 1 1 1 List all the codewords in C. (You can do this by encoding all vectors in F 2 2.) 4. Use row reduction/gaussian elimination to solve the following system of linear equations over R. Also, solve them over F 5. { x + 3y = 0 3x + y + 2z = 0 5. (optional) Consider working over the field F 5. Which of the following two matrices would be a valid generating matrix G? Explain your answer. What problem would one of them cause? [ ] 1 3 0 G 1 =, G 3 1 2 2 = 1 3 3 1 0 2 6. (optional) Let G kn be an k n matrix with entries in F q. Show that the set of vectors y F n q, satisfying y = xg for some x F k q, determines a linear code. (Hint: We need to show that C = {xg F n q x F k q} is a linear subspace of F n q. To do this: assume y 1, y 2 C, and then prove ay 1 + by 2 C.) 7. For your edification, read the brief story of transmission of photographs from deep-space, taken from Hill s A first course in coding theory, which you can see by clicking here. (You don t have to do the Exercises.)

Math 512 - Homework 4 Due February 20, 2017 1. Let C be a binary linear code with generator matrix [ ] 1 1 1 1 0 G =, 0 0 1 1 1 (as in problem 3 from HW 3). Construct the parity check matrix H. 2. Calculate the minimum distance of the Hamming [9, 4] square code (the one where you input a 2x2 matrix and output a 3x3 matrix). Since there are only 2 4 = 16 codewords, you can just explicitly list them and determine their weights. How many errors can you detect/correct? Write the weight enumerator polynomial. 3. In Homework 2, Exercise 1.19 asked you to list all the codewords in the Hamming [7, 4] code. Using your previous results, write the weight enumerator polynomial, determine the minimal distance of this code, and determine how many errors it successfully detects/corrects. 4. Compute the weight enumerator for the [n, 1]-repetition code. How many errors can you detect? How many errors can you correct? 5. The weight enumerator for the [4, 2]-repetition code is related to the weight enumerator for the [2, 1]-repetition code. How? Can you guess how this generalizes?

Math 512 - Homework 5 Due February 27, 2017 In the following, assume that transmission occurs across a memoryless binary symmetric channel, which just means that the probability of error in any single bit is p. This is what we assumed in class. 1. Consider the [5, 2]-code given in class (the one where I handed out the standard array; you can use this table). Correct the message 01010, 11011, 11101. Give an example (or multiple) of introducing 2 errors to a valid codeword, using the standard array to correct, and producing a different codeword than what you started with. 2. Consider the binary [6, 3] linear code with G = 1 0 0 0 1 1 0 1 0 1 0 1. 0 0 1 1 1 0 (a) Calculate the weight enumerator polynomial. How many errors can we detect/correct? (b) What is the probability that an error goes undetected? (c) If we were to just send the 3-bit strings directly, instead of encoding them as 6-bit strings, what would be the probability of having an undetected error? (d) Create a small table for the answers to (b) and (c) for the specific values of p =.4,.1,.01,.001. (e) Construct the parity matrix H. (You did this in HW 3.) (f) Set up a table for syndrome decoding, and correct the message 011010, 001110, 100001, 011110, 101111. (Note that to do syndrome decoding, you only have to list the coset leaders (elements in row with minimal weight) and their syndrome.) 3. Let C be the binary Hamming [7, 4]-code. In last homework, we calculated the weight enumerator polynomial. (a) Calculate the probability of an undetected error in C. (b) In this code, we correct any 7-bit string. What is the probability that our corrected word is not the originally transmitted codeword? Hint: If 0 or 1 errors are made during transmission, then our corrected word will equal the original codeword. 4. Suppose you have a binary [31, 26] code, and you constructed the entire decoding table. How many rows and columns would be in this array? How many words would be listed? If you only construct the syndrome table, how many rows, columns, and words do you need?

Quiz 2 March 6, 2017 In the following, assume that transmission occurs across a memoryless binary symmetric channel, which just means that the probability of error in any single bit is p. This is what we assumed in class. Consider the binary [n, k] code given by the following generator matrix G (to be given on quiz). 1. Encode the following message. 2. List all codewords and calculate the weight enumerator polynomial. 3. How many errors can we detect? How many errors can we correct? 4. What is the probability that an error goes undetected? 5. Construct the parity matrix H. 6. Set up a table for syndrome decoding. 7. Correct the following message. Then decode it.

Math 512 - Optional Homework 6 Due March 20, 2017 1. Show the polynomial x 2 + x + 1 F 2 [x] has no roots (hint: you only have to plug in x = 0 and x = 1). Write all elements in F 2 [x]/(x 2 + x + 1), and compute addition and multiplication tables (we did this in class). 2. In F 2 [x], x 5 + x 2 + x + 1 = (x 2 + 1)g(x). Find g(x).

Math 512 - Homework 7 Due March 27, 2017 1. In class, we obtained a generating matrix G corresponding the polynomial g(x) = 1+x+x 3 F 2 [x]/(x 7 1), and we recalled the generating matrix G Ham for the Hamming [7, 4]-code. Use row operations *and* swapping of columns to transform one of the matrices to the other. This proves that the code given by 1 + x + x 3 is equivalent to Hamming [7, 4]. 2. Consider the generating polynomial g(x) = 1 + x 2 + x 3 F 2 [x]/(x 7 + 1). (a) Encode the message 1 + x. (b) Find h(x) such that g(x)h(x) = x 7 + 1 F 2 [x]. In fact, factor x 7 + 1 as completely as you can. (c) The polynomial g(x) will determine and [n, k] code. What are n, k? (d) You receive the polynomial x + x 3 + x 5 + x 6 F 2 [x]/(x 7 + 1). Use polynomial division to determine if it is valid. (e) Construct the generating matrix G for the linear code corresponding to g(x). 3. Consider g(x) = x 2 F 2 [x]/(x 3 1) generating a polynomial code. (a) List all of the codeword polynomials. (b) What linear code is this equivalent to? (c) Extra: What is happening? Hint: Show that x 2 is a unit in R 3, i.e. that x 2 f(x) = 1 R 3 for some f(x).

Math 512 - Homework 8 Due April 10, 2017 1. Determine all possible binary cyclic codes of length 5. 2. (a) Show (1 + x)(1 + x + x 2 )(1 + x 3 + x 6 ) = (x 9 + 1) F 2 [x]. (b) Consider the code C in R 9 generated by g(x) = 1 + x 3 + x 6. Write a remainder table for this code. (c) Determine whether 1 + x + x 3 + x 4 + x 6 + x 7 is valid in C. (d) Determine whether 1 + x 2 + x 3 + x 6 + x 8 is valid in C. If not, can you correct it? 3. In class, we used (1+x)(1+x+x 2 )(1+x+x 4 )(1+x 3 +x 4 )(1+x+x 2 +x 3 +x 4 ) = x 15 +1 F 2 [x]. We considered α F 2 4, viewed as one of the roots of (1 + x + x 4 ). We showed that α 3 is a root of (1 + x + x 2 + x 3 + x 4 ). Determine the minimal polynomial for which α 5 is a root. Then, use this to write g(x) for a binary cyclic code of length 15 with minimal distance at least 7.

Math 512 - Homework 9 Due April 17, 2017 1. Consider the finite field F 16, given by the explicit model Calculate α 4 + α 8 and (α 2 + α 3 )(1 + α 2 ). F 16 := F 2 [α] / (α 4 + α + 1). 2. Consider the Reed Solomon code over F 8, discussed in class, given by the generating polynomial g(x) = (x + α 5 )(x + α 6 ) F 8 [x]. Here we use the explicit model F 8 := F 2 [α] / (α 3 + α + 1). This determines a [7, 5]-code over F 8, or a [21, 15]-code over F 2. Use g(x) to encode the following string of 15 bits in a string of 21 bits: 000 010 000 101 100. 3. Consider the finite field F 2 8. We call an element of F 2 8 a byte, and one byte is composed of eight bits. Consider the Reed Solomon codes RS(8, t) F 2 8[x] / (x 255 1) generated by (x α)(x α 2 ) (x α 2t ). (a) Let t = 3. Then RS(8, 3) would be a [?,?]-code over F 256, and it would be a [?,?]-code over F 2. How many random byte errors can be corrected? Error bursts of? bits can be corrected. (b) What would t need to be in order to ensure successful correction of error bursts of length 4000 bits? Practice Quiz 3 (Taken from HW 7) Consider the generating polynomial g(x) = 1 + x 2 + x 3 F 2 [x]/(x 7 + 1). 1. Encode the message 1 + x. 2. Find h(x) such that g(x)h(x) = x 7 + 1 F 2 [x]. In fact, factor x 7 + 1 as completely as you can. 3. The polynomial g(x) will determine and [n, k] code. What are n, k? 4. You receive the polynomial x + x 3 + x 5 + x 6 F 2 [x]/(x 7 + 1). Use polynomial division to determine if it is valid. 5. Construct the generating matrix G for the linear code corresponding to g(x).