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 :
Considérons la fonction g de Fdn dans C[X] l'anneau des polynômes à coefficients complexes, définie par :
Ici c désigne la fonction de Fd dans C 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.
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.
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 :