5.10. Operaciones sobre polinomios

5.10.1. Simplificación de expresiones

YACAS considerará como polinomios todas aquellas expresiones en las que haya variables libres. Todas estas expresiones las podemos simplificar con Simplify:

Ejemplo 5-71. Uso de Simplify

In> Simplify(2*x^2-3*x+3*x^2-1);
Out> 5*x^2-3*x-1;
In>
	  

5.10.2. Expandir un polinomio

Para expandir un polinomio podemos utilizar Expand:

Ejemplo 5-72. Uso de Expand

In> Expand((1+x-y)^2,x);
Out> x^2+2*(1-y)*x+(1-y)^2;
In> Expand((1+x-y)^2,y);
Out> y^2+ -2*(x+1)*y+(x+1)^2;
In> Expand((1+x-y)^2,{x,y});
Out> x^2+(-2*y+2)*x+y^2-2*y+1;
In>
	  

También podemos expandir un polinomio con ExpandBrackets. La diferencia entre ExpandBrackets y Expand es que el primero intentará eliminar todos los parentesis, no hará falta el indicarle en una lista todas las variables sobre las que tendrá que realizar la expansión:

Ejemplo 5-73. Uso de ExpandBrackets

In> ExpandBrackets((a-x)*(b-x));
Out> a*b-x*b+x^2-a*x;;
In>
	  

5.10.3. Grado de un polinomio

Podemos calcular el grado de un polinomio con Degree. Esta función además nos permite calcular el grado de una expresión como polinomio en una de sus variables:

Ejemplo 5-74. Cálculo del grado de un polinomio

In> expr:=x^2-3*x+2;
Out> x^2-3*x+2;
In> Degree(expr);
Out> 2;
In> expr:=a*x+a^2*x^3;
Out> a*x+a^2*x^3;
In> Degree(expr,x);
Out> 3;
In> Degree(expr,a);
Out> 2;
In> 
	  

5.10.4. División de polinomios

Podemos dividir polinomios con las funciones Div y Mod (Sección 5.4.2). En lugar de utilizar números enteros como argumentos tendremos que utilizar polinomios.