Math´
ematiques assist´
ees par ordinateur
Chapitre 3 : Arithm ´
etique des polynˆ
omes
Michael Eisermann
Mat249, DLST L2S4, Ann´
ee 2008-2009
www-fourier.ujf-grenoble.fr/˜eiserm/cours # mao
Document mis `
a jour le 6 juillet 2009
1/55
Objectifs de ce chapitre
Nous allons discuter et approfondir l’arithm´
etique des polynˆ
omes sur
un corps, notamment `
a coefficients rationnels, r´
eels, complexes.
Afin de proc´
eder syst´
ematiquement et efficacement, nous
introduisons d’abord le vocabulaire ad´
equat (corps et anneaux).
Ensuite on ´
etablira quelques outils fondamentaux, notamment
la division euclidienne : S=P Q +Ro`
udeg R < deg P,
l’algorithme d’Euclide pour calculer pgcd(A, B),
l’algorithme d’Euclide-B ´
ezout : pgcd(A, B) = AU +BV .
Les applications sont nombreuses !
D´
ecomposition des polynˆ
omes et des fractions rationnelles.
Localisation des racines r´
eelles d’un polynˆ
ome r´
eel (Sturm).
Localisation des racines complexes d’un polynˆ
ome complexe.
2/55
Sommaire
1Arithm ´
etique des polynˆ
omes sur un corps, Euclide, B´
ezout
Polynˆ
omes sur un corps
La division euclidienne
Les algorithmes d’Euclide et de B ´
ezout
2´
Evaluation, racines, d´
ecomposition en facteurs irr´
eductibles
Fonctions polynomiales, m´
ethode de Horner, Horner–Taylor
Multiplicit´
e d’une racine, r´
eduction aux racines simples
D´
ecomposition de polynˆ
omes en facteurs irr´
eductibles
3Fractions rationnelles, ´
el´
ements simples, int´
egration symbolique
Le corps des fractions rationnelles
D´
ecomposition d’une fraction en fractions simples
Primitive d’une fraction rationnelle
3/55
Corps
Les nombres rationnels (Q,+,·), les nombres r´
eels (R,+,·), et les
nombres complexes (C,+,·)jouissent des propri´
et´
es suivantes :
(A1 : associativit´
e) a, b, c : (a+b) + c=a+ (b+c)
(A2 : commutativit´
e) a, b :a+b=b+a
(A3 : ´
el´
ement neutre) 0a: 0 + a=a
(A4 : ´
el´
ement oppos´
e) ab:a+b= 0
(M1 : associativit´
e) a, b, c : (a·b)·c=a·(b·c)
(M2 : commutativit´
e) a, b :a·b=b·a
(M3 : ´
el´
ement neutre) 16= 0 a: 1 ·a=a
(M4 : ´
el´
ement inverse) a6= 0 b:a·b= 1
(D : distributivit´
e) a, b, c :a·(b+c) = (a·b) + (a·c)
D´
efinition (corps)
Un corps (K,+,·)est un ensemble Kmuni de deux op´
erations,
appel´
ees addition +: K×KKet multiplication ·:K×KK,
v´
erifiant tous les axiomes (A1-4), (M1-4), (D) ci-dessus.
§1.1 4/55
Corps finis
Outre les corps Q,R,Cil existe beaucoup d’autres exemples !
Sur l’ensemble F2={0,1}`
a deux ´
el´
ements on n’a qu’un seul choix :
+ 0 1
0 0 1
1 1 0
et ·0 1
0 0 0
1 0 1
.
Proposition (le corps `
a deux ´
el´
ements)
(F2,+,·)est un corps.
D´
emonstration. Les axiomes se v´
erifient en ´
enum´
erant tous les cas.
Alternative : Si l’on interpr `
ete 0et 1comme «vrai »et «faux »alors la
multiplication ·est la conjonction «et »tandis que l’addition +est la
disjonction «ou exclusif ». Sous cette forme vous avez d´
ej`
a´
etabli la
v´
eracit´
e des axiomes lors de votre introduction `
a la logique.
Alternative : On peut reconnaˆ
ıtre F2comme le quotient Z/2Z.
Remarque
Les corps finis sont fortement utilis´
es en alg`
ebre et en cryptographie.
Tout corps fini est de cardinal pkpour un premier p. R ´
eciproquement,
pour tout premier pet k1il existe un unique corps de cardinal pk.
§1.1 5/55
Les quatre op´
erations dans un corps
On abr`
ege a·bpar ab. Au lieu de a+ (b·c)on ´
ecrit aussi a+bc.
Les ´
el´
ements 0et 1ainsi que les applications a7→ −aet a7→ a1
ne figurent pas explicitement dans (K,+,·), ils s’en d´
eduisent :
L´
el´
ement neutre de l’addition est unique : si 0 + a=aet 00+a=a
pour tout aK, alors 00= 0 + 00= 00+ 0 = 0.
Pour tout aKl’oppos´
e est unique : Si a+b= 0 et a+b0= 0 alors
b= 0 + b=b+ 0 = b+ (a+b0) = (b+a) + b0= (a+b) + b0= 0 + b0=b0.
On notera donc sans ambigu¨
ıt´
e l’oppos´
e de apar a.
De mˆ
eme l’´
el´
ement neutre 1de la multiplication est unique.
Pour tout aK\ {0}l’inverse est unique, et sera not´
e par a1.
On a ab = 0 ssi a= 0 ou b= 0 : si a6= 0 alors b=a1ab = 0.
§1.1 6/55
Anneaux
Les entiers (Z,+,·)ne forment pas un corps mais un anneau :
D´
efinition (anneau)
Un anneau (A,+,·)est un ensemble muni de deux op´
erations dont
on exige les axiomes ci-dessus `
a l’exception de M4 (´
el´
ement inverse).
Ici tout anneau sera donc suppos´
e commutatif (M2) et unitaire (M3).
D´
efinition (´
el´
ements inversibles)
Soit aA. On dit que bAest un inverse de asi a·b= 1.
Dans ce cas l’inverse de aest unique et sera not´
e par a1.
On appelle aAinversible s’il admet un inverse dans A.
Dans Z, par exemple, les seuls ´
el´
ements inversibles sont 1et 1.
L´
el´
ement 0n’est jamais inversible : on a toujours 0·b= 0 6= 1.
Un anneau Aest un corps ssi tout ´
el´
ement aA,a6= 0 est inversible.
On note A=A\ {0}l’ensemble des ´
el´
ements non nuls,
et A×Al’ensemble des ´
el´
ements inversibles dans A.
§1.1 7/55
Polynˆ
omes
Soit Kun corps (par exemple Q,R,C).
Un polyn ˆ
ome sur Kest une expression formelle
P=p0+p1X1+p2X2+··· +pnXno`
up0, p1, p2, . . . , pnK.
!
Ici Xn’est qu’une variable formelle (et non un ´
el´
ement de K).
De mˆ
eme, Pn’est qu’une expression formelle (et non une fonction).
Ce qui compte est la suite des coefficients dans K:
n
X
k=0
akXk=
n
X
k=0
bkXkak=bkpour tout k= 0, . . . , n
!
On peut rajouter ou supprimer des termes nuls, 0·Xn+1.
Ainsi P=Pm
k=0 pkXken prolongeant par pn+1 =··· =pm= 0,
voire P=P
k=0 pkXken prolongeant par pk= 0 pour tout k > n.
Pour l’impl´
ementation il suffit de stocker les coefficients non nuls.
Typiquement on stocke la suite (p0, p1, p2, . . . , pn)telle que pn6= 0.
§1.1 8/55
L’anneau des polynˆ
omes
On note par K[X]l’ensemble des polynˆ
omes sur l’anneau K.
On d´
efinit l’addition terme par terme :
n
X
k=0
akXk+n
X
k=0
bkXk:=
n
X
k=0
(ak+bk)Xk
Pour obtenir Xi·Xj=Xi+jon d´
efinit la multiplication par
m
X
i=0
aiXi·n
X
j=0
bjXj:=
m+n
X
k=0 X
i+j=k
aibjXk
Ces d´
efinitions se traduisent directement en algorithme de calcul.
Proposition (l’anneau des polynˆ
omes sur K)
L’ensemble K[X]des polynˆ
omes sur Kmuni de l’addition +
et de la multiplication ·d´
efinies ci-dessus est un anneau.
On remarque que aX0+bX0= (a+b)X0et aX0·bX0= (ab)X0.
Ainsi on obtient KK[X]en identifiant aKavec aX0K[X].
§1.1 9/55
L’anneau des polynˆ
omes : v´
erification des axiomes
Pour prouver le th´
eor`
eme il faut v´
erifier les axiomes un par un.
L’associativit´
e de (K[X],+) d´
ecoule de celle de (K,+) :
PakXk+PbkXk+PckXk=P(ak+bk)Xk+PckXk
=P[(ak+bk) + ck]Xk=P[ak+ (bk+ck)] Xk
=PakXk+P(bk+ck)Xk=PakXk+PbkXk+PckXk
La commutativit´
e de (K[X],+) d´
ecoule de celle de (K,+) :
PakXk+PbkXk=P(ak+bk)Xk
=P(bk+ak)Xk=PbkXk+PakXk
L´
el´
ement neutre de (K[X],+) est le polynˆ
ome nul :
P0Xk+PakXk=P(0 + ak)Xk=PakXk.
L´
el´
ement oppos´
e de PakXkest P(ak)Xk:
PakXk+P(ak)Xk=P(ak+ (ak))Xk=P0Xk.
§1.1 10/55
L’anneau des polynˆ
omes : v´
erification des axiomes
L’associativit´
e de (K[X],·)repose sur celle de (K,·):
hX
i
aiXi·X
j
bjXji·X
k
ckXk
=hX
sX
i+j=s
aibjXsi·X
k
ckXk=X
tX
i+j+k=t
(aibj)ckXt
=X
tX
i+j+k=t
ai(bjck)Xt=X
i
aiXi·hX
sX
j+k=s
bjckXsi
=X
i
aiXi·hX
j
bjXj·X
k
ckXki
La commutativit´
e de (K[X],·)repose sur de celle de (K,·):
X
i
aiXi·X
j
bjXj=X
sX
i+j=s
aibjXs
=X
sX
j+i=s
bjaiXs=X
j
bjXj·X
i
aiXi
L´
el´
ement neutre est 1·X0. La distributivit´
e est laiss´
ee en exercice.
§1.1 11/55
L’anneau des polynˆ
omes : algorithmes
Algorithme 1 addition de deux polynˆ
omes
Entr´
ee: les coefficients de A=Pn
k=0 akXket B=Pn
k=0 bkXksur K.
Sortie: les coefficients de la somme C=A+B,C=Pn
k=0 ckXk
pour kde 0`
anfaire ckak+bkfin pour
retourner (c0,...,cn)
Algorithme 2 multiplication de deux polynˆ
omes
Entr´
ee: les coefficients de A=Pm
i=0 aiXiet B=Pn
j=0 bjXjsur K.
Sortie: les coefficients du produit C=A·B,C=Pm+n
k=0 ckXk
pour kde 0`
am+nfaire ck0fin pour
pour ide 0`
amfaire
pour jde 0`
anfaire
ci+jci+j+aibj
fin pour
fin pour
retourner (c0,...,cm+n)
!
Cette m´
ethode de multiplication est de complexit ´
e quadratique :
elle effectue (m+ 1)(n+ 1) additions et multiplications dans K.
§1.1 12/55
Le degr´
e des polynˆ
omes
Tout polynˆ
ome non nul s’´
ecrit comme P=Pn
k=0 pkXko`
upn6= 0.
Cette ´
ecriture est unique. On appelle deg P:= nle degr´
ede P,
et dom P:= pnle coefficient dominant de P.
Le polynˆ
ome nul est particulier ; on pose deg 0 := −∞ et dom 0 := 0.
Proposition (propri ´
et´
es du degr´
e sur un corps)
On a deg(P+Q)sup{deg P, deg Q}, avec ´
egalit´
e si deg P6= deg Q.
On a deg(P Q) = deg P+ deg Qet dom(P Q) = dom P·dom Q.
Soulignons en particulier que P6= 0 et Q6= 0 implique P Q 6= 0.
D´
emonstration. Supposons P=p0+p1X1+··· +pnXnavec
pn6= 0 et Q=q0+q1X1+··· +qmXmavec qm6= 0. Alors
P Q =p0q0+ (p0q1+p1q0)X1+··· + (pnqm)Xm+n.
Dans un corps pn6= 0 et qm6= 0 implique pnqm6= 0.
On conclut que deg(P Q) = n+met dom(P Q) = dom P·dom Q.
Si P= 0 ou Q= 0, on a P Q = 0 et deg(P Q) = deg P+ deg Q
selon la convention (−∞) + deg Q=−∞ et deg P+ (−∞) = −∞.
§1.1 13/55
La division euclidienne : existence et unicit´
e
Soit Kun corps (par exemple Q,R,C).
Proposition (division euclidienne de polynˆ
omes)
Soit PK[X]un polynˆ
ome non nul. Alors pour tout SK[X]il existe
une unique paire Q, R K[X]telle que S=P Q +Ret deg R < deg P.
D´
efinition (quotient et reste)
Si S=P Q +Ret deg R < deg P, on appelle Squo P:= Qle quotient
et Srem P:= Rle reste de la division euclidienne de Spar P.
(X5+ 1) = (X33X2)(X2+ 3X+ 9) + (27X2+ 1)
(X53X4)
(3X4+ 1)
(3X49X3)
(9X3+ 1)
(9X327X2)
(27X2+ 1)
§1.2 14/55
La division euclidienne : d´
emonstration
Unicit´
e. Si l’on avait P Q +R=P Q0+R0avec deg R < deg P
et deg R0<deg P, alors on aurait P(QQ0) = R0R,
donc deg P+ deg(QQ0) = deg(RR0)<deg P.
Ceci n’est possible que pour deg(QQ0)<0, d’o`
uQQ0= 0.
On conclut que Q=Q0puis R=R0.
Existence. Si deg S < deg Palors Q= 0 et R=Sconviennent.
Pour deg Sdeg Pon proc`
ede par r´
ecurrence sur n= deg S.
On suppose le r´
esultat vrai pour tout polynˆ
ome ˜
Savec deg ˜
S < n.
On pose M= dom(P)1dom(S)·Xdeg Sdeg Pet ˜
S=SP M .
Ainsi deg(P M ) = deg Set dom(P M) = dom S, donc deg ˜
S < deg S.
Il existe ˜
Q, R A[X]tels que ˜
S=P˜
Q+Ret deg R < deg P.
Ainsi S=˜
S+P M =P Q +Ren posant Q=˜
Q+M.
Cette construction se traduit en l’algorithme bien connu.
§1.2 15/55
La division euclidienne : algorithme
Algorithme 3 division euclidienne de deux polynˆ
omes
Entr´
ee: deux polynˆ
omes S, P K[X],P6= 0, sur un corps K.
Sortie: les polyn ˆ
omes Q, R K[X]v´
erifiant S=P Q +Ret deg R < deg P.
Q0;RS// invariant S=P Q +R
tant que deg Rdeg Pfaire
Mdom(P)1dom(R)·Xdeg Rdeg P// R=P M en degr´
e dominant
QQ+M;RRP M // pr´
eserve S=P Q +R
fin tant que
retourner (Q, R)
Proposition
L’algorithme 3 ci-dessus est correct.
Terminaison. Le monˆ
ome Mest choisi de sorte que Ret P M aient
le mˆ
eme degr´
e et coefficient dominant. Ainsi deg(RP M )<deg R.
L’algorithme se termine apr`
es au plus 1 + deg Sdeg Pit ´
erations.
Validit´
e. L’initialisation Q0,RSassure que S=P Q +R,
et chaque it´
eration QQ+M,RRP M conserve cette ´
egalit´
e.
§1.2 16/55
Divisibilit´
e
D´
efinition
Soient A, B K[X]deux polyn ˆ
omes sur K. On dit que Adivise B
dans K[X], not´
eA|B, s’il existe QK[X]de sorte que AQ =B.
Par exemple, X+ 1 divise X21car (X+ 1)(X1) = X21.
Notation
On ´
ecrit P1P2si P1=cP2pour un facteur constant cK×.
Dans ce cas on dit que P1et P2sont proportionnels.
Si P1P2, alors A|P1A|P2et P1|BP2|B.
Observation
On a toujours A|A(r´
eflexivit´
e),
A|Bet B|Cimplique A|C(transitivit´
e),
A|Bet B|Aimplique AB(antisym´
etrie).
Dans ce sens la divisibilit´
e d´
efinit un ordre partiel sur les polynˆ
omes.
Dans cet ordre, 1est minimal car 1|Ppour tout PK[X].
De mˆ
eme, 0est maximal car P|0pour tout PK[X].
§1.2 17/55
Divisibilit´
e:v´
erification des propri´
et´
es
Rappel. On a A|Bs’il existe Qde sorte que AQ =B.
R´
eflexivit´
e : A|A.
C’est clair car A·1 = A.
Transitivit´
e : A|Bet B|Cimplique A|C.
Si AU =Bet BV =Calors A(UV ) = C.
Antisym´
etrie : A|Bet B|Aimplique AB.
Si A= 0 alors B=AU = 0, et on a AB. Supposons donc A6= 0.
Par hypoth`
ese on a AU =Bet BV =A, donc AUV =A,
soit encore A(UV 1) = 0. Puisque A6= 0 ceci implique U V = 1.
Ensuite UV = 1 implique deg U= deg V= 0 et donc U, V K×.
On conclut que AB.
Observation. Si A|Bet A|Calors A|(B+C).
Par distributivit´
eAU =Bet AV =Cimplique A(U+V) = B+C.
§1.2 18/55
D´
efinition du pgcd
D´
efinition
On dit que Cest un diviseur commun de A1, . . . , Ansi C|Akpour
tout k. On note D(A1, . . . , An)l’ensemble des diviseurs communs.
On dit que DD(A1, . . . , An)est un plus grand commun diviseur
(pgcd) si tout autre diviseur commun CD(A1, . . . , An)divise D.
On note pgcd(A1, . . . , An)le pgcd unitaire de A1, . . . , An, si non nul.
Exemple : A1= 3X26X9 = (3X9)(X+ 1)
et A2= 6X210X24 = (2X6)(3X+ 4) dans Q[X].
Ici X3ou 2X6ou 3X9sont des diviseurs communs, voire des
pgcd de A1et A2.`
A noter qu’ils sont proportionnels entre eux.
!
Cette ambigu¨
ıt´
e nous oblige `
a dire un pgcd et non le pgcd.
Pour nos impl´
ementations ceci pose un probl`
eme de sp´
ecification.
On privil ´
egiera le pgcd unitaire, `
a coefficient dominant 1.
Sur un corps on peut toujours passer de P`
aP/ dom(P).
§1.3 19/55
Existence du pgcd : algorithme pr ´
eliminaire
Soit A, B K[X]deux polyn ˆ
omes. On it`
ere la division euclidienne :
R0=A
R1=B
R2=R0rem R1=R0R1Q1
.
.
..
.
.
Rn=Rn2rem Rn1=Rn2Rn1Qn1
0 = Rn1rem Rn=Rn1RnQn
La terminaison est assur ´
ee car deg R1>deg R2>··· >deg Rn.
Apr`
es un nombre fini d’it´
eration on tombe donc sur Rn+1 = 0.
Proposition
Le dernier reste Rnnon nul est un pgcd de Aet B.
D´
emonstration.
Par hypoth`
ese Rndivise Rn1, Rn2, . . . , R2puis R1=B,R0=A.
C’est donc un diviseur commun de Aet B. R´
eciproquement, si P
divise R0=Aet R1=Balors il divise aussi R2, . . ., Rn.
§1.3 20/55
Propri ´
et´
es du pgcd
On a d´
efini le pgcd unitaire de sorte qu’il soit unique.
On vient de prouver qu’il existe. Il reste `
a le calculer efficacement.
Observation
On a D(A1, . . . , An) = D(pgcd(A1, . . . , An1), An).
Ainsi pgcd(A1, . . . , An) = pgcd(pgcd(A1, . . . , An1), An).
Il suffit donc de savoir calculer le pgcd de deux polynˆ
omes.
Observation
On a D(A, B) = D(B, A) = D(B, A QB),
d’o`
upgcd(A, B) = pgcd(B, A) = pgcd(B, A QB).
C’est l’observation cl´
e pour l’algorithme d’Euclide.
Observation
On a finalement le cas trivial pgcd(A, 0) = A/ dom(A).
C’est la condition d’arrˆ
et dans l’algorithme d’Euclide.
§1.3 21/55
L’algorithme d’Euclide, version pr ˆ
ete `
a programmer
Algorithme 4 calcul du pgcd selon Euclide
Entr´
ee: deux polynˆ
omes A0, B0K[X]sur un corps K
Sortie: le pgcd de A0et B0dans K[X], unitaire si non nul
AA0,BB0// pgcd(A, B) = pgcd(A0, B0)
tant que B6= 0 faire
RArem B// A=QB +Ret deg R < deg B
AB,BR// pgcd(A, B) = pgcd(B, R)
fin tant que
si A= 0 alors retourner 0sinon retourner A/ dom(A)
Th´
eor`
eme
L’algorithme 4 ci-dessus est correct :
Il se termine [apr `
es au plus deg(B0)+1it´
erations].
Il renvoie le pgcd unitaire de A0et B0.
§1.3 22/55
L’algorithme d’Euclide : d ´
emonstration
Terminaison. Dans chaque it´
eration deg(B)diminue. Apr`
es au plus
deg(B0)+1it´
erations on arrive `
aB= 0 et l’algorithme s’arr ˆ
ete.
Correction. On cherche `
a calculer pgcd(A0, B0).
Initialement A=A0et B=B0donc pgcd(A, B) = pgcd(A0, B0).
Cas exceptionnel : pour A0=B0= 0 l’algorithme s’arrˆ
ete tout de
suite avec A= 0 et on renvoie pgcd(0,0) = 0, ce qui est correct.
Les polynˆ
omes Aet Bchangent, mais pgcd(A, B)est invariant :
chaque it´
eration le conserve car pgcd(A, B) = pgcd(B, A BQ).
`
A la fin on a A6= 0 et B= 0, et on renvoie pgcd(A, B) = A/ dom(A).
Par l’invariance on a toujours pgcd(A, B) = pgcd(A0, B0).
§1.3 23/55
L’algorithme d’Euclide-B ´
ezout
Th´
eor`
eme (identit´
e de B´
ezout)
Pour tout A, B K[X]il existe U, V K[X]tels que
pgcd(A, B) = AU +BV . L’algorithme 5 les calcule.
Algorithme 5 Euclide-B´
ezout
Entr´
ee: deux polynˆ
omes A0, B0K[X]sur un corps K
Sortie: trois polyn ˆ
omes D, U, V tels que D=A0U+B0V= pgcd(A0, B0)
A U V
B S T «A01 0
B00 1«// invariant (A=A0U+B0V
B=A0S+B0T
tant que B6= 0 faire
QAquo B// A=QB +R,deg R < deg B
A U V
B S T «B S T
AQB U QS V QT «
fin tant que
si A= 0 alors retourner le triplet [0,0,0] sinon
retourner le triplet [A/ dom(A), U/ dom(A), V/ dom(A)]
!
Les coefficients U, V ne sont pas uniques : Pour tout QK[X]
les coefficients U0=U+QB/D et V0=VQA/D marchent aussi.
§1.3 24/55
L’algorithme d’Euclide-B ´
ezout : d´
emonstration
Il existe plusieurs fac¸on de d´
emontrer ce th´
eor`
eme. Comme il s’agit
d’un ´
enonc´
e d’existence pour Uet Vnous devons construire deux
polynˆ
omes Uet Vqui conviennent. Ici nous prouvons ce th´
eor`
eme
en montrant que l’algorithme ci-dessus est correct.
Terminaison. Dans chaque it´
eration deg(B)diminue. Apr`
es au plus
deg(B0)+1it´
erations on arrive `
aB= 0 et l’algorithme s’arr ˆ
ete.
Correction. On cherche `
a calculer pgcd(A0, B0) = A0U+B0V.
Cas exceptionnel : pour A0=B0= 0 l’algorithme s’arrˆ
ete
tout de suite et on renvoie (0,0,0), ce qui est correct.
Initialement A=A0et B=B0donc pgcd(A, B) = pgcd(A0, B0).
Le polynˆ
ome pgcd(A, B)est invariant pendant l’algorithme.
`
A la fin on a B= 0 donc pgcd(A, B) = A/ dom(A).
L’initialisation assure que A=A0U+B0Vet B=A0S+B0T.
Chaque it´
eration conserve pr´
ecieusement ces ´
egalit´
es.
`
A la fin on a pgcd(A0, B0) = A/ dom(A)ainsi que
A/ dom(A) = A0·U/ dom(A) + B0·V / dom(A).
§1.3 25/55
Non-unicit´
e des coefficients de B´
ezout
Lemme (de Gauss)
Si pgcd(A, B)=1alors A|BC implique A|C.
D´
emonstration. Supposons que AU +BV = 1 ainsi que AQ =BC.
Alors C= (AU +BV )C=AUC +BV C =A(UC +QV ).
Proposition
Soit D= pgcd(A, B)et AU0+BV0=D. Alors AU1+BV1=D
implique U1=U0+QB/D et V1=V0QA/D pour un QK[X].
D´
emonstration.
Quitte `
a passer `
aA/D et B/D on peut supposer que D= 1.
Pour U=U0U1et V=V0V1on trouve AU +BV = 0.
Or, A|BV implique A|V. Donc V=QA, puis U=QB.
Corollaire
S’il existe une solution minimale v´
erifiant deg U0<deg(B/D)et
deg V0<deg(A/D)alors elle est n ´
ecessairement unique.
§1.3 26/55
L’algorithme d’Euclide-B ´
ezout : minimalit´
e
Proposition
Supposons que A0, B0K[X]ne sont pas proportionnels, A06∼ B0.
Alors les coefficients de B´
ezout U, V calcul ´
es par l’algorithme 5 sont
minimaux : on a deg U < deg(B0/D)et deg V < deg(A0/D).
Esquisse de d´
emonstration (`
a d´
etailler en exercice)
Si deg A0>deg B00, alors on trouve apr`
es une it´
eration
deg A > deg B, deg A+ deg U < deg B0,deg A+ deg V < deg A0,
deg A+ deg S= deg B0,deg A+ deg T= deg A0.
Si deg A0deg B0, il faut deux it´
erations initiales pour y arriver.
Les it´
erations suivantes pr ´
eservent ces relations. On s’arrˆ
ete avec
B= 0 et AD, donc deg U < deg(B/D)et deg V < deg(A/D).
Remarque. Ces in´
egalit´
es ne tiennent plus dans les cas d´
eg´
en´
er´
es :
Si A0= 0 on a DB0donc deg D= deg B0deg A0.
Si B0= 0 on a DA0donc deg D= deg A0deg B0.
Si A0B0on a DA0B0donc deg D= deg A0= deg B0.
Dans tout autre cas la proposition s’applique comme esquiss´
e.
§1.3 27/55
Fonctions polynomiales
D´
efinition
Soit P=Pn
k=0 akXkun polynˆ
ome dans K[X].
On d´
efinit l’´
evaluation de Pen xKpar P(x) := Pn
k=0 akxk.
Autrement dit, on substitue la variable Xpar un ´
el´
ement xK.
Pour tout P, Q K[X]l’ ´
evaluation en xKv´
erifie
(P+Q)(x) = P(x) + Q(x)et (P·Q)(x) = P(x)·Q(x).
D´
efinition
Tout polynˆ
ome P=Pn
k=0 akXkdans K[X]induit une
fonction polynomiale fP:KKpar x7→ P(x) = Pn
k=0 akxk.
!
Expression 6=fonction ! Ne pas confondre le polynˆ
ome PK[X]
et la fonction polynomiale fP:KKassoci´
ee.
Exemple
Le polynˆ
ome P=X2+Xdans F2[X]est non nul mais induit la
fonction nulle : fP(0) = 02+ 0 = 0 et fP(1) = 12+ 1 = 0.
§2.1 28/55
La m´
ethode de Horner : calcul de P(x0)
Soit P=a0+a1X+a2X2+··· +anXnun polyn ˆ
ome dans K[X].
Comment calculer efficacement P(x)pour xK?
M´
ethode na¨ıve : On calcule akxken effectuant kmultiplications.
Impl´
ement´
e ainsi, le calcul de P(x) = a0+a1x+a2x2+··· +anxn
n´
ecessite nadditions et 1 + 2 + ··· +n=n(n+1)
2multiplications.
M´
ethode de Horner : En profitant de la distributivit´
e on ´
evalue
P(x) = ((···((anx+an1)x+an2)···x+a2)x+a1)x+a0.
Ceci ne n´
ecessite que nadditions et nmultiplications !
Exemples : Pour n= 100 on passe de 5050 `
a100 multiplications.
Pour n= 1000 on passe de 500500 `
a1000 multiplications.
Algorithme 6 ´
evaluation d’un polynˆ
ome selon Horner
Entr´
ee: des coefficients a0, a1, a2,...,anKet un ´
el´
ement x0K.
Sortie: la valeur y=a0+a1x0+a2x2
0+· · · +anxn
0.
yan
pour kde n1`
a0faire yy·x0+akfin pour
retourner y
§2.1 29/55
Transformer P(X)en P(X+x0)
Soit P=a0+a1X+a2X2+··· +anXnun polyn ˆ
ome et x0K.
Comment calculer les coefficients b0, b1, b2, . . . , bntels que
P=b0+b1(Xx0) + b2(Xx0)2+··· +bn(Xx0)n?
Premi`
ere m´
ethode : Par la formule binomiale on trouve
n
X
k=0
bkXk=P(X+x0) =
n
X
`=0
a`(X+x0)`=
n
X
`=0
a`
n
X
k=0 `
kXkx`k
0
=
n
X
k=0
n
X
`=0
a``
kXkx`k
0=
n
X
k=0 n
X
`=0
a``
kx`k
0!Xk.
Ainsi on obtient la formule bk=Pn
`=k`
ka`x`k
0.
Seconde m´
ethode : Par la formule de Taylor on trouve d’une part
P(k)(x0) = Pn
`=k`!
(`k)! a`x`k
0et d’autre part P(k)(x0) = k!bk.
On obtient la mˆ
eme formule bk=Pn
`=k`
ka`x`k
0.
!
Cette formule est belle et explicite, mais pas encore optimale :
La m´
ethode de Horner calcule b0, b1, . . . , bnavec moins d’op´
erations.
§2.1 30/55
La m´
ethode de Horner–Taylor : calcul de P(X+x0)
Objectif.
´
Etant donn´
eP=a0+a1X+a2X2+··· +anXnet x0K
on cherche P=b0+b1(Xx0) + b2(Xx0)2+··· +bn(Xx0)n
| {z }
(Xx0)Q
.
M´
ethode de Horner :
On effectue une division euclidienne P=q0+ (Xx0)Q.
Algorithme 7 division euclidienne par (Xx0)
Entr´
ee: des coefficients a0, a1, a2,...,anKet un ´
el´
ement x0K.
Sortie: des coefficients q0, q1, q2,...,qnKtels que
P=q0+ (Xx0)Qo`
uP=Pn
k=0 akXket Q=Pn1
k=0 qk+1Xk.
qnan
pour kde n1`
a0faire qkqk+1 ·x0+akfin pour
retourner q0, q1, q2,...,qn
Ainsi b0=q0et b1+b2(Xx0) + ··· +bn(Xx0)n1=Q.
On calcule ensuite les coefficients b1, b2, . . . , bnpar r´
ecurrence.
§2.1 31/55
La m´
ethode de Horner–Taylor, prˆ
ete `
a programmer
L’algorithme 8 r ´
esume la m´
ethode issue de notre discussion :
Algorithme 8 la m´
ethode de Horner–Taylor
Entr´
ee: a0, a1,...,anKet x0K.
Sortie: b0, b1,...,bnKtels que Pn
k=0 bk(Xx0)k=Pn
k=0 akXk.
pour jde 0`
anfaire bjajfin pour
pour `de 0`
an1faire
pour kde n1`
a`faire bkbk+1 ·x0+bkfin pour
fin pour
retourner b0, b1,...,bn
Conclusion
´
Etant donn´
eP=PakXk, les coefficients de P=Pbk(Xx0)k
peuvent ˆ
etre calcul´
es avec n(n+1)
2multiplications et n(n+1)
2additions.
§2.1 32/55
Multiplicit´
e d’une racine
On dit que rKest une racine de PK[X]si P(r)=0.
Proposition
Un ´
el´
ement rKest une racine de Pssi P= (Xr)Qo`
uQK[X].
D´
emonstration. Il existe des polynˆ
omes Q, R K[X]tels que
P= (Xr)Q+Ret deg R < deg(Xr)=1, donc RK.
Ainsi P(r) = Rs’annule si et seulement si R= 0.
Corollaire
Pour tout PK[X]et tout rKil existe un unique entier m0
tel que P= (Xr)mQet Q(r)6= 0.
Si m1on dit que rest une racine de Pde multiplicit´
em.
La racine est simple si m= 1, et multiple si m2.
§2.2 33/55
Factorisation et racines
Corollaire
Tout PK[X]s’´
ecrit comme P= (Xr1)m1···(Xrk)mkQ
o`
ur1, . . . , rkKsont des racines distinctes, de multiplicit ´
e
m1, . . . , mk1, et QK[X]n’a pas de racine dans K.
Ainsi un polynˆ
ome de degr´
ensur Kadmet au plus nracines dans K.
D´
emonstration. On suppose P6= 0 donc deg(P)0.
On proc`
ede par r´
ecurrence sur deg P:
Si deg(P) = 0 alors Pn’a pas de racines et P=Qconvient.
Si deg(P)1on distingue deux cas :
Si Pn’a pas de racines, alors P=Qconvient.
Si Padmet une racine r1K, alors il existe PK[X]
tel que P= (Xr1)m1Pavec m11et P(r1)6= 0.
Par r ´
ecurrence on sait que P= (Xr2)m2···(Xrk)mkQ,
o`
ur2, . . . , rkKsont des racines distinctes, de multiplicit ´
e
m2, . . . , mk1, et QK[X]n’a pas de racine dans K.
On a deg P=m1+··· +mk+ deg Q, donc m1+··· +mkdeg P.
Si P(r)=0, alors r∈ {r1, . . . , rk}, car un des facteurs s’annule.
§2.2 34/55
Interpolation de Lagrange
Th´
eor`
eme
´
Etant donn´
es des points distincts x0, . . . , xnKet des valeurs
arbitraires y0, . . . , ynK, il existe un unique polyn ˆ
ome PK[X]
de degr´
env´
erifiant P(xk) = ykpour tout k= 0, . . . , n.
On appelle Ple polyn ˆ
ome interpolateur de Lagrange.
Unicit´
e : Supposons que P, Q K[X]sont de degr ´
enet v´
erifient
P(xk) = Q(xk)pour tout k= 0, . . . , n. Alors R=PQest de degr´
e
net s’annule dans les n+ 1 points distincts x0, . . . , xn.
Ceci n’est possible que pour R= 0, donc P=Q.
Existence : Pour tout k= 0, . . . , n le polynˆ
ome
Pk=Y
j6=k
Xxj
xkxj
est de degr´
enet v´
erifie Pk(xk)=1ainsi que Pk(xj) = 0 pour j6=k.
Ainsi P=Pn
k=0 ykPkv´
erifie P(xj) = yjpour tout j= 0, . . . , n.
§2.2 35/55
D´
erivation des polynˆ
omes
Proposition
On d´
efinit la d´
erivation :K[X]K[X]par
n
X
k=0
pkXk:=
n
X
k=1
kpkXk1.
Cette application est K-lin´
eaire et v´
erifie la r `
egle de Leibniz :
(P Q) = (P )·Q+P·(Q).
D´
emonstration.
´
Evidemment (P+Q) = P +Q et (aP ) = a(P )pour tout aK.
La r`
egle de Leibniz est v´
erifi ´
ee pour P=Xmet Q=Xncar
(P Q) = Xm+n= (m+n)Xm+n1
=mXm1·Xn+Xm·nXn1= (P )·Q+P·(Q).
Cette formule est K-lin´
eaire en Pet en Q.
Elle s’´
etend donc `
a tout couple de polynˆ
omes P, Q K[X].
§2.2 36/55
Racines multiples et d´
eriv ´
ee
Proposition
Un ´
el´
ement rKest une racine multiple de PK[X]si et
seulement si rest une racine commune de Pet de sa d´
eriv ´
ee P0.
D´
emonstration. Supposons P= (Xr)mQavec m1et Q(r)6= 0.
En appliquant la r`
egle de Leibniz on obtient la d´
eriv ´
ee
P0=m(Xr)m1Q+ (Xr)mQ0.
Si m= 1, alors P(r) = 0 mais P0(r) = Q(r)6= 0.
Si m2, alors P(r) = 0 et P0(r)=0.
Corollaire
Si pgcd(P, P 0)=1alors toute racine de Pest simple.
D´
emonstration. Supposons P(r)=0et P0(r) = 0.
Dans ce cas on aurait P= (Xr)Q0et P0= (Xr)Q1,
donc pgcd(P, P 0) = (Xr) pgcd(Q0, Q1)serait de degr´
e1.
§2.2 37/55
R´
eduction aux racines simples
En g´
en´
eral il est difficile de trouver des racines !
Par contre, il est facile de r ´
eduire leur multiplicit´
e`
a1:
Corollaire (sur K=Q,R,C)
Pour tout polynˆ
ome PK[X]le quotient P/ pgcd(P, P 0)
a les mˆ
emes racines que P, mais chacune est de multiplicit´
e1.
D´
emonstration.
Supposons P= (Xr)mQo`
um1et Q(r)6= 0. Alors
P0=m(Xr)m1Q+ (Xr)mQ0= (Xr)m1R
o`
uR=mQ + (Xr)Q0et ainsi R(r) = mQ(r)6= 0.
Autrement dit, rest une racine de P0de multiplicit´
em1.
Donc rest une racine de pgcd(P, P 0)de multiplicit ´
em1.
On conclut que rest une racine simple de P/ pgcd(P, P 0).
Avertissement : La situation est plus compliqu ´
ee sur des corps finis :
pour P= (X+ 1)2dans F2[X]on trouve P0= 0 car 1 + 1 = 0.
Ici P/ pgcd(P, P 0)=1n’a pas les m ˆ
emes racines que P.
§2.2 38/55
C Factorisation «squarefree »
L’astuce de passer de P`
aP/ pgcd(P, P 0)peut ˆ
etre perfectionn´
ee :
On peut trier les racines du polynˆ
ome Ppar leur multiplicit´
e.
Algorithme 9 factorisation «squarefree »selon Yun (1976)
Entr´
ee: un polynˆ
ome PQ[X]tel que dom P= 1.
Sortie: des polyn ˆ
omes P1, P2,...,PnQ[X]v´
erifiant P=P1P2
2· · · Pn
n
et pgcd(P1, P 0
1) = pgcd(P2, P 0
2) = · · · = pgcd(Pn, P 0
n) = 1.
n0;Upgcd(P, P 0);VP/U ;WP0/U,
tant que deg(V)>0faire
nn+ 1 ;WWV0
Pnpgcd(V, W );VV/Pn;WW/Pn
fin tant que
retourner P1,...,Pn
Pour une preuve et une discussion d´
etaill´
ee voir
Gathen & Gerhard, Modern Computer Algebra,§14.6
§2.2 39/55
D´
ecomposable vs irr´
eductible
D´
efinition
Un polynˆ
ome PK[X]est r´
eductible (ou d´
ecomposable) dans K[X]
s’il existe A, B K[X]tels que P=AB o`
udeg A1et deg B1.
Un polynˆ
ome PK[X]est irr´
eductible (ou ind´
ecomposable) dans
K[X]si P=AB o`
uA, B K[X]implique soit AK×soit BK×.
Dans K[X]il y a donc quatre types de polynˆ
omes :
L´
el´
ement nul : P= 0 deg(P) = −∞.
Les ´
el´
ements inversibles : PK[X]×=K×deg(P)=0.
Les ´
el´
ements irr´
eductibles, n ´
ecessairement de degr´
e1.
Les ´
el´
ements d´
ecomposables, n ´
ecessairement de degr´
e2.
!
´
Etant donn´
ePK[X]de degr´
e´
elev´
e, il peut ˆ
etre difficile
d’effectivement d´
eterminer s’il est d ´
ecomposable ou irr´
eductible.
!
Mˆ
eme si l’on sait d’avance que PK[X]est d´
ecomposable,
il peut ˆ
etre difficile d’effectivement trouver une d´
ecomposition.
Il existe quelques crit`
eres d’irr´
eductibilit´
e. Les algorithmes de
factorisation sont un domaine de recherche toujours tr`
es actif.
§2.3 40/55
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!