- Identité de MacWilliams
-
En mathématiques, l'identité de MacWilliams est une application de l'analyse harmonique sur un groupe abélien fini, dans le cas où le groupe est un espace vectoriel de dimension finie sur un corps fini.
Elle est utilisée essentiellement en théorie des codes, pour les codes linéaires, elle relie les polynômes énumérateurs (en) des poids d'un code et de son dual, permettant ainsi, par exemple, de déterminer le polynôme énumérateur des poids du dual à partir de celui du code.
Sommaire
Position du problème
Objectif
Article détaillé : code linéaire.Dans cet article C désigne un code de paramètre [n, k, δ] sur le corps fini Fd où d est un entier puissance d'un nombre premier p.
L'objectif de l'identité de MacWilliams est de répondre à la question suivante : soit C un code linéaire, quelle est la distance minimale au sens de Hamming de son code dual ?
La réponse ne dépend pas uniquement de la distance minimale de C, il est en fait nécessaire de connaître toute la distribution des poids du code C, ce qui donne lieu à la définition suivante :
-
- Le polynôme énumérateur des poids est le polynôme dont à coefficients à valeur dans les entiers positifs tel que si i est un entier positif le coefficient du monôme Xi est égal au nombre de mots du code de poids de Hamming égal à i.
Le polynôme énumérateur des poids correspond donc à la distribution des différents poids du code.
Considérons par exemple le cas où n est égal à k, c'est-à-dire celui où il n'existe aucune redondance, la sphère de rayon i et de centre le vecteur nulle contient exactement ai points avec :
c'est-à-dire le i-ème coefficient binomial d'ordre n que multiplie le nombre de lettres différente de 0 de l'alphabet à la puissance i. Dans ce cas, le polynôme énumérateur P(X) est égal à :
L'objectif est de trouver le polynôme énumérateur des poids du code dual, dans l'exemple le code dual ne contient qu'un unique mot, le mot nul, sont polynôme énumérateur est donc le polynôme nul.
Outils
Article détaillé : analyse harmonique sur un espace vectoriel fini.L'espace vectoriel fini utilisé ici, à savoir Fdn, est un groupe abélien fini pour l'addition, son groupe dual est donc fini et isomorphe à (Fdn +), la théorie de l'analyse harmonique est relativement simple. Dans ce contexte, elle permet de définir une transformée de Fourier disposant des propriétés usuelles comme l'égalité de Parseval ou la formule sommatoire de Poisson.
La théorie est encore simplifiée du fait de la structure d'espace vectoriel du groupe, il existe un isomorphisme entre le groupe et son espace dual. Si μ est un caractère non trivial sur le groupe additif du corps Fd, tous les caractères s'écrivent sous la forme χy suivante :
Ici, « . » désigne la forme bilinéaire non dégénérée définie par l'égalité suivante, si x = (xi) et y = (yi) désigne deux vecteurs de Fdn :
Identité de MacWilliams
Avec les notations du paragraphe précédent, si Q(X) désigne le polynôme énumérateur des poids du code dual de C, alors l'égalité suivante est vérifiée :
DémonstrationConsidérons la fonction g de Fdn dans l'anneau commutatif des polynômes à coefficients complexes, définie par :
Ici, c désigne la fonction de Fd dans qui à 0 associe 0 et à tout autre élément associe 1. L'application w correspond donc à la fonction poids de Hamming. Une fois encore, (yi) désigne les différentes coordonnées de y dans la base canonique de Fdn.
-
- Le polynôme Q(X), défini par l'égalité suivante, est le polynôme énumérateur des poids du code dual de C.
La définition du polynôme Q(X) montre que :
Il est donc nécessaire de calculer by. Si y est un élément du code dual, alors c.y est égal à 0 pour tout c élément de C, on en déduit que μ(c.y) est égal à 1 et by est égal au cardinal de C, c'est-à-dire qk. Si y n'est pas élément de C, alors l'application qui à c associe μ(c.y) est un caractère non trivial du groupe (C, + ). Il est donc orthogonal au caractère trivial, cette relation d'orthogonalité exprime le fait que by est nul. On en déduit que :
Cette dernière égalité démontre que Q(X) est bien le polynôme annulateur du code dual.
-
- le polynôme Q(X) vérifie l'égalité suivante :
Si (ci) sont les coordonnées de c et (yi) celle de y, alors les égalités suivantes sont vérifiées :
Calculons alors la valeur suivante :
Si ci est nul alors μ(ci.y) est égal à 1 pour toute valeur de y, c(y) vaut 0 si y est nul et 1 sinon, on en déduit que Si = 1 + (q - 1)X. Si ci est non nul alors l'application qui à y associe μ(ci.y) est un caractère non trivial du groupe additif du corps Fd. Il est donc orthogonal au caractère trivial et :
On en déduit les égalités suivantes :
On en déduit l'égalité suivante :
On obtient donc pour expression de Q(X), l'égalité suivante :
ce qui termine la démonstration.
Applications
Code sans redondance
Considérons le code sans redondance de l'exemple du paragraphe des objectifs, le polynôme énumérateur des poids du code est :
L'identité de MacWilliams donne pour valeur de Q(X) polynôme énumérateur du code dual :
ce qui donne les égalités suivantes :
Le code dual possède en effet un unique élément de poids nul, l'identité de MacWilliams fournit bien le polynôme énumérateur du code dual.
Code de Hamming
Article détaillé : code de Hamming.Déterminons le polynôme énumérateur des poids du code de Hamming. La méthode utilisée ici consiste à déterminer directement le polynôme énumérateur du code dual et d'utiliser l'identité de MacWilliams pour en déduire celui du code de Hamming.
Les notations utilisées ici sont celles de l'article détaillé, en particulier m désigne la valeur n - k, c'est-à-dire la dimension du code dual et H désigne la matrice de contrôle du code.
-
- Tous les mots du code dual non nuls du code de Hamming ont un poids égal à dm-1.
En effet, le code dual est constitué des mots de la forme tx.H où x décrit l'espace vectoriel Fdm. Désignons par (hi) pour i variant de 1 à n les n colonnes de la matrice H qui sont aussi des vecteurs de dimension m. L'application qui à x associe le vecteur (x.hi) est donc un isomorphisme entre Fdm et le code dual.
Soit A l'ensemble des vecteurs a de Fdm tel que a.x soit différent de 0. L'intersection des classes de l'espace projectifs avec A forment une partition de A. De plus, a.x est différent de 0 si et seulement si λa.x est différent de 0 pour tout λ élément de Fd*. En conséquence chaque classe de la partition de A contient d - 1 éléments. Enfin, les vecteurs hi décrivent un système de représentants des classes de l'espace projectif de Fdm (cf le paragraphe Existence et unicité dans le cas général). On en déduit que le poids de (x.hi) est égal à la fraction de numérateur le cardinal de A et de dénominateur d - 1.
Le complémentaire de A, si x n'est pas nul, est un hyperplan de Fdm donc un ensemble de cardinal dm - 1. Le cardinal de A est donc égal à dm - 1. (d - 1). Le poids de (x.hi) est alors égal à dm - 1 si x n'est pas nul.
-
- Le polynôme énumérateur des poids du code de Hamming P(X) est défini par l'égalité suivante :
En effet, le polynôme énumérateur des poids du code dual est le suivant :
L'identité de MacWilliams montre alors que :
ce qui termine la démonstration.
Voir aussi
Bibliographie
- Michel Demazure, Cours d'algèbre. Primalité Divisibilité. Codes [détail des éditions]
- (en) Jessie MacWilliams (en) et Neil Sloane, The Theory of Error-Correcting Codes, North-Holland, 1977 (ISBN 978-0-444-85009-6)
- André Warusfel, Structures algébriques finies, Éditions Hachette, 1971
- Gabriel Peyré, L'algèbre discrète de la transformée de Fourier, Éditions Ellipses, 2004 (ISBN 978-2-72981867-8)
Liens externes
- Cours de code par Christine Bachoc, université Bordeaux I
- Mathématiques discrètes de la transformée de Fourier, C. Bachoc, université Bordeaux I
- Cryptologie, sécurité et codage d'information par Alexei Pantchichkine, université Grenoble I
Catégories :- Analyse harmonique discrète
- Théorie des codes
-
Wikimedia Foundation. 2010.