• Aucun résultat trouvé

a pour objet l'étude de la transformée de Fourier discrète et son application à un algorithme rapide de multiplication polynomiale.

N/A
N/A
Protected

Academic year: 2022

Partager "a pour objet l'étude de la transformée de Fourier discrète et son application à un algorithme rapide de multiplication polynomiale."

Copied!
5
0
0

Texte intégral

(1)

Énoncé

Ce problème

1

a pour objet l'étude de la transformée de Fourier discrète et son application à un algorithme rapide de multiplication polynomiale.

Dans tout le problème, N désigne un entier naturel non nul et n = 2

N

, ω

n

= e

2iπn

. On note C

n

= (e

0

, e

1

, · · · , e

n−1

) la base canonique de C

n

:

e

0

= (1, 0, · · · , 0), e

1

= (0, 1, 0, · · · , 0), · · · , e

n−1

= (0, 0, · · · , 0, 1).

On dénit le polynôme associé à un élément de C

n

puis la transformée de Fourier discrète (notée F

n

).

Pour chaque a ∈ C

n

, le polynôme associé (noté A ) est déni par

a = (a

0

, a

1

, · · · , a

n−1

) ⇒ A = a

0

+ a

1

X + · · · + a

n−1

X

n−1

. l'application F

n

est dénie de C

n

dans C

n

par :

∀a ∈ C

n

, F

n

(a) = (A(1), A(ω

n

), A(ω

n2

), · · · , A(ω

nn−1

)).

1. Étude du cas particulier N = 2, n = 4 .

a. Préciser ω

4

puis l'image d'un élément (a

0

, a

1

, a

2

, a

3

) de C

4

par l'application F

4

. b. Préciser la matrice M

4

de l'endomorphisme F

4

dans la base C

4

de C

4

.

c. On désigne par M

4

la matrice obtenue à partir de M

4

en conjuguant tous les éléments. Calculer

M

4

M

4

. En déduire que M

4

est inversible et préciser M

4−1

. d. Calculer M

42

et M

44

.

2. Étude du cas général.

a. Établir que l'application F

n

est un automorphisme.

b. Former la matrice M

n

de F

n

dans la base canonique C

n

de C

n

. Préciser en parti- culier, pour i et j entre 1 et n , le terme d'indice (i, j) de cette matrice.

c. Soit i et j deux entiers. En distinguant suivant que i − j est congru à 0 modulo n ou non, calculer la somme

n−1

X

k=0

ω

(i−j)kn

.

1d'après E.P.I.T.A. 1999

d. Calculer le produit matriciel M

n

M

n

, en déduire F

n−1

.

e. Calculer M

n2

. Préciser l'eet de F

n2

sur la base canonique. En déduire F

n4

. 3. Image de quatre vecteurs particuliers.

On dénit deux vecteurs u et v de C

n

par :

u = (Re(1), Re(ω

n

), · · · , Re(ω

nn−1

)), v = (Im(1), Im(ω

n

), · · · , Im(ω

n−1n

)) a. Exprimer F

n

(e

1

+ e

n−1

) et F

n

(e

1

− e

n−1

) en fonction de u et v . En déduire F

n

(u)

et F

n

(v) .

b. On dénit les vecteurs u

, u

+

, v

, v

+

par : u

=

√ n

2 (e

1

+ e

n−1

) − u, u

+

=

√ n

2 (e

1

+ e

n−1

) + u v

=

√ n

2 (e

1

− e

n−1

) − v, v

+

=

√ n

2 (e

1

− e

n−1

) + v Calculer F

n

(u

) , F

n

(u

+

) , F

n

(v

) , F

n

(v

+

) en fonction de u

, u

+

, v

, v

+

. 4. Étude d'un algorithme récursif de calcul de F

n

(a) .

Dans cette question, on note ω = ω

n

et ω

0

= ω

n

2

de sorte que ω

2

= ω

0

.

À tout élément a = (a

0

, a

1

, · · · , a

n−1

) de C

n

, on associe les deux éléments b et c de C

n

2

(on rappelle que n = 2

N

) dénis par :

b = (a

0

, a

2

, · · · , a

n−2

), c = (a

1

, a

3

, · · · , a

n−1

) On note A , B , C les polynômes respectivement associés à a , b , c .

a. Exprimer A avec des polynômes obtenus à partir de B , C en substituant X

2

à X .

