Error-Correcting Codes

Size: px
Start display at page:

Download "Error-Correcting Codes"

Transcription

1 Error-Correcting Codes HMC Algebraic Geometry Final Project Dmitri Skjorshammer December 14, Introduction Transmission of information takes place over noisy signals. This is the case in satellite transmissions and storing data. For this reason, it is useful to encode information so that errors can be detected and corrected. For our purposes, we will assume all information to be encoded constists of words of fixed length k using symbols from a fixed alphabet, and all encoded messages are divided into strings called codewords of fixed block length n, using symbols from the same alphabet. To formalize this, we introduce the notion of a finite field F n q. A finite field is a field with q n elements; actually a direct product of n copies of F q. The design of electronic circuitry requires us to work with {0, 1} and since we can represent letters of any alphabet in terms of strings composed of 0, 1, our alphabet can be identified with elements of F 2 r. Since words to be encoded are of fixed length k, we can think of them as elements of F k 2 and the code as elements of r Fn 2r. Thus, if our alphabet is {000, 001, 010, 100, 011, 101, 110, 111} then the word can be identified with (010, 101, 111) F 3 8. The encoding process is defined as a one-to-one function of a string from the message of E : F k 2 r Fn 2r. The image C = E(F 2 r) is called the code. With this map, we can associate the decoding operation D : F n q F k q such that D E is the identity on F k q. 2 Linear Codes If the class of codes form a vector subspace of F n q of dimension k, then we say that this is the class of linear codes. We can then think of E, the encoding process, as a linear transformation represented by a matrix, G. We call this matrix the generator matrix. Since E is a map from a k-dimensional space to n-dimensional space, we view the generator matrices as k n matrices and the strings in F k q as row vectors w. Multiplication of a vector by a matrix acts on the left. 2.1 Hamming distance To study error-correcting capabilities of codes, we define the Hamming distance between x and y as d(x, y) = {i, 1 i n : x i y i } Intuitively, this is the number of bits different between x and y. This is indeed a distance function because (1) d(x, y) 0 and d(x, x) = 0 (since all bits are the same). (2) Interchanging the strings will not change the distance, so d(x, y) = d(y, x). (3) For any x, y, z, the distance d(x, y) measures number of bits different between x and y. Adding an intermediary is only going to add number of bits different, so the triangle inequality is satisfied. 1

2 Now given x F n q denote by B r (x), the closed ball of radius r: B r (x) = {y F n q d(y, x) r} Intuitively, this is the set of elements differing from x in at most r bits. Theorem 2.1. Let C be a code such that for all x, y C F n q satisfy d(x, y) d for d 1. Any d 1 or fewer errors in a received word can be detected. If d 2t + 1 for t 1, then t or fewer errors can be detected. Proof. Given x and suppose that x is an error of x. If no more than d 1 of bits are changed then d(x, x ) d 1 so that x B d 1 (x) which contradicts the minimum distance. Thus, an error can be detected. If d 2t + 1 then for all z F n q by triangle inequality d(x, z) + d(z, y) d(x, y) 2t + 1 This implies that d(x, z) > t or d(y, z) > t so that B t (x) B t (y) = 0 so that B t (x) = {x} for all x. Suppose x has an error e so that x appears as x = x + e to the receiver. Since C is a vector space, x, e, x C and more importantly if x and x differ by no more than t 1 errors (that is, fewer than t errors are introduced), then x, x B t (x). Thus, we know an error occurred. 2.2 Decoding Nearest Neighbor Decoding There are many ways to decode information. The simplest one is the nearest neighbor decoding algorithm. Suppose an error occurs. Then for some x C, B r (x) {x}, as established from the proof above. Call this error code x. Then we decode x as D(x ) = E 1 (x) where x is chosen so that d(x, x) is minimized (and x x). Since B t (x ) = {x, x } then this algorithm will choose x, i.e. the nearest neighbor, as the candidate for decoding! Note that since we need to look through all x C, this operation takes O(q k ) running time Syndrome Decoding Syndrome decoding algorithm is a faster algorithm that makes use of the vector space structure inherent in C. Before we can understand the machinery, we introduce the parity check matrix. The subspace C F n q describes the set of solutions of a system of n k independent linear equations in n variables. The matrix of coefficients of such a system is called a parity check matrix H. Example 2.2. Consider the alphabet F 2 with n = 4 and k = 2. Let C be the code generated by the generator matrix ( ) G = There are precisely four elements of C since all words of length k = 2 are (0, 0), (1, 0), (0, 1), (1, 1): The parity check matrix is and it is easily verified that xh = 0 for all x C. (0, 0)G = (0, 0, 0, 0) (1, 0)G = (1, 1, 1, 1) (0, 1)G = (1, 0, 1, 0) (1, 1)G = (0, 1, 0, 1) 1 1 H =

