Maple TP n°6
Polynômes : rappels mathématiques
Monôme produit d’une constante (le coefficient) et de puissances
entières d’une ou plusieurs variables. ex : 3*x^2*y
Expression polynomiale (ou polynôme) : somme de monômes. ex : 2*x^3+1 (1
inconnue) ; 2*x^3+3*y*x (2 inconnues)
Fonction polynomiale : fonction dont l’expression générale est un polynôme ;
ex : x->2*x^2+3*x+1 (1variable) ; (x,y)->x^2*y (2 variables). Un
même polynôme peut définir plusieurs fonctions polynomiales
différentes, selon l’ensemble de définition choisi.
MANIPULER UNE EXPRESSION POLYNOMIALE
eval(P,x=10) calcule la valeur de l’expression P en 10
subs(x=10,P) remplace x par 10 dans l’expression P
expand(expr) développe l’expression expr
collect(P,x) écrit l’expression P en tant que polynôme en x. ex :
collect(x*t^2+3*t^2+t*x,x) ; donne (t^2+t)*x+3t^2
sort(P,x) ordonne le polynôme P selon les puissances (décroissantes) de
x. Cette commande modifie l’expression P.
simplify(expr) simplifie une expression (p.ex, un quotient)
COEFFICIENTS/DEGRÉS
coeff(P,x,n) coefficient du degré n dans P, polynôme en x. [NB : coeff(P,x^n)
est possible mais ne fonctionne pas pour n=0].
coeffs(P,x) séquence des coefficients de P (dans un ordre imprévisible).
lcoeff(P,x) coefficient dominant de P (leading coefficient)
tcoeff(P,x) coefficient du plus bas degré de P (trailing coefficient)
degree(P,x) degré de P
ldegree(P,x) valuation (=plus bas degré) de P (lowest degree)
ARITHMETIQUE
divide(P,Q) [lire « peut-on diviser P par Q ? »] renvoie true (=vrai) si Q
divise P et false sinon
quo(A,B) quotient de la division euclidienne de A par B
rem(A,B) reste (remainder) de la division euclidienne de A par B
ALGORITHMIQUE
if condition then commande1 ; commande2 ; … fi ;
les commandes1, 2, etc. sont exécutées seulement si la condition
a pour valeur true (vrai)
FACTORISATION/RACINES
Racine valeur où la fonction polynomiale s’annule. Elle dépend de
l’ensemble de définition choisi
solve et fsolve résolution d’équations (cf. TP précédents)
RootOf(P,x) désigne une racine du polynôme P
allvalues(expr) remplace successivement dans expr, les RootOf(P,x) par toutes
les racines (écrites avec radicaux, si possible) du polynôme P**
convert(expr ,radical) remplace les RootOf(P,x) de expr par une des racines du
polynôme P (écrite avec radicaux, si possible)
evalc() écrit les complexes sous forme cartésienne ; evalc simplifie,
par ex, les racines de nombres négatifs, etc. Rappel : evalc
considère les variables libres comme des réels**
evalf() écrit une approximation décimale (éventuellement, des parties
réelles et imaginaires)**.
split(P,x) factorise un polynôme dans C. Il faut charger la fonction par
>readlib(split) ; NB : la réponse comporte souvent des RootOf().
En général, les commandes Maple ne sont pas destructrices. Par exemple, après
E :=a*x+3 ;
la commande
subs(a=2,E) ;
donne 2x+3 mais ne change pas l’expression E, qui vaut toujours a*x+3. Si on veut que E soit modifié, il
faut faire :
E :=subs(a=2,E) ;
** On peut appliquer directement la commande à une liste ou à un ensemble de valeurs.