Maxima manipula polinomios como objetos simbólicos.

Tiene implementada la aritmética de los polinomios.

(%i40) 2*x+3*x^3;
Result

(%i41) 3*x^3-5*x^3+x+1;
Result

(%i42) (x+1)^2;
Result

Un ejemplo de "evaluación perezosa" ("lazy evaluation")

(%i43) (x+1)^2-x^2;
Result

(%i44) expand((x+1)^2);
Result

(%i45) expand((x+1)^2-x^2);
Result

(%i46) factor(expand(x+1)^2);
Result

(%i47) x^3/x^2;
Result

(%i48) (x-1)^3/(x-1);
Result

(%i49) (a*x+1)^2/(a*x+1);
Result

(%i50) (a*x+1)^2/(b*x+1);
Result

(%i51) (2*x^2+4*x^3)*(x^5+x+1);
Result

Otro ejemplo de "evaluación perezosa"

(%i52) expand((2*x^2+4*x^3)*(x^5+x+1));
Result

(%i53) %;
Result

(%i54) factor(%);
Result

Nótese que el símbolo % tiene como valor el de la última expresión evaludada.

Además %oN es un símbolo que tiene como valor el resultado de la evaluación
de la línea de comandos %iN (aquí N es un número entero mayor o igual que 1).

(%i55) %o14;
Result

(%i56) %;
Result

(%i57) 1/x+2*x/(x+1);
Result

(%i58) ratsimp(1/x+2*x/(x+1));
Result

(%i59) expand(%);
Result

(%i60) rat(%);
Result

(%i61) gcd((x+1)*x^2, 2*x);
Result

(%i62) gcd(24,2);
Result

(%i63) lcm(3,5);
Result

(%i64) lcm(3*x, 5*(x+1));
Result

(%i65) lcm(3*x^2+5*x^4+x, 4*x+2*x^3+x);
Result

(%i66) gcd(3*x^2+5*x^4+x, 4*x+2*x^3+x);
Result

(%i67) divide(2*x^2+1,x);
Result

(%i68) A:divide(2*x^4+x^3+x+1,3*x^2+1);
Result

(%i69) expand(A[1]*(3*x^2+1)+ A[2]);
Result

(%i70) A[1]; A[2];
Result

Nótese la sintaxis A: expresion

A[1] (el cociente) y

A[2] (el resto)

(%i72) remainder(2*x^4+x^3+x+1,3*x^2+1);
Result

(%i73) quotient(2*x^4+x^3+x+1,3*x^2+1);
Result

Sobre el algoritmo de "ordenación" de las expresiones evaluadas

(%i74) 1/x^2+(x+1)/x+1/x;
Result

Otro ejemplo de "evaluación perezosa" ...

(%i75) taylor(sin(x),x,0,10);
Result

(%i76) taylor(sin(x),x,0,20);
Result

(%i77) taylor(log(x),x,0,3);
Result

(%i78) taylor(log(x),x,1,8);
Result


Created with wxMaxima.