3 Now suppose x = wg is a codeword for w F k q and e F n q is an error that is introduced in the transmission of x such that you receive the decoded message x = x + e. Then x H = (x + e)h = xh + eh = 0 + eh = eh so that xh depends only on eh F n k q. The elements eh are called syndromes. For efficient processing, each of the elements are computed before the decoding process, and the coset representative with the smallest number of nonzero entries is chosen to be the coset leader. The algorithm works as follows: If x F n q is received, s = xh is computed and compared to the coset leader l associated to s. If l is unique, replace x by x = x l, which is an element of C since C is a vector space. If l is not unique, report an error. If fewer than t errors occur in x, then x represents the unique codeword closest to the received word. Thus, E 1 (x ) is returned. Unlike the Nearest Neighbor Decoding Algorithm, this requires only O(q n k ) running time. While this running time is better than nearest neighbor algorithm, it is still slow. In fact, decoding algorithms are known to be NP-complete so our present algorithms are relatively fast. 3 Reed-Solomon Codes Before we introduce algebraic geometry into coding theory, we introduce a special subclass of linear codes called the Reed-Solomon codes. These codes serve as a nice connection between linear codes and geometric Goppa codes. Choose a finite field F q and let α be generator of (F q ) (multiplicative group). Fix k < q and let k 1 P k 1 = { a i t i : a i F q } i=0 be the vector space of polynomials of degree at most q 1 in F q [t]. The idea is that the codes are created by evaluating polynomials in P k 1 at the q 1 nonzero elements of F q. We definition the Reed-Solomon codes as RS(k, q) = {(f(1), f(α),, f(α q 2 )) F q 1 q f P k 1 } Since P k 1 is a vector space, so is RS(k, q), so we can think of the encoding process as a linear transformation. In other words, the generator matrix G is well-defined and can be obtained by taking the basis {1, t, t 2,, t k 1 } and evaluating this basis at t = α. Example 3.1. The Reed-Solomon code over F 8 with k = 3 can be computed by choosing the basis {1, t, t 2 }. This means we have three defining linear transformations: which define the rows of the generator matrix. 1 (1, 1, 1, 1, 1, 1, 1) t (1, α, α 2, α 3, α 4, α 5, α 6, α 7 ) t 2 (1, α 2, α 4, α 6, 1, α 2, α 4, α 6 ) The difference between linear codes and Reed-Solomon codes is that the latter are cyclic codes. Cyclic codes have the property that a cyclic permutation of its bits yields another codeword. Their practicality manifests itself in a variety of places good burst-error correcting capabilities and efficient decoding algorithms are some of them. 4 Geometric Goppa Codes We finish this exposition by connecting coding theory to algebraic geometry via algebraic geometric codes, also known as Goppa codes. In order to understand Goppa codes, we need to understand Riemann-Roch spaces. 3

4 4.1 Riemann-Roch spaces A divisor is a linear combination of codimension one subvarieties of algebraic varieties. For our purposes, we will work with planar curves, C, so that our algebraic variety has dimension 1. Thus, a divisor D is a finite linear combination (with integral coefficients) of rational points on the curve C: D = P C D P P Given some fixed divisor D of a planar, non-singular curve C, we define the Riemann-Roch space, denoted by L(D), as L(D) := {f F(C) ord P (f) + D P 0; P C} where ord P (f) is the degree of f when restricted to the affine patch Z = 1 (last coordinate set to Z = 1; note that this restricts our attention to projective curves only). F(C) is the field of fractions of F[C] where F[C] is the coordinate ring defined as F[C] = F[x, y]/i(c) (to see that this is simply the quotient by the defining polynomial h, we identify h as radical ideal so by Nullstellensatz I(C) = I(V ( h )) = h = h ). What structure does L(D) admit? That of a vector space: Identity: Consider 0 F(C). By definition, ord P (0) = for all P C so 0 L(D). Commutativity and associativity are trivial. Inverse: Suppose f L(D). Then ord P (f)+d P 0 for all points P C. However, ord P (f) = ord P ( f) so f L(D). Scaling is trivial as the order of f is not affected. The Riemann-Roch space describes certain properties of corresponding Riemann surface which allows us to apply the Riemann-Roch theorem to conclude that L(D) is finite-dimensional. 4.2 Goppa Codes We are now fortunate enough to have a finite-dimensional vector space at our fingertips. To show that this does indeed define a linear code, we introduce the notion of a support of a divisor, which is simply supp(d) := {P D P 0}. To extend L(D) to a linear code, we apply the same ideas that we considered in constructing Reed-Solomon codes. Let C be a non-singular, projective planar curve and let {P 1,, P n } be n distinct rational points on the curve C. Choose a divisor D such that its support is disjoint from that of the divisor B = P P n. Intuitively, the support of B are all the n rational points (since the coefficient is non-zero). Thus, to require the support of D to be disjoint is to require that the coefficients of those n-rational points be zero on D. The Goppa code of B and D, denoted by G(C, B, D), is defined as G(C, B, D) := {(f(p 1 ),, f(p n )) f L(D)} The cunning reader will note that this is a morphism φ : L(D) F n given by f (f(p 1 ),, f(p n )). 4.3 Applications The advantage of Goppa codes is that it allows the construction and analysis of codes using the vast tools of algebraic geometry. Thanks to Riemann-Roch Theorem, for instance, the code length, the rank and the minimum distance are known. This is just the basics and the reader is encouraged to continue exploring the powerful applications of algebraic geometry to coding theory. 4

