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

Similar documents
ECEN 604: Channel Coding for Communications

Information Theory. Lecture 7

Cyclic codes: overview

Irreducible Polynomials. Finite Fields of Order p m (1) Primitive Polynomials. Finite Fields of Order p m (2)

Cyclic codes. Vahid Meghdadi Reference: Error Correction Coding by Todd K. Moon. February 2008

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.

Finite Fields. Saravanan Vijayakumaran Department of Electrical Engineering Indian Institute of Technology Bombay

EE512: Error Control Coding

17 Galois Fields Introduction Primitive Elements Roots of Polynomials... 8

Fault Tolerance & Reliability CDA Chapter 2 Cyclic Polynomial Codes

: Error Correcting Codes. November 2017 Lecture 2

7.1 Definitions and Generator Polynomials

MATH 3030, Abstract Algebra FALL 2012 Toby Kenney Midyear Examination Friday 7th December: 7:00-10:00 PM

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

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

Algebra Review 2. 1 Fields. A field is an extension of the concept of a group.

Cyclic codes. I give an example of a shift register with four storage elements and two binary adders.

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

Computations/Applications

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

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

EE512: Error Control Coding

LECTURE NOTES IN CRYPTOGRAPHY

Homework 8 Solutions to Selected Problems

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

Foundations of Cryptography

MTH310 EXAM 2 REVIEW

8.6 Partial Fraction Decomposition

1. Algebra 1.5. Polynomial Rings

Introduction to finite fields

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

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)

Lecture 7: Polynomial rings

Chapter 3. Rings. The basic commutative rings in mathematics are the integers Z, the. Examples

Section Properties of Rational Expressions

Finite Fields. SOLUTIONS Network Coding - Prof. Frank H.P. Fitzek

Finite Fields and Error-Correcting Codes

MATH 431 PART 2: POLYNOMIAL RINGS AND FACTORIZATION

CHAPTER 14. Ideals and Factor Rings

3. Coding theory 3.1. Basic concepts

Rings. Chapter 1. Definition 1.2. A commutative ring R is a ring in which multiplication is commutative. That is, ab = ba for all a, b R.

Mathematical Foundations of Cryptography

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

Groups, Rings, and Finite Fields. Andreas Klappenecker. September 12, 2002

EE 229B ERROR CONTROL CODING Spring 2005

A Brief Encounter with Linear Codes

Chapter 4 Finite Fields

Finite Fields. Mike Reiter

School of Mathematics and Statistics. MT5836 Galois Theory. Handout 0: Course Information

Mathematics for Cryptography

Polynomials. Chapter 4

CYCLIC SIEVING FOR CYCLIC CODES

MATH 3030, Abstract Algebra Winter 2012 Toby Kenney Sample Midterm Examination Model Solutions

2a 2 4ac), provided there is an element r in our

Algebraic structures I

MT5836 Galois Theory MRQ

MATH 361: NUMBER THEORY TENTH LECTURE

Modern Algebra I. Circle the correct answer; no explanation is required. Each problem in this section counts 5 points.

Finite Fields. Sophie Huczynska. Semester 2, Academic Year

A family Of Cyclic Codes Over Finite Chain Rings

Ideals, congruence modulo ideal, factor rings

Rings. EE 387, Notes 7, Handout #10

Section VI.33. Finite Fields

ABSTRACT. Department of Mathematics. interesting results. A graph on n vertices is represented by a polynomial in n

ERROR CORRECTING CODES

Math 512 Syllabus Spring 2017, LIU Post

Self-Dual Cyclic Codes

Rings. Chapter Definitions and Examples

b) since the remainder is 0 I need to factor the numerator. Synthetic division tells me this is true

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

Definitions. Notations. Injective, Surjective and Bijective. Divides. Cartesian Product. Relations. Equivalence Relations

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

MODEL ANSWERS TO HWK #10

The Golay codes. Mario de Boer and Ruud Pellikaan

Lecture 15 and 16: BCH Codes: Error Correction

Practice problems for first midterm, Spring 98

Some practice problems for midterm 2

Classification of Finite Fields

CHAPTER 10: POLYNOMIALS (DRAFT)

SF2729 GROUPS AND RINGS LECTURE NOTES

Section IV.23. Factorizations of Polynomials over a Field

Rational Canonical Form

Math 312/ AMS 351 (Fall 17) Sample Questions for Final

