Skew cyclic codes: Hamming distance and decoding algorithms 1

Similar documents
Math 512 Syllabus Spring 2017, LIU Post

: Error Correcting Codes. October 2017 Lecture 1

Chapter 6 Reed-Solomon Codes. 6.1 Finite Field Algebra 6.2 Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding

Lecture 12. Block Diagram

ERROR CORRECTING CODES

ALGEBRA QUALIFYING EXAM PROBLEMS LINEAR ALGEBRA

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

Skew Cyclic Codes Of Arbitrary Length

On Cyclic Convolutional Codes

Coding Theory. Ruud Pellikaan MasterMath 2MMC30. Lecture 11.1 May

Algebra Exam Topics. Updated August 2017

An Alternative Decoding Method for Gabidulin Codes in Characteristic Zero

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

Rings in Coding Theory

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

On Syndrome Decoding of Chinese Remainder Codes

MATH32031: Coding Theory Part 15: Summary

Algebra Homework, Edition 2 9 September 2010

UNIT MEMORY CONVOLUTIONAL CODES WITH MAXIMUM DISTANCE

An Introduction to (Network) Coding Theory

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

(Reprint of pp in Proc. 2nd Int. Workshop on Algebraic and Combinatorial coding Theory, Leningrad, Sept , 1990)

Projective modules: Wedderburn rings

3. Coding theory 3.1. Basic concepts

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

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

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

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.

Open Questions in Coding Theory

An Interpolation Algorithm for List Decoding of Reed-Solomon Codes

Decoding Interleaved Gabidulin Codes using Alekhnovich s Algorithm 1

Berlekamp-Massey decoding of RS code

Algebra for error control codes

1 Vandermonde matrices

Graduate Preliminary Examination

: Error Correcting Codes. November 2017 Lecture 2

Error-Correcting Codes

5.0 BCH and Reed-Solomon Codes 5.1 Introduction

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

Honors Algebra 4, MATH 371 Winter 2010 Assignment 4 Due Wednesday, February 17 at 08:35

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

List of topics for the preliminary exam in algebra

Construction and Encoding of QC-LDPC Codes Using Group Rings

Solutions or answers to Final exam in Error Control Coding, October 24, G eqv = ( 1+D, 1+D + D 2)

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

Group Ring Codes over a Dihedral Group ABSTRACT 1. INTRODUCTION

ALGEBRA PH.D. QUALIFYING EXAM September 27, 2008

An Introduction to (Network) Coding Theory

NOTES ON FINITE FIELDS

Quadratic Forms. Marco Schlichting Notes by Florian Bouyer. January 16, 2012

The Golay codes. Mario de Boer and Ruud Pellikaan

Strongly-MDS Convolutional Codes

A Matrix Ring Description for Cyclic Convolutional Codes

Math 429/581 (Advanced) Group Theory. Summary of Definitions, Examples, and Theorems by Stefan Gille

Chapter 6. BCH Codes

On the Construction and Decoding of Cyclic LDPC Codes

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

7 Orders in Dedekind domains, primes in Galois extensions

MATH 326: RINGS AND MODULES STEFAN GILLE

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.

Course 311: Michaelmas Term 2005 Part III: Topics in Commutative Algebra

PAijpam.eu CONVOLUTIONAL CODES DERIVED FROM MELAS CODES

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

CODE DECOMPOSITION IN THE ANALYSIS OF A CONVOLUTIONAL CODE

Constructions of MDS-Convolutional Codes

FILTERED RINGS AND MODULES. GRADINGS AND COMPLETIONS.

Codes over an infinite family of algebras

On Irreducible Polynomial Remainder Codes

TC10 / 3. Finite fields S. Xambó

4 Etale algebras, norm and trace

Reverse Berlekamp-Massey Decoding

General error locator polynomials for binary cyclic codes with t 2 and n < 63

Noetherian property of infinite EI categories

Cyclic Redundancy Check Codes

55 Separable Extensions

Synthetic Geometry. 1.4 Quotient Geometries

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

Partial Permutation Decoding for abelian codes

Math 120 HW 9 Solutions

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

QUATERNIONS AND ROTATIONS

Cyclic codes: overview

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