5 References [1] D. Cox, J. Little, D. O Shea, Using Algebraic Geometry, Springer Press, New York, [2] D. Cox, J. Little, D. O Shea, Ideals, Varieties and Algorithms, Springer Press, New York, [3] Kapovich, M. The Riemann-Roch Theorem, available at: RS/RiemannRoch.pdf [4] Reid, M. Undergraduate Algebraic Geometry, Cambridge University Press, Cambridge, [5] Zhuo, D. Algebraic Geometric Coding Theory, available at: commons/7/71/algebraic_geometric_coding_theory.pdf 5

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

MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups. MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups. Binary codes Let us assume that a message to be transmitted is in binary form. That is, it is a word in the alphabet

More information

3. Coding theory 3.1. Basic concepts

3. Coding theory 3.1. Basic concepts 3. CODING THEORY 1 3. Coding theory 3.1. Basic concepts In this chapter we will discuss briefly some aspects of error correcting codes. The main problem is that if information is sent via a noisy channel,

More information

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

MATH Examination for the Module MATH-3152 (May 2009) Coding Theory. Time allowed: 2 hours. S = q MATH-315201 This question paper consists of 6 printed pages, each of which is identified by the reference MATH-3152 Only approved basic scientific calculators may be used. c UNIVERSITY OF LEEDS Examination

More information

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

MATH 433 Applied Algebra Lecture 22: Review for Exam 2. MATH 433 Applied Algebra Lecture 22: Review for Exam 2. Topics for Exam 2 Permutations Cycles, transpositions Cycle decomposition of a permutation Order of a permutation Sign of a permutation Symmetric

More information

MATH32031: Coding Theory Part 15: Summary

MATH32031: Coding Theory Part 15: Summary MATH32031: Coding Theory Part 15: Summary 1 The initial problem The main goal of coding theory is to develop techniques which permit the detection of errors in the transmission of information and, if necessary,

More information

MATH3302. Coding and Cryptography. Coding Theory

MATH3302. Coding and Cryptography. Coding Theory MATH3302 Coding and Cryptography Coding Theory 2010 Contents 1 Introduction to coding theory 2 1.1 Introduction.......................................... 2 1.2 Basic definitions and assumptions..............................

More information

: Error Correcting Codes. October 2017 Lecture 1

: Error Correcting Codes. October 2017 Lecture 1 03683072: Error Correcting Codes. October 2017 Lecture 1 First Definitions and Basic Codes Amnon Ta-Shma and Dean Doron 1 Error Correcting Codes Basics Definition 1. An (n, K, d) q code is a subset of

More information

Lecture notes on coding theory

Lecture notes on coding theory Lecture notes on coding theory Raymond van Bommel Curves over finite fields, Autumn 2017, Leiden 1 Introduction When one agent tries to transfer information to another agent through a noisy channel, errors

More information

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

Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014 Anna Dovzhik 1 Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014 Sharing data across channels, such as satellite, television, or compact disc, often

More information

EE 229B ERROR CONTROL CODING Spring 2005

EE 229B ERROR CONTROL CODING Spring 2005 EE 229B ERROR CONTROL CODING Spring 2005 Solutions for Homework 1 1. Is there room? Prove or disprove : There is a (12,7) binary linear code with d min = 5. If there were a (12,7) binary linear code with

More information

Lecture 12: November 6, 2017

Lecture 12: November 6, 2017 Information and Coding Theory Autumn 017 Lecturer: Madhur Tulsiani Lecture 1: November 6, 017 Recall: We were looking at codes of the form C : F k p F n p, where p is prime, k is the message length, and

More information

MATH 291T CODING THEORY

MATH 291T CODING THEORY California State University, Fresno MATH 291T CODING THEORY Spring 2009 Instructor : Stefaan Delcroix Chapter 1 Introduction to Error-Correcting Codes It happens quite often that a message becomes corrupt

More information

Arrangements, matroids and codes

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

More information

Coset Decomposition Method for Decoding Linear Codes

Coset Decomposition Method for Decoding Linear Codes International Journal of Algebra, Vol. 5, 2011, no. 28, 1395-1404 Coset Decomposition Method for Decoding Linear Codes Mohamed Sayed Faculty of Computer Studies Arab Open University P.O. Box: 830 Ardeya

More information

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

MATH3302 Coding Theory Problem Set The following ISBN was received with a smudge. What is the missing digit? x9139 9 Problem Set 1 These questions are based on the material in Section 1: Introduction to coding theory. You do not need to submit your answers to any of these questions. 1. The following ISBN was received

More information

MATH 291T CODING THEORY

MATH 291T CODING THEORY California State University, Fresno MATH 291T CODING THEORY Fall 2011 Instructor : Stefaan Delcroix Contents 1 Introduction to Error-Correcting Codes 3 2 Basic Concepts and Properties 6 2.1 Definitions....................................

More information

Math 512 Syllabus Spring 2017, LIU Post

Math 512 Syllabus Spring 2017, LIU Post 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

More information

Algebraic Codes for Error Control

Algebraic Codes for Error Control little -at- mathcs -dot- holycross -dot- edu Department of Mathematics and Computer Science College of the Holy Cross SACNAS National Conference An Abstract Look at Algebra October 16, 2009 Outline Coding

More information

Algebraic Geometry Codes. Shelly Manber. Linear Codes. Algebraic Geometry Codes. Example: Hermitian. Shelly Manber. Codes. Decoding.

