Introduction to coding theory...

43
Bounds Cyclic codes Examples of codes Introduction to coding theory II Pierre Arnoux Manila, July 2013 Pierre Arnoux Introduction to coding theory II

Transcript of Introduction to coding theory...

Page 1: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Introduction to coding theory II

Pierre Arnoux

Manila, July 2013

Pierre Arnoux Introduction to coding theory II

Page 2: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Upper bounds

I The Singleton bound for linear codes

I For a linear [n, k , d ] code :

I k + d ≤ n + 1

Pierre Arnoux Introduction to coding theory II

Page 3: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Upper bounds

I The Hamming Bound

I for an (n,M, d)-code with t =[d−12

]I qn ≥ M

∑tj=0(q − 1)j

(nj

).

I In the linear case of a [n, k , 2t + 1]-code :

I qn ≥ qk∑t

j=0(q − 1)j(nj

).

I in the binary case :

I 2n ≥ 2k∑t

j=0

(nj

).

Pierre Arnoux Introduction to coding theory II

Page 4: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Upper bounds

I It can be rewritten:

I k ≤[n − logq

(∑tj=0(q − 1)j

(nj

))].

I and in the binary case :

I k ≤[n − log2

(∑tj=0

(nj

))].

I How do these bounds compare?

I It depends on q

Pierre Arnoux Introduction to coding theory II

Page 5: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Upper bounds

Cas q = 2, n = 100

Pierre Arnoux Introduction to coding theory II

Page 6: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Upper bounds

Cas q = 2, n = 1000

Pierre Arnoux Introduction to coding theory II

Page 7: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Upper bounds

Cas q = 3, n = 100

Pierre Arnoux Introduction to coding theory II

Page 8: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Upper bounds

Cas q = 3, n = 1000

Pierre Arnoux Introduction to coding theory II

Page 9: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Upper bounds

Cas q = 4, n = 1000

Pierre Arnoux Introduction to coding theory II

Page 10: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Upper bounds

Cas q = 81, n = 1000

Pierre Arnoux Introduction to coding theory II

Page 11: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Upper bounds

Cas q = 1024, n = 1000

Pierre Arnoux Introduction to coding theory II

Page 12: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Bounds

I These are upper bounds.

I It is most interesting to have lower bounds,

I To see what can be expected.

Pierre Arnoux Introduction to coding theory II

Page 13: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Gilbert-Varshamov bound

I There is a lower bound :

I Theorem (Gilbert-Varshamov bound)

If qn−k+1 >∑d−1

j=0 (q − 1)j(nj

)then there exists a [n, k, d ] code

over Fq

I Proof by induction on k .

I If k = 1, the inequality becomes qn >∑d−1

j=0 (q − 1)j(nj

).

I It is true for d ≤ n.

I The code generated by (1, 1, . . . , 1) is a [n, 1, n] code whichsatisfies the condition.

Pierre Arnoux Introduction to coding theory II

Page 14: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Gilbert-Varshamov bound

I Theorem (Gilbert-Varshamov bound)

If qn−k+1 >∑d−1

j=0 (q − 1)j(nj

)then there exists a [n, k, d ] code

over Fq

I Suppose by induction that the inequality holds and there is a[n, k − 1, d ] code C .

I By the inequality, the spheres of radius d − 1 centered in C donot cover the space; there is some word W which is atdistance at least d of the words of C .

I Let C ′ be the vector space generated by C and W .

I Let αW + c and βW + c ′ two distinct words of C ′; thedistance d(αW + c , βW + c ′) is the weight of(α− β)W + c − c ′.

Pierre Arnoux Introduction to coding theory II

Page 15: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Gilbert-Varshamov bound

I Theorem (Gilbert-Varshamov bound)

If qn−k+1 >∑d−1

j=0 (q − 1)j(nj

)then there exists a [n, k, d ] code

over Fq

I Let αW + c and βW + c ′ two distinct words of C ′; thedistance d(αW + c , βW + c ′) is the weight of(α− β)W + c − c ′.

I If α− β = 0, it is the weight of a nonzero element of C ,hence at least d .