Thus, the integral closure A i of A in F i is a finitely generated (and torsion-free) A-module. It is not a priori clear if the A i s are locally

Codes and Rings: Theory and Practice

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

Binary Primitive BCH Codes. Decoding of the BCH Codes. Implementation of Galois Field Arithmetic. Implementation of Error Correction

Construction of quasi-cyclic self-dual codes

Some aspects of codes over rings

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

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

MINKOWSKI THEORY AND THE CLASS NUMBER

Minimized Logic Gates Number Of Components In The Chien Search Block For Reed-Solomon (RS)

Linear Codes, Target Function Classes, and Network Computing Capacity

Message Encoding and Retrieval for Spread and Cyclic Orbit Codes

RUDIMENTARY GALOIS THEORY

ALGEBRA QUALIFYING EXAM PROBLEMS

REED-SOLOMON CODE SYMBOL AVOIDANCE

Course of algebra. Introduction and Problems

Superregular Hankel Matrices Over Finite Fields: An Upper Bound of the Matrix Size and a Construction Algorithm

Transcription:

Skew cyclic codes: Hamming distance and decoding algorithms 1 J. Gómez-Torrecillas, F. J. Lobillo, G. Navarro Department of Algebra and CITIC, University of Granada Department of Computer Sciences and AI, and CITIC, University of Granada NCRA V, Lens, June 14, 2017 1 Research supported by grants MTM2013-41992-P and MTM2016-78364-P from Spanish government and FEDER. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (1)

Based on: GLN, Generating idempotents in ideal codes, ACM Communications in Computer Algebra, Vol 48, No. 3, Issue 189, September 2014, ISSAC poster abstracts, pp. 113-115. GLN, A new perspective of cyclicity in convolutional codes, IEEE Transactions on Information Theory 62 (5) (2016), 2702 2706. GLN, A Sugiyama-like decoding algorithm for convolutional codes, 2016. arxiv:1607.07187. GLN, Ideal codes over separable ring extensions, IEEE Transactions on Information Theory 63 (5) (2017), 2796 2813. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (2)

Index 1 Motivation: Cyclic Convolutional Codes 2 Skew Reed-Solomon codes 3 Decoding GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (3)

Convolutional codes F a finite field, k n positive integers. A rate k/n convolutional transducer G transforms into information sequences u =... u 1 u 0 u 1... (u i F k ) code sequences v =... v 1 v 0 v 1... (v i F n ). GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (4)

Convolutional codes F a finite field, k n positive integers. A rate k/n convolutional transducer G transforms information sequences u =... u 1 u 0 u 1... (u i F k ) into code sequences v =... v 1 v 0 v 1... (v i F n ). Requirements: Write u = i= i 0 u i t i F k ((t)) = F((t)) k, v = j= j 0 v i t j F n ((t)) = F((t)) n. Then v = ug, where G is an k n full rank matrix with entries in F(t). GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (4)

Convolutional codes F a finite field, k n positive integers. A rate k/n convolutional transducer G transforms into information sequences u =... u 1 u 0 u 1... (u i F k ) code sequences v =... v 1 v 0 v 1... (v i F n ). Requirements: Write u = i= i 0 u i t i F k ((t)) = F((t)) k, v = j= j 0 v i t j F n ((t)) = F((t)) n. Then v = ug, where G is an k n full rank matrix with entries in F(t). Definition A rate k/n convolutional code D over F is the image of a rate k/n convolutional transducer G, that is D = {ug : u F k ((t))} F n ((t)). GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (4)

Convolutional codes F a finite field, k n positive integers. A rate k/n convolutional transducer G transforms into information sequences u =... u 1 u 0 u 1... (u i F k ) code sequences v =... v 1 v 0 v 1... (v i F n ). Requirements: Write u = i= i 0 u i t i F k ((t)) = F((t)) k, v = j= j 0 v i t j F n ((t)) = F((t)) n. Then v = ug, where G is an k n full rank matrix with entries in F(t). Definition A rate k/n convolutional code D over F is the image of a rate k/n convolutional transducer G, that is D = {ug : u F k ((t))} F n ((t)). Definition (Vector space version) A rate k/n convolutional code over F is a k dimensional vector subspace of F(t) n. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (4)

