34
CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002

CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

CORPS FINIS ET CODES CORRECTEURS

D’ERREURS

J. Mellac

Fevrier 2002

Page 2: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Chapitre 1

Anneaux et ideaux.

1.1 Anneaux principaux.

1.1.1 Definitions.

Un anneau est un ensemble A muni de deux lois de composition internesnotees + et . et verifiant

— L’addition est associative, commutative, admet un element neutre note0 et appele element nul et chaque element x admet un symetrique note−x et appele oppose de x. On traduit ceci en disant que (A,+) est ungroupe commutatif.

— La multiplication est associative, distributive a gauche et a droite parrapport a l’addition et admet un element neutre note 1 et appele unitede l’anneau. Les elements 0 et 1 sont distincts, le seul cas particulieretant A = {0}, l’anneau nul, qui ne contient qu’un element.

— Si la multiplication est commutative, on dit que l’anneau est commutatif.Dans la suite tous les anneaux seront commutatifs.

En general on notera le produit ab et non a.b.

Formule du binome.(A,+) etant un anneau commutatif, a, b etant deux elements de A, n ∈ IN

(a+ b)n =n∑k=0

Cknakbn−k

les Ckn etant les coefficients du binome.

Diviseurs de zeros.A etant un anneau commutatif on dit que a ∈ A est un diviseur de zero de A si

— a 6= 0.— ∃b ∈ A, b 6= 0 tel que ab = 0.

Par exemple dans l’anneau des matrices carrees reelles d’ordre deux(1 00 0

)(0 00 1

)=

(0 00 0

)

1

Page 3: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Elements inversibles.A etant un anneau commutatif, a ∈ A est inversible s’il admet un symetriquepour la multiplication note 1/a ou a−1.a.a−1 = a−1.a = 1.Un element a inversible n’est pas diviseur de zeroab = 0⇒ a−1(ab) = b = 0.Un anneau qui n’a pas de diviseurs de zero est appele anneau integre.Une partie B de A est appelee sous anneau de A si B 6= ∅ et (B,+, .) est unanneau.Un anneau A est un corps si tout element de A − {0} est inversible. Dans cecas A est integre.

1.1.2 Anneaux Principaux.

Dans la suite (A,+, .) est un anneau commutatif non reduit a zero.

Definition 1.1 Un sous ensemble I 6= ∅ de A est un ideal de A si— (I,+) est un groupe.— ∀a ∈ A, aI = {ax|x ∈ I} ⊂ I.

Un ideal I de A est appele ideal principal s’il existe x ∈ A tel que I = xA.On dit que A est un anneau principal si A est integre et si tous ses ideaux sontprincipaux.

Anneaux quotients.

Soit I un ideal de A, on definit une relation d’equivalence sur A parx ≡ y mod. I si x− y ∈ I. (mod. se lit modulo). On verifie aisement qu’il s’agitbien d’une relation d’equivalence, l’ensemble des classes d’equivalence est noteA/I et est appele ensemble quotient de A par I.La relation d’equivalence est compatible avec l’addition et la multiplication dansA.

{ x1 ≡ y1 mod. Ix2 ≡ y2 mod. I

⇒ { x1 + x2 ≡ y1 + y2 mod. Ix1x2 ≡ y1y2 mod. I

.

En effet(x1 + x2)− (y1 + y2) = (x1 − y1) + (x2 − y2) ∈ Ix1x2 − y1y2 = x1(y1 − y2) + y2(x2 − x1) ∈ Icar x1I ⊂ I et y2I ⊂ I.Ceci permet de definir deux operations sur A/I, notees egalement + et . Ennotant x = x+ I la classe d’equivalence de x on definitx1 + x2 = x1 + x2

x1.x2 = x1x2.On peut alors verifier sans difficulte que (A/I,+, .) est un anneau commutatifappele Anneau Quotient de A par I. L’application

p : { A→ A/Ix→ x

2

Page 4: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

verifie p(x+ y) = p(x) + p(y), p(xy) = p(x)p(y), p(1) = 1. On dit que p est unmorphisme d’anneau, il est appele projection canonique de A sur A/I.

Theoreme de Bezout.Soit A un anneau principal. a, b, c, d, e etant des elements de A on dit que

— b|a s’il existe b1 tel que a = bb1.— e est le plus grand commun diviseur de c et d (e =pgcd(c, d)) si e|c, e|d,et

si tout diviseur commun a c et d divise e.— On dit que c et d sont premiers entre eux si pgcd(c, d)=1.

Remarque : En fait un pgcd est defini a la multiplication par un nombre inver-sible pres.

Theoreme 1.1 (Theoreme de Bezout) Soient a et b elements de A anneauprincipalaA+ bA = dA ou d= pgcd(a, b).

Demonstration.L’anneauA etant principal et aA+bA etant un ideal deA (verification immediate)on a aA+ bA = dA pour un element d ∈ A. Autrement dit ∀(x, y) ∈ A2 ∃z ∈ Atel que ax + by = dz. En prenant x = 1 (resp. x = 0), y = 0 (resp. y = 1) onobtient a = da1, b = da2, on a donc d|a, d|b. Il existe x, y elements de A telsque d = ax + by ce qui monttre que tout diviseur commun a a et a b divise d.On a d=pgcd(a, b).

1.2 Anneaux ZZ et k[X].

Theoreme 1.2 L’anneau ZZ est principal

Demonstration.Tout sous ensemble aZZ, a ∈ ZZ, est un ideal de ZZ et ZZ est integre.Reciproquement, soit I 6= {0} un ideal de ZZ et a le plus petit entier strictementpositif de I. Soi b ∈ I. La division euclidienne de b par a s’ecritb = aq+ r , 0 ≤ r < |b|, r = a− bq ∈ I ⇒ r = 0 d’apres la definition de a et ona I = aZZ.

La relation d’equivalencex ≡ y mod. I dans ZZ est noteex ≡ y mod. a avec I = aZZ.C’est equivalent a dire que a|x− y.L’anneau quotient ZZ/aZZ , a > 0 contient a elements distincts 0, 1, · · · a− 1 cor-respondants aux restes possibles dans la division euclidienne par a. On verifiesans difficulte que ces classes d’equivalences sont distinctes deux a deux.Remarque :L’anneau ZZ/aZZ peut ne pas etre integre, ainsi dans ZZ/6ZZ 2.3 = 0, ZZ/6ZZcontient donc des diviseurs de zero.

Caracterisation des elements inversibles.

Theoreme 1.3 Les conditions suivantes sont equivalentes

3

Page 5: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

— x est inversible dans ZZ/aZZ.— x n’est pas diviseur de zero dans ZZ/aZZ.— x est premier avec a.

Demonstration.Supposons x inversible dans ZZ/aZZ.Soit y tel que x.y = 0. On a alors x−1.(x.y) = 0 c’est a dire y = 0, x n’est doncpas diviseur de zero.

Supposons que x ne soit pas premier avec a, soit d =pgcd(a, x) 6= 1x = dx1, a = da1 ⇒ x.a1 = x1.a = 0 et x est diviseur de zero dans ZZ/aZZ.

Supposons x premier avec a. En utilisant le theoreme de Bezout, il existedes entiers relatifs k et l tels que kx+ la = 1 ce qui entraıne k.x = 1, x est doncinversible.

Anneau k[X].k etant un corps, l’ensemble des polynomes a coefficients dansk, note k[X] aune structure d’anneau integre.Division euclidienne.A,B ∈ k[X] , B 6= 0. Il existe un couple unique (Q,R) ∈ k[X] × k[X] tel queA = BQ + R avec degre(R) <degre(B). R est appele le reste de la divisioneuclidienne de A par B.

Theoreme 1.4 L’anneau k[X] est principal.

Demonstration.Soit I 6= {0} un ideal de k[X] et Q 6= 0 un polynome de degre minimal de I.Soit P ∈ I , P = QQ1 +R , doR < doQ, ceci entraıne R ∈ I et donc R = 0 etI = (Q(X)) ideal principal engendre par le polynome Q(X).

La relation d’equivalenceA ≡ B mod. I dans k[X] est noteeA ≡ B mod. QCeci equivaut a Q|A−B ou encore A et B ont le meme reste dans la division parQ. Si doQ = n, k[X]/I est represente par l’ensemble des polynomes de degresstrictement inferieurs a n, c’est a dire par les restes potentiels de la division parQ.Une demonstration analogue a celle faite pour ZZ montre le resultat suivant

Theoreme 1.5 Les conditions suivantes sont equivalentes— A(X) est inversible dans k[X]/(Q(X)).— A(X) n’est pas diviseur de zero dans k[X]/(Q(X)).— A(X) est premier avec Q(X).

Theoreme 1.6 — ZZ/pZZ est un corps si et seulement si l’entier p est pre-mier.

— k[X]/(p(X)) est un corps si et seulement si p(X) est irreductible.

Dans les deux cas tous les elements non nuls sont inversibles.

4

Page 6: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

1.3 Exercices.

Exercice 1.

Soit p un entier premier > 2.Quels sont les elements de ZZ/pZZ qui sont leurs propres inverses ?Montrer le theoreme de Wilson : Si p est un entier premier, alors (p − 1)! + 1est divisible par p. Demontrer la reciproque.

Exercice 2.

Soit p un entier premier superieur ou egal a 3, K = ZZ/pZZ et q = (p− 1)/2.1) Montrer que

G = {x ∈ K∗|∃a ∈ K∗ , x = a2}

est un sous groupe multiplicatif de K∗. Quel est son ordre (c’est a dire soncardinal) ?2) Montrer que si k ∈ G, alors kq = −(p− 1)! et en deduire le theoreme deWilson.3) Montrer que si k ∈ K∗ −G alors kq = (p− 1)!.4) Montrer que

