Para las operaciones aritméticas básicas los símbolos a emplear son
Maxima produce resultados exactos en sus cálculos, que, eventualmente, pueden aparecer escritos en forma simbólica.
Aunque Maxima prefiere los valores exactos a los decimales, también puede proporcionar valores numéricos decimales en lugar de números reales exactos. Esto puede conseguirse con ayuda de la variable booleana
(sólo toma los valores true
y false
)
Esta variable toma dos valores: true y false. Al iniciar Maxima el valor es false, para producir resultados exactos. Para obtener decimales en una sentencia concreta cuyo resultado es numérico se añade al final de la misma el código ,numer. Pero si se desea que todos los resultados sean numéricos se asigna el valor true a la variable, pudiendo volver a false cuando se desee.
Una forma diferente para obtener valores decimales para alguna función es introducir el argumento de la misma como un decimal.
Como ya hemos dicho, Maxima prefiere los números reales o racionales exactos a los decimales aproximados, hasta el punto de que, en sus operaciones internas, sustituye los números decimales en racionales advirtiendo al usuario y escribiendo en la salida a pantalla cada una de las sustituciones realizadas. Esto puede resultar muy molesto. Pero es posible suprimir esos mensajes de advertencia utilizando la variable booleana ratprint que por defecto tiene asignado el valor true.
Véalo en este ejemplo en el que Maxima calcula el rango de una matriz con asignaciones diferentes en ratprint.
No olvide que cuando a una variable booleana (valores true, false) se le cambia el valor inicial por otro, el nuevo valor permanece activo hasta que se reinicia Maxima, o se vuelve a restituir al valor por defecto, que cuando estas notas se escribieron era ratprint:true
. Si prefiere eliminar estos mensajes debe escribir al principio de su sesión ratprint:false
Con la configuración estándar de Maxima se muestran 15 decimales exactos, pero la precisión puede ser arbitraria.
Otros comandos que sirven también para ese propósito son los comandos de un argumento
Veamos unos ejemplos aclaratorios
Analizando los resultados que proporciona Maxima queda claro que b3 significa que el número que aparece hay que multiplicarlo por 1000=10^3 y que b-1 significa que el número que aparece hay que multiplicarlo por 1/10= 10^(-1).
El número de digitos que Maxima utiliza en la aritmética con números decimales de punto flotante grandes (bfloat) se controla con el valor asignado a la variable numérica entera positiva
En los ejemplos que vienen a continuación, en primer lugar conocemos el valor actual de la variable (por defecto es 16) y luego modificamos dicho valor y vemos su efecto sobre float (ninguno) y sobre bfloat.
En el manual de Maxima puede encontrar más información. Concretamente para el tema que nos ocupa podemos ir directamente al apartado correspondiente de http://maxima.sourceforge.net/docs/manual/es/maxima.html. Estando conectado a internet, ésta y otras referencias análogas, funcionaban como debían en el momento de escribir estas notas, pero puede suceder que debido a cambios en el Manual de Maxima ya no funcionen, pero eso no es nunca un inconveniente serio pues buscando en índice de un manual más actualizado el comando "float" encontremos lo que buscamos. Alternativamente, se puede pedir directamente a Maxima la información usando para ello
Debe tenerse en cuenta que la utilización del comando fpprec establece un nuevo valor de la precisión con caracter global que permanece activa hasta una nueva utilización de dicho comando. Pero existe también la posibilidad de limitar la acción de éste y otros comandos haciendo uso comando block.
El comando block es una herramienta muy útil para múltiples propósitos: block. Cuando se escribieron estas notas el enlace era correcto; si ahora no lo es, lea en la terminal de xMaxima el resultado de la ejecución de
Además de las divisiones simbólicas y de las expresiones decimales para divisiones enteras es posible obtener cociente entero y el resto de una división entera mediante
Esto se aplica a divisiones numéricas y polinómicas.
Maxima maneja números complejos escritos en la forma a+b*%i. Generalmente hace cálculo simbólico pero pueden utilizarse comandos específicos para producir los resultados deseados.
Algunas ilustraciones del funcionamiento de los comandos se muestran a continuación:
Vamos a demostrar, con ayuda de Maxima, el teorema del paralelogramo: en un paralelogramo la suma de los cuadrados de las longitudes de sus cuatro lados coincide con la suma de los cuadrados de las longitudes de sus diagonales.
Empezaremos por hacer una gráfica ilustrativa (un poco más complicada de las hasta ahora realizadas)
A tal fin tomamos dos complejos genéricos. En el dibujo anterior serían z:2+%i w:1+3*%i