\def \|{\leavevmode \hbox{\tt \char`\|}} \def \°{\leavevmode \hbox{\tt \char23}}
\newskip \ttglue \ttglue = .5em plus.25em minus .15em
\outer \def \begindisplay{ \obeylines
\startdisplay}
{\obeylines \gdef \startdisplay#1
{\catcode`\^^M=5 $$#1 \halign\bgroup \indent ## \hfil && \qquad ## \hfil \cr}}
\outer \def \enddisplay{ \crcr
\egroup
$$}
\chardef \other = 12
\def \ttverbatim{ \begingroup
\catcode`\\=\other
\catcode`\{=\other
\catcode`\}=\other
\catcode`\$=\other
\catcode`\&=\other
\catcode`\#=\other
\catcode`\%=\other
\catcode`\~=\other
\catcode`\_=\other
\catcode`\^=\other
\obeyspaces
\obeylines \tt}
{\obeyspaces \gdef {\ }}
\outer \def \begintt{ $$
\let \par = \endgraf
\ttverbatim \parskip = 0pt \catcode`\|=0 \rightskip = -5pc \ttfinish}
{\catcode`\| = 0 \catcode`\\=\other |obeylines |gdef |ttfinish#1^^M#2\endtt{ #1 |vbox{#2} |endgroup $$}}
\catcode`\@ = 11
\def \specialbar{ \ifmmode
\def \next{|}
\else
\let \next = \speci@lbar
\fi
\next}
\catcode`\|=\active \let| = \specialbar
{\obeylines \gdef \speci@lbar{ \ttverbatim \spaceskip = \ttglue \let^^M=\ \let|=\endgroup}}
\catcode`\@ = 12
\endinput
|Sous plusieurs aspects, le problème du calcul du plus grand diviseur
commun (pgcd) de deux polynômes est l'un des problèmes fondamentaux en ce
qui concerne les manipulations algébriques. Les premiers systèmes de
calcul formel (comme ALPAK ou PM) disposaient de routines pour les
opérations sur les polynômes. La suite logique fût de développer des
routines pour les manipulations de fractions rationnelles et donc des
algorithmes de calcul de pgcd pour pouvoir simplifier au mieux ces
fractions.
|
ceci dit, en maths il vient $|x| \geq 0$
\begindisplay
Pourquoi pas~?
\enddisplay
L'algorithme d'Euclide, connu depuis des siècles, est facilement compréhensible
et implémentable. Cependant, cet algorithme pose un gros problème de
taille des expressions intermédiaires, notamment pour les polynômes de
$\zset [X_1, \ldots, X_n]$ puisqu'il faut travailler dans
$(\zset[X_1, \ldots, X_{n-1}])[X_n]$. On retrouve ce même problème
avec celui des algorithmes PRS (Polynomial Remainder Sequence) qui
utilise une pseudo division et qui travaille uniquement dans l'anneau de
base des coefficients sans passer par son corps des fractions
(cf Naudin-Quitté ou Geddes, Czapor et Labahn). Plusieurs algorithmes ont
été développés dans les 25 dernières années pour calculer le pgcd de deux
polynômes~: l'algorithme de Collins (1967), la méthode des sous-résultants
améliorée par Brown (1978), l'algorithme modulaire de Brown (1971),
l'algorithme EZ-GCD de Moses \& Yun (1973) et l'algorithme probabiliste
HEUGCD de Char, Geddes \& Gonnet (1989).
L'algorithme modulaire de Brown (MGCD) utilise le théorème chinois pour
reconstituer le pgcd après un certain nombre d'évaluations--réductions
des polynômes de départ et il est l'un des plus efficaces dans le cas des
polynômes à une variable et à coefficients entiers. Pour les polynômes à
plusieurs variables qui ne sont pas complètement denses, les techniques
$p$-adiques pour la reconstruction du résultat peuvent être utilisées
pour éviter le grand nombre d'images nécessaires à l'algorithme MGCD.
Une des caractéristiques de cette technique $p$-adique est qu'elle ne
nécessite qu'une seule évaluation en chacune des variables (sauf une) et
une seule réduction pour pouvoir reconstruire le résultat.
L'algorithme EZ-GCD développé par Moses \& Yun utilise cette technique et
est particulièrement efficace pour les polynômes creux à plusieurs variables
dont le coefficient dominant par rapport à l'une des variables est entier.
\bye

—
Syracuse — Dernière modification : 22 octobre 2002 (0.08s - 3481103 - 7 septembre 2008)