Cyclic convolutional codes (module version) Lemma The map D D F n [t] is a bijection between the set of rate k/n convolutional codes and the set of submodules of rank k of F n [t] = F[t] n that are direct summands. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (5)

Cyclic convolutional codes (module version) Lemma The map D D F n [t] is a bijection between the set of rate k/n convolutional codes and the set of submodules of rank k of F n [t] = F[t] n that are direct summands. Definition (Module version) A rate k/n convolutional code is a rank k direct summand of F n [t]. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (5)

Cyclic convolutional codes (module version) Lemma The map D D F n [t] is a bijection between the set of rate k/n convolutional codes and the set of submodules of rank k of F n [t] = F[t] n that are direct summands. Definition (Module version) A rate k/n convolutional code is a rank k direct summand of F n [t]. Thus, a cyclic structure could be introduced by taking F n = A := F[x]/ x n 1, and suitable ideals of A[t] as cyclic convolutional codes. But... GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (5)

Cyclic convolutional codes (module version) Lemma The map D D F n [t] is a bijection between the set of rate k/n convolutional codes and the set of submodules of rank k of F n [t] = F[t] n that are direct summands. Definition (Module version) A rate k/n convolutional code is a rank k direct summand of F n [t]. Thus, a cyclic structure could be introduced by taking F n = A := F[x]/ x n 1, and suitable ideals of A[t] as cyclic convolutional codes. But... Problem: Piret (1976) observed that no non-block codes are obtained in this way. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (5)

Cyclic convolutional codes (module version) Lemma The map D D F n [t] is a bijection between the set of rate k/n convolutional codes and the set of submodules of rank k of F n [t] = F[t] n that are direct summands. Definition (Module version) A rate k/n convolutional code is a rank k direct summand of F n [t]. Thus, a cyclic structure could be introduced by taking F n = A := F[x]/ x n 1, and suitable ideals of A[t] as cyclic convolutional codes. But... Problem: Piret (1976) observed that no non-block codes are obtained in this way. Solution: Piret s (1976) idea is skewing the multiplication of A[t]. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (5)

Cyclic convolutional codes (module version) Lemma The map D D F n [t] is a bijection between the set of rate k/n convolutional codes and the set of submodules of rank k of F n [t] = F[t] n that are direct summands. Definition (Module version) A rate k/n convolutional code is a rank k direct summand of F n [t]. Thus, a cyclic structure could be introduced by taking F n = A := F[x]/ x n 1, and suitable ideals of A[t] as cyclic convolutional codes. But... Problem: Piret (1976) observed that no non-block codes are obtained in this way. Solution: Piret s (1976) idea is skewing the multiplication of A[t]. Technically, this means to define cyclic convolutional codes as suitable left ideals of a skew polynomial ring A[t; σ]. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (5)

Cyclic convolutional codes (module version) Lemma The map D D F n [t] is a bijection between the set of rate k/n convolutional codes and the set of submodules of rank k of F n [t] = F[t] n that are direct summands. Definition (Module version) A rate k/n convolutional code is a rank k direct summand of F n [t]. Thus, a cyclic structure could be introduced by taking F n = A := F[x]/ x n 1, and suitable ideals of A[t] as cyclic convolutional codes. But... Problem: Piret (1976) observed that no non-block codes are obtained in this way. Solution: Piret s (1976) idea is skewing the multiplication of A[t]. Technically, this means to define cyclic convolutional codes as suitable left ideals of a skew polynomial ring A[t; σ]. This idea has been further developed, (e.g. considering more general finite F algebras A) by Roos (1979), Gluesing-Luerssen/Schmale (2004), López-Permouth/Szabo (2013), GLN (2014, 2017), among others. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (5)

Cyclic convolutional codes (module version) Lemma The map D D F n [t] is a bijection between the set of rate k/n convolutional codes and the set of submodules of rank k of F n [t] = F[t] n that are direct summands. Definition (Module version) A rate k/n convolutional code is a rank k direct summand of F n [t]. Thus, a cyclic structure could be introduced by taking F n = A := F[x]/ x n 1, and suitable ideals of A[t] as cyclic convolutional codes. But... Problem: Piret (1976) observed that no non-block codes are obtained in this way. Solution: Piret s (1976) idea is skewing the multiplication of A[t]. Technically, this means to define cyclic convolutional codes as suitable left ideals of a skew polynomial ring A[t; σ]. This idea has been further developed, (e.g. considering more general finite F algebras A) by Roos (1979), Gluesing-Luerssen/Schmale (2004), López-Permouth/Szabo (2013), GLN (2014, 2017), among others. Main difficulty/opportunity: Dealing with idempotents in A[t; σ]. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (5)