G = {x ∈ K∗|xq = 1} , K∗ −G = {x ∈ K∗|xq = −1}

et en deduire le petit theoreme de Fermat∀a ∈ ZZ , ap ≡ a mod.p,ou ∀a ∈ ZZ non divible par p ap−1 ≡ 1 mod. p.

Exercice 3.

En utilisant le petit theoreme de Fermat, montrer que

∀n ∈ IN , 3n+3 − 44n+2 est divisible par 11.

Exercice 4.

On appelle φ(n) , n ∈ IN∗, le nombre d’elements inferieurs a n et premiersavec n, c’est a dire le nombre d’elements inversibles de ZZ/nZZ. On utilise iciune methode faisant appel au cours de probabilites.Une urne contient n ∈ IN∗ boules numerotees de 1 a n et indiscernables au tou-cher. On tire une boule au hasard. p1, p2, · · · , pr etant les diviseurs premiers den, on note Api l’evenement le numero porte par la boule tiree est divisible par pi.1) Calculer P (Api), 1 ≤ i ≤ r. Montrer que les evenementsApi sont independantsdans leur ensemble.2) Calculer la probabilite de l’evenement A = “le numero porte par la bouletiree est premier avec n” (il n’est divisible par aucun pi ). En deduire le nombreφ(n) des entiers plus petits que n et premiers avec n.

5

Page 7: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Chapitre 2

Corps finis.

2.1 Caracteristique. Sous corps premier.

Soit K un corps commutatif. Considerons le morphisme d’anneaux

φ :

ZZ→ Km→ m.1 = 1 + 1 + · · · 1︸ ︷︷ ︸

m fois

Deux situations peuvent se presenter— kerφ = 0.

φ est alors injectif et peut etre etendue a lQ par φ(m/n) = m.1/n.1, dansce cas on confond lQ et φ(lQ) et on considere lQ comme un sous corps deK.

— kerφ = pZZ.L’entier p est alors un nombre premier, sinon on auraitp.1 = (m.1)(n.1) = 0 ⇒ (m.1 = 0) ou (n.1 = 0) ce qui est impossibled’apres la definition de p qui est le plus petit entier positif verifiant cettepropriete.On a alorsφ(x) = φ(y)⇔ x− y ∈ pZZ⇔ x ≡ y mod.p. L’application