Quasi-cyclic codes. Jay A. Wood. Algebra for Secure and Reliable Communications Modeling Morelia, Michoacán, Mexico October 12, 2012

Rings in Coding Theory

Abstract Algebra: Chapters 16 and 17

Rings and Fields Theorems

1. Group Theory Permutations.

RINGS: SUMMARY OF MATERIAL

50 Algebraic Extensions

A Generalization of Wilson s Theorem

Cyclic Codes. Saravanan Vijayakumaran August 26, Department of Electrical Engineering Indian Institute of Technology Bombay

MINKOWSKI THEORY AND THE CLASS NUMBER

FILTERED RINGS AND MODULES. GRADINGS AND COMPLETIONS.

Lecture 6: Finite Fields

Group. Orders. Review. Orders: example. Subgroups. Theorem: Let x be an element of G. The order of x divides the order of G

Minimum Polynomials of Linear Transformations

g(x) = 1 1 x = 1 + x + x2 + x 3 + is not a polynomial, since it doesn t have finite degree. g(x) is an example of a power series.

Math 115 Spring 11 Written Homework 10 Solutions

Math 120. Groups and Rings Midterm Exam (November 8, 2017) 2 Hours

Transcription:

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

Quotient Ring Example +

Quotient Ring Example

Quotient Ring Recall the quotient ring R={,,, }, where S i was the set of all polynomials in GF(2)[x] whose remainder is i = ax 2 +bx+c when divided by x 3 +1. Let s identify each coset by its lowest degree polynomial = 0, = 1, = x, = x+1, = x 2, = x 2 +1, = x 2 +x and = x 2 +x+1. Let R new = {0, 1, x, x+1, x 2, x 2 +1, x 2 +x, x 2 +x+1} where addition is defined as conventional polynomial addition and multiplication is conventional polynomial multiplication, both followed by computing the remainder modulo x 3 +1. Then R new is a ring as well. We denote this ring as GF(2)[x]/(x 3 +1).

Quotient Ring For R new, (x+1)(x 2 +x+1) = 0 and for R, =. These rings are called isomorphic rings.

GF(q)[x]/f(x) For a field GF(q), the ring of polynomials can be partitioned by a polynoial f(x) of degree m into q m different equivalence classes One equivalence for each remainder modulo f(x). This ring is denoted as GF(q)[x]/f(x). It can be a field, but only if f(x) is irreducible in GF(q). In our example GF(2)[x]/x 3 +1, it is not a field as x 3 +1 = (x+1)(x 2 +x+1).

Ideals in Rings Let R be a ring. Let I be a non empty subset of R I is an ideal if it satisfies the following conditions: 1. I forms a group under the addition operation of R 2. And any a in I and any r in R, a r is in I.

Example Consider ring R (GF(2)[x]/x 3 +1). Trivial cases: {0} and {R} are ideals. I = {, } This set forms a group under addition any element in R = any element in R = or. Consider R new I = {0, x 2 +x+1} Forms a group under addition 0(x 2 +x+1) = 0, 1(x 2 +x+1) = x 2 +x+1, x(x 2 +x+1) = x 3 +x 2 +x mod x 3 +1 = x 2 +x+1, (x+1)(x 2 +x+1) = x(x 2 +x+1)+(x 2 +x+1) = 0, x 2 (x 2 +x+1) = x(x(x 2 +x+1)) = x(x 2 +x+1) = x 2 +x+1 etc.

Examples In GF(2)[x]/x 3 +1, {,,, } also form an ideal. Since GF(2)[x]/x 3 +1 and R new are isomorphic, we can see that {0, x+1, x 2 +1, x 2 +x} form an ideal in R new. Vectorially, the ideal in R new is {(000), (011), (101), (110)}. The above ideal satisfies all the conditions of a cyclic code.

Principal Ideal An ideal, I, in ring R is said to be principal if there exists some element g in I such that every element a in I can be expressed as a=mg, where m is an element in R. The element g is called the generator element. I = {, }, and can be expressed as multiples of. Therefore g = and this ideal is said to be principal. I = {,,, }, either, or can act as the generator g. This ideal is also said to be principal.

Cyclic Code Theorem 1 Let I be an ideal in GF(q)[x]/x n -1. Then 1. There exists a unique monic polynomial g(x) in I of minimal degree 2. I is principal with generator g(x). 3. g(x) divides x n -1 in GF(q)[x]. A polynomial of degree m, g(x) = g m x m +g m-1 x m-1 + +g 0, is monic if g m = 1.

