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.