MPSI B Année 2017-2018. Énoncé DM 16 pour le 13/04/18 29 juin 2019
Ce problème
1a 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(ω n 2 ), · · · , A(ω n n−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 4 2 et M 4 4 .
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)k n . d. Calculer le produit matriciel M n M n , en déduire F n −1 .
1
d'après E.P.I.T.A. 1999
e. Calculer M n 2 . Préciser l'eet de F n 2 sur la base canonique. En déduire F n 4 . 3. Image de quatre vecteurs particuliers.
On dénit deux vecteurs u et v de C n par :
u = (Re(1), Re(ω n ), · · · , Re(ω n n−1 )), v = (Im(1), Im(ω n ), · · · , Im(ω n−1 n )) 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 = ω
n2
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 n 2 − 1 ,
A(ω k ) = B(ω 0 k ) + ω k C(ω 0 k ), A(ω
n2+k ) = B (ω 0 k ) − ω k C(ω 0 k ) 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
Cette création est mise à disposition selon le Contrat
Paternité-Partage des Conditions Initiales à l'Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-sa/2.0/fr/
1
Rémy Nicolai M1716EMPSI B Année 2017-2018. Énoncé DM 16 pour le 13/04/18 29 juin 2019 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 à n 2 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.
Cette création est mise à disposition selon le Contrat
Paternité-Partage des Conditions Initiales à l'Identique 2.0 France disponible en ligne http://creativecommons.org/licenses/by-sa/2.0/fr/