Cyclic convolutional codes (vector space version). Would we define a cyclic convolutional code as an ideal of F(t)[x]/ x n 1 = F(t) n? GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (6)

Cyclic convolutional codes (vector space version). Would we define a cyclic convolutional code as an ideal of F(t)[x]/ x n 1 = F(t) n? If so, then we get nothing but cyclic block codes (the factors of x n 1 have coefficients in F). GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (6)

Cyclic convolutional codes (vector space version). Would we define a cyclic convolutional code as an ideal of F(t)[x]/ x n 1 = F(t) n? If so, then we get nothing but cyclic block codes (the factors of x n 1 have coefficients in F). Proposal: (GLN (2016)). A cyclic convolutional could be a left ideal of R = F(t)[x; σ]/ x n 1, where σ is an F automorphism of order n of F(t). GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (6)

Cyclic convolutional codes (vector space version). Would we define a cyclic convolutional code as an ideal of F(t)[x]/ x n 1 = F(t) n? If so, then we get nothing but cyclic block codes (the factors of x n 1 have coefficients in F). Proposal: (GLN (2016)). A cyclic convolutional could be a left ideal of R = F(t)[x; σ]/ x n 1, where σ is an F automorphism of order n of F(t). Features: F(t)[x; σ] is a left and right Euclidean domain. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (6)

Cyclic convolutional codes (vector space version). Would we define a cyclic convolutional code as an ideal of F(t)[x]/ x n 1 = F(t) n? If so, then we get nothing but cyclic block codes (the factors of x n 1 have coefficients in F). Proposal: (GLN (2016)). A cyclic convolutional could be a left ideal of R = F(t)[x; σ]/ x n 1, where σ is an F automorphism of order n of F(t). Features: F(t)[x; σ] is a left and right Euclidean domain. F(t)[x; σ]/ x n 1 = M n (F(t) σ ). GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (6)

Cyclic convolutional codes (vector space version). Would we define a cyclic convolutional code as an ideal of F(t)[x]/ x n 1 = F(t) n? If so, then we get nothing but cyclic block codes (the factors of x n 1 have coefficients in F). Proposal: (GLN (2016)). A cyclic convolutional could be a left ideal of R = F(t)[x; σ]/ x n 1, where σ is an F automorphism of order n of F(t). Features: F(t)[x; σ] is a left and right Euclidean domain. F(t)[x; σ]/ x n 1 = M n (F(t) σ ). When the generator of the code is carefully chosen, we get an MDS code with respect to the Hamming distance. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (6)

Cyclic convolutional codes (vector space version). Would we define a cyclic convolutional code as an ideal of F(t)[x]/ x n 1 = F(t) n? If so, then we get nothing but cyclic block codes (the factors of x n 1 have coefficients in F). Proposal: (GLN (2016)). A cyclic convolutional could be a left ideal of R = F(t)[x; σ]/ x n 1, where σ is an F automorphism of order n of F(t). Features: F(t)[x; σ] is a left and right Euclidean domain. F(t)[x; σ]/ x n 1 = M n (F(t) σ ). When the generator of the code is carefully chosen, we get an MDS code with respect to the Hamming distance. Efficient decoding schemes (like Sugiyama, or Peterson-Gorenstein-Zierler) are adapted to this non-commutative setting. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (6)

Cyclic convolutional codes (vector space version). Would we define a cyclic convolutional code as an ideal of F(t)[x]/ x n 1 = F(t) n? If so, then we get nothing but cyclic block codes (the factors of x n 1 have coefficients in F). Proposal: (GLN (2016)). A cyclic convolutional could be a left ideal of R = F(t)[x; σ]/ x n 1, where σ is an F automorphism of order n of F(t). Features: F(t)[x; σ] is a left and right Euclidean domain. F(t)[x; σ]/ x n 1 = M n (F(t) σ ). When the generator of the code is carefully chosen, we get an MDS code with respect to the Hamming distance. Efficient decoding schemes (like Sugiyama, or Peterson-Gorenstein-Zierler) are adapted to this non-commutative setting. The theory (including the algorithms) work for any field L. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (6)