b. Montrer que, pour k entre 0 et

n2

− 1 ,

A(ω

k

) = B(ω

0k

) + ω

k

C(ω

0k

), A(ω

n2+k

) = B (ω

0k

) − ω

k

C(ω

0k

) c. Expliquer comment, à partir des questions précédentes, on peut calculer F

n

(a)

par un procédé récursif.

d. On suppose connus tous les ω

n

et leurs puissances. On note u

N

le nombre d'opé- rations (additions et multiplications) eectuées dans le calcul récursif de F

n

(a) déni à la question précédente. En particulier u

0

= 0 . Montrer que l'on peut organiser le calcul pour que

u

N

= 2u

N−1

+ 3 × 2

N−1

(2)

e. En utilisant la suite u

N

2

−N

N∈N

, exprimer u

N

en fonction de N puis de n . 5. Produit rapide de deux polynômes.

On considère ici deux polynômes P et Q à coecients réels ou complexes de degré strictement inférieur à

n2

et le polynôme R = P Q . On note

P = p

0

+ p

1

X + · · · + p

n−1

X

n−1

Q = q

0

+ q

1

X + · · · + q

n−1

X

n−1

R = r

0

+ r

1

X + · · · + r

n−1

X

n−1

p = (p

0

, p

1

, · · · , p

n−1

) q = (q

0

, q

1

, · · · , q

n−1

) r = p ∗ q = (r

0

, r

1

, · · · , r

n−1

)

pq = (p

0

q

0

, p

1

q

1

, · · · , p

n−1

q

n−1

) (produit "terme à terme")

a. Comment s'exprime F

n

(r) avec F

n

(p) et F

n

(q) ?

b. Quel est le nombre d'opérations (additions et multiplications) nécessaires pour calculer R = P Q par les formules usuelles ?

c. On calcule successivement :

les transformées de Fourier discrètes F

n

(p) et F

n

(q) par l'algorithme récursif.

le produit (terme à terme) F

n

(p)F

n

(q) .

la transformée de Fourier discrète inverse F

n−1

(F

n

(p)F

n

(q)) .

Que calcule-t-on par cette méthode ? Déterminer en fonction de u

N

puis de n le nombre d'opérations eectuées lors de ces calculs.

d. Conclure.

(3)

Corrigé

1. a. Par dénition, ω

4

= i et, si a = (a

0

, a

1

, a2, a

3

) ,

F(a) = (a

0

+ a

1

+a

2

+ a

3

, a

0

+ia

1

− a

2

−ia

3

, a

0

− a

1

+a

2

− a

3

, a

0

−ia

1

− a

2

+ia

3

) b. D'après la question précédente,

M

4

=

1 1 1 1

1 i −1 −i

1 −1 1 −1

1 −i −1 i

c. Après calculs, on trouve M

4

M

a

= 4I

4

. On en déduit que M

4

est inversible d'in- verse

14

M

4

puis que F

4

est bijective. La bijection réciproque F

4−1

est l'endomor- phisme de C

n

dont la matrice dans la base canonique est

14

M

4

.

d. Après calculs, on trouve M

42

= 4

1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0

, M

44

= 16I

4

2. Dans toute cette question, on note ω au lieu de ω

n

.

a. Comme F

n

est un endomorphisme de C

n

, pour prouver que F

n

est bijective, il sut de montrer que F

n

est injective.

Si F

n

(a) = 0

Cn

, le polynôme A associé à ce n -uplet a est nul en 1, ω

n

, · · · , ω

n−1n

. Il admet n racines distinctes en étant de degré au plus n − 1 , il est donc nul.

b. D'après la dénition de F

n

,

M

n

=

1 1 1 · · · 1

1 ω ω

2

· · · ω

n−1

1 (ω)

2

2

)

2

· · · (ω

n−1

)

2

... ... ... ... ...

1 (ω)

n−1

2

)

n−1

· · · (ω

(n−1)

)

n−1

On en déduit que le terme d'indice (i, j) de cette matrice est (ω

j−1

)

i−1

= ω

(i−1)(j−1)

c. Soit i et j deux entiers entre −n et n . La somme proposée est formée de termes en progression géométrique de raison ω

j−i

. Par dénition de ω ,

ω

j−i

