Universit´e Bordeaux I Master CSI
Ann´ee 2004-2005
UE Math´ematiques discr`etes de la transform´ee de Fourier
Christine Bachoc
Bibliography
[1] Gabriel Peyr´e, L’alg`ebre discr`ete de la transform´ee de Fourier (ellipses 2004)
[2] Joachim von zur Gathen, J¨urgen Gerhard,Modern computer algebra, second edition, CUP 2003
Chapter 1 Introduction
Ce cours traite des aspects alg´ebriques et discrets de la transform´ee de Fourier.
Dans un premier temps on traite les groupes commutatifs. On verra rapidement des applications, par exemple `a la multiplication rapide des grands entiers, ou bien
`a la cryptographie. Ensuite on abordera le cas des groupes non commutatifs.
Chapter 2
Rappels de th´eorie des groupes
Dans cette partie, on rappelle des notions essentielles pour la suite vues en Li- cence, et qui doivent ˆetre parfaitement connues et maˆıtris´ees.
2.1 Groupe, ordre d’un ´el´ement, ordre d’un groupe, th´eor`eme de Lagrange
Un groupe G est un ensemble non vide, muni d’une op´eration not´ee le plus g´en´eralement., qui a les propri´et´es suivantes:
1. Elle est interne, c’est-`a-dire associe `a tout couple(x, y) ∈ G2 un ´el´ement x.y =xy∈G.
2. Elle est associative: (xy)z=x(yz) pour toutx, y, z ∈G.
3. Elle a un ´el´ement neutre not´e 1 ou e, v´erifiant x.1 = 1.x = x pour tout x∈G.
4. Tout ´el´ementx ∈ Ga un inversex−1 ∈ G, c’est-`a-dire v´erifiant x.x−1 = x−1.x= 1.
Si, de plus,xy = yxpour toutx, y ∈ G, on dit que le groupe est commutatif ou ab´elien. Dans ce cas, la loi est souvent not´ee+, le neutre0et l’inverse, appel´e oppos´e, est not´e−x.
Exemples: le groupe multiplicatifC∗; (Z,+); Z/nZ. Le groupe des racines n-i`emes de l’unit´e dans C. Le groupe sym´etrique Sn. Le groupe multiplicatif (Z/nZ)∗.
Un sous-groupeH d’un groupeGest une partie deGqui est un groupe pour la mˆeme op´eration queG. Exemple: Zest un sous-groupe deC. 2Zest un sous- groupe deZ.
Pour montrer qu’un sous-ensembleHdeGest un sous-groupe deG, il suffit de montrer que:
1. H est non vide
2. Pour toutx, y ∈H,xy−1 (oux−ydans le cas d’une notation additive) est dansH.
L’ordre d’un ´el´ementx d’un groupe Gest le plus petit entier k non nul, s’il existe, v´erifiantxk = 1. S’il n’existe pas on dit quexest d’ordre infini. C’est la p´eriode de la suite des puissances de x. Ainsi, sixest d’ordre 3, la suite de ses puissances successives donne: 1, x, x2, x3 = 1, x, x2,1, . . .. Notons que, sixest d’ordre k, alorsx−1 = xk−1 puisque x.xk−1 = 1. Cela montre que l’ensemble {1, x, x2, . . . , xk−1} est un sous-groupe de G, appel´e groupe cyclique engendr´e parx, et not´e< x >.
Plus g´en´eralement, l’ordre d’un groupe est le nombre de ses ´el´ements. Ainsi, l’ordre du groupe engendr´e parxest ´egal `a l’ordre dex.
Exemples: ordre dansZ/nZet dans(Z/nZ)∗. On rappelle le th´eor`eme de Lagrange:
Th´eor`eme 1 L’ordre d’un sous-groupe est un diviseur de l’ordre du groupe. En particulier, l’ordre d’un ´el´ement d’un groupe divise l’ordre de ce groupe.
2.2 Groupes cycliques
Un groupe cyclique est un groupe engendr´e par un ´el´ement. Un tel ´el´ement s’appelle un g´en´erateur du groupe. L’exemple typique de groupe cyclique fini est Z/nZ. Un autre exemple naturel: le groupe des racinesn-i`emes de l’unit´e dansC:Un :={e2ikπ/n,0≤k ≤n−1}.
On voit facilement que, sixest un g´en´erateur d’un groupe cyclique d’ordren, alors les autres g´en´erateurs de Gsont les xk avec 1 ≤ k ≤ n et(k, n) = 1. La fonctionϕd’Euler en compte le nombre:
ϕ(n) := card{k,1≤k ≤n |(k, n) = 1}.
On a les propri´et´es suivantes, qui permettent de calculerϕ(n)pour toutn:
• Sippremier,ϕ(pk) =pk−pk−1.
• Si(m, n) = 1,ϕ(mn) =ϕ(m)ϕ(n)
Le nombre ϕ(n) est aussi (presque par d´efinition) le nombre d’´el´ements du groupe multiplicatif(Z/nZ)∗.
Proposition 1 Tout sous-groupe et tout quotient d’un groupe cyclique est aussi cyclique. Pour tout diviseur d de l’ordre d’un groupe cyclique, il existe dans ce groupe un unique sous-groupe d’ordred, et ce groupe contient exactementϕ(d)
´el´ements d’ordred.
En effet, sixest un g´en´erateur, l’unique sous-groupe d’ordre dest le groupe engendr´e parxn/d, et les ´el´ements d’ordredsont lesxkn/davec(k, d) = 1.
Comme dans un groupe cyclique d’ordre n il y a exactementϕ(d) ´el´ements d’ordredpour tout diviseurdden, on a l’identit´e:
n=X
d|n
ϕ(d).
Exemple: le groupe(Z/pZ)∗est cyclique d’ordrep−1.
Exemple: Tout groupe d’ordre premier est cyclique.
2.3 Homomorphismes, quotients
Un homomorphismef : G→H est une application v´erifiantf(xy) =f(x)f(y) pour toutx, y ∈G. C’est un isomorphisme sif est bijective. Le noyau et l’image def sont respectivementkerf ={s∈G|f(x) = 1}etImf ={f(x)|x∈G}.
Ce sont des sous-groupes respectifs deGetH.
Pour montrer qu’un homomorphisme f : G → H est un isomorphisme, il suffit de montrer quekerf ={1}et que|G|=|H|.
Exemple: Un groupe cyclique d’ordren est isomorphe `aZ/nZ. En effet, si x est un g´en´erateur de ce groupe on d´efinit un isomorphisme f : Z/nZ → G parf(k mod n) = xk. Cette d´efinition est licite car, sik modn = k0 mod n, alorsxk=xk0.
La notion de quotient est plus subtile, nous la rappelons dans le cas des groupes commutatifs (dans le cas non commutatif il faut la notion de sous-groupe dis- tingu´e). Si G est un groupe commutatif, et si H est un sous-groupe de G, on
construit un troisi`eme groupe not´eG/H, appel´e quotient deGparH, de la fac¸on suivante (on noteGadditivement):
- les ´el´ements deG/H sont les ensemblesx+H (on dit aussi les classes) o`u x+H ={x+y|y∈H}. Noter que l’on peut tr`es bien avoirx+H =x0+H(en fait exactement quandx−x0 ∈H). On notes : G→G/H l’application d´efinie pars(x) =x+H.
- l’op´eration de groupe sur G/H est d´efinie par: (x+ H) + (x0 +H) = (x+x0)+H. Attention, cette d´efinition n’a de sens que si on montre sa coh´erence, c’est-`a-dire: si x+H = y +H et x0 +H = y0 + H alors (x+x0) +H = (y+y0)+H. Remarquer que l’applications(appel´ee surjection canonique) devient un homomorphisme de groupes.
Par soucis de l´eg`eret´e, on note souvent la classex+H par: x mod H oux ou s(x). Dans une ligne de calcul on met souvent un seul “mod H” au bout (et
“mod n” pour “modnZ”).
Exemple: G=Z,H =nZ, on retrouveZ/nZ.
L’ordre deG/Hest ´egal au quotient des ordres deGetH:|G/H|=|G|/|H|.
Th´eor`eme 2 (Th´eor`eme de factorisation) Soitf :G →H un homomorphisme de G dans H. Soit K = kerf et soit s : G → G/K la surjection canonique.
On d´efinit une applicationf :G/K → H par: f(s(x)) =f(x)et celle-ci est un homomorphisme injectif. C’est bien sˆur un isomorphisme deG/KsurImf.
2.4 Groupes ab´eliens finis
On connait maintenant une famille de groupes ab´eliens finis: les produits directs de groupes cycliques, c’est-`a-dire les groupes de la forme
Z/n1Z×Z/n2Z× · · · ×Z/nrZ. (2.1) On peut montrer, et c’est un r´esultat non trivial, que tout groupe ab´elien fini est isomorphe `a l’un de ces groupes. Une autre question qui se pose alors est de d´ecider quand deux de ces groupes sont isomorphes. On a une solution compl`ete et algorithmique `a ces probl`emes dans la th´eorie des diviseurs ´el´ementaires et l’algorithme de r´eduction de Smith. Ces notions seront ´etudi´ees dans le cours
“Alg`ebre et calcul formel”.
Le th´eor`eme chinois, vu en Licence, est une premi`ere ´etape dans cette direc- tion.
Th´eor`eme 3 Si(a, b) = 1,Z/abZest isomorphe `aZ/aZ×Z/bZ.
L’isomorphisme est obtenu en factorisant l’homomorphismef :Z→Z/aZ× Z/bZd´efini par: f(n) = (n mod a, n mod b). Le noyau def estkerf =abZ grˆace `a la propri´et´e (a, b) = 1; les deux groupes ayant mˆeme ordre, cela suffit `a montrer que l’homomorphismef est un isomorphisme.
L’application inverse est d’une grande utilit´e pratique. En d’autres termes,
´etant donn´es des entierssett, il existe un unique entierk mod abtel que:k ≡s mod aetk ≡ t mod b. Pour calculerk en fonction des ettil faut utiliser une relation de Bezout: au+bv = 1. Alorsk=sbv+tauconvient.
Finalement, remarquons qu’il est souvent facile de d´emontrer que deux groupes ne sont pas isomorphes, en trouvant une propri´et´e de groupe qui les distingue.
Ainsi, si deux groupes n’ont pas le mˆeme ordre, ou bien n’ont pas le mˆeme nom- bre d’´el´ements d’ordre donn´e, ils ne peuvent pas ˆetre isomorphes.
Chapter 3
Transform´ee de Fourier sur un groupe fini
L’objectif est d’´etudier les fonctions `a valeurs complexes d´efinies sur un groupe fini G. Pour cela, on ´etudie d’abord celles qui sont des homomorphismes, ce sont les caract`eres du groupe. Afin d’analyser une fonction quelconque, on la d´ecomposera suivant ceux-ci.
3.1 Caract`eres d’un groupe fini
D´efinition 1 Soit G un groupe fini. Un caract`ere de G est un homomorphisme χ:G→C∗.
La notationC∗ d´esigne bien sˆur le groupemultiplicatif(C∗,×).
Soitχ : G → C∗ un caract`ere de G. Si g ∈ G, pour tout entierk, χ(gk) = χ(g)k. En particulier, sigest d’ordrek, on aχ(g)k = 1.
Petite parenth`ese sur les racines de l’unit´e dansC: on appelle racines de l’unit´e les nombres complexesz ∈Ctels qu’il existe un entiernavec zn = 1. C’est un groupe pour la multiplication, not´eU. On a:
Un:={z ∈C|zn = 1}={e2iπk/n,0≤k≤n−1}
est le groupe des racines n-i`emes de l’unit´e. C’est un groupe (multiplicatif) cy- clique. Lesz ∈ Un tels queza 6= 1pour tout0 < a < ns’appellent les racines primitives n-i`emes de l’unit´e. Ce sont les g´en´erateurs du groupe Un, il y en a
exactementϕ(n), qui sont lese2iπk/navec1≤k≤n−1et(k, n) = 1. Bien sˆur, U=∪n≥0Un.
Lemme 1 Les sous-groupes finis deUsont exactement lesUn. En particulier ils sont cycliques.
Preuve: : Soit G un sous-groupe fini de U, d’ordren. Par le th´eor`eme de La- grange, tout ´el´ement z de G v´erifie zn = 1. Donc G ⊂ Un; comme Un est exactement d’ordren, on aG=Un.
Retournons aux caract`eres deG. Ainsi, si G est d’ordre n, on a forc´ement pour toutg ∈G,χ(g)∈Un.
Proposition 2 SoitGun groupe fini d’ordren. Soitχ:G→ C∗un caract`ere de G.
1. Imχ⊂Un.
2. Pour tout g ∈ G, χ(gk) = χ(g)k. En particulier, l’ordre de χ(g) divise l’ordre deg.
3. Pour toutg ∈G,|χ(g)|= 1,χ(g−1) = χ(g)−1 =χ(g).
On peut multiplier les caract`eres. Si χ1 et χ2 sont deux caract`eres de G, on d´efinit le produit χ1χ2 par: χ1χ2(g) = χ1(g)χ2(g). On obtient bien ainsi un caract`ereχ1χ2 :G→C∗.
Proposition 3 L’ensembleGbdes caract`eres deGest un groupe pour la multipli- cation. On l’appelle aussi le dual deG.
Exemples: d´ecrireGbpourG=Z/2Z,Z/3Z,Z/2Z×Z/2Z,S3.
Une propri´et´e importante des caract`eres d’un groupe fini, mais qui n’a d’int´erˆet que dans le cas des groupes non commutatifs est la suivante:
Proposition 4 Soitχun caract`ere d’un groupeG. Pour toutg, h∈G,χ(ghg−1) = χ(h). En particulier,χest constant sur les classes de conjugaison deG.
Preuve: : Cela r´esulte de la commutativit´e deC∗. En effet,χ(ghg−1) = χ(g)χ(h)χ(g)−1 = χ(h)χ(g)χ(g)−1 =χ(h).
Exercice: d´ecrire les caract`eres deS4(utiliser la proposition pr´ec´edente).
3.2 Dual d’un groupe cyclique
Consid´erons le cas d’un groupe Gcyclique d’ordren. Soitg un g´en´erateur fix´e deG. Comme tout ´el´ement deGest de la formegk, et queχ(gk) = χ(g)k, on voit qu’un caract`ereχ deGest enti`erement d´etermin´e par χ(g). D’un autre cˆot´e, on doit choisirχ(g)parmi les racinesn-i`emes de l’unit´e deC∗. On peut ainsi d´efinir ncaract`eresχ0 = 1, χ1, . . . , χn−1deGpar:
χk(g) = e2iπk/n.
Il faut remarquer que, d’une part,χk =χk1, et, d’autre part, que cette indexa- tion des caract`eres deGd´epend du choix fait pour le g´en´erateur deG.
On a d´emontr´e:
Proposition 5 SoitGun groupe cyclique d’ordrenet soitgun g´en´erateur fix´e de G. Le groupe dual Gb est ´egal `a l’ensemble {χ0, χ1, . . . , χn−1}, o`u χk est d´efini par:
χk(g) = e2iπk/n.
Le groupeGbest cyclique, d’ordren, engendr´e parχ1(on aχk =χk1).
Remarque: L’applicationgk → χk d´efinit un isomorphisme entre Get Gb dit non canoniquecar il d´epend du choix d’un g´en´erateur deG.
3.3 Dual d’un groupe ab´elien fini; bidual
On sait qu’un groupe ab´elien fini est produit direct de groupes cycliques (th´eor`eme admis); comme on sait d´ecrire le dual d’un groupe cyclique, il nous reste `a d´ecrire le dual d’un produit direct de groupes.
Th´eor`eme 4 SoitG1 etG2 deux groupes finis. L’application
f :Gc1×Gc2 −→G\1×G2 (χ1, χ2)7−→f((χ1, χ2))
o`uχ=f((χ1, χ2))est d´efini par:χ(g1, g2) = χ1(g1)χ2(g2)est un isomorphisme.
Noter que le th´eor`eme d´ecrit explicitement les caract`eres deG\1×G2en fonc- tion de ceux deGc1et deGc2. Exemple:Z/2Z×Z/3Z.
Corollaire 1 Le dual d’un groupe ab´elien fini est (non canoniquement) isomor- phe `a ce groupe; en particulier ils ont mˆeme ordre.
Par contre, on a un isomorphisme cette fois canonique entre un groupe G ab´elien fini et sonbidual.
3.4 L’alg`ebre de groupe C [G]
On noteC[G]l’ensemble des fonctions (cette fois sans propri´et´e particuli`ere)f : G→C. C’est une alg`ebre surC, c’est-`a-dire:
• Un anneau pour l’addition et la multiplication des fonctions, d´efinies re- spectivement par: (f1+f2)(x) = f1(x) +f2(x)et(f1f2)(x) = f1(x)f2(x).
Le z´ero de cet anneau est la fonctionf = 0constante ´egale `a0; l’unit´e est la fonctionf = 1constante ´egale `a1.
• UnC-espace vectoriel, pour la multiplication des scalaires d´efinie par(λf)(x) = λf(x).
On l’appellealg`ebre du groupeG.
Une base naturelle deC[G]est constitu´ee desδx,x∈G, d´efinis par:
(δx(x) = 1
δx(h) = 0pour touth6=x Toute fonction f : G → C s’´ecrit f = P
x∈Gf(x)δx. C’est la repr´esentation
“naturelle” des fonctions. Il est imm´ediat de v´erifier que{δx, x∈G}est une base deC[G]; en particulier, cela montre que la dimension deC[G]est ´egale `a l’ordre deG.
Nous avons vu un autre ensemble den´el´ements deC[G]: ce sont les caract`eres deG. Nous alors voir que, lorsque Gest commutatif, ils forment une autre base deC[G]; c’est le passage d’une base `a l’autre qui va nous permettre d’analyser les fonctions surG. Introduisons d’abord un produit hermitien surC[G].
D´efinition 2 Soit, pour toutf1, f2 ∈C[G]
< f1, f2 >= 1
|G|
X
x∈G
f1(x)f2(x).
On d´efinit ainsi un produit hermitien surC[G]. La base{δx, x∈G}est une base orthogonale pour ce produit scalaire, et< δx, δx >= |G|1 pour toutx∈G.
Proposition 6 Soit G un groupe ab´elien fini. L’ensemble des caract`eres de G forme une base orthonorm´ee pour le produit hermitien d´efini ci-dessus.
Preuve: Il nous faut calculer< χ1, χ2 >pour deux caract`eres deG. Remarquons d’abord que< χ1, χ2 >=< χ1χ2−1,1>. En effet,
< χ1, χ2 >= 1
|G|
X
x∈G
χ1(x)χ2(x)
= 1
|G|
X
x∈G
χ1(x)χ2(x)−1
= 1
|G|
X
x∈G
(χ1χ2−1)(x)
=< χ1χ2−1
,1> .
En posantχ=χ1χ2−1, il nous reste `a calculer< χ,1>. Lorsqueχ= 1, on a P
x∈Gχ(x) = |G|soit< χ,1 >= 1. Supposons maintenant queχ 6= 1. Il existe donc un ´el´ementb ∈Gtel queχ(b)6= 1. CommehG=G, on a
S:=X
x∈G
χ(x) =X
x∈G
χ(bx)
=X
x∈G
χ(b)χ(x)
=χ(b)X
x∈G
χ(x)
=χ(b)S
soitS=χ(b)S, que l’on peut ´ecrire dansC:(1−χ(b))S = 0. Commeχ(b)6= 1, on peut en d´eduire queS = 0.
On a donc d´emontr´e que les ´el´ements deGbforment une famille orthonorm´ee.
Comme il y en a exactement|G|, ils forment bien une base.
On a d´emontr´e lesrelations d’orthogonalit´eentre caract`eres. Elles sont extrˆemement utiles, et nous les rappelons dans la proposition suivante, associ´ees aux relations duales.
Proposition 7 (Relations d’orthogonalit´e:) SoitGun groupe commutatif fini.
1. Pour toutχ1, χ2 ∈G,b X
x∈G
χ1(x)χ2(x) =
(|G|siχ1 =χ2 0sinon
et, en particulier:
X
x∈G
χ1(x) =
(|G|siχ1 = 1 0sinon 2. Pour toutx, y ∈G,
X
χ∈Gb
χ(x)χ(y) =
(|G|six=y 0sinon et, en particulier:
X
χ∈Gb
χ(x) =
(|G|six= 1 0sinon
Preuve: On a d´ej`a d´emontr´e les premi`eres. Les deuxi`emes relations d’orthogona- lit´e se d´emontrent soit directement, soit en remarquant que ce sont les relations d’orthogonalit´e des caract`eres du groupe dual G. En effet, les caract`eres deb Gb sont en correspondance avec les ´el´ements deG via l’application (qui est un iso- morphisme):
g ∈G−→χg :Gb −→C∗ χ7−→χ(g)
3.5 Transform´ee de Fourier
On suppose d´esormais que notre groupeGest ab´elien fini.
C’est seulement un changement de base!
Soitf ∈ C[G]. On peut d´ecomposerf sur les deux bases orthonorm´ees que l’on connait: {p
|G|δx |x∈G}et{χ|χ∈G}. Cela donne:b f =X
x∈G
f(x)δx =X
χ∈Gb
cf(χ)χ o`ucf(χ) =< f, χ >. L’usage est de noter:
D´efinition 3 On appelle transform´ee de Fourier de f et on note fbl’´el´ement de C[G]b d´efini par:
fb(χ) = |G|cf(χ) = X
x∈G
f(x)χ(x).
L’applicationtransform´ee de Fourier, not´eeF, est:
F :C[G]−→C[G]b f 7−→fb
C’est bien sˆur un isomorphisme d’espaces vectoriels.
Th´eor`eme 5 Soitf, g∈C[G]. On a:
• (Formule d’inversion) f =X
χ∈Gb
cf(χ)χ= 1
|G|
X
χ∈Gb
f(χ)χb −1.
• (Formule de Plancherel) X
x∈G
f(x)g(x) =|G|X
χ∈Gb
cf(χ)cg(χ)
= 1
|G|
X
χ∈Gb
fb(χ)bg(χ)
Preuve: : On a d´ej`a vu la premi`ere. La deuxi`eme r´esulte du calcul de< f, g >
dans les deux bases.
3.6 Produit de convolution
Le produit des fonctions est une multiplication naturelle sur C[G]; toutefois le produit de convolution est plus ad´equat parce qu’il se comporte mieux vis `a vis de la transform´ee de Fourier.
D´efinition 4 Soitf, g ∈ C[G]. On d´efinit le produit de convolutionf ∗g def et g par:
(f∗g)(x) = X
y,z∈G|yz=x
f(y)g(z) = X
y∈G
f(y)g(y−1x).
Th´eor`eme 6 Le produit de convolution munitC[G]d’une structure d’alg`ebre. De plus, pour toutf, g∈C[G],
f[∗g =fbbg.
La transform´ee de FourierF est un isomorphisme d’alg`ebres de(C[G],∗)sur (C[G], .).b
Preuve: On calculef[∗g(χ)pourχ∈G.ˆ f[∗g(χ) =X
x∈G
(f∗g)(x)χ(x)
=X
x∈G
X
y,z∈G|yz=x
f(y)g(z) χ(x)
= X
y,z∈G
f(y)g(z)χ(yz) = X
y,z∈G
f(y)g(z)χ(y)χ(z)
= X
y∈G
f(y)χ(y) X
z∈G
f(z)χ(z)
=fb(χ)bg(χ)
On a donc bienF(f∗g) = F(f)F(g).
3.7 Formule de Poisson
On termine avec une formule, tr`es utile, qui analyse le comportement d’une fonc- tion sur un sous-groupe. Nous en verrons une application `a la th´eorie des codes (formule de Mac Williams).
D´efinition 5 SoitHun sous-groupe deG. L’orthogonal deH, not´eH⊥, est:
H⊥ :={χ∈Gb|χ(H) ={1}}.
Proposition 8 H⊥est un sous-groupe deG. On a:b H⊥ 'G/H[. En particulier,
|H⊥|=|G|/|H|.
Preuve: Il est clair queH⊥est un sous-groupe deG.b
On d´efinit un homomorphismeφ : H⊥ → G/H[ en posant: φ(χ) = χ, d´efini par: χ(x+H) = χ(x). Le point essentiel est que cette d´efinition est valide car elle ne d´epend pas du choix du repr´esentant choisi modulo H, grˆace au fait que χ(H) = {1}. φ est clairement injectif. Siχ0 ∈ G/H, on d´efinit[ χen composant les applications G →s G/H →χ0 C∗, c’est-`a-dire χ = χ0s. Alors, χ ∈ H⊥ et χ0 = φ(χ). L’applicationφest donc surjective; on a donc d´emontr´e que c’est un isomorphisme.
Th´eor`eme 7 (Formule de Poisson) Soitf ∈ C[G], etH ⊂ Gun sous-groupe de G. On a:
X
x∈H
f(x) = 1
|H⊥| X
χ∈H⊥
fb(χ).
Preuve: On applique la formule de Plancherel en prenant pourg la fonction indi- catrice deH:
g(x) =
(1six∈H 0sinon Il reste `a calculerg. On a:ˆ
ˆ
g(χ) = X
x∈G
g(x)χ(x) = X
x∈H
χ(x) =
(0siχH 6= 1
|H|sinon
o`u la derni`ere ´egalit´e r´esulte des relations d’orthogonalit´es appliqu´ees `a la restric- tion χH de χ `a H. La condition χH = 1 ´equivaut `a χ ∈ H⊥. La formule de Plancherel devient donc:
X
x∈H
f(x) = |H|
|G|
X
χ∈H⊥
f(χ).ˆ
Chapter 4
Transform´ee de Walsh et fonctions bool´eennes
Dans ce chapitre, nous consid´erons le cas particulier G = (Z/2Z)n. Nous al- lons d´ecrire un algorithme rapide de calcul de la transform´ee de Fourier, appel´ee dans ce cas transform´ee de Walsh, et ses applications `a l’´etude des propri´et´es des fonctions bool´eennes.
4.1 Transform´ee de Walsh
4.1.1 Caract`eres de(Z/2Z)n
CommeZ/2Z = F2, on peut voirGcomme leF2-espace vectoriel de dimension n:Fn2. On le munit du produit scalaire usuel:
x·y=
n
X
i=1
xiyi.
Notons que, si u ∈ F2, est d´efini modulo2, le nombre (−1)u ∈ Rest bien d´efini.
D´efinition 6 A touty∈Fn2 on peut associer un caract`ereχy deFn2 d´efini par:
χy(x) = (−1)x·y.
Proposition 9 L’application y → χy est un isomorphisme d’espaces vectoriels entreFn2 etFcn2.
Preuve: La d´emonstration directe est facile. En fait, ce n’est qu’une redite de ce que nous avons d´ej`a vu sur les caract`eres d’un produit direct. Rappelons que
\Z/2Z={χ0, χ1}, o`uχ0 = 1etχ1(1) =−1. Un caract`ereχdeFn2 est donn´e par le choix d’une s´equence den caract`eres deZ/2Z, par exemple: (χ0, χ0, χ1, . . .).
Alorsχ(x) =χ0(x1)χ0(x2)χ1(x3). . .. Il suffit de remarquer que, si l’on associe
`a cette s´equence l’´el´ement y ∈ Fn2 dont les coordonn´ees successives sont 0pour χ0 et1pourχ1, iciy = (0,0,1, . . .), alors
(−1)x·y = (−1)Pni=1xiyi =
n
Y
i=1
(−1)xiyi =χ0(x1)χ0(x2)χ1(x3)· · ·=χ(x).
On peut y voir aussi l’identification usuelle entre un espace vectoriel et son dual, donn´ee par le choix d’un produit scalaire.
Remarque 1 Dans cette identification entre Fn2 et son dual, l’orthogonal d’un sous-groupe H (i.e. un sous-espace vectoriel!), est l’orthogonal au sens usuel pour le produit scalairex·y:
H⊥={y∈Fn2 |x·y= 0pour toutx∈H}.
La transform´ee de Fourier est dans ce contexte appel´eetransform´ee de Walsh et devient l’application
W :C[Fn2]−→C[Fn2] f 7−→fb
o`ufbest d´efinie par:
f(x) =b X
y∈Fn2
f(y)(−1)x·y. Dans la base desδx, la matrice deW est la matrice
W2n = ((−1)x·y)x,y∈Fn2.
dont on ordonne les lignes et les colonnes suivant l’ordre lexicographique. C’est aussi l’ordre naturel des entiers de 0 `a 2n − 1 identifi´es avec leur ´ecriture bi- naire. Cette matrice est clairement sym´etrique et v´erifie (grˆace aux relations d’orthogonalit´e)
W2nW2n = 2nId.
4.2 Transform´ee de Walsh rapide
Le calcul de Wf n´ecessite `a priori (2n)2 op´erations dans Cpuisque il s’agit de calculer le produit de la matriceW2n par le vecteur des valeurs prises parf. Nous allons voir un proc´ed´e r´ecursif qui permet de passer `an2nop´erations.
Pourx∈Fn2, notonsx0 ∈ Fn−12 le(n−1)-uplet constitu´e desn−1derni`eres coordonn´ees dex, de sorte quex = (0, x0)oux = (1, x0). On a bien sur: x·y= x1y1 +x0 ·y0. Dans le calcul de fb, nous allons partagerFn2 en deux ensembles, suivant la valeur du premier bit.
f(x) =b X
y∈Fn2
f(y)(−1)x·y
= X
y0∈Fn−12
f(0, y0)(−1)x0·y0 + X
y0∈Fn−12
f(1, y0)(−1)x1+x0·y0
= (P
y0∈Fn−12 (f(0, y0) +f(1, y0))(−1)x0·y0 six= (0, x0) P
y0∈Fn−12 (f(0, y0)−f(1, y0))(−1)x0·y0 six= (1, x0) On d´efinit alors deux ´el´ementsf+etf−deC[Fn−12 ]:
(f+(y0) = f(0, y0) +f(1, y0) f−(y0) = f(0, y0)−f(1, y0)
L’expression trouv´ee pour fbmontre que f(x)b s’exprime comme une trans- form´ee de Walsh `a l’ordren−1:
(
fb(0, x0) = fc+(x0) fb(1, x0) = fc−(x0)
NotonsT(2n)le nombre d’op´erations n´ecessaires au calcul def. On doit cal-b culer les deux fonctions surFn−12 :f+, f−, ce qui n´ecessite2nop´erations. Ensuite, on est ramen´es au calcul de deux transform´ees de Walsh surFn−12 . Donc:
T(2n) = 2n+ 2T(2n−1)
= 2n+ 2(2n−1+ 2T(2n−2))
=. . .
=n2n+ 2nT(1) =n2n
L’algorithme de calcul de fbest d´ecrit par le sch´ema suivant, appel´e sch´ema papillon:
Ce type d’algorithme est connu sous le nom de “diviser pour r´egner” (divide and conquer algorithm).
Exemple: n= 3
000 001 010 011 100 101 110 111
f 0 1 0 0 1 0 0 0
fˆ 2 0 2 0 0 −2 0 2
4.3 Fonctions bool´eennes
D´efinition 7 Une fonction bool´eenne est une applicationf :Fn2 →F2. Pour tout 1≤i≤n, on noteXila fonction bool´eenne d´efinie par: Xi(x) = xi.
Proposition 10 La somme et le produit de fonctions bool´eennes est une fonction bool´eenne. On a: Xi2 = Xi. Tout polynˆome en lesXi, dont les exposants valent 0ou1et `a coefficients dansF2, d´efinit une fonction bool´eenne. R´eciproquement, toute fonction bool´eenne a une expression unique sous la forme d’un polynˆome en les Xi, dont les exposants valent0ou1. Cette expression s’appelle laforme alg´ebrique def. Par d´efinition, le degr´e def est le degr´e de ce polynˆome.
Preuve: On montre que l’ensemble M des monˆomes en les Xi, , dont les ex- posants valent0ou1, forme une base de l’espace des fonctions bool´eennes. Soit a ∈Fn2; on note encoreδa la fonction d´efinie au chapitre pr´ec´edent, dont on con- sid`ere maintenant les valeurs modulo2. On sait que l’ensemble desδaforme une