12.07.2015 Views

Algorithmes de calcul formel - Free

Algorithmes de calcul formel - Free

Algorithmes de calcul formel - Free

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8.1 Les facteurs multiplesÉtant donné un polynôme P à coefficients entiers, on cherche à écrire :P = Π n k=1 P k koù les P k n’ont pas <strong>de</strong> facteurs multiples et sont premiers entre eux <strong>de</strong>ux à <strong>de</strong>ux.Comme on est en caractéristique 0, cela revient à dire que pgcd(P k , Pk ′) = 1 etpgcd(P k , P j ) = 1. Bien entendu on va utiliser la dérivée <strong>de</strong> P dans l’algorithme<strong>de</strong> recherche <strong>de</strong>s P k :P ′ =n∑k=1Soit G le pgcd <strong>de</strong> P et <strong>de</strong> P ′ . On a :en effet G divise P et P ′ :kP k ′ P k−1kΠ j≠k P j jG = Π n k=1 P k−1k,W 1 = P G = Πn k=1 P k, Z 1 = P ′ n∑G = kP k ′ Π j≠kP jil s’agit <strong>de</strong> vérifier que W 1 et Z 1 sont premiers entre eux. Soit F un facteur irréductibledu pgcd <strong>de</strong> W 1 et Z 1 , alors F divise l’un <strong>de</strong>s P k , appelons P l ce facteur.Comme F divise Π j≠k P j si k ≠ l, on en déduit que F divise le <strong>de</strong>rnier terme <strong>de</strong> lasomme <strong>de</strong> Z 1 , c’est-à-dire que F divise lPl ′ Π j≠lP j donc F divise Pl ′ puisque lesP k sont premiers entre eux. Donc P l et Pl ′ ont un facteur en commun, ce qui estcontraire aux hypothèses.On pose alors :k=1Y 1 = Z 1 − W ′ 1 = ∑ k>1(k − 1)P ′ k Π j≠kP jOn définit alors par récurrence <strong>de</strong>s suites <strong>de</strong> polynômes W n , Y n et G m par :– G m = pgcd(W m , Y m )– W m+1 = W m /G m et Y m+1 = Y m /G m − W m′On va montrer que P m = G m . Commençons au rang n = 1, on voit que P 1 diviseY 1 (puisqu’il est commun à tous les Π j≠k P j car k > 1) et divise W 1 . Et c’est le seulfacteur commun, car tout autre facteur irréductible serait un diviseur d’un P l pourl > 1, donc diviserait (l − 1)Pl ′ Π j≠l,j>1P j , donc diviserait Pl ′ . Le raisonnementen un rang quelconque est i<strong>de</strong>ntique, les polynômes sont donnés par :G m = P m , W m = Π k>=m P k , Y m = ∑ k > m(k − m)P ′ k Π j≥m,j≠kP jLorsqu’on programme cet algorithme, le test d’arrêt est G m = 1.Square-free factorisation (Algorithme <strong>de</strong> Yun)Argument : un polynôme primitif P à coefficients entiers (ou dans Z[i] ou dans uncorps <strong>de</strong> caractéristique nulle).Valeur renvoyée : une liste <strong>de</strong> polynômes P m telle que P = Π n k=1 P k k .1. Initialiser la liste résultat à liste vi<strong>de</strong>.45

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!