( = 1 si i ≡ j mod n

∈ U

n

\ {1} si i − j 6≡ j mod n

n−1

X

k=0

ω

(i−j)k

=

( n si i ≡ j mod n 0 si i − j 6≡ j mod n car, pour ω

j−i

6= 1,

n−1

X

k=0

ω

(i−j)k

= 1 − (ω

i−j

)

n

1 − ω

i−j

= 0.

d. Par dénition du produit matriciel, pour i et j entre 1 et n , i − j est entre −n + 1 et n − 1 , le terme (i, j) de M

n

M

n

est

n−1

X

k=1

ω

(i−1)(k−1)

ω ¯

(k−1)(j−1)

=

n−1

X

k=1

ω

(i−1−j+1)(k−1)

car ω ¯ = ω

−1

=

n−1

X

k=1

ω

(i−j)(k−1)

=

( n si i = j 0 si i 6= j On en déduit que M

n

M

n

= nI

n

puis que F

n−1

est l'endomorphisme de C

n

dont la matrice dans la base canonique est

n1

M

n

.

e. Le terme (i, j) de M

n2

est

n−1

X

k=1

ω

(i−1)(k−1)

ω

(k−1)(j−1)

=

n−1

X

k=1

ω

(i−j+2)(k−1)

=

( n si i + j − 2 ≡ 0 mod n 0 sinon

Pour i et j entre 1 est n , on peut exprimer i en fonction de j pour que la congruence soit vériée. On doit avoir i = 1 si j = 1 et i = n − j + 2 pour j entre 2 et n . Un seul terme est non nul par colonne et il est égal à n :

M

n2

= n

1 0 0 · · · 0 0 0 0 · · · 1 ... ... ... ...

0 0 1 0

0 1 0 · · · 0

(4)

Cette matrice permet de préciser les images des vecteurs de la base canonique (attention au décalage d'indice)

F

n2

(e

0

) = ne

0

, ∀j ∈ {1, · · · , n − 1}, F

n2

(e

j

) = ne

n−j

On en déduit que F

n4

= n

2

Id

Cn

.

3. a. Les n -uplets F

n

(e

1

+ e

n−1

) et F

n

(e

1

− e

n−1

) correspondent à la somme et la diérence des colonnes 2 et n de la matrice A

n

. Comme ω

n−1

= ω

−1

= ω , les parties réelles et imaginaires apparaissent conduisant à

F

n

(e

1

+ e

n−1

) = 2u, F

n

(e

1

− e

n−1

) = 2iv En composant par F

n

(qui est C-linéaire), il vient

2F

n

(u) = n F

n2

(e

1

) + F

n2

(e

n−1

)

= n(e

n−1

+ e

1

) 2iF

n

(v) = n F

n2

(e

1

) − F

n2

(e

n−1

)

= n(e

n−1

− e

1

) )

 

 

F

n

(u) = n

2 (e

1

+ e

n−1

) F

n

(v) = in

2 (e

1

− e

n−1

) b. D'après les calculs précédents,

F

n

√ n

2 (e

1

+ e

n−1

) + u

=

√ n

2 2u + F

n

(u) = √ nu + n

2 (e

1

+ e

n−1

)

= √ n

√ n

2 (e

1

+ e

n−1

) + u

Les autres calculs sont analogues et conduisent à F

n

(u

+

) = √

nu

+

, F

n

(u

) = − √

nu

, F

n

(v

+

) = i √

nv

+

, F

n

(v

) = −i √ nv

4. a. Avec les conventions de l'énoncé,

A = a

0

+ a

1

X + a

2

X

2

+ · · · B = a

0

+ a

2

X + a

4

X

2

+ · · · C = a

1

+ a

3

X + a

5

X

2

+ · · ·

 

 

⇒ A = B(X b

2

) + X C(X b

2

)

b. La première relation demandée est obtenue simplement en remplaçant X par ω dans la relation A = B(X b

2

) + X C(X b

2

) de la question précédente. Pour les puissances au delà de

n2

,

A(ω

n2+k

) = a

0

+ a

1

ω

n2+k

+ a

2

ω

n+2k

+ a

3

ω

3(n2+k)

+ a

4

ω

2n+4k

+ · · ·

= a

0

+ a

2

ω

0k

+ a

4

ω

02k

+ · · ·

+ ω

n2+k

a

1

+ a

3

ω

0k

+ a

5

ω

02k

+ · · · car ω

n

= 1

= B(ω

0k

) − ω

k

C(ω

0k

) car ω

n2

= −1.

c. Il faut bien faire attention ici à la relation n = 2

N

. La récursivité est relative au passage de N à N − 1 c'est à dire de n à

n2

. La méthode envisagée pour le calcul de F

n

(a) est la suivante

On forme à partir de a les deux

n2

-uplets b et c en séparant les indices pairs et impairs.

On calcule F

n

2

(a) et F

n

2

(b) .

On renvoie F

n

(a) calculé à partir de F

n

2

(a) et F

n

2

(b) avec les formules de 4.b.

d. Organisation du calcul et évaluation de la complexité.

La formation de b et c se fait sans opérations (au sens de l'énoncé) Le calcul récursif de F

n

2

(a) et F

n

2

(b) se fait avec 2U

N−1

opérations.

On eectue

n2

multiplication pour calculer les ω

k

C(ω

0k

) . On eectue ensuite 2 ×

n2

opérations (ajouter-soustraire) pour calculer A(ω

k

) et A(ω

n2+k

) . Comme

n2

= 2

N−1

, on obtient donc bien en tout

u

N

= 2u

N−1

+ 3 × 2

N−1

e. Comme l'énoncé nous y invite, posons v

N

= u

N

2

−N

. On en tire u

N

= 2

N

v

N

avec lequel on réécrit la relation de récurrence. On peut diviser par 2

N

et obtenir une suite arithmétique

2

N

v

N

= 2

N

v

N−1

+ 3 × 2

N−1

⇒ v

N

= v

N−1

+ 3

2 ⇒ v

N

= 3N 2

⇒ u

N

= 3

2 N 2

N

= 3 2 ln 2 n ln n 5. a. D'après la dénition, F

n

(r) est le produit terme à terme de F

n

(p) et F

n

(q) . Avec

les notations précisées par l'énoncé, on peut écrire F

n

(r) = F

n

(p)F

n

(q) .

b. Nombre d'opérations pour la formule usuelle du produit de deux polynômes. Pré-

sentons ces nombres d'opérations dans un tableau pour la première moitié des

coecients. Le nombre d'opérations sera le même par symétrie pour les coe-

cients suivants.

(5)

degré ∗ +

0 1 0

1 2 1

2 3 2

... ... ...

n

4

− 1

n4 n4

− 1

On en déduit après calculs que le nombre total d'opérations par cette méthode est

161

n

2

.

c. Il est clair d'après la question a. et le fait que F

n

est bijective que l'on calcule ainsi le 2n -uplet attaché au produit des polynômes P et Q .

Évaluons le nombre d'opérations eectuées.

2u

N

opérations pour le calcul de F

n

(p) et F

n

(q) . n = 2

N

opérations pour le produit terme à terme

u

N

opérations pour le calcul de la transformée inverse qui est analogue au direct.

On obtient donc 3u

N

+ 2

N

=

2 ln 29

n ln n + n opérations.

d. Pour de grands n , la méthode utilisant la transformée de Fourier discète est

beaucoup plus rapide car

2 ln 29

n ln n + n est beaucoup plus petit que

161

n

2

.

Références

Documents relatifs

Elles n’ont pas été choisies au hasard mais pour que certaines formules que l’on verra plus tard soient valables aussi bien avec des nombres positifs que des nombres

On pensait que les transformations avec des nombres réels pouvaient être plus efficacement calculées via une transformation discrète de Hartley mais il a été prouvé par la

Les positions des éléments de symétrie dans la notation des groupes ponctuels sont représentées dans le tableau.. 11 III.5- La

Pré- sentons ces nombres d'opérations dans un tableau pour la première moitié des coecients.. Le nombre d'opérations sera le même par symétrie pour les coe-

Ce problème 1 a pour objet l'étude de la transformée de Fourier discrète et son application à un algorithme rapide de multiplication polynomiale.. 1

C’est dans ce cadre général que se pose la question du calcul effectif du spectre d’un signal sur une machine (ordinateur, analyseur de spectre), et qu’intervient la transformée

Une fenêtre apparaît, il suffit de taper le nom de la fonction (en bas : Chercher dans les docs) Numbers: Integers, Rationals, Reals, Complex, Exacts, Inexacts. * : (num num

C’est dans ce cadre général que se pose la question du calcul effectif du spectre d’un signal sur une machine (ordinateur, analyseur de spectre), et qu’intervient la transformée