Algebraic Geometry Codes. Shelly Manber. Linear Codes. Algebraic Geometry Codes. Example: Hermitian. Shelly Manber. Codes. Decoding. Linear December 2, 2011 References Linear Main Source: Stichtenoth, Henning. Function Fields and. Springer, 2009. Other Sources: Høholdt, Lint and Pellikaan. geometry codes. Handbook of Coding Theory,

More information

Lecture 3: Error Correcting Codes

Lecture 3: Error Correcting Codes CS 880: Pseudorandomness and Derandomization 1/30/2013 Lecture 3: Error Correcting Codes Instructors: Holger Dell and Dieter van Melkebeek Scribe: Xi Wu In this lecture we review some background on error

More information

Error-correcting Pairs for a Public-key Cryptosystem

Error-correcting Pairs for a Public-key Cryptosystem Error-correcting Pairs for a Public-key Cryptosystem Ruud Pellikaan g.r.pellikaan@tue.nl joint work with Irene Márquez-Corbella Code-based Cryptography Workshop 2012 Lyngby, 9 May 2012 Introduction and

More information

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

: Coding Theory. Notes by Assoc. Prof. Dr. Patanee Udomkavanich October 30, upattane 2301532 : Coding Theory Notes by Assoc. Prof. Dr. Patanee Udomkavanich October 30, 2006 http://pioneer.chula.ac.th/ upattane Chapter 1 Error detection, correction and decoding 1.1 Basic definitions and

More information

Algebraic Varieties. Notes by Mateusz Micha lek for the lecture on April 17, 2018, in the IMPRS Ringvorlesung Introduction to Nonlinear Algebra

Algebraic Varieties. Notes by Mateusz Micha lek for the lecture on April 17, 2018, in the IMPRS Ringvorlesung Introduction to Nonlinear Algebra Algebraic Varieties Notes by Mateusz Micha lek for the lecture on April 17, 2018, in the IMPRS Ringvorlesung Introduction to Nonlinear Algebra Algebraic varieties represent solutions of a system of polynomial

More information

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

Chapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005 Chapter 7 Error Control Coding Mikael Olofsson 2005 We have seen in Chapters 4 through 6 how digital modulation can be used to control error probabilities. This gives us a digital channel that in each

More information

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

Modular numbers and Error Correcting Codes. Introduction. Modular Arithmetic. Modular numbers and Error Correcting Codes Introduction Modular Arithmetic Finite fields n-space over a finite field Error correcting codes Exercises Introduction. Data transmission is not normally perfect;

More information

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

Lecture Introduction. 2 Linear codes. CS CTT Current Topics in Theoretical CS Oct 4, 2012 CS 59000 CTT Current Topics in Theoretical CS Oct 4, 01 Lecturer: Elena Grigorescu Lecture 14 Scribe: Selvakumaran Vadivelmurugan 1 Introduction We introduced error-correcting codes and linear codes in

More information

Mathematics Department

Mathematics Department Mathematics Department Matthew Pressland Room 7.355 V57 WT 27/8 Advanced Higher Mathematics for INFOTECH Exercise Sheet 2. Let C F 6 3 be the linear code defined by the generator matrix G = 2 2 (a) Find

More information

Linear Codes and Syndrome Decoding

Linear Codes and Syndrome Decoding Linear Codes and Syndrome Decoding These notes are intended to be used as supplementary reading to Sections 6.7 9 of Grimaldi s Discrete and Combinatorial Mathematics. The proofs of the theorems are left

More information

The extended coset leader weight enumerator

The extended coset leader weight enumerator The extended coset leader weight enumerator Relinde Jurrius Ruud Pellikaan Eindhoven University of Technology, The Netherlands Symposium on Information Theory in the Benelux, 2009 1/14 Outline Codes, weights

More information

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

Know the meaning of the basic concepts: ring, field, characteristic of a ring, the ring of polynomials R[x]. The second exam will be on Friday, October 28, 2. It will cover Sections.7,.8, 3., 3.2, 3.4 (except 3.4.), 4. and 4.2 plus the handout on calculation of high powers of an integer modulo n via successive

More information

A Brief Encounter with Linear Codes

A Brief Encounter with Linear Codes Boise State University ScholarWorks Mathematics Undergraduate Theses Department of Mathematics 8-2014 A Brief Encounter with Linear Codes Brent El-Bakri Boise State University, brentelbakri@boisestate.edu

More information

ERROR CORRECTING CODES

ERROR CORRECTING CODES ERROR CORRECTING CODES To send a message of 0 s and 1 s from my computer on Earth to Mr. Spock s computer on the planet Vulcan we use codes which include redundancy to correct errors. n q Definition. A

More information

Chapter 2. Error Correcting Codes. 2.1 Basic Notions

Chapter 2. Error Correcting Codes. 2.1 Basic Notions Chapter 2 Error Correcting Codes The identification number schemes we discussed in the previous chapter give us the ability to determine if an error has been made in recording or transmitting information.

More information

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

Coding Theory and Applications. Linear Codes. Enes Pasalic University of Primorska Koper, 2013 Coding Theory and Applications Linear Codes Enes Pasalic University of Primorska Koper, 2013 2 Contents 1 Preface 5 2 Shannon theory and coding 7 3 Coding theory 31 4 Decoding of linear codes and MacWilliams

