![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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/27.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/28.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/29.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/30.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/31.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/32.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/33.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/34.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/35.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/36.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/37.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/38.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/39.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/40.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/41.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/42.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022040901/5e714ad8b9989546b27e859e/html5/thumbnails/43.jpg)
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