φ{ ZZ/pZZ→ Km→ m.1

est alors injective et ZZ/pZZ peut etre considere comme

un sous corps de K.Le nombre p qui est nul ou est premier est appele caracteristique du corps K.Si p = 0, lQ est appele sous corps premier de K.Si p est premier, IFp = ZZ/pZZ est egalement appele sous corps premier de K.Le sous corps premier est dans les deux cas le plus petit corps contenu dans K.Un corps fini a donc une caracteristique p > 0 et contient IFp comme sous corpspremier. On utilisera par la suite le theoreme suivant sans demonstration

Theoreme 2.1 (Theoreme de Wederburn) Tout corps fini est commuta-tif.

6

Page 8: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

2.2 Extensions de corps.

Theoreme 2.2 Soit f(X) un polynome irreductible sur IFp, de degre n. L’an-neau quotient K = IFp[X]/((f(X)) est un corps fini de cardinal pn.

Demonstration.Le polynome (f(X) etant irreductible, K est bien un corps. Soit g(X) un po-lynome de IFp[X] et r(X) le reste de la division de ce polynome par f(X).Posons x = X = X + (f(x)). On ag(X) = r(X) = a0 + a1x+ · · · an−1x

n−1 , ai ∈ IFp , i = 0, 1, · · · , n− 1ou r(X) = a0 + a1X + · · · an−1X

n−1. K est un espace vectoriel sur IFp et onverifie que (1, x, x2, · · ·xn−1) est une base de cet espace vectoriel qui est doncde dimension n sur IFp ce qui permet d’obtenir pn elements distincts.Un raisonnement analogue montre que tout corps fini de caracteristique p a uncardinal pn pour un entier n.

Exemple. X2 + 1 est irreductible sur IF3, 0,1 et 2 n’etant pas zeros de cepolynome.IF3[X]/(X2 + 1) est un corps a 9 elements et ils s’ecrivent avec les notationsprecedentes et le fait que x2 + 1 = 00, 1, 2, x, 1 + x, 2 + x, 2x, 1 + 2x, 2 + 2x. Verifions de plus que l’element (1+x)engendre le groupe multiplicatif de ce corps.(1 + x)0 = 1, (1 + x)1 = 1 + x, (1 + x)2 = 2x, (1 + x)3 = 1 + x3 = 1 + 2x(1 + x)4 = 4x2 = 2, (1 + x)5 = 2 + 2x, (1 + x)6 = x, (1 + x)7 = x+ 2.

Theoreme 2.3 Soit K un corps de caracteristique p, a, b deux elements de K,A(X), B(X) deux elements de K[X]

— (a+ b)p = ap + bp.— (A(X) +B(X))p = (A(X))p + (B(X))p.

Demonstration.On remarque que

1 ≤ i ≤ p− 1⇒ Cip est multiple de p

(a+b)p = ap+∑p−1i=1 C

ipaibp−i+bp et p.x = 0 pour tout x ∈ K. La demonstration

est analogue pour les polynomes.

Elements algebriques. Soient K et L deux corps, K ⊂ L, on dit que L estune extension de corps de K.Un element x ∈ L est dit algebrique sur K s’il est zero d’un polynome P acoefficients dans K. Si ce n’est pas le cas on dit que x est transcendant sur K.Par exemple le reel

√2 est algebrique sur lQ car il est zero de X2 − 2 ∈ lQ[X].

On montre que par contre e et π sont transcendants sur lQ.L’element x ∈ L etant algebrique sur K l’ensemble I = {P ∈ K[X]|P (x) = 0}est un ideal de K[X], cet anneau etant principal I = (f(X)) ou le polynomef(X) est choisi unitaire, c’est le polynome unitaire de degre minimum verifiantf(x) = 0, il doit donc etre irreductible sinon on aurait f(x) = f1(x)f2(x) = 0

7

Page 9: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

et f(X) ne serait pas de degre minimum.Le polynome f(X) est appele polynome minimal de x sur K.

L’element x ∈ L etant algebrique sur K, on definit K[x] = {P (x)|P ∈K[X]}. Soit n le degre de son polynome minimal f(X), en utilisant la divisioneuclidienne des polynomes on verifie aisement que K[x] est un espace vectorielde dimension n sur K dont (1, x,2 , · · · , xn−1) est une base. Cet espace vectorielest aussi un corps, en effet, le morphisme d’anneau

{ K[X]→ K[x]P → P (x)

est surjectif et son noyau est (fX)), on a donc

K[X]/(f(X)) ' K[x]

, ce qui demontre que K[x] est un corps.

Remarque :Soit K un corps et f(X) un polynome irreductible sur K de degre > 1, il existeun plus petit corps L (a un isomorphisme pres), extension de K, dans lequelf(X) admet un zero. Definissons L = K[X]/(f(X)) et on pose x = X =X + (f(X)), on a f(x) = 0. Un corps verifiant cette propriete est appele corpsde rupture de f(X). En repetant cette operation on obtient un corps extensionde K contenant toutes les racines de f(X). Ce corps est aussi unique a unisomorphisme pres.

2.3 Proprietes des corps finis.

Propriete.Pour un corps fini K de cardinal q = pn, tous les elements x de K verifientl’equation Xq −X = 0.C’est verifie pour x = 0, si x 6= 0, le groupe multiplicatif K∗ est de cardinalq − 1, le theoreme de Lagrange entraıne alors que xq−1 = 1 pour tout x ∈ K∗.

Theoreme 2.4 Pour tout nombre premier p et tout entier n strictement positif,il existe un corps fini K de cardinal q = pn. Il est note IFq. Ce corps est uniquea un isomorphisme pres.

Demonstration.Definissons par K le corps de decomposition du polynome Xq −X sur IFp. Cepolynome a q racines distinctes car son polynome derive qXq−1 − 1 = −1 estnon nul (remarquer que l’on multiplie par q et que les corps sont de cacteristiquep).Posons S = {a ∈ K|aq = a}. On verifie que S est un sous corps de K. Il contient0 et 1 et si a, b ∈ S(a− b)q = aq − bq = a− b , (ab−1)q = aqb−q = ab−1.Le polynome Xq−X est scinde dans S qui contient toutes ses racines, on a doncK = S et CardS = q. L’unicite provient de l’unicite du corps de decompositionde Xq −X sur IFp.

8

Page 10: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Theoreme 2.5 Le groupe multiplicatif d’un corps fini est cyclique.

Demonstration.On utilise le resultat suivant que l’on laisse au lecteur le soin de verifier. Soientx, y elements de K∗ d’ordres respectifs e et f premiers entre eux, l’ordre de xyest ef . Il existe donc un element x ∈ IF∗q dont l’ordre est le plus petit communmultiple α des ordres de tous les elements.D’une part ∀u ∈ IF∗q , u

α = 1, d’autre part ∀u ∈ IF∗q , uq−1 = 1, α etant d’apres

sa definition le plus petit entier verifiant cette propriete, on a α ≤ q − 1. Lepolynome Xα − 1 ayant au plus α racines distinctes dans le corps IF∗q , on aq − 1 ≤ α ce qui entraıne l’egalite entre ces deux nombres. Ceci demontre quex engendre le groupe multiplicatif IF∗q , tout element de ce groupe est donc unepuissance de x qui est appele element primitif du corps IFq. On peut remarquerque IFq = IFp[x].

Theoreme 2.6 Pour tout entier n et tout nombre premier p il existe un po-lynome irreductible de degre n sur IFp.

Demonstration.Soit q = pn et ξ un element primitif de IFq. IFq = IFp[ξ].Soit f(X) le polynome minimal de ξ sur IFp.

IFq = IFp[ξ] ' IFp[X]/(fX)) et [IFq : IFp] = n

entraıne dof = n et le polynome f(X) est irreductible sur IFp en tant que po-lynome minimal d’un element.

Exemple.Soit f(X) = X2 + X + 2 polynome a coefficients dans IF3. Ce polynome estirreductible sur IF3 car il n’admet aucun zero, f(0) = 2, f(1) = 1, f(2) = 2.IF9 ' IF3[X]/(f(X)).Soit α une racine de f dans IF9, montrons que α est un element primitif de IF9.On a α2 + α+ 2 = 0⇒ α2 = −α− 2 = 2α+ 1. (dans IF3 − 1 = 2).α3 = 2α2 + α = 2(2α+ 1) + α = 2α+ 2.α4 = 2α2 + 2α = 2(2α+ 1) + 2α = 2.α5 = 2α.α6 = 2α2 = 2(2α+ 1) = α+ 2.α7 = α2 + 2α = 2α+ 1 + 2α = α+ 1.α8 = α2 + α = 2α+ 1 + α = 1.

Theoreme 2.7 (Caracterisation d’un sous corps) Un corps fini IFpr estun sous corps du corps fini IFpnsi et seulement si r|n.

Demonstration.Supposons IFpr sous corps de IFpn , ce dernier est alors un espace vectoriel surIFpr qui est lui meme un espace vectoriel sur IFp. Les dimensions verifient

[IFpn : IFp] = n = [IFpn : IFpr ] [IFpr : IFp]︸ ︷︷ ︸=r

9

Page 11: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

ce qui montre que r|n.Reciproquement supposons que r|n, c’est a dire n = rs, ceci entraıneprs − 1 = (pr − 1)(pr(s−1) + pr(s−2) + · · · 1) autrement dit pr − 1|pn − 1 ce quientraıne que Xpr−1 − 1|Xpn−1 − 1 et donc Xpr − X|Xpn − X. Tout zero deXpr −X est zero de Xpn −X. Le corps IFpn qui est le corps de decompositionde Xpn − X contient donc le corps de decomposition de Xpr − X qui est decardinal pr. Ce sous corps d’ordre pr est unique, sinon ce dernier polynomeaurait plus de pr racines dans un corps.

Groupe de Galois de IFqm sur IFq.

Theoreme 2.8 Il existe m automorphismes distincts de IFqm qui laissent le

sous corps IFq invariant. Ils sont definis par σj(x) = xqj, 0 ≤ j ≤ m − 1. Ils

forment un groupe appele groupe de Galois de IFqm sur IFq.

Demonstration.Les σj sont bien des morphismes de corps laissant IFq invariant, ce sont doncegalement des applications IFq-lineaires, elles sont injectives et donc bijectivescar IFqm est fini. Ces applications sont deux a deux distinctes, car si ξ est unelement primitif de IFqm

ξqj 6= ξq

i, i 6= j , 0 ≤ i, j ≤ m− 1.

Montrons que tout automorphisme σ de IFqm laissant IFq invariant est un des σi.Soit f(X) le polynome minimal de ξ sur IFq. Ce polynome etant a coefficientsdans IFq, on a

σi((fX)) = f(X) , 0 ≤ i ≤ m− 1

ses zeros sont donc ξ, ξq, · · · ξqm−1, l’automorphisme σ laisse egalement f(X)

invariant et σ(ξ) etant zero de f(X), on a donc σ(ξ) = ξqi

= σi(ξ) pour uni ∈ {0, 1, · · · ,m− 1}, la definition de ξ entraıne σ = σi.

10

Page 12: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

2.4 Exercices.

Exercice 1.

1)Montrer que les polynomes f(X) = X2 + 1 et g(X) = X2 + X + 4 sontirreductibles sur IF11. On note

K = IF11[X]/(f(X)) , L = IF11[X]/(g(X)).

2) Soient α et β deux elements respectivement de K et L ayant le meme po-lynome minimal, de degre deux, sur IF11. Montrer que

φ{ IF11[α]→ IF11[β]a+ bα→ a+ bβ

, a, b ∈ IF11

est un isomorphisme de K sur L.3) Determiner deux elements α et β ayant les proprietes precedentes.

Exercice 2.

Determiner tous les elements primitifs de IF7 , IF19 et IF9, dans le derniercas il est necessaire de bien definir les elements de ce corps.

Exercice 3.

1) Determiner un polynome irreductible, de degre deux sur IF5.2) En ecrivant tous les elements de IF25 sous la forme a + bξ, a, b ∈ IF5, et ξzero du polynome precedent, determiner un element primitif β de IF25 et ecriretous les elements de IF25 sous la forme α = βn.

Exercice 4.

Soit p un entier premier et q = pn. On definit une application, appelee trace,de IFq dans IFp par

Tr :

{IFq → IFpα → α+ αp + αp

2+ · · ·+ αp

n−1

1) Calculer (Tr(α))p, en deduire que Tr(α) ∈ IFp. Montrer que Tr est uneapplication IFp-lineaire surjective. Calculer Tr(b) si b ∈ IFp et verifier que∀α ∈ IFq, Tr(α

p) = Tr(α).2) Montrer que Tr(α) = 0⇔ ∃β ∈ IFq , α = βp − β.

Exercice 5.

1) On definit la relation suivante sur K = IFpn

x ≡ y ⇔ ∃i ∈ {0, 1, · · · , n} , y = xpi.

Montrer que c’est une relation d’equivalence.2) K = IF16 est engendre sur IF2 par w zero du polynome irreductible

11

Page 13: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