More information

Lecture 12. Block Diagram

Lecture 12. Block Diagram Lecture 12 Goals Be able to encode using a linear block code Be able to decode a linear block code received over a binary symmetric channel or an additive white Gaussian channel XII-1 Block Diagram Data

More information

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

Outline. MSRI-UP 2009 Coding Theory Seminar, Week 2. The definition. Link to polynomials Outline MSRI-UP 2009 Coding Theory Seminar, Week 2 John B. Little Department of Mathematics and Computer Science College of the Holy Cross Cyclic Codes Polynomial Algebra More on cyclic codes Finite fields

More information

CHAPTER 0 PRELIMINARY MATERIAL. Paul Vojta. University of California, Berkeley. 18 February 1998

CHAPTER 0 PRELIMINARY MATERIAL. Paul Vojta. University of California, Berkeley. 18 February 1998 CHAPTER 0 PRELIMINARY MATERIAL Paul Vojta University of California, Berkeley 18 February 1998 This chapter gives some preliminary material on number theory and algebraic geometry. Section 1 gives basic

More information

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

Error Correcting Codes: Combinatorics, Algorithms and Applications Spring Homework Due Monday March 23, 2009 in class Error Correcting Codes: Combinatorics, Algorithms and Applications Spring 2009 Homework Due Monday March 23, 2009 in class You can collaborate in groups of up to 3. However, the write-ups must be done

More information

Cyclic Redundancy Check Codes

Cyclic Redundancy Check Codes Cyclic Redundancy Check Codes Lectures No. 17 and 18 Dr. Aoife Moloney School of Electronics and Communications Dublin Institute of Technology Overview These lectures will look at the following: Cyclic

More information

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

Answers and Solutions to (Even Numbered) Suggested Exercises in Sections of Grimaldi s Discrete and Combinatorial Mathematics Answers and Solutions to (Even Numbered) Suggested Exercises in Sections 6.5-6.9 of Grimaldi s Discrete and Combinatorial Mathematics Section 6.5 6.5.2. a. r = = + = c + e. So the error pattern is e =.

More information

Construction of a Class of Algebraic-Geometric Codes via Gröbner Bases

Construction of a Class of Algebraic-Geometric Codes via Gröbner Bases MM Research Preprints, 42 48 No. 16, April 1998. Beijing Construction of a Class of Algebraic-Geometric Codes via Gröbner Bases Changyan Di, Zhuojun Liu Institute of Systems Science Academia Sinica, Beijing

More information

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

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x f(x) = q(x)h(x) + r(x), Coding Theory Massoud Malek Linear Cyclic Codes Polynomial and Words A polynomial of degree n over IK is a polynomial p(x) = a 0 + a 1 + + a n 1 x n 1 + a n x n, where the coefficients a 1, a 2,, a n are

More information

Section 3 Error Correcting Codes (ECC): Fundamentals

Section 3 Error Correcting Codes (ECC): Fundamentals Section 3 Error Correcting Codes (ECC): Fundamentals Communication systems and channel models Definition and examples of ECCs Distance For the contents relevant to distance, Lin & Xing s book, Chapter

More information

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

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x Coding Theory Massoud Malek Linear Cyclic Codes Polynomial and Words A polynomial of degree n over IK is a polynomial p(x) = a 0 + a 1 x + + a n 1 x n 1 + a n x n, where the coefficients a 0, a 1, a 2,,

More information

Hamming codes and simplex codes ( )

Hamming codes and simplex codes ( ) Chapter 6 Hamming codes and simplex codes (2018-03-17) Synopsis. Hamming codes are essentially the first non-trivial family of codes that we shall meet. We start by proving the Distance Theorem for linear

More information

Lecture B04 : Linear codes and singleton bound

Lecture B04 : Linear codes and singleton bound IITM-CS6845: Theory Toolkit February 1, 2012 Lecture B04 : Linear codes and singleton bound Lecturer: Jayalal Sarma Scribe: T Devanathan We start by proving a generalization of Hamming Bound, which we

More information

Cyclic codes: overview

Cyclic codes: overview Cyclic codes: overview EE 387, Notes 14, Handout #22 A linear block code is cyclic if the cyclic shift of a codeword is a codeword. Cyclic codes have many advantages. Elegant algebraic descriptions: c(x)

More information

Toric Varieties in Coding Theory. Math in the Mountains Tutorial

Toric Varieties in Coding Theory. Math in the Mountains Tutorial Toric Varieties in Error-Control Coding Theory Math in the Mountains Tutorial Department of Mathematics and Computer Science College of the Holy Cross July 29-31, 2013 A bit of history Beginning of coding

More information

Optimum Soft Decision Decoding of Linear Block Codes

Optimum Soft Decision Decoding of Linear Block Codes Optimum Soft Decision Decoding of Linear Block Codes {m i } Channel encoder C=(C n-1,,c 0 ) BPSK S(t) (n,k,d) linear modulator block code Optimal receiver AWGN Assume that [n,k,d] linear block code C is