Proof of CCT 1 There is at least one ideal in any ring (since the entire ring is an ideal). There is a lower bound on the degrees of the polynomials in the ideal. Hence there is at least one polynomial in the ideal of minimal degree (which may have to be normalized to be monic). To show uniqueness, suppose there are two monic polynomials of minimal degree in the ideal, g(x) and f(x). Then h(x) = g(x)-f(x) is also an element in I. h(x) would have a smaller degree than g(x) and f(x), therefore this contradicts the statement that g(x) and f(x) are of minimal degree.

Proof of CCT 1 cont d To show I is principle (all elements of I are multiples of g(x)), we assume that there exists a polynomial f(x) in I for which f(x) = m(x)g(x) + r(x), where m(x) and r(x) are in R. Since r(x) is the remainder, it has degree less than g(x). The definition of an Ideal tells us that m(x)g(x) is in I. Then r(x) = f(x)-m(x)g(x) must also be in I. But since r(x) has a smaller degree than g(x), it contradicts the statement that g(x) is a polynomial of minimal degree in I. Therefore the only solution is that r(x) = 0 and f(x) is a multiple of g(x).

Proof of CCT 1 cont d To show that g(x) divides x n -1, we assume that it doesn t Then x n -1 = h(x)g(x)+r(x) where r(x) has degree less than the degree of g(x). But h(x)g(x) is in I and r(x) = x n -1 - h(x)g(x), which is the additive inverse of h(x)g(x), which is also in I, again contradicting the statement that g(x) is a polynomial of minimal degree in I. Therefore r(x) = 0 and g(x) divides x n -1.

Example Consider the ring GF(2)[x]/x 4 +1 {0, 1, x, x+1, x 2, x 2 +1, x 2 +x, x 2 +x+1, x 3, x 3 +1, x 3 +x, x 3 +x+1, x 3 +x 2, x 3 +x 2 +1, x 3 +x 2 +x, x 3 +x 2 +x+1} x 4 +1 =(x+1)(x 3 +x 2 +x+1) or (x 2 +1)(x 2 +1). Therefore we have the following principal Ideals {0}, {0, x+1, x 2 +x, x 2 +1, x 3 +x 2, x 3 +x 2 +x+1, x 3 +1, x 3 +x}, {0, x 3 +x 2 +x+1}, {0, x 2 +1, x 3 +x, x 3 +x 2 +x+1}

Example cont d {0, x+1, x 2 +x, x 2 +1, x 3 +x 2, x 3 +x 2 +x+1, x 3 +1, x 3 +x} {(0000), (1100), (0110), (1010), (0011), (1111), (1001), (0101)}. We can see that the above is a cyclic code. Cyclic codes of length n form an ideal in GF(q)[x]/x n -1. They can be described by their generator polynomial g(x) which is a polynomial that divides x n -1.

Algebraic Description of Cyclic Codes c R (x) = xc(x) mod x n -1. Think of c(x) as an element of GF(q)[x]/x n -1. Since the arithmetic is done modulo x n -1, we simply state that c R (x) = xc(x). For an (n,k) cyclic code, the generator polynomial, g(x), is the generator of an ideal in GF(q)[x]/x n -1. The degree of g(x) is n-k. c(x) = m(x)g(x), where m(x) is a polynomial representing a message to be encoded. Deg(m(x)) < k. If m(x) has degree greater than k-1, then c(x) will have degree greater than n-1 (before dividing by x n -1 and finding the remainder). After performing the modulo operation, c(x) will not be a distinct codeword.

Example: Binary Cyclic Codes of Length 7 x 7-1 = (x+1)(x 3 +x+1)(x 3 +x 2 +1). (7,6) code: g(x) = x+1 (7,4) code g 1 (x)= x 3 +x+1 or g 2 (x) = x 3 +x 2 +1. (7,3) code g 3 (x) = (x+1)(x 3 +x+1)=x 4 +x 3 +x 2 +1 or g 4 (x) = (x+1)(x 3 +x 2 +1) = x 4 +x 2 +x+1 (7,1) code: g 5 (x) = (x 3 +x+1)(x 3 +x 2 +1) = x 6 +x 5 +x 4 +x 3 +x 2 +x+1.