Voici un petit test booléen qui utilise la commande is et ici l'égalité ( à distinguer de l'affectation := )
is(1+1=2);
Continuons
is((x-1)*(x+1)=x^2-1);
Tu parles d'un logiciel de calcul formel...
En fait, MuPAD ne comparera deux polynômes que s'ils sont sous forme développée. Les choses se compliquent s'il s'agit de polynômes à plusieurs indéterminées et dépendant de paramètres. Nous verrons ça plus tard...
Observons plutôt
y^2 +a*(x+z)*(x-z)+(x^2-y^2);
x+a*(x+z)-(a-1)*(x+z);
Ces problèmes viennent du codage informatique de certaines expressions. Nous n'entrerons pas dans les détails.
Voyons plutôt quelques commandes utiles. Nous avons déjà vu expand qui développe une expression et qui peut être utile ici
expand(%);
expand((x+a+b)^3);
Pour nous, est de manière conventionnelle la variable et
et
des paramètres. Ce n'est pas aussi évident pour MuPAD. Il suffit de lui expliquer que nous voulons privilégier
grâce à la commande collect
collect(%,x);
Notons, tant que nous y sommes que la commande expand a d'autres talents cachés
expand(cos(a+b)); expand(sinh(3*x));
En fait, ce n'est pas une surprise : MuPAD développe des formules du binôme en exponentielle.
Il existe parallèlement factor qui se comprend bien. Explorez à l'aide de l'aide la commande combine aux multiples talents.
combine(arctan(2*x)+arctan(y)+arctan(z),arctan);
Dans le même ordre d'idée, partfrac décompose une fraction en éléments simples.
Notez enfin que la commande simplify peut parfois s'avérer utile car elle combine plusieurs des fonctions précédentes.
Il y a beaucoup à dire sur les polynômes car de nombreuses fonctions utiles existent, par exemple coeff, degreevec, ground, lcoeff, ldegree, lmonomial, lterm, monomials, nterms, nthcoeff, nthmonomial, nthterm, poly, poly2list, tcoeff,.... En arithmétique des polynômes aussi gcd,lcm,gcdex,divide.
Ouvrons une petite parenthèse sur factor : tout le monde sait que la factorisation de ne sera pas la même sur
et sur
. MuPAD, lui, factorise sur
, parfois sur
, sachez-le.
factor(X^2-2);
Pour ruser, on peut utiliser solve
solve(x^2-2=0,x);
Si nous ne pouvons pas factoriser dans
, on peut le faire dans
par exemple en changeant le « domaine ». Nous n'en parlerons pas tout de suite...