More information

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)

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) Outline Recall: For integers Euclidean algorithm for finding gcd s Extended Euclid for finding multiplicative inverses Extended Euclid for computing Sun-Ze Test for primitive roots And for polynomials

More information

Algebraic geometry codes

Algebraic geometry codes Algebraic geometry codes Tom Høholdt, Jacobus H. van Lint and Ruud Pellikaan In the Handbook of Coding Theory, vol 1, pp. 871-961, (V.S. Pless, W.C. Huffman and R.A. Brualdi Eds.), Elsevier, Amsterdam

More information

Coding theory: algebraic geometry of linear algebra David R. Kohel

Coding theory: algebraic geometry of linear algebra David R. Kohel Coding theory: algebraic geometry of linear algebra David R. Kohel 1. Introduction. Let R be a ring whose underlying set we call the alphabet. A linear code C over R is a free R-module V of rank k, an

More information

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

Finite Mathematics. Nik Ruškuc and Colva M. Roney-Dougal Finite Mathematics Nik Ruškuc and Colva M. Roney-Dougal September 19, 2011 Contents 1 Introduction 3 1 About the course............................. 3 2 A review of some algebraic structures.................

More information

Orthogonal Arrays & Codes

Orthogonal Arrays & Codes Orthogonal Arrays & Codes Orthogonal Arrays - Redux An orthogonal array of strength t, a t-(v,k,λ)-oa, is a λv t x k array of v symbols, such that in any t columns of the array every one of the possible

More information

11 Minimal Distance and the Parity Check Matrix

11 Minimal Distance and the Parity Check Matrix MATH32031: Coding Theory Part 12: Hamming Codes 11 Minimal Distance and the Parity Check Matrix Theorem 23 (Distance Theorem for Linear Codes) Let C be an [n, k] F q -code with parity check matrix H. Then

More information

Communications II Lecture 9: Error Correction Coding. Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved

Communications II Lecture 9: Error Correction Coding. Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved Communications II Lecture 9: Error Correction Coding Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved Outline Introduction Linear block codes Decoding Hamming

More information

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

Error Detection and Correction: Hamming Code; Reed-Muller Code Error Detection and Correction: Hamming Code; Reed-Muller Code Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Hamming Code: Motivation

More information

Errors, Eavesdroppers, and Enormous Matrices

Errors, Eavesdroppers, and Enormous Matrices Errors, Eavesdroppers, and Enormous Matrices Jessalyn Bolkema September 1, 2016 University of Nebraska - Lincoln Keep it secret, keep it safe Public Key Cryptography The idea: We want a one-way lock so,

More information

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

Ma/CS 6b Class 25: Error Correcting Codes 2 Ma/CS 6b Class 25: Error Correcting Codes 2 By Adam Sheffer Recall: Codes V n the set of binary sequences of length n. For example, V 3 = 000,001,010,011,100,101,110,111. Codes of length n are subsets

More information

Lecture 19 : Reed-Muller, Concatenation Codes & Decoding problem

Lecture 19 : Reed-Muller, Concatenation Codes & Decoding problem IITM-CS6845: Theory Toolkit February 08, 2012 Lecture 19 : Reed-Muller, Concatenation Codes & Decoding problem Lecturer: Jayalal Sarma Scribe: Dinesh K Theme: Error correcting codes In the previous lecture,

More information

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

Solutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16 Solutions of Exam Coding Theory (2MMC30), 23 June 2016 (1.a) Consider the 4 4 matrices as words in F 16 2, the binary vector space of dimension 16. C is the code of all binary 4 4 matrices such that the

More information

Some error-correcting codes and their applications

Some error-correcting codes and their applications Chapter 14 Some error-correcting codes and their applications J. D. Key 1 14.1 Introduction In this chapter we describe three types of error-correcting linear codes that have been used in major applications,

More information

AN EXPOSITION OF THE RIEMANN ROCH THEOREM FOR CURVES

AN EXPOSITION OF THE RIEMANN ROCH THEOREM FOR CURVES AN EXPOSITION OF THE RIEMANN ROCH THEOREM FOR CURVES DOMINIC L. WYNTER Abstract. We introduce the concepts of divisors on nonsingular irreducible projective algebraic curves, the genus of such a curve,

More information

Computability and Complexity Theory: An Introduction

Computability and Complexity Theory: An Introduction Computability and Complexity Theory: An Introduction meena@imsc.res.in http://www.imsc.res.in/ meena IMI-IISc, 20 July 2006 p. 1 Understanding Computation Kinds of questions we seek answers to: Is a given

More information

Curtis Heberle MTH 189 Final Paper 12/14/2010. Algebraic Groups

Curtis Heberle MTH 189 Final Paper 12/14/2010. Algebraic Groups Algebraic Groups Curtis Heberle MTH 189 Final Paper 12/14/2010 The primary objects of study in algebraic geometry are varieties. Having become acquainted with these objects, it is interesting to consider

More information

ECEN 604: Channel Coding for Communications

ECEN 604: Channel Coding for Communications ECEN 604: Channel Coding for Communications Lecture: Introduction to Cyclic Codes Henry D. Pfister Department of Electrical and Computer Engineering Texas A&M University ECEN 604: Channel Coding for Communications

More information

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