I if α− β = γ 6= 0, it is the weight of W + γ−1(c − c ′), that isthe distance d(W ,−γ−1(c − c ′).

I But C is a linear code; hence −γ−1(c − c ′) ∈ C , and thisdistance is at least d by definition of W .

I Hence C ′ is a [n, k , d ] code : the theorem is proved.

Pierre Arnoux Introduction to coding theory II

Page 16: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Gilbert-Varshamov bound

I This bound can be rewritten:

I For given q, n, d , a lower bound for the possible dimension k is

I k ≥ n + 1−[logq

(∑d−1j=0 (q − 1)j

(nj

))]I How does this compare to the previous upper bounds?

I Here are the curves.

I red for Singleton, blue for Hamming, orange forGilbert-Varshamov .

Pierre Arnoux Introduction to coding theory II

Page 17: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Bounds

Cas q = 2, n = 100

Pierre Arnoux Introduction to coding theory II

Page 18: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Bounds

Cas q = 2, n = 1000

Pierre Arnoux Introduction to coding theory II

Page 19: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Bounds

Cas q = 3, n = 1000

Pierre Arnoux Introduction to coding theory II

Page 20: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Bounds

Cas q = 4, n = 1000

Pierre Arnoux Introduction to coding theory II

Page 21: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Bounds

Cas q = 81, n = 1000

Pierre Arnoux Introduction to coding theory II

Page 22: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Bounds

Cas q = 1024, n = 1000

Pierre Arnoux Introduction to coding theory II

Page 23: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Upper BoundsLower bound

Bounds

I We have given upper and lower bounds.

I Two problems remain :

I Increase the quality of the bounds;

I Many other bounds are known.

I Realize effectively the codes;

I The proof of Gilbert Varshamov is not really constructive.

I We will add other structures to our codes.

Pierre Arnoux Introduction to coding theory II

Page 24: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

The binary Hamming codes (revisited)

I The first Hamming code for r = 2 has parity check matrix

P =

1 00 11 1

.

I And generating matrix(1 1 1

).

I It is a [3, 1, 3]-code : the triple code.

I It is a perfect and MDS code, with rate 13 .

Pierre Arnoux Introduction to coding theory II

Page 25: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

The binary Hamming codes

I The second binary Hamming code for r = 3 can be obtainedby parity check matrix

P =

1 0 00 1 00 0 11 0 11 1 11 1 00 1 1

.

I And generating matrix G =

1 0 0 0 1 0 10 1 0 0 1 1 10 0 1 0 1 1 00 0 0 1 0 1 1

.

Pierre Arnoux Introduction to coding theory II

Page 26: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

The binary Hamming codes

I G =

1 0 0 0 1 0 10 1 0 0 1 1 10 0 1 0 1 1 00 0 0 1 0 1 1

.

I It has minimum distance 3 by direct inspection.

I This is a [7, 4, 3] perfect code.

I The transmission rate is 47 , and it corrects one error

I This is much better than the triple code.

I It has another interesting property :

I It is cyclic

Pierre Arnoux Introduction to coding theory II

Page 27: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

The binary Hamming codes

I G =

1 0 0 0 1 0 10 1 0 0 1 1 10 0 1 0 1 1 00 0 0 1 0 1 1

.

I If (V1, . . . ,V7) ∈ C , then (V7,V1, . . . ,V6) ∈ C .

I Let V 1,V 2,V 3,V 4 be the rows of G , and S the cyclic shift.

I One can check that SV 1 = V 1 + V 2, S2V 1 = V 2 + V 3...

I We will give a more conceptual proof by adding morestructure.

I We will make the set of messages into a ring.

Pierre Arnoux Introduction to coding theory II

Page 28: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

Cyclic codes

I We say that a code is cyclic if, for any(V0,V1, . . . ,Vn−1) ∈ C , we have (Vn−1,V0,V1, . . .Vn−2) ∈ C .

I We would like to find a structure which can use this property.

I Idea : To the word (V0,V1, . . . ,Vn−1), we associate thepolynomial

∑n−1j=0 VjX

j .

I Multiplication by X shifts the coefficient one step to the right,but we want to send the last coefficient in the first position.

I Second idea: quotient by X n − 1, so that X n = 1 in the ring.

Pierre Arnoux Introduction to coding theory II

Page 29: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

Cyclic codes and quotient ring

I Consider the ring Fq[X ].

I The multiples of X n − 1 form an ideal < X n − 1 > of Fq[X ].

I We can define the quotient ring Fq[X ]/ < X n − 1 >.

I Each class modulo X n − 1 contains a unique polynomial ofdegree < n,

I Hence the ring Fq[X ]/ < X n − 1 > is in bijection with the setof polynomials of degree < n .

I We can identify Fnq with Fq[X ]/ < X n − 1 >.

I In this ring, we have X .∑n−1

j=0 cjXj = cn−1 +

∑n−2j=0 cjX

j+1.

I Multiplication by X amounts to a cyclic permutation ofcoefficients.

Pierre Arnoux Introduction to coding theory II

Page 30: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

Cyclic codes as ideals

I Let C be a code, considered as a subset ofFq[X ]/ < X n − 1 >.

I C is cyclic if and only if X .C = C .

I This implies that, for j ∈ N, X j .C = C .

I By linearity, for any a ∈ Fq and j ∈ N, aX j .C = C .

I Again by linearity, for any polynomialP(X ) ∈ Fq(X )/ < X n − 1 >, we have P(X ).C = C .

I Hence, any cyclic code corresponds to an idealI ⊂ Fq[X ]/ < X n − 1 >.

Pierre Arnoux Introduction to coding theory II

Page 31: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

generating polynomial

I Let π : Fq[X ]→ Fq[X ]/ < X n − 1 > be the canonicalprojection.

I π gives a bijection between the ideals of Fq[X ] containingX n − 1 and the ideals of Fq[X ]/ < X n − 1 >.

I Hence, C corresponds to a unique ideal I ∈ Fq[X ].

I But Fq[X ] is a principal ring: there exists a unique monicpolynomial g(X ) such that I =< g(X ) >.

I g is a divisor of X n − 1, since X n − 1 ∈ I .

I Suppose that the degree of g is r . Then any element f ∈ Ccan be written uniquely f (X ) = q(X )g(X ), withdeg q < n − r .

I C is a code of dimension k = n − r .

Pierre Arnoux Introduction to coding theory II

Page 32: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

generating matrix of a cyclic code

I The polynomial X ig(X ), for 0 ≤ i < n − r , give obviously abasis of the code.

I This give us a generating matrix.

I If g(X ) =∑r

j=0 gjXj , a generating matrix is given by

G =

g0 g1 g2 . . . gr 0 . . . 00 g0 g1 . . . gr−1 gr . . . 00 0 g0 . . . gr−2 gr−1 . . . 0. . . . . . . . . . . . . . . . . . . . . . . .0 0 0 . . . 0 0 . . . gr

.

Pierre Arnoux Introduction to coding theory II

Page 33: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

Parity check matrix of a cyclic code

I There is a unique polynomial h(X ) such thatg(X )h(X ) = X n − 1 .

I Let f (X ) = q(X )g(X ) as above.

I We have f (X )h(X ) = q(X )g(X )h(X ) = q(X ).(X n − 1)

I Since deg q < n − r , this polynomial has all coefficients ofdegree j with n − r ≤ j < n equal to 0.

I This give us a parity check matrix; if h(X ) =∑n−r

j=0 hjXj , then

I P =

hn−r 0 . . . 0hn−r−1 hn−r . . . 0. . . . . . . . . . . .h0 h1 . . . hk. . . . . . . . . . . .0 0 . . . h0

.

Pierre Arnoux Introduction to coding theory II

Page 34: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

The binary Hamming codes (again)

I Let q = 2, g(X ) = X 3 + X 2 + 1.

I One checks that g(X ).(X 4 + X 3 + X 2 + 1) = X 7 + 1

I The multiples of g form an ideal of dimension 4.

I a generating matrix is G =

1 0 1 1 0 0 00 1 0 1 1 0 00 0 1 0 1 1 00 0 0 1 0 1 1

.

I After row reduction, we recover :

G =

1 0 0 0 1 0 10 1 0 0 1 1 10 0 1 0 1 1 00 0 0 1 0 1 1

.

I This is Hamming code.

Pierre Arnoux Introduction to coding theory II

Page 35: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

Hamming (bis)Cyclic codesHamming code and F8

The binary Hamming codes (again)

I Remark that the set of syndromes is isomorphic toF2[X ]/ < X 3 + X 2 + 1 >= F8.

I Compute: X ,X 2,X 3 = X 2 + 1,X 4 = X 2 + X + 1,X 5 =X + 1,X 6 = X 2 + X ,X 7 = 1.

I Hence X is a primitive element of the multiplicative group ofF8, and any class modulo g contains a unique element ofweight 1 : the coset leader.

I This can be generalized.

Pierre Arnoux Introduction to coding theory II

Page 36: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

General Hamming codesBCH codesReed-Solomon

Hamming codes on Fq

I Consider a maximal set of pairwise independent vectors on Frq.

I We can find qr−1q−1 such vectors.

I It is the size of the projective space of dimension r − 1 overFq.

I Build a matrix P with these vectors as row vectors.

I This is the parity check matrix of the Hamming code of lengthqr−1q−1 and dimension qr−1

q−1 − r .

I Any two rows of P are independent, but we can find 3dependent rows.

I Hence the minimum distance is 3: this is a [qr−1q−1 ,

qr−1q−1 − r , 3]

code.

I This is a perfect (but not MDS) code.

Pierre Arnoux Introduction to coding theory II

Page 37: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

General Hamming codesBCH codesReed-Solomon

Some Hamming codes are cyclic codes

I Fix q a power of prime, and r > 1 prime with q − 1.

I Define n = qr−1q−1 .

I Identity n =∑r−1

j=0 qj = (q − 1)

(∑r−2j=0 (r − 1− j)qj

)+ r

shows that n is prime with q − 1.

I Let α be a primitive nth root of unity in Fqr .

I To get such a root, take a generator β of the multiplicativegroup and define α = βq−1

I For 1 ≤ j ≤ n − 1, j(q − 1) is not a multiple of n, so thatαj(q−1) 6= 1.

I Hence for 1 ≤ j ≤ n − 1, αj /∈ Fq.

Pierre Arnoux Introduction to coding theory II

Page 38: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

General Hamming codesBCH codesReed-Solomon

Some Hamming codes are cyclic codes

I Since Fqr is a vector space over Fq, we can consider all αj asvectors in Fr

q.

I Suppose that, for 0 ≤ j < k ≤ n − 1, αj and αk aredependent.

I Then we can find c ∈ Fq such that αk = cαj .

I Then αk−j = c ∈ Fq, which contradicts the previous result.

I Hence the powers of α give n independent vectors.

I Consider the corresponding matrix.

I With rows given by 1, α, α2, . . . , αn−1.

I it is a Hamming matrix.

Pierre Arnoux Introduction to coding theory II

Page 39: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

General Hamming codesBCH codesReed-Solomon

Some Hamming codes are cyclic codes

I Let V = (V0,V1, . . . ,Vn−1) be a word of the correspondingcode.

I Then V .P = 0 can be interpreted as∑r−1

j=0 Vjαj = 0.

I The code words are the polynomials in Fq[X ] which have α asa root.

I They are multiples of the minimal polynomial of α.

I The corresponding code is cyclic.

I We have proved:

I If r > 1 is prime with q − 1, and n = qr−1q−1 , the [n, n − r , 3]

Hamming code is a cyclic code.

Pierre Arnoux Introduction to coding theory II

Page 40: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

General Hamming codesBCH codesReed-Solomon

Remark on cyclic codes

I C cyclic code of length n on Fq.

I Let g be the generating polynomial of C of degree r .

I g is uniquely defined ; it is the unique monic polynomial ofsmallest degree in C .

I g has roots in an extension Fqk = Fkq .

I f is in the code if and only if the roots of g are roots of f .

Pierre Arnoux Introduction to coding theory II

Page 41: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

General Hamming codesBCH codesReed-Solomon

BCH Codes

I Fix q a power of prime, and m ≥ 1.

I Define n = qm − 1 and fix d < n.

I Let α be a primitive root of Fqm , seen as a vector space Fmq of

dimension n over Fq.

I The code is the set of polynomials f of degree < n such thatf (α) = f (α2) = . . . = f (αd−1) = 0 .

I It is a cyclic code, generated by the l.c.m. g of the minimalpolynomials of the αj , 1 ≤ j < n.

I deg(g) ≤ (d − 1)m .

I The code has length n, dimension at least n − (d − 1)m.

Pierre Arnoux Introduction to coding theory II

Page 42: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

General Hamming codesBCH codesReed-Solomon

BCH codes

I Suppose that the code contains an element f of weight < d .I f =

∑d−1j=1 ajX

kj .

I We have f (αi ) = 0, 1 ≤ i < d .I This family of equalities can be written:

αk1 αk2 . . . αkd−1

(αk1)2 (αk2)2 . . . (αkd−1)2

. . .(αk1)d−1 (αk2)d−1 . . . (αkd−1)d−1

a1a2...

ad−1

=

00...0

.

I The matrix is a Vandermonde matrix; since all the αj aredistinct, it is invertible.

I We have proved that BCH codes have minimal distance atleast d .

Pierre Arnoux Introduction to coding theory II

Page 43: Introduction to coding theory IIarchive.schools.cimpa.info/archivesecoles/20140205155227/arnoux2.pdf · Pierre Arnoux Introduction to coding theory II. Bounds Cyclic codes Examples

BoundsCyclic codes

Examples of codes

General Hamming codesBCH codesReed-Solomon

Reed-Solomon

I A special case of BCH codes.

I Fix q a power of prime, and n = q − 1.

I Fix d < n.

I Let α be a generator of F∗q.

I Let C be the code of polynomials f of degree < n such thatf (α) = f (α2) = . . . = f (αd−1) = 0.

I Generating polynomial g(X ) =∏d−1

j=1 (X − αj).

I This code has length n = q − 1, dimensionn − (d − 1) = q − d , and minimal distance at least d .

I By Singleton bound, the minimal distance is d ; it is a[q − 1, q − d , d ]-code, and MDS code.

Pierre Arnoux Introduction to coding theory II