Skew cyclic codes So, let L be a field, and σ : L L a field automorphism of finite order n. Set K = L σ. Consider the ring R = L[x; σ]/ x n 1 = M n (K). Note: The multiplication rule in L[x; σ] is xa = σ(a)x for all a L. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (7)

Skew cyclic codes So, let L be a field, and σ : L L a field automorphism of finite order n. Set K = L σ. Consider the ring R = L[x; σ]/ x n 1 = M n (K). Note: The multiplication rule in L[x; σ] is xa = σ(a)x for all a L. We have the isomorphism of L vector spaces p : L n R sending (c 0, c 1,..., c n 1 ) onto c 0 + c 1 x + + c n 1 x n 1. Note: The classical identification of equivalence classes and its representatives is (and will be) made. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (7)

Skew cyclic codes So, let L be a field, and σ : L L a field automorphism of finite order n. Set K = L σ. Consider the ring R = L[x; σ]/ x n 1 = M n (K). Note: The multiplication rule in L[x; σ] is xa = σ(a)x for all a L. We have the isomorphism of L vector spaces p : L n R sending (c 0, c 1,..., c n 1 ) onto c 0 + c 1 x + + c n 1 x n 1. Note: The classical identification of equivalence classes and its representatives is (and will be) made. Definition A k dimensional L linear code C L n of dimension n is said to be a skew cyclic code if p(c) is a left ideal of R. Note: We will identify C with p(c). Since every left ideal of R is principal, we will often speak of the skew code generated by a polynomial, aggravating the abuse of language. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (7)

Skew cyclic codes So, let L be a field, and σ : L L a field automorphism of finite order n. Set K = L σ. Consider the ring R = L[x; σ]/ x n 1 = M n (K). Note: The multiplication rule in L[x; σ] is xa = σ(a)x for all a L. We have the isomorphism of L vector spaces p : L n R sending (c 0, c 1,..., c n 1 ) onto c 0 + c 1 x + + c n 1 x n 1. Note: The classical identification of equivalence classes and its representatives is (and will be) made. Definition A k dimensional L linear code C L n of dimension n is said to be a skew cyclic code if p(c) is a left ideal of R. Note: We will identify C with p(c). Since every left ideal of R is principal, we will often speak of the skew code generated by a polynomial, aggravating the abuse of language. Note: When L = F is a finite field, these codes lie in the realm of the theory developed by Boucher/Chaussade/Geiselmann/Loidreau/Ulmer (2007, 2009), among others, where the name is taken. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (7)

Skew RS codes Idea: Choosing carefully generator polynomials of skew codes, we get very concrete results. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (8)

Skew RS codes Idea: Choosing carefully generator polynomials of skew codes, we get very concrete results. Construction method of Skew RS codes Choose a normal basis {α, σ(α),..., σ n 1 (α)} of the field extension L/K. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (8)

Skew RS codes Idea: Choosing carefully generator polynomials of skew codes, we get very concrete results. Construction method of Skew RS codes Choose a normal basis {α, σ(α),..., σ n 1 (α)} of the field extension L/K. Set β = α 1 σ(α) GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (8)

Skew RS codes Idea: Choosing carefully generator polynomials of skew codes, we get very concrete results. Construction method of Skew RS codes Choose a normal basis {α, σ(α),..., σ n 1 (α)} of the field extension L/K. Set β = α 1 σ(α) x n 1 decomposes as the least common left multiple x n 1 = [ x β, x σ(β), x σ 2 (β),..., x σ n 1 (β) ] l GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (8)

Skew RS codes Idea: Choosing carefully generator polynomials of skew codes, we get very concrete results. Construction method of Skew RS codes Choose a normal basis {α, σ(α),..., σ n 1 (α)} of the field extension L/K. Set β = α 1 σ(α) x n 1 decomposes as the least common left multiple x n 1 = [ x β, x σ(β), x σ 2 (β),..., x σ n 1 (β) ] l For 1 k < n, the left ideal C of R generated by g = [ x β, x σ(β), x σ 2 (β),..., x σ n k 1 (β) ] l is an SCC of length n and dimension k. We call them Reed-Solomon skew codes. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (8)