B. Cyclic Codes. Primitive polynomials are the generator polynomials of cyclic codes. B. Cyclic Codes A cyclic code is a linear block code with the further property that a shift of a codeword results in another codeword. These are based on polynomials whose elements are coefficients from

More information

7.1 Definitions and Generator Polynomials

7.1 Definitions and Generator Polynomials Chapter 7 Cyclic Codes Lecture 21, March 29, 2011 7.1 Definitions and Generator Polynomials Cyclic codes are an important class of linear codes for which the encoding and decoding can be efficiently implemented

More information

Chapter 3 Linear Block Codes

Chapter 3 Linear Block Codes Wireless Information Transmission System Lab. Chapter 3 Linear Block Codes Institute of Communications Engineering National Sun Yat-sen University Outlines Introduction to linear block codes Syndrome and

More information

The Hamming Codes and Delsarte s Linear Programming Bound

The Hamming Codes and Delsarte s Linear Programming Bound The Hamming Codes and Delsarte s Linear Programming Bound by Sky McKinley Under the Astute Tutelage of Professor John S. Caughman, IV A thesis submitted in partial fulfillment of the requirements for the

More information

Error-correcting codes and applications

Error-correcting codes and applications Error-correcting codes and applications November 20, 2017 Summary and notation Consider F q : a finite field (if q = 2, then F q are the binary numbers), V = V(F q,n): a vector space over F q of dimension

More information

Introduction to error-correcting codes.

Introduction to error-correcting codes. Introduction to error-correcting codes. Maksim Maydanskiy Summer 2018. Contents 1 The basics. 1 1.1 Messages and codewords................................... 1 1.2 Decoding. Hamming noise model and Hamming

More information

Error-correcting codes and Cryptography

Error-correcting codes and Cryptography Error-correcting codes and Cryptography Henk van Tilborg Code-based Cryptography Workshop Eindhoven, May -2, 2 /45 CONTENTS I II III IV V Error-correcting codes; the basics Quasi-cyclic codes; codes generated

More information

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

Combinatória e Teoria de Códigos Exercises from the notes. Chapter 1 Combinatória e Teoria de Códigos Exercises from the notes Chapter 1 1.1. The following binary word 01111000000?001110000?00110011001010111000000000?01110 encodes a date. The encoding method used consisted

More information

Chapter 5. Cyclic Codes

Chapter 5. Cyclic Codes Wireless Information Transmission System Lab. Chapter 5 Cyclic Codes Institute of Communications Engineering National Sun Yat-sen University Outlines Description of Cyclic Codes Generator and Parity-Check

More information

MIT Algebraic techniques and semidefinite optimization February 16, Lecture 4

MIT Algebraic techniques and semidefinite optimization February 16, Lecture 4 MIT 6.972 Algebraic techniques and semidefinite optimization February 16, 2006 Lecture 4 Lecturer: Pablo A. Parrilo Scribe: Pablo A. Parrilo In this lecture we will review some basic elements of abstract

More information

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

Coding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013 Coding Theory and Applications Solved Exercises and Problems of Cyclic Codes Enes Pasalic University of Primorska Koper, 2013 Contents 1 Preface 3 2 Problems 4 2 1 Preface This is a collection of solved

More information

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

Linear Algebra. F n = {all vectors of dimension n over field F} Linear algebra is about vectors. Concretely, vectors look like this: 15-251: Great Theoretical Ideas in Computer Science Lecture 23 Linear Algebra Linear algebra is about vectors. Concretely, vectors look like this: They are arrays of numbers. fig. by Peter Dodds # of numbers,

More information

Definition 2.1. Let w be a word. Then the coset C + w of w is the set {c + w : c C}.

Definition 2.1. Let w be a word. Then the coset C + w of w is the set {c + w : c C}. 2.4. Coset Decoding i 2.4 Coset Decoding To apply MLD decoding, what we must do, given a received word w, is search through all the codewords to find the codeword c closest to w. This can be a slow and

More information

Error Correction Review

Error Correction Review Error Correction Review A single overall parity-check equation detects single errors. Hamming codes used m equations to correct one error in 2 m 1 bits. We can use nonbinary equations if we create symbols

More information

EE512: Error Control Coding

EE512: Error Control Coding EE512: Error Control Coding Solution for Assignment on Linear Block Codes February 14, 2007 1. Code 1: n = 4, n k = 2 Parity Check Equations: x 1 + x 3 = 0, x 1 + x 2 + x 4 = 0 Parity Bits: x 3 = x 1,

More information

Proof: Let the check matrix be

Proof: Let the check matrix be Review/Outline Recall: Looking for good codes High info rate vs. high min distance Want simple description, too Linear, even cyclic, plausible Gilbert-Varshamov bound for linear codes Check matrix criterion

More information

Polynomials, Ideals, and Gröbner Bases

Polynomials, Ideals, and Gröbner Bases Polynomials, Ideals, and Gröbner Bases Notes by Bernd Sturmfels for the lecture on April 10, 2018, in the IMPRS Ringvorlesung Introduction to Nonlinear Algebra We fix a field K. Some examples of fields

More information

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)

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) Cyclic codes: review EE 387, Notes 15, Handout #26 A cyclic code is a LBC such that every cyclic shift of a codeword is a codeword. A cyclic code has generator polynomial g(x) that is a divisor of every

