• Aucun résultat trouvé

n = 2N à celui de 3 produits de polyômes de degrés &lt

N/A
N/A
Protected

Academic year: 2022

Partager "n = 2N à celui de 3 produits de polyômes de degrés &lt"

Copied!
2
0
0

Texte intégral

(1)

Université Bordeaux 1 N1MA5031 – Licence 3

Mathématiques Année 2011–2012

FEUILLE D’EXERCICES no8

Exercice 1 – (Toom-Cook) – On se penche ici sur une généralisation du principe mis en œuvre dans l’algorithme de Karatsuba. L’idée de Karatsuba est de ramener le calcul d’un produit de deux polyômes de degrés < n = 2N à celui de 3 produits de polyômes de degrés < N. Mais si au lieu de couper en 2 on coupait en 3, voire en k, qu’obtiendrait-on ? On s’intéressera ici au cas d’une double césure.

1) Soit K un corps commutatif que nous supposerons de caractéristique nulle pour simplifier. Nous désirons multiplier deux polynômesP etQ∈K[X]de degrés< n= 3N où N >0. Décomposons les sous la forme

P = P2X2N +P1XN+P0 Q = Q2X2N+Q1XN+Q0

où les Pi et lesQi sont des polynômes de degrés < N. Soit Π le produit deP etQ et posons









Π0 = P0Q0

Π1 = (P2+P1+P0)(Q2+Q1+Q0) Π−1 = P2−P1+P0

Q2−Q1+Q0

Π2 = 4P2+ 2P1+P0

4Q2+ 2Q1+Q0

Π = P2Q2

Montrer quil existe 5 polynômes de degrés <2N −1 notésRi (06i64) vérifiant













Π =

4

P

i=0

RiXiN Πα =

4

P

i=0

Riαi siα ∈ {0,1,−1,2}

Π = R4

2)Exprimer les Ri (06i64) en fonction desΠα (α∈ {0,1,−1,2,∞}).

3)En déduire que le calcul deΠ peut se ramener à celui de 5 produits de 2 polynômes de degrés < N.

4) Soit n > 0 quelconque. En s’inspirant de l’algorithme de Karatsuba, écrire l’algo- rithme permettant de calculer le produit de 2 polynômes de degré< nà partir de l’idée précédente. En estimer la complexité algébrique (on se contentera d’étudier le nombre de multiplications dans K en fonction den) et comparer à Karatsuba.

Exercice 2 – (FFT) – Nous considérons ici des polynômes de K[X] où K est un corps commutatif. Soit n une puissance de 2 différente de 1 : n = 2k avec k > 0.

Soit ω ∈ K une racine primitive n-ième de l’unité (on a ωn = 1 et ωd 6= 1 pour tout 1 6 d < n). On admettra que le corps considéré possède une telle racine (ce sera par exemple le cas de C pour tout n). On appelle transformée de Fourier discrète d’un polynômeR∈K[X]de degré< n, identifié au n-uplet(R0, . . . , Rn−1) len-uplet

DF Tω(R) = (R(1), R(ω), . . . , R(ωn−1)).

(2)

Ainsi a-t-on également

DF Tω−1(R) = (R(1), R(ω−1), . . . , R(ω−n+1)).

1)Montrer que pour toutR ∈K[X]de degré < n, on a

DF Tω−1(DF Tω(R)) =DF Tω(DF Tω−1(R)) =nR.

2)On pose m=n/2 = 2k−1. Montrer que pour 06p < m, on a R(ωp) =

m−1

X

j=0

R2jαjpp

m−1

X

j=0

R2j+1αjp

et

R(ωp+m) =

m−1

X

j=0

R2jαjp−ωp

m−1

X

j=0

R2j+1αjp,

où α est une racine primitivem-ième de l’unité.

3)En déduire un algorithme récursif de calcul de laDF T en remarquant que les formules précédentes permettent de ramener le calcul d’uneDF T de degré < nà deux DF T de degrés < m.

4)Évaluer la complexité algébrique de l’algorithme (ditF F T) ainsi obtenu et comparer à celle d’un calcul plus naïf.

5) Soient P etQ deux polynômes deK[X]de degrés < n, que l’on identifiera encore auxn-uplets (P0, . . . , Pn−1) et(Q0, . . . , Qn−1). On appelle produit de convolutionde P etQ le polynômeR=P ∗Q de degré< ndéfini par

Ri=

n−1

X

j=0

PjQi−jmodn pour touti∈ {0, . . . , n−1}.

Montrer que

P ∗Q≡P Q mod (Xn−1).

6)Montrer que l’on a

DF Tω(P ∗Q) =DF Tω(P)·DF Tω(Q), où (ui)06i<n·(ui)06i<n= (uivi)06i<n.

7)On suppose en outre que deg(P Q)< n. Montrer que P∗Q=P Q et en déduire un algorithme de calcul du produitP Qutilisant la F F T.

8) Évaluer la complexité algébrique de cet algorithme et comparer à celles des algo- rithmes déjà rencontrés (naïf, Karatsuba, Toom-Cook).

Références

Documents relatifs

Outre cela, tout carré dont les rangées ne sont ni complé- mentaires les unes des autres, ni composées de nombres complé- mentaires, fournit un carré complémentaire, en \

— Étant donnés deux ou plusieurs groupes d'un même nombre de termes, tels qu'en prenant les termes de chaque groupe non seulement au premier, mais aussi au second degré, on

[r]

[r]

Dans notre notation du temps 1 heure vaut 60 minutes et 1 minute vaut 60 secondes. Les durées en heures/minutes/secondes ressemblent donc à des nombres babyloniens car ils sont

S’il y a moins de culture de champs et de vignes, moins de villes et de maisons, il y aussi plus de verdure naturelle, plus de prairies. Comme il n’y a pas sur ces heureux bords

Pour obtenir le nombre initial après une double opération, il faut et il suffit que cette division soit réversible, c'est à dire qu'on obtienne le quotient p en divisant N par

Les cartes IGN, selon leurs dates, peuvent être établies dans diverses coordonnées : NTF en projection de Lambert (avec plusieurs zones), géographiques (grades, UTM, DMS), niveaux