X4 +X+ 1. Verifier que w est un element primitif de K. Determiner les classesd’equivalence, pour la relation definie dans la question precedente, en fonctionde w.3) On revient aux conditions de la question 1. Soit x ∈ K , {x, xp, · · · , xps−1}la classe d’equivalence de x. On definit le polynome

Px(X) =s−1∏j=0

(X − xpj ) =s−1∑i=0

aiXi

Verifier que (Px(X))p = Px(Xp) et que ceci entraıne∀i ∈ {0, 1, · · · , s− 1} ai ∈ IFp.

4) Montrer que si P (X) est le polynome minimal de x sur IFp, x, xp, · · · , xps−1

sont racines de P (X). En deduire que Px(X) = P (X). Montrer que si x en-gendre K on a Tr(x) = −a1 ou P (X) = Xn + a1X

n−1 + · · ·+ an−1X + an.5) Soit {Px(X)|x ∈ U} l’ensemble des polynomes minimaux distincts des elementsde K. Montrer que

Xpn−1 − 1 =∏x∈U

Px(X).

6) Determiner les polynomes minimaux distincts dans IF16.

12

Page 14: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Chapitre 3

Codes Lineaires.

3.1 Generalites.

Soit A un ensemble fini non vide, appele alphabet.

Definition 3.1 On definit la distance de Hamming sur An par

d(x, y) = d((x1, x2, · · · , xn), (y1, y2, · · · , yn)) = card{i ∈ {1, · · · , n}|xi 6= yi}

On peut verifier sans difficulte que d a les proprietes d’une distance sur l’en-semble An.

Theoreme 3.1 Un code sur A de longueur n est un sous ensemble C de An.Les elements de C sont appeles les mots du code.

Remarque.Lorsqu’on utilise un code pour transmettre des messages, si x = (x1, x2, · · · , xn)est le mot envoye et x′ = (x′1, x

′2, · · · , x′n) le mot recu, le nombre d’erreurs com-

mises sur les composantes du mot est d(x, x′). La finalite des codes correcteursd’erreurs est de detecter et de corriger ces erreurs. Le principe consiste a trans-mettre en plus du mot un certains nombres de lettres (de bits) redondantespermettant de reconstituer le mot a l’arrivee.Schematiquement

(x1, x2, · · · , xk)→encodeur (x1, · · · , xk, · · ·xk+n)

→ canal bruite→

(y1, · · · , yk+n)→decodeur (y1, · · · , yk).

L’encodeur transforme le mot transmis en un mot du code utilise.Le rapport k/(k+n) est appele taux de transmission, n est appele redondance.Dans le canal bruite certains symboles de A peuvent etre modifies. Detecterune erreur, c’est determiner si(y1, yk+n) et (x1, · · · , xk+n) sont egaux ou non.Corriger une erreur, c’est apres detection obtenir par decodage

13

Page 15: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

(y1, · · · , yk) = (x1, · · · , xk).

Les boules utilisees dans les definitions suivantes sont des boules fermeesrelatives a la distance de Hamming.

Definition 3.2 — Un code est e-detecteur (e∈ IN∗) si toute boule centreeen un mot de code, de rayon e ne contient auncun autre mot de code.

— Un code est e-correcteur si deux boules de rayon e, centrees en des motsde code differents ont une intersection vide.

— Si C est un code, d = min{d(a, b) 6= 0|a ∈ C , b ∈ C} est appeleedistance minimale du code

Theoreme 3.2 Soit C un code de distance minimale d. Ce code est (d − 1)-detecteur d’erreurs et [d−1

2 ] correcteur.

La verification est immediate.

Exemple.A = IF2 = {0, 1} , n = 5C = {x = (0, 1, 1, 1, 0), y = (1, 0, 1, 0, 1), z = (1, 1, 0, 1, 1)}. La distance mini-male d = 3, C est 1-correcteur, c’est a dire qu’il peut rectifier un mot pourlequel s’est introduit une erreur. Par exemple si le mot recu est (1, 1, 1, 0, 1), lemot envoye est y dans le cas ou une erreur au maximum est possible au coursde la transmission. Determinons maintenant une relation entre l’alphabet, lalongueur du code et sa capacite de correction.

Theoreme 3.3 Soit C un code de longueur n sur un alphabet A et de capacitede correction e, on a

|C|e∑r=0

Crn(|A| − 1)r ≤ |A|n

ou |X| represente le cardinal d’un ensemble X.

Demonstration.On a

B(x, r) = ∪ri=0S(x, i)

ou S(x, i) est la sphere de centre x et de rayon i ∈ IN, car d, distance deHamming est a valeurs dans IN.|S(x, i)| = Cin(|A| − 1)i car cet ensemble represente le nombre de mots y donti composantes different de celles de x. On a|B(x, r)| =

∑ri=0C

in(|A|−1)i d’apres le resultat precedent. Si C est e-correcteur,

toutes les boules B(x, e) , x ∈ C sont deux a deux disjointes et

∑x∈C|B(x, e)| ≤ |A|n ⇔ |C|

e∑r=0

Crn(|A| − 1)r ≤ |A|n

14

Page 16: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

3.2 Codes Lineaires.

Dans la suite A = IFq , q = pn, p premier. On prend souvent q = 2.

Definition 3.3 Le poids d’un mot x = (x1, x2, · · ·xn) ∈ IFnq est defini parw(x) = Card{i ∈ {1, · · · , n}|xi 6= 0}

Cette fonction possede les proprietes suivantes— d(x, y) = w(x− y).— w(x) = d(x, 0).— w(x) = 0⇔ x = 0.— ∀λ ∈ IF∗q , w(λx) = w(x).— w(x+ y) ≤ w(x) + w(y).

Definition 3.4 Un code lineaire (n, k, d) sur A = IFq est un sous espace vec-toriel de An de dimension k ≤ n et de distance minimale d. Il contient qk

mots.

Remarque.On a d = min{w(x)|x ∈ C − {(0, 0, · · · , 0)}}, en effet{d(x, y)|(x, y) ∈ C2} = {w(z)|z ∈ C} en appelant C le code, car d(x, y) =w(x− y) et x− y ∈ C, reciproquement w(z) = d(z, 0) , 0 ∈ C , z ∈ C.

3.2.1 Matrice Generatrice.

Definition 3.5 Une matrice generatrice d’un code lineaire C sur A est unematrice dont les lignes forment une base de C.

Proprietes.Les proprietes suivantes relevent de l’algebre lineaire elementaire et sont donneessans demonstration.

— Une matrice generatrice est une matrice k×n sur A, k ≤ n, dont le rangest k.

— Toute matrice k × n sur A , de rang k est une matrice generatrice d’uncode (n, k) sur A.

— Les matrices generatrices de C sont de la forme BGou B est une matricek × k inversible sur A et G une matrice generatrice.

— Le code C est l’ensemble des motsmu = (u1, u2, · · · , uk)G ou u = (u1, u2, · · · , uk) ∈ Ak et l’applicationu→ mu est un isomorphisme d’espace vectoriel.

— Si (c1, c2, · · · , cn) sont les vecteurs colonnes de G, les mots du code Csont de la forme

mu = ((c1|u), (c2|u), · · · , (cn|u)) , u ∈ Ak

et (.|.) representant le produit scalaire usuel de Ak.Exemple.

G =

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

est de rang 3

15

Page 17: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Les mots du code sontC = {(1, 0, 0, 1, 0), (0, 1, 0, 1, 1), (0, 0, 1, 0, 1), (1, 1, 0, 0, 1)(1, 0, 1, 1, 1), (0, 1, 1, 1, 0),

(1, 1, 1, 0, 0), (0, 0, 0, 0, 0)}la distance minimale est d = w(C) = 3. C est un code lineaire (5, 3, 3).

Definition 3.6 — Deux codes C1 et C2 son tequivalents si les mots de C2

sont obtenus a partir de ceux de C1 par une meme permutation.— Un code lineaire de dimension k est dit systematique si la matrice formee

par les k premiere colonnes de sa matrice generatrice est la matrice unite.

En utilisant les operations elementaires sur les lignes et les colonnes d’une ma-trice, on obtient

— Tout code lineaire est equivalent a un code lineaire systematique.— Si le code (n, k, d), C, est systematique, pour chaque u = (u1, · · · , uk) ∈

Ak, il existe un mot et un seul de C de la formemu = (u1, ·, uk, xk+1, · · · , xn).Les k premiers symboles sont appeles symboles d’information et les n−ksuivants, symboles de controle ou de redondance.