More information

4F5: Advanced Communications and Coding

4F5: Advanced Communications and Coding 4F5: Advanced Communications and Coding Coding Handout 4: Reed Solomon Codes Jossy Sayir Signal Processing and Communications Lab Department of Engineering University of Cambridge jossy.sayir@eng.cam.ac.uk

More information

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

} has dimension = k rank A > 0 over F. For any vector b! FINAL EXAM Math 115B, UCSB, Winter 2009 - SOLUTIONS Due in SH6518 or as an email attachment at 12:00pm, March 16, 2009. You are to work on your own, and may only consult your notes, text and the class

More information

The extended Golay code

The extended Golay code The extended Golay code N. E. Straathof July 6, 2014 Master thesis Mathematics Supervisor: Dr R. R. J. Bocklandt Korteweg-de Vries Instituut voor Wiskunde Faculteit der Natuurwetenschappen, Wiskunde en

More information

An Introduction to (Network) Coding Theory

An Introduction to (Network) Coding Theory An Introduction to (Network) Coding Theory Anna-Lena Horlemann-Trautmann University of St. Gallen, Switzerland July 12th, 2018 1 Coding Theory Introduction Reed-Solomon codes 2 Introduction Coherent network

More information

Reed-Muller Codes. Sebastian Raaphorst Carleton University

Reed-Muller Codes. Sebastian Raaphorst Carleton University Reed-Muller Codes Sebastian Raaphorst Carleton University May 9, 2003 Abstract This paper examines the family of codes known as Reed-Muller codes. We begin by briefly introducing the codes and their history

More information

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes S-723410 BCH and Reed-Solomon Codes 1 S-723410 BCH and Reed-Solomon Codes 3 Background The algebraic structure of linear codes and, in particular, cyclic linear codes, enables efficient encoding and decoding

More information

3. The Sheaf of Regular Functions

3. The Sheaf of Regular Functions 24 Andreas Gathmann 3. The Sheaf of Regular Functions After having defined affine varieties, our next goal must be to say what kind of maps between them we want to consider as morphisms, i. e. as nice

More information

MT361/461/5461 Error Correcting Codes: Preliminary Sheet

MT361/461/5461 Error Correcting Codes: Preliminary Sheet MT361/461/5461 Error Correcting Codes: Preliminary Sheet Solutions to this sheet will be posted on Moodle on 14th January so you can check your answers. Please do Question 2 by 14th January. You are welcome

More information

Introduction to Arithmetic Geometry Fall 2013 Lecture #17 11/05/2013

Introduction to Arithmetic Geometry Fall 2013 Lecture #17 11/05/2013 18.782 Introduction to Arithmetic Geometry Fall 2013 Lecture #17 11/05/2013 Throughout this lecture k denotes an algebraically closed field. 17.1 Tangent spaces and hypersurfaces For any polynomial f k[x

More information

Lecture 2 Linear Codes

Lecture 2 Linear Codes Lecture 2 Linear Codes 2.1. Linear Codes From now on we want to identify the alphabet Σ with a finite field F q. For general codes, introduced in the last section, the description is hard. For a code of

More information

Binary Linear Codes G = = [ I 3 B ] , G 4 = None of these matrices are in standard form. Note that the matrix 1 0 0

Binary Linear Codes G = = [ I 3 B ] , G 4 = None of these matrices are in standard form. Note that the matrix 1 0 0 Coding Theory Massoud Malek Binary Linear Codes Generator and Parity-Check Matrices. A subset C of IK n is called a linear code, if C is a subspace of IK n (i.e., C is closed under addition). A linear

More information

Asymptotically good sequences of codes and curves

Asymptotically good sequences of codes and curves Asymptotically good sequences of codes and curves Ruud Pellikaan Technical University of Eindhoven Soria Summer School on Computational Mathematics July 9, 2008 /k 1/29 Content: 8 Some algebraic geometry

More information

Lecture 12: Reed-Solomon Codes

Lecture 12: Reed-Solomon Codes Error Correcting Codes: Combinatorics, Algorithms and Applications (Fall 007) Lecture 1: Reed-Solomon Codes September 8, 007 Lecturer: Atri Rudra Scribe: Michel Kulhandjian Last lecture we saw the proof

More information

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

Vector spaces. EE 387, Notes 8, Handout #12 Vector spaces EE 387, Notes 8, Handout #12 A vector space V of vectors over a field F of scalars is a set with a binary operator + on V and a scalar-vector product satisfying these axioms: 1. (V, +) is

More information

An Introduction to (Network) Coding Theory

An Introduction to (Network) Coding Theory An to (Network) Anna-Lena Horlemann-Trautmann University of St. Gallen, Switzerland April 24th, 2018 Outline 1 Reed-Solomon Codes 2 Network Gabidulin Codes 3 Summary and Outlook A little bit of history

More information

Algebra Homework, Edition 2 9 September 2010

Algebra Homework, Edition 2 9 September 2010 Algebra Homework, Edition 2 9 September 2010 Problem 6. (1) Let I and J be ideals of a commutative ring R with I + J = R. Prove that IJ = I J. (2) Let I, J, and K be ideals of a principal ideal domain.

More information