# Transformée de Walsh

En mathématiques, et plus précisément en analyse harmonique, la transformée de Walsh est l'analogue de la transformée de Fourier discrète.
Elle opère sur un corps fini à la place des nombres complexes.
Elle est utilisée en théorie de l'information à la fois pour les codes linéaires et la cryptographie.

## Définition

Soit G un groupe abélien fini d'ordre g et d'exposant une puissance n-ième d'un nombre premier p, F$_{pn}$ le corps fini de cardinal p$^n$, χ un caractère à valeur dans F$_{pn}$ et f une fonction de G dans F$_{pn}$. La transformée de Walsh est une fonction, souvent notée ${\widehat {f}}$ de l'ensemble des caractères de G dans le corps F$_{pn}$ définie par :
${\widehat {f}}(\chi )\ ={\frac {1}{g}}\sum _{s\in G}f(s)\chi (s)^{-1}$

## Analyse harmonique sur un groupe abélien fini

Le contexte est identique à celui de l'analyse harmonique classique d'un groupe abélien fini. La forme bilinéaire associée à l'algèbre du groupe est alors la suivante :
$\forall f,h\in \mathbb {F} _{p^{n}}^{G}<f|h>={\frac {1}{g}}\sum _{s\in G}f(s)^{-1}.\,h(s)\;$
L'ensemble des résultats de la théorie de l'analyse harmonique s'applique, on dispose ainsi de l'égalité de Parseval, du théorème de Plancherel, d'un produit de convolution, de la dualité de Pontryagin ou encore de la formule sommatoire de Poisson.

## Cas d'un espace vectoriel fini

Il existe un cas particulier, celui ou le groupe G est le groupe additif d'un espace vectoriel fini. Un cas particulier est celui ou G est un corps.
La transformation discrète de Fourier est donnée par
    $f_{j}=\sum _{k=0}^{n-1}x_{k}\left(e^{-{\frac {2\pi i}{n}}}\right)^{jk}\quad \quad j=0,\dots ,n-1$
La transformation théorique de nombre opère sur une suite de n nombres, modulo un nombre premier p de la forme $p=\xi n+1\,$, où $\xi \,$ peut être tout nombre entier positif.
Le nombre $e^{-{\frac {2\pi i}{n}}}\,$ est remplacé par un nombre $\omega ^{\xi }\,$ où $\omega \,$ est une racine primitive de p, un nombre où le plus petit nombre entier positif $\alpha \,$ où $\omega ^{\alpha }=1\,$ est $\alpha =p-1\,$. Il devrait y avoir une quantité d'$\omega \,$ qui satisfassent à cette condition. Les deux nombres $e^{-{\frac {2\pi i}{n}}}\,$ et $\omega ^{\xi }\,$ élevés à la puissance n sont égaux à 1 (mod p), toutes les puissances inférieures différentes de 1.
La transformation théorique de nombre est donnée par
    $f(x)_{j}=\sum _{k=0}^{n-1}x_{k}(\omega ^{\xi })^{jk}\mod p\quad \quad j=0,\dots ,n-1$

## Une preuve de la formule d'inversion

La transformation inverse est donnée par
    $f^{-1}(x)_{h}=n^{p-2}\sum _{j=0}^{n-1}x_{j}(\omega ^{p-1-\xi })^{hj}\mod p\quad \quad h=0,\dots ,n-1$
    $\omega ^{(p-1-\xi )}=\omega ^{-\xi }\,$, l'inverse de $\omega ^{\xi }\,$, et $n^{p-2}=n^{-1}\,$, l'inverse de n. (mod p)
On vérifie que cette formule donne bien l'inverse car $\sum _{k=0}^{n-1}z^{k}$ vaut n pour z=1 et 0 pour tous les autres valeurs de z vérifiant $z^{n}=1\,$. En effet, on a la relation (qui devrait fonctionner dans toute algèbre à division)
    $(z-1)\left(\sum _{k=0}^{n-1}z^{k}\right)=z^{n}-1$
Soit, pour une racine $n$-ème de l'unité
    $(z-1)\left(\sum _{k=0}^{n-1}z^{k}\right)=0$
Un corps étant intègre, un des facteurs (au moins) de ce produit est nul. Donc, soit $z=1$ et trivialement $\sum _{k=0}^{n-1}z^{k}=\sum _{k=0}^{n-1}1=n$. Soit $z\neq 1$ et nécessairement $\sum _{k=0}^{n-1}z^{k}=0$.
Nous pouvons maintenant compléter la démonstration. Nous prenons la transformation inverse de la transformation.
    $f^{-1}(f(x))_{h}=n^{p-2}\sum _{j=0}^{n-1}\left(\sum _{k=0}^{n-1}x_{k}\left(\omega ^{\xi }\right)^{jk}\right)(\omega ^{p-1-\xi })^{hj}\mod p$
    $f^{-1}(f(x))_{h}=n^{p-2}\sum _{j=0}^{n-1}\sum _{k=0}^{n-1}x_{k}(\omega ^{\xi })^{jk-hj}\mod p$
    $f^{-1}(f(x))_{h}=n^{p-2}\sum _{k=0}^{n-1}x_{k}\sum _{j=0}^{n-1}(\omega ^{\xi (k-h)})^{j}\mod p$
    $f^{-1}(f(x))_{h}=n^{p-2}\sum _{k=0}^{n-1}x_{k}\left\{{\begin{matrix}n,&k=h\\0,&k\neq h\end{matrix}}\right\}\mod p$ (puisque $\omega ^{\xi }=1\,$)
    $f^{-1}(f(x))_{h}=n^{p-2}x_{h}n\mod p$
    $f^{-1}(f(x))_{h}=x_{h}\mod p$