Exemple.Soit C1 le code lineaire de matrice generatrice

G1 =

1 0 1 1 0 11 1 0 1 0 10 1 1 1 0 11 1 0 1 1 0

dont les vecteurs colonnes sont c1, c2, · · · c6.En les ecrivant dans l’ordre c1, c2, c4, c5, c3, c6

la matrice devient

G′ =

1 0 1 0 1 11 1 1 0 0 10 1 1 0 1 11 1 1 1 0 0

c’est la matrice d’un code equivalent a C1 obtenu a partir de la permutationσ = (3, 4, 5).Soient l′1, l

′2, l′3, l′4 les lignes de G′ et soit G la matrice dont les lignes sont

l1 = l′2 + l′3, l2 = l′1 + l′2, l3 = l′1 + l′2 + l′3, l4 = l′2 + l′4, la matrice est alors

G =

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

Le code systematique C de matrice G est equivalent au code C1. La matriceG permet de coder 24 = 16 messages, chacun d’eux est associe a un elementu = (u1, u2, u3, u4) ∈ IF4

2. Un mot de code s’ecrit uG = (u1, u2, u3, u4, u1 +u2, u3 + u4). Ce code est detecteur mais non correcteur d’erreur car son poidsest 2.

16

Page 18: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

3.2.2 Matrices de controle.

On definit sur IFnq le produit scalairex.y = (x|y) =

∑ni=1 xiyi , x = (x1, x2, · · · , xn) , y = (y1, y2, · · · , yn).

Definition 3.7 — Soit C un code lineaire de parametres (n, k, d), le codeorthogonal de C est le sous espace vectoriel de An orthogonal a C, c’estun code de longueur n et de dimension n − k, il n’y a pas de relationsimple entre d et le poids de ce code.

— On appelle matrice de controle de C toute matrice generatrice de sonorthogonal.

Propriete.Le mot (x1, x2, · · · , xn) appartient au code C de matrice de controle H si etseulement si

H

x1...xn

=

0...0

. Ceci exprime en effet que x est orthogonal aux lignes de

cette matrice, donc a C⊥ ce qui donne x ∈ (C⊥)⊥ = C.Remarque.

En appelant c1, c2, · · · , cn les colonnes de H et en notantHtx =

∑ni=1 xici on obtient le resultat : Le code C contient un mot de poids r

si et seulement si il existe une combinaison lineaire a coefficients non nuls de rcolonnes de H qui est nulle.Le poids minimum de C est donc le plus petit entier r > 0 verifiant cette pro-priete.

Propriete.Soit G = [Ik,M ] ou Ik est la matrice unite k× k et M une matrice k× (n− k),la matrice generatrice d’un code C systematique. La matrice de controle estH = [tM,−In−k].

Demonstration.Soit M = (vij)1≤i≤k , 1≤j≤n−k. Le code etant systematique, un mot de codes’ecritx = (x1, · · · , xk, xk+1, · · · , xn) = (x1, · · · , xk)G, ce qui entraınexk+j =

∑ki=1 vijxi , 1 ≤ j ≤ n− k.

Ce qui exprime que x est orthogonal a la j-ieme ligne de la matrice H. Le codeC est donc inclus dans le code admettant H comme matrice de controle. Cesdeux codes ayant meme dimension sont identiques.

Principe de decodage d’un code lineaire.Apres avoir transmis un message code a l’aide d’un code correcteur d’erreur, ilest necessaire de le decoder pour qu’il soit comprehensible. Soit H la matricede controle d’un code lineaire C, x ∈ C, soit y le mot recu.ε = y − x est appele vecteur d’erreur. On a l’equivalencey ∈ C ⇔ Hty = 0. Supposons C e-correcteur, si y = x+ε, Hty = Htε car x ∈ C.Cette quantite Htε est appelee syndrome d’erreur de x. On peut remarquer que

17

Page 19: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Hty = Htz ⇔ z − y ∈ C.Chaque element d’une classe laterale u+C , u ∈ An a donc le meme syndromed’erreur. La capacite de correction du code est e = [d−1

2 ] et pour tout mot xnon nul du code on a w(x) ≥ d. Dans la suite on fait l’hypothese que les motsrecus contiennent au plus e erreurs.

x ∈ C , w(ε) ≤ e⇒ w(x+ ε) ≥ d− d− 1

2> e

On a doncw(ε) = min{w(x+ ε)|x ∈ C}

Le vecteur d’erreur est l’unique mot de poids minimum d’un translate de C.L’algorithme de decodage peut se resumer comme suit

— Calcul du syndrome du mot recu y.— Determination de la classe laterale associee.— Recherche dans cette classe du mot erreur ε.— Calcul de x = y − ε.

Cet algorithme est mis en oeuvre en utilisant une table, dite table de decodage,des syndromes des mots erreurs, c’est a dire des mots dont le poids est au pluse.Pour decoder on calcule le syndrome et on le cherche dans la table. On lit alorsle mot erreur et on peut corriger.

Certains codes particuliers permettent de decoder tout mot de l’espace am-biant, on les appelle codes parfaits.

Definition 3.8 Le code e-correcteur lineaire, de longueur n est dit parfait si

An = ∪x∈CB(x, e)

les boules B(x, e) etant fermees.

Dans ce cas tout mot recu peut etre corrige. Il y a peu de codes parfaits. L’und’entre eux, le code de Hamming, marque le debut des travaux concernant lescodes correcteurs d’erreurs.

Definition 3.9 Soient A = IF2 , m > 1. Le code de Hamming binaire est lecode lineaire dont la matrice de controle, de dimension m × (2m − 1) admetpour colonnes les elements non nuls de {0, 1}m.

Exemple.

m = 3 , H3 =

1 1 0 1 1 0 01 0 1 1 0 1 00 1 1 1 0 0 1

La matrice generatrice de ce code est

G3 =

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

C’est un code (7, 4, 3), il est donc 1-correcteur.

18

Page 20: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Theoreme 3.4 Un code de Hamming a pour longueur 2m − 1, pour dmension2m − m − 1, et pour capacite de correction e = 1. Un code de Hamming estparfait.

Demonstration.La longueur, correspondant au nombre de mots non nuls, est 2m− 1, son otho-gonal est de dimension n d’apres la definition, le code est donc de dimension2m −m− 1.On utilise la remarque 3.2.2 Si le code contenait un mot de poids 1, la matricede controle H contiendrait une colonne nulle, ce qui n’est pas le cas.S’il contenait un mot de poids 2, il y aurait deux colonnes identiques, ce qui estfaux.ci et cj etant deux colonnes distinctes de H, ci + cj est une autre colonne deH, cl, l’egalite ci + cj + cl = 0 montre que le poids du code est 3.Posons n = 2m − 1 , k = n−m. On a2n = 2k2m = 2k(n+ 1).Chaque boule de rayon 1 centree en un mot du code contient 1 + C1

n = 1 + nmots. Le code contenant 2k mots, il est donc parfait.

19

Page 21: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

3.3 Exercices

Exercice 1

Determiner tous les mots de codes, la distance minimale et la matrice decontrole du code [5, 3] sur IF2 qui est defini par la matrice generatrice 0 1 0 0 1

0 0 1 0 11 0 0 1 1

Exercice 2

Montrer que les codes de matrices generatrices G1 et G2 suivantes sontequivalents et donner leur forme systematique.

G1 =

1 1 1 00 1 1 00 0 1 1

, G2 =

1 0 1 10 1 1 11 0 0 1

Exercice 3

On considere f : IFn2 → IR et on note (u|v) le produit scalaire canonique surcet espace.(u|v) =

∑ni=1 uivi ou u = (u1, u2, · · · , un) , v = (v1, v2, · · · , vn).

1) Soit C un code lineaire sur IFn2 , montrer que

∑u∈C

(−1)(u|v) =

{|C| si v ∈ C⊥0 si v 6∈ C⊥

On note f(u) =∑v∈IFn

2(−1)(u|v)f(v). Montrer que

∑u∈C⊥

f(u) =1

|C|∑u∈C

f(u).

2) On note Ai = |{u ∈ C|w(u) = i}| et on appelle polynome des poids du codeC le polynome a deux variables

WC(X,Y ) =n∑i=0

AiXn−iY i.

En utilisant la question precedente, montrer que

WC⊥ =1

|C|WC(X + Y,X − Y ).