Skew RS codes Idea: Choosing carefully generator polynomials of skew codes, we get very concrete results. Construction method of Skew RS codes Choose a normal basis {α, σ(α),..., σ n 1 (α)} of the field extension L/K. Set β = α 1 σ(α) x n 1 decomposes as the least common left multiple x n 1 = [ x β, x σ(β), x σ 2 (β),..., x σ n 1 (β) ] l For 1 k < n, the left ideal C of R generated by g = [ x β, x σ(β), x σ 2 (β),..., x σ n k 1 (β) ] l is an SCC of length n and dimension k. We call them Reed-Solomon skew codes. Theorem The Hamming minimum distance of C is δ = n k + 1. Thus, it is an MDS code. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (8)

Parity check matrix A parity check matrix of the skew RS code is given by N 0 (β) N 0 (σ(β))... N 0 (σ n k 1 (β)) N 1 (β) N 1 (σ(β))... N 1 (σ n k 1 (β)) H = N 2 (β) N 2 (σ(β))... N 2 (σ n k 1 (β))....... N n 1 (β) N n 1 (σ(β))... N n 1 (σ n k 1 (β)) Here, for γ L, N j (γ) = γσ(γ)... σ j 1 (γ) is the remainder of the left division of x j by x γ, that is x j = q(x)(x γ) + N j (γ). GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (9)

Transmission and syndromes Our skew RS code C is generated by g = [ x β, x σ(β), x σ 2 (β),..., x σ n k 1 (β) ] l GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (10)

Transmission and syndromes Our skew RS code C is generated by g = [ x β, x σ(β), x σ 2 (β),..., x σ n k 1 (β) ] l Set τ = δ 1 2 = n k 2 which is the maximum number of errors that the code can correct. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (10)

Transmission and syndromes Our skew RS code C is generated by g = [ x β, x σ(β), x σ 2 (β),..., x σ n k 1 (β) ] l Set τ = δ 1 2 = n k 2 which is the maximum number of errors that the code can correct. m c = mg y = c + e k 1 m i x i i=0 n 1 c i x i i=0 n 1 ν c i x i + e j x kj i=0 j=1 ν τ message encoded received GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (10)

Transmission and syndromes Our skew RS code C is generated by g = [ x β, x σ(β), x σ 2 (β),..., x σ n k 1 (β) ] l Set τ = δ 1 2 = n k 2 which is the maximum number of errors that the code can correct. m c = mg y = c + e k 1 m i x i i=0 n 1 c i x i i=0 n 1 ν c i x i + e j x kj i=0 j=1 ν τ message encoded received From the received polynomial y = n 1 j=0 y jx j we can compute the syndromes n 1 S i = y j N j (σ i (β)), i = 0,..., n 1 j=0 GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (10)

Error locator and error evaluator We thus know the syndrome polynomial, defined as S = 2τ 1 i=0 σ i (α)s i x i. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (11)

Error locator and error evaluator We thus know the syndrome polynomial, defined as Define the locator polynomial S = 2τ 1 i=0 σ i (α)s i x i. λ = [1 σ k1 (β)x, 1 σ k2 (β)x,..., 1 σ kν (β)x] r GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (11)

Error locator and error evaluator We thus know the syndrome polynomial, defined as Define the locator polynomial S = 2τ 1 i=0 σ i (α)s i x i. λ = [1 σ k1 (β)x, 1 σ k2 (β)x,..., 1 σ kν (β)x] r For 1 j ν we thus know that there is p j of degree ν 1 such that λ = (1 σ kj (β)x)p j. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (11)

Error locator and error evaluator We thus know the syndrome polynomial, defined as Define the locator polynomial S = 2τ 1 i=0 σ i (α)s i x i. λ = [1 σ k1 (β)x, 1 σ k2 (β)x,..., 1 σ kν (β)x] r For 1 j ν we thus know that there is p j of degree ν 1 such that λ = (1 σ kj (β)x)p j. Define the evaluator polynomial ν ω = e j σ kj (α)p j (1) j=1 GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (11)

