Manipulación Simbólica Elemental

Manipulación de expresiones polinómicas

La verdadera virtud de Maple (como Sistema de Computación Algebraica) se encuentra en el área del cálculo simbólico, donde es capaz de trabajar con  expresiones matemáticas:

>    (1+x)^2;

Maple V manipula de manera intuitiva con las expresiones polinómicas:

>    (1+x)+(3-2*x);

Disponemos de un significativo número de funciones para la manipulación de expresiones simbólicas. A continuación podemos ver algunos ejemplos:

>    expand((1+x)^2);

>    factor(%);

>    diff(sin(x),x);

>    sum(n^2,n);

>    int(x^3+x+1,x);

>    series(sin(x),x=0);

Manipulación algebraica de expresiones

Solución de ecuaciones

Es conveniente usar el comando restart  al comienzo de una sesión, o cuando vayamos a involucrarnos dentro de una misma sesión en cálculos que no están relacionados con las variables o expresiones definidas con anterioridad.

>    ?restart;

Con el comando restart  eliminamos de la memoria del kernel  cualquier definición o asignación que hayamos realizado.

>    restart;

Para resolver ecuaciones algebraicas usaremos el comando solve :

>    solve(a*x^2+b*x+c,x);

Observación:  Maple V supone que la ecuación contenida dentro del comando solve  está igualada a 0, si no se indica lo contrario. Si Maple V devuelve la ecuación sin resolver, esto no significa que la ecuación no tenga solución, sino que Maple V no ha sido capaz de determinarla con el comando que le hemos indicado.

Con el mismo comando, Maple V puede resolver sistemas de ecuaciones y sistemas de inecuaciones:

>    solve({x+2*y=3,y+1/x=1},{x,y});

>    solve({x^2*y^2=0,x-y=1,x<>0},{x,y});

En ocasiones, el comando solve  devuelve la expresión Root_Of . Con esta expresión representamos de manera simbólica el conjunto de raíces de ciertas ecuaciones de una variable. Si queremos obtener todos los valores (mediante una aproximación numérica) podemos hacer uso del comando allvalues :

>    solve(x^5-2*x+2,x);

>    ### WARNING: allvalues now returns a list of symbolic values instead of a sequence of lists of numeric values
allvalues(%);