3) n = 4 , C = {(0, 0, 0, 0), (1, 1, 1, 1). Determiner le polynome des poids ducode C, en deduire le polynome des poids du code C⊥ et en deduire les pa-rametres de ce code.

20

Page 22: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Exercice 4

Soit Cm le code de Hamming de longueur n = 2m − 1 et de dimensionk = n−m.1) Montrer que tous les mots non nuls de C⊥m ont le meme poids 2m−1.2)Determiner le polynome des poids du code C⊥m, en deduire le polynome despoids de Cm puis la distribution des poids de ce code Cm.

21

Page 23: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Chapitre 4

Codes Cycliques.

4.1 Definitions.

On pose q = pr ou p est un nombre premier et K = IFq. Dans la suite lalongueur n d’un code lineaire verifiera toujours pgcd(q, n) = 1.En pratique, les codes cycliques sont les codes lineaires les plus importants.Pour une longueur n et un corps de base IFq, on dispose d’un assez large choixde codes cycliques pour une capacite de correction et/ou une dimension.

Definition 4.1 — Soit C un code lineaire de longueur n et σ une permu-tation de {1, 2, · · · , n}. On dit que σ est un automorphisme du code C siσ(C) = C.

— Un code lineaire de longueur n sur K est un code cyclique si son grouped’automorphismes (definis au dessus) contient le shift, c’est a dire lapermutation σ = (1, 2, · · · , n), autrement dit le code est caracterise de lafacon suivante

(c0, c1, · · · , cn−1) ∈ C ⇔ (cn−1, c0, c1, · · · , cn−2) ∈ C.

On dit que le code C est invariant par le shift.

4.2 Representation Polynomiale.

A tout mot c = (c0, c1, · · · , cn−1) ∈ C on peut faire correspondre le polynome

f(X) = c0 + c1X + · · ·+ cn−1Xn−1

Le polynome associe au shifte de c s’obtient en multipliant par X puis en posantXn = 1. Formalisons cette definition en definissant un morphisme d’anneau

Θ : { Kn → K[X]/(Xn − 1)

(c0, c1, · · · , cn−1)→∑n−1i=0 cix

i

ou x = X = X+(Xn−1) , on a xn = 1. L’image Θ(C) du code, qui est commeon le verra un ideal de K[X]/(Xn + 1), est appelee representation polynomialede C.

22

Page 24: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Theoreme 4.1 La representation polynomiale du code cyclique C est un idealprincipal de K[X]/(Xn − 1). Un code cyclique est dit primitif si n = qm − 1pour un entier positif m.

Demonstration. Verifions tout d’abord que deux mots de code distincts ontdeux representations polynomiales differentes.

Θ(c1) = Θ(2)⇔ f(x) = g(x)⇔ Xn − 1|f(X)− g(X)

⇔ f = g (dof ≤ n− 1 , dog ≤ n− 1)⇔ c1 = c2.

Montrons que l’anneau K[X]/(Xn− 1) est principal. Rappelons d’abord qu’unideal I de cet anneau est de la forme J/(Xn − 1) pour un ideal J contenantl’ideal (Xn − 1). K[X] etant principal on a J = (g(X)) pour un polynomeg(X)|Xn − 1. L’ideal I est alors l’ideal principal engendre par g(x).Θ(C) est bien un ideal de K[X]/(Xn − 1) car il est stable par l’addition et parmultiplication par x d’apres la definition d’un code cyclique, car multiplier parx revient a considerer l’image du mot shifte. Il est donc stable par la multipli-cation par un polynome quelconque.

Remarque.Ce qui precede montre qu’un element de Θ(C) s’ecrit sous la formeh(x) = g(x)v(x) ou h est un polynome mutiple du polynome g et de degre

≤ n − 1, on peut donc ecrire v(x) =∑n−dog−1i=0 λix

i. Le polynome g est appelepolynome generateur du code cyclique C.

Dimension et matrice generatrice d’un code cyclique.

Theoreme 4.2 Soit C un code cyclique (n, k) sur IFq dont le polynome generateurest g de degre t. Alors la dimension du code est k = n−t et la matrice generatricede C est

G =

g0 g1 · · · gt 0 · · · 00 g0 · · · gt−1 gt · · · 0...

......

0 0 · · · gt−1 gt

ou g(X) = g0 + g1X + · · ·+ gtX

t.

Soit h(x) la representation polynomiale du mot de code c.

h(X) =n−t−1∑i=0

λiXig(X)

en gardant les notations precedentes. Or les k = n − t lignes de G sont lescoordonnees de

g(X), Xg(X), · · · , Xn−t−1g(X)

dans la base canonique de Kn−1[X], ensemble des polynomes a coeficients dansK et de degre inferieur ou egal a n− 1.

23

Page 25: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

4.3 Dual d’un code cyclique.

Remarque.Soit g(X) le polynome generateur du code cyclique C, le polynome g(X) diviseXn − 1. En effetXn − 1 = g(X)h(X) +R(X) , doR < dog, ceci entraıne R(X) = 0, sinon R(X)serait dans Θ(C) et de degre strictement plus petit que le degre de g(X), ce quiest impossible.

Definition 4.2 Le polynome h(X) defini par Xn − 1 = g(X)h(X) est appelepolynome de controle de C.doh = n− dog = dimC = k.

Theoreme 4.3 Soit h(X) =∑ki=0 hiX

i le polynme de controle du code C, lamatrice de controle de ce code s’ecrit alors

H =

0 · · · 0 hk · · · h1 h0

0 · · · hk hk−1 · · · h0 0...

...hk hk−1 · · · h0 0 · · · 0

Demonstration.

f(x) ∈ Θ(C)⇔ g(X)|f(X)

⇔ h(X)f(X) ≡ 0 mod. Xn − 1⇔n−1∑i=0

n−1∑j=0

fjhi−j

Xi = 0

les differences i− j sont calculees modulo n.

⇔ ∀i ∈ {0, 1, · · · , n− 1}n−1∑j=0

fjhi−j = 0

Ceci exprime que f = (f0, f1, · · · , fn−1) est orthogonal a chaque ligne de lamatrice H, ce qui montre qu’il s’agit de la matrice de controle du code C.

Remarque.

Le polynome generateur du code C⊥ est

h(X) =Xk

h0h(X−1) , k = n− t , t = dog.

4.4 Encodage.

La dimension du code etant n−t, les mots sources sont de la forme u0, u1, · · · , un−t−1),on represente ce mot par le polynome u(X) = u0 + u1X + · · ·+ un−t−1X

n−t−1,la matrice generatrice du code cyclique etant G, le mot de code correspondantau mot precedent est (u0, u1, · · · , un−t−1)G.

24

Page 26: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Exercice.1) Montrer que le mot de code precedent s’obtient en calculant le produituX).g(X), g etant le polynome generateur du code cyclique.2)Verifier que si

Xtu(X) = g(X)q(X)+r(X) , dor < n−t ,Xtv(X) = g(X)q(X)+r′(X) , dor′ < n−t

alors u(X) = v(X).

4.5 Construction des codes cycliques.

On peut remarquer que le polynome Xn − 1 n’a que des racines simplesdans IFq car son polynome derive nXn−1 ne s’annule que pour X = 0 carpgcd(n, q) = 1.Determiner tous les codes cycliques de longueur n sur IFq, c’est determiner tousles polynomes generateurs eventuels, c’est a dire les polynomes de IFq[X] quidivisent Xn − 1. On va presenter dans cette partie un methode pratique dedetermination de ces polynomes.

Soit φ(n) le nombre d’elements inversibles de ZZ/nZZ (φ est appelee fonctiond’Euler), q et n etant premiers entre eux q est un de ces elements et on a doncqφ(n) = 1 d’apres le theoreme de Lagrange. Soit m le plus petit entier stricte-ment positif tel que qm ≡ 1 mod. n.L’entier m est appele ordre multiplicatif de q modulo n., c’est son ordre dansle sous groupe multiplicatif des elements inversibles de ZZ/nZZ.On peut remarquer que c’est le plus petit entier k > 0 tel que n|qk − 1, on enconclut que L = IFqm est le corps de decomposition de Xn−1, considere commepolynome de IFq[X], car L est la plus petite extension de IFq contenant toutesles racines de Xn − 1.

Xn − 1 =∏ξ∈T

(X − ξ) sur L

