7.5 Exercice (Géométrie et résultants).On cherche une relation algébrique entre les coordonnées <strong>de</strong> 4 points A, B, C, Dqui traduise le fait que ces 4 points sont cocycliques. Cette condition étant invariantepar translation, on cherche une relation entre les 6 coordonnées <strong>de</strong>s 3 vecteursv 1 = (x 1 , y 1 ), v 2 = (x 2 , y 2 ) et v 3 = (x 3 , y 3 ) d’origine A et d’extrémité B,C et D. On peut supposer quitte à translater que le centre du cercle est l’origine, ona donc 5 paramètres : le rayon du cercle R et les 4 angles <strong>de</strong>s points sur le cercleθ 0 , θ 1 , θ 2 et θ 3 . La relation cherchée va s’obtenir en éliminant les 5 paramètres <strong>de</strong>sexpressions <strong>de</strong>s 6 coordonnées en fonction <strong>de</strong> ces paramètres.1. Exprimer les 6 coordonnées en fonction <strong>de</strong> R et a = tan(θ 0 /2), b = tan(θ 1 /2),c = tan(θ 2 /2) et d = tan(θ 3 /2). On obtient ainsi 6 équations, par exempleles <strong>de</strong>ux premières sont <strong>de</strong> la formex 1 − F(R, a, b) = 0, y 1 − G(R, a, b) = 0où F et G sont <strong>de</strong>ux fractions rationnelles.2. En réduisant au même dénominateur, <strong>calcul</strong>er 6 polynômes, fonction <strong>de</strong>x 1 , y 1 , x 2 , y 2 , x 3 , y 3 , R, a, b, c, d, qui doivent s’annuler pour que les pointssoient cocycliques (Vous pouvez utiliser l’instruction numer pour obtenir lenumérateur d’une fraction rationnelle).3. Éliminer b <strong>de</strong>s polynômes contenant x 1 et y 1 et factoriser le polynôme obtenu,faire <strong>de</strong> même avec c, x 2 et y 2 et d, x 3 et y 3 , en déduire (en supposantque les points sont tous distincts) 3 polynômes en x 1 , y 1 , x 2 , y 2 , x 3 , y 3 , R, aqui s’annulent.4. Éliminer R et a, en déduire la relation cherchée.5. Vérifier que cette relation est équivalente à la nullité <strong>de</strong> la partie imaginairedu birapport <strong>de</strong>s affixes α, β, γ, δ <strong>de</strong>s 4 points :( ) α − β δ − γI= 0α − γ δ − β8 FactorisationOn présente ici quelques algorithmes utilisés pour factoriser un polynôme àcoefficients entiers. Pour un polynôme en une variable, cele se fait en plusieursétapes : on commence par se ramener à un polynôme P dont tous les facteurs sont<strong>de</strong> multiplicité un, ensuite on factorise P dans Z/pZ (par la métho<strong>de</strong> <strong>de</strong> Berlekampou Cantor-Zassenhauss), puis on remonte à Z/p k Z pour k suffisamment grand (enfonction <strong>de</strong> la borne <strong>de</strong> Landau sur les facteurs <strong>de</strong> P ), et on recombine enfin lesfacteurs modulaires pour trouver les facteurs <strong>de</strong> P . Lorsque P à plusieurs variables,on utilise une métho<strong>de</strong> analogue à celle permettant <strong>de</strong> trouver le pgcd <strong>de</strong> polynômesà plusieurs variables.RappelLe pgcd <strong>de</strong>s coefficients d’un polynôme est appelé contenu <strong>de</strong> ce polynôme. Unpolynôme est dit primitif si son contenu est égal à 1.44
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