Error locator and error evaluator We thus know the syndrome polynomial, defined as Define the locator polynomial S = 2τ 1 i=0 σ i (α)s i x i. λ = [1 σ k1 (β)x, 1 σ k2 (β)x,..., 1 σ kν (β)x] r For 1 j ν we thus know that there is p j of degree ν 1 such that λ = (1 σ kj (β)x)p j. Define the evaluator polynomial ν ω = e j σ kj (α)p j (1) j=1 Sugiyama s decoding scheme. If λ is computed, then the error positions k 1,..., k ν are derived. With these at hand, we can compute p 1,..., p ν. Finally, the error values e 1,..., e ν are computed by solving a linear system from (1), whenever ω is known. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (11)

The non-commutative key equation Theorem These polynomials satisfy the non-commutative key equation for some u of degree smaller than ν. ω = Sλ + x 2τ u, GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (12)

The non-commutative key equation Theorem These polynomials satisfy the non-commutative key equation for some u of degree smaller than ν. Theorem The non-commutative key equation is a right multiple of the equation ω = Sλ + x 2τ u, x 2τ u + Sλ = ω (2) x 2τ u I + Sv I = r I, (3) where u I, v I and r I are the Bezout coefficients returned by the REEA with input x 2τ and S, and I is the index determined by the conditions deg r I 1 τ and deg r I < τ. In particular, λ = v I g and ω = r I g for some g L[x; σ]. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (12)

Sugiyama-like decoding If (λ, ω) r = 1, then the last theorem gives that the REEA serves for the computation of the locator polynomial λ and the evaluator polynomial ω. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (13)

Sugiyama-like decoding If (λ, ω) r = 1, then the last theorem gives that the REEA serves for the computation of the locator polynomial λ and the evaluator polynomial ω. As mentioned above, once these polynomials are computed, the error polynomial is computed by a scheme similar to the Sugiyama algorithm for (commutative) RS codes. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (13)

Sugiyama-like decoding If (λ, ω) r = 1, then the last theorem gives that the REEA serves for the computation of the locator polynomial λ and the evaluator polynomial ω. As mentioned above, once these polynomials are computed, the error polynomial is computed by a scheme similar to the Sugiyama algorithm for (commutative) RS codes. The condition (λ, ω) r = 1 is equivalent to deg v I = Cardinal{0 i n 1 : 1 σ i (β)x left divides v I } GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (13)

Sugiyama-like decoding algorithm Input: A polynomial y = n 1 i=0 y ix i received from the transmission of a codeword c in a skew RS code C generated by g = [{x σ i (β)} i=0,...,n k 1 ] l of error-correcting capacity τ = n k 2. Output: A codeword c, or key equation failure. 1: for 0 i 2τ 1 do 2: S i n 1 j=0 y jn j (σ i (β)) 3: S 2τ 1 i=0 σi (α)s i x i 4: If S = 0 then 5: Return y 6: {u i, v i, r i } i=0,...,l REEA(x 2τ, S) 7: I first iteration in REEA with deg r i < τ, pos 8: for 0 i n 1 do 9: If 1 σ i (β)x is a left divisor of v I then 10: pos = pos {i} 11: If deg v I > Cardinal(pos) then 12: Return key equation failure 13: for j pos do 14: p j right-quotient(v I, 1 σ j (β)x) 15: Solve the linear system r I = j pos e jσ j (α)p j 16: e j pos e jx j 17: Return y e GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (14)

Key equation failures How often occurs the key equation failure? GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (15)

Key equation failures How often occurs the key equation failure? Well, it never happens if the error values are in general position. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (15)

Key equation failures How often occurs the key equation failure? Well, it never happens if the error values are in general position. More precisely, Theorem The key equation failure happens if and only if e 1,..., e ν are linearly dependent over K = L σ. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (15)

Key equation failures How often occurs the key equation failure? Well, it never happens if the error values are in general position. More precisely, Theorem The key equation failure happens if and only if e 1,..., e ν are linearly dependent over K = L σ. On the other hand, we have an algorithm to solve the key equation failure, if we insist. GLN (UGR) Skew RS codes NCRA V, June 14, 2017 (15)