T est un ensemble contenant n elements de L, ce sont les racines n-iemes del’unite dans L. On peut demontrer que ces racines n-iemes forment un groupecyclique pour le produit, une racine de l’unite engendrant ce groupe est appeleeracine n-ieme primitive de l’unite, il y en a φ(n).Soit g(X) un polynome generateur d’un code cyclique, c’est un diviseur deXn−1, ses racines sont donc des racines de l’unites elements de T , elles formentun sous ensemble Tg de T , determiner tous les polynomes generateurs, c’estdeterminer tous les sous ensembles Tg pour lesquels le polynome associe est acoefficient est a coefficients dans IFq. Quand cette condition est realisee, l’en-semble Tg est appele ensemble des zeros du code cyclique dont g(X) est lepolynome generateur.

Theoreme 4.4 Le polynome

g(X) =∏ξ∈Tg

(X − ξ)

25

Page 27: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

est a coefficients dans IFq si et seulement si Tg est stable par l’automorphismede Frobenius

σ : { IFq → IFqx→ xq

c’est a dire σ(Tg) = Tg.

Demonstration.Supposons que g(X) =

∑n−1i=0 aiX

i ∈ IFq[X], on sait que le sous corps IFq de Lest caracterise par IFq = {x ∈ L|xq = x}.Soit β ∈ Tg une racine de g.

g(σ(β)) =n−1∑i=0

ai(β)qi

=

(n−1∑i=0

aiβi

)q= (g(β))q = 0

ce qui montre que σ(β) ∈ Tg, c’est a dire que Tg est stable par σ.Reciproquement supposons Tg stable par σ.

(g(X))q =∏β∈Tg

(Xq − βq) =∏β∈Tg

(Xq − β)

c’est a dire

(g(X))q) = g(Xq) =n−1∑i=0

aqiXqi =

n−1∑i=0

aiXqi

ce qui entraıne ∀i ∈ {0, 1, · · · , n− 1} aqi = ai c’est a dire g(X) ∈ IFq[X].

Classes cyclotomiques.On garde les notations precedentes, L = IFqm est le corps de decomposition dupolynome Xn − 1 ∈ IFq[X]. Soit α ∈ L une racine primitive n-ieme de l’uniteT = {1, α, · · · , αn−1} ensemble des zeros de Xn − 1. On represente ZZ/nZZ par{0, 1, · · · , n− 1} et on considere la bijection

F : { ZZ/nZZ → Ti → αi

Definissons une relation d’equivalence sur ZZ/nZZ qui permettra d’etablir unecondition necessaire et suffisante pour qu’un polynome, ayant un ensemble dezeros inclus dans T , soit a coefficients dans IFq.i, j ∈ ZZ/nZZ , iRj si il existe un entier k tel que j ≡ iqk mod. n. C’est bienune relation d’equivalence, la symetrie, en particulier, etant verifiee carqm ≡ 1 mod. n. Une classe d’equivalence pour cette relation est appelee classecyclotomique modulo n.La bijection F permet de definir une relation d’equivalence sur T et si αi ∈ Tsa classe d’equivalence estCl(αi) = {αi, αiq, αiq2 , · · · , αiqs−1} ou s est le plus petit entier positif tel queiqs ≡ i mod. n.Soit

Σ ⊂ ZZ/nZZ et gΣ(X) =∏i∈Σ

(X − αi) ∈ L[X]

26

Page 28: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Determinons une condition sur Σ pour que ce polynome, qui divise Xn−1, soitdans IFq[X].Supposons que gΣ(X) ∈ IFq[X] et que i ∈ Σ. D’apres le theoreme precedent,l’ensemble des zeros TΣ de ce polynome etant invariant par l’automorphismede Frobenius σ, Cl(αi) ⊂ TΣ, une condition necessaire pour que ce polynomesoit a coefficients dans IFq est donc que Σ soit une reunion de classes cycloto-miques. Reciproquement, si cette condition est verifiee, TΣ est stable par σ etle polynome gΣ est a coefficients dans IFq. On a demontre

Theoreme 4.5 Le polynome

gΣ(X) =∏i∈Σ

(X − αi)

est a coefficients dans IFq si et seulement si Σ est une reunion de classes cy-clotomiques modulo n.

Remarque.Soit i ∈ ZZ/nZZ et Σi la classe cyclotomique de i modulo n. gΣi =

∏j∈Σi

(X−αj)est le polynome minimal de αi sur IFq, car il est a coefficients dans IFq et de plus

si g est le polynome minimal de αi on a g(αiqk) = (g(αi))q

k= 0, le polynome

gΣi est donc un diviseur de g, etant a coefficient dans IFq il est egal a g.

Exemple.prenons q = 2, n = 5. Determinons l’ordre multiplicatif de 2 modulo 5.21 ≡ 2 mod. 5, 22 ≡ 4 mod. 5, 23 ≡ 3 mod. 5, 24 ≡ 1 mod. 5, l’ordre multipicatifde 2 modulo 5 est donc 4.Le corps de decomposition de X5 − 1 ∈ IF2[X] est L = IF24 = IF16.Soit β un element primitif de IF16

β15 = 1 et βk 6= 1 pour 1 ≤ k < 15.

α = β3 est une racine primitive cinquieme de l’unite.X5 − 1 = (X − α)(X − α2)(X − α3)(X − α4)(X − 1) dans IF16[X].Les classes cyclotomiques modulo 5 sont{0}, {1, 2, 3, 4}. Il n’y a que deux polynomes generateurs, donc deux codes cy-cliques possibles de longueur 5 sur IF2.

g1X) = X − 1 ou g2(X) = (X − α)(X − α2)(X − α3)(X − α4) =X5 − 1

X − 1.

g2X) = X4 +X3 +X2 +X+1. La remarque precedente montre que le polynomeX4 +X3 +X2 +X + 1 est irreductible sur IF2.

27

Page 29: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

4.6 Exercices

Exercice 1

1) Determiner l’ordre multiplicatif de 2 modulo 9. Determiner les classescyclotomiques de ZZ/9ZZ.2) Decomposer X9−1 en facteurs irreductibles dans IF2. Combien existe t-il decodes cycliques de longueur 9 sur IF2 ?

Exercice 2

1) Verifier que X4 +X + 1 est irreductible sur IF2.

IF16 = IF2[X]/(X4 +X + 1) , α = X.

α est-il un element primitif de F16 ?2) Quelle est la classe cyclotomique de 1 modulo 15. En deduire la factorisationde X4 +X + 1 dans F16.3) Soit C le code cyclique de polynome generateur X4 +X + 1. Quelles sont sadimension et sa distance minimale ?

Exercice 3

1) Combien existe t-il de codes cycliques de longueur 7 sur IF2 ?2) Verifier que X3 + X + 1 est le polynome generateur d’un code cyclique delongueur 7 sur IF2 et determiner la matrice generatrice et la matrice de controlede ce code.

Exercice 4

Un code C est dit reversible si

(a0, a1, · · · , an−1) ∈ C ⇒ (an−1, an−2, · · · , a1, a0) ∈ C.

1) Montrer qu’un code cyclique de polynome generateur g(X) est reversible siet seulement si x racine de g(X) entraıne 1/x racine de g(X).2) Montrer que si -1 est une puissance de q modulo n tout code cyclique sur IFqde longueur n est reversible.

28

Page 30: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Chapitre 5

Codes de Bose-Chaudury-Hocquenghem.

Les codes B. C. H. sont les codes cycliques de plus grande dimension pourune capacite de correction donnee. Cette capacite est controlee par une bornesur leur distance minimale, la borne B. C. H. La distance minimale est souventsuperieure a la borne.

5.1 Borne B. C. H.

Soit C un code cyclique de longueur n et m l’ordre multiplicatif de q modulon.G = IFqm est le corps de decomposition de Xn − 1 ∈ IFq[X]. Soit α un elementprimitif de IFqm .n|qm−1, ce que l’on peut ecrire qm−1 = nn′, auquel cas β = αn

′est une racine

primitive n-ieme de l’unite dans G.On appelle

g(X) =∏i∈Σ

(X − βi)

le polynome generateur de C, l’ensemble Σ etant une reunion de classes cyclo-tomiques dans ZZ/nZZ.

Theoreme 5.1 Si l’ensemble Σ contient un sous ensemble

{βl, βl+1, · · · , βl+δ−2}

de δ − 1 termes consecutifs, le code C a une distance minimale superieure ouegale a δ. La plus grande valeur δ obtenue par ce procede est appelee borne B.C. H. du code C.

Demonstration.Soit (x0, x1, · · · , xn−1) ∈ C. Les βi , i ∈ Σ etant les zeros de ce code, le polynome∑n−1i=0 xiX

i s’annule pour ces βi, car ce polynome est un multiple de g(X). On

29

Page 31: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

obtientx0 + x1β

l + x2β2l + · · ·+ xn−1β

(n−1)l = 0...

......

x0 + x1βl+δ−2 + x2(β2)l+δ−2 + · · ·+ xn−1(βn−1)l+δ−2 = 0

Soit

Vi =

(βi)l

...(βi)l+δ−2

le systeme s’ecritx0V0 + x1V1 + · · ·xn− 1Vn−1 = 0. Soit Vi1 , Vi2 , · · · , Vid−1

d − 1 vecteurs dis-tincts choisis parmi V0, V1, · · · , Vn−1. La matrice dont les colonnes sont formeesde ces vecteurs est inversible car son determinant est un determinant de Vander Monde non nul. d − 1 (ou moins de d − 1) vecteurs sont donc toujourslineairement independants. Le systeme d’equations ne peut donc etre resoluavec moins de d coefficients non nuls, le poids de x est donc au moins egal a d.

Notation.On notera Mx(X) ∈ IFq[X] le polynome minimal de x ∈ IFqm . On a vu (re-marque suivant le theoreme 4.5) que

g(X) =∏i∈D

Mβi(X)

ou D contient un representant au plus dans chaque classe cyclotomique deZZ/nZZ.

Definition 5.1 Un code cyclique C de longueur n sur IFq est un codeB. C. H. de distance construite δ si son polynome generateur est le produit,sans repetition de facteurs, des plynomes minimaux de βl+1, βl+2, · · · , βl+δ−1.Si l = 0 on dit que c’est un code B. C. H. au sens strict.

Remarque.Le code de Hamming est un code B. C. H. au sens strict, de distance construite3 et de longueur n = 2m − 1 sur IF2. L’ordre multiplicatif de 2 modulo n estm et un element primitif α de IF2m est racine n-ieme de l’unite. Une matricede controle du code est formee des colonnes correspondant aux coordonnees de1, α, · · · , αn−1 dans une base de IF2m sur IF2. En notantC0, C1, · · · , Cn−1 les colonnes de cette matrice on a, pour un element

f(X) =n−1∑i=0

fiXi du code

n−1∑i=0

fiCi = 0 ou f(α) = 0.

Ceci entraıne que f(α2) = (f(α))2 = 0.

Exemple.K = IF2 , n = 9. L’ordre de 2 modulo 9 est 6, le corps de decomposition de

30

Page 32: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

X9 − 1 ∈ IF2[X] est IF64 et β = α7 est une racine primitive 9 ieme de l’unite.Les classes cyclotomiques de ZZ/9ZZ sont{0}, {1, 2, 4, 8, 7, 5}, {3, 6}. On aX9 − 1 = (X3 − 1)(X6 +X3 + 1).X3 − 1 = (X − 1)(X2 +X + 1) = (X − 1)(X − β3)(X − β6).X6 +X3 + 1 = (X − β)(X − β2)(X − β4)(X − β8)(X − β7)(X − β5).L’ensemble Σ = {0, 1, 2, 4, 8, 7, 5} permet d’obtenir un code B.C.H. de distanceconstruite δ = 4. C’est un code B. C. H. au sens strict. Le polynome generateurde ce code estg(X) = (X − 1)(X6 +X3 + 1) = X7 +X6 +X4 +X3 +X + 1. C’est un codede dimension k = 9− 2 = 7 et de matrice generatrice

G =

(1 1 0 1 1 0 1 1 00 1 1 0 1 1 0 1 1

)

La distance minimale de ce code est 6, elle est strictement superieure a ladistance construite.

5.2 Codes de Reed-Solomon.

Definition 5.2 Un code de Reed-Solomon est un code B. C. H. sur IFq, delongueur n = q − 1.

Theoreme 5.2 La distance minimale d’un code de Reed-Solomon est egale ala distance construite.

Demonstration.On remarque que toutes les classes cyclotomiques de ZZ/nZZ sont des singletonscar q ≡ 1 mod. n.Soit C un code B. C. H. de longueur n = q− 1 et de distance construite δ. Soitd sa distance minimale.Son polynome generateur est de la forme

g(X) =δ−1∏i=1

(X − αl+i)

chaque classe cyclotomique ne contenant qu’un element. On a d ≥ δ , dog(X) =δ − 1 donc 0 < w(g) ≤ δ ce qui nous donne bien d = δ.

Exemple.K = IF7, α = 5 est un element primitif de IF7.Le polynomeg(X) = (X − α)(X − α2)(X − α3) est le polynome generateur d’un code deReed-Solomon [6, 3, 4].

31

Page 33: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

5.3 Exercices

Exercice 1

Soient p un nombre premier, q = pn, K = IFq et α un element primitif deIFq. On definit Kk−1[X] l’ensemble des polynomes de degre inferieur ou egal ak − 1 sur K, k ≤ q − 2,

C = {(P (1), P (α), · · · , P (αq−2)|P ∈ Kk−1[X]}.

1) Montrer que

φ :

{Kk−1 → CP → (P (1), P (α), · · · , P (αq−2))

est un isomorphisme d’espace vectoriel. Quelle est la dimension de C ? Determinerune base B = {c0, c1, · · · , ck−1) de C.2) Soit

g(X) = (X − α)(X − α2) · · · (X − αr)) , r = q − 1− k.

On appelle C2 le code de Reed-Solomon de polynome generateur g(X) sur K.Montrer que si ci(X) est la representation polynomiale du vecteur ci de la baseB on aci(α

v) = 0 pour 1 ≤ v ≤ r. En deduire que c0, c1, · · · , ck−1 sont dans C2 et queC2 = C.

Exercice 2

Verifier que α = 5 est un element primitif de IF7. On appelle C le code deReed-Solomon sur IF7 de polynome generateurg(X) = (X − α)(X − α2)(X − α3). Determiner le polynome generateur de C⊥.En deduire que C⊥ est un code de Reed-Solomon de memes parametres que C.

Exercice 3

Verifier que X2 + 2X + 2 est irreductible sur IF3.

IF9 = IF3[X]/(X2 + 2X + 2) , α = X.

Montrer que α est un element primitif de IF9. Determiner un polynome generateurpour un code B.C.H. de longueur 8 et de dimension 4 sur IF3. Determiner la dis-tance minimale de ce code. Determiner une matrice generatrice et une matricede controle de ce code.

Exercice 4

Determiner le polynome generateur d’un code B.C.H. de distance construiteδ = 3 sur IF2 de longueur n = 15. On pourra verifier que X4 + X3 + 1 estirreductible sur IF2 et que α racine de ce polynome est primitif dans IF16.

32

Page 34: CORPS FINIS ET CODES CORRECTEURS D’ERREURSjomellac.fr/polys/corpsfinis.pdf · CORPS FINIS ET CODES CORRECTEURS D’ERREURS J. Mellac Fevrier 2002. Chapitre 1 Anneaux et id eaux

Table des matieres

1 Anneaux et ideaux. 11.1 Anneaux principaux. . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 Anneaux Principaux. . . . . . . . . . . . . . . . . . . . . . 2

1.2 Anneaux ZZ et k[X]. . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Exercices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Corps finis. 62.1 Caracteristique. Sous corps premier. . . . . . . . . . . . . . . . . 62.2 Extensions de corps. . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Proprietes des corps finis. . . . . . . . . . . . . . . . . . . . . . . 82.4 Exercices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Codes Lineaires. 133.1 Generalites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2 Codes Lineaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2.1 Matrice Generatrice. . . . . . . . . . . . . . . . . . . . . . 153.2.2 Matrices de controle. . . . . . . . . . . . . . . . . . . . . . 17

3.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4 Codes Cycliques. 224.1 Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.2 Representation Polynomiale. . . . . . . . . . . . . . . . . . . . . . 224.3 Dual d’un code cyclique. . . . . . . . . . . . . . . . . . . . . . . . 244.4 Encodage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.5 Construction des codes cycliques. . . . . . . . . . . . . . . . . . . 254.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5 Codes de Bose-Chaudury-Hocquenghem. 295.1 Borne B. C. H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.2 Codes de Reed-Solomon. . . . . . . . . . . . . . . . . . . . . . . . 315.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

33