SageMath: una navaja suiza en clase de Física

Imagina el siguiente escenario: tienes que resolver los problemas de Física del curso sin la ayuda de una calculadora. Mejor no imaginarlo, ¿verdad? La calculadora es una maravillosa herramienta que hace por nosotros el “trabajo sucio” (los cálculos) para que podamos centrarnos en lo realmente importante de los problemas.

Ahora imagina un escenario totalmente opuesto: tienes una calculadora que te permite hacer cualquier operación o cálculo matemático que quieras, como hallar la solución de una ecuación que, a mano, es prácticamente imposibles de resolver; representar una función cuyo estudio te llevaría demasiado tiempo; hallar derivadas e integrales en un abrir y cerrar de ojos… Además, la puedes programar para evitarte repetir los mismos cálculos una y otra vez. Es como tener la navaja suiza de las herramientas matemáticas en clase de Física: multiuso y se adapta a cualquier situación. ¿Demasiado bonito para ser cierto? Pues esa herramienta existe, es gratuita y de código abierto, y solo necesitas un dispositivo (ordenador, tablet o móvil) con conexión a internet para utilizarla.

SageMath

La herramienta de la que hablamos se llama SageMath. SageMath es un software matemático gratuito y de código abierto, desarrollado para la enseñanza y la investigación en Matemáticas, que ofrece una enorme variedad de herramientas de gran utilidad en Física: operaciones con números reales y complejos, cálculos simbólicos (en los que se opera con letras en lugar de números), álgebra lineal (resolución de ecuaciones y sistemas, vectores, matrices, determinantes), cálculo (límites, derivadas, integrales definidas e indefinidas), representación de funciones y curvas en dos y tres dimensiones, etc.

Por si esto fuera poco, Sage es al mismo tiempo un lenguaje de programación con el que se pueden escribir pequeños (o grandes) programas para utilizar las herramientas de SageMath en la resolución de innumerables problemas. Programar es una habilidad absolutamente fundamental en el trabajo científico, así que si no tienes conocimientos previos de programación Sage es una buena introducción a otros lenguajes y te facilitará su aprendizaje. Además, está basado en Python, con lo que su sintaxis es muy similar; por tanto aprender Sage hace que simultáneamente aprendas Python, y si ya conoces Python te resultará muy fácil manejarte con soltura en Sage.

Acceder a SageMath

Hay diferentes maneras de acceder a las herramientas de SageMath. Una de ellas es utilizar las celdas Sage como la que puedes ver aquí abajo. Tecleas las instrucciones en la celda, pulsas el botón “Evaluar” y ¡listo!

plot(x^3)

 

Puedes también acceder a una SageMathCell a través de la interfaz web de SageMathCell y también puedes utilizar los recursos computacionales que proporciona CoCalc. Por último, en el caso de que tengas problemas de conexión, puedes descargar el software en SageMath para trabajar de manera local.

Un aviso importante: si estás usando una SageMathCell (que será lo más habitual), al refrescar la página todo lo que hayas escrito en la celda se borrará. Al principio esto no supondrá ningún problema, pero imagina que has escrito veinte líneas y se te borran accidentalmente. Acostúmbrate entonces a hacer una copia de lo que introduzcas en la celda si quieres conservarlo (cópialo, por ejemplo, en un documento de texto). Y, en el caso de que uses SageMath con asiduidad, es altamente recomendable que te registres en CoCalc (es gratis) para guardar allí tus programas.

Modo calculadora

Para ver cómo funciona SageMath vamos a empezar usándolo en “modo calculadora”. Escribe una operación en la celda y pulsa el botón “Evaluar” (o Mayúsculas+Intro); el resultado aparecerá debajo. 

  

 

Un detalle importante a tener en cuenta cuando uses Sage como una calculadora es que si escribes varias operaciones en distintas líneas solo se mostrará el resultado de la última. Prueba por separado las siguientes operaciones y expresiones para ver las particularidades de SageMath:

Operación / ExpresiónEjemploCódigo
Operación con números racionales$$ \frac14+3$$1/4 + 3
Operación con números reales$$\frac14+3$$1/4 + 3.0
Notación científica$$2\cdot10^5+7·10^{-6}$$2e5+7e-6
Potencia$$\left( \frac35 \right)^6$$(3/5)^6
Igual$$2=3$$2 == 3
Distinto$$4\neq5$$4 != 5
Menor$$5<3$$5 < 3
Menor o igual$$3\leq3$$3 <= 3
Raíz cuadrada$$\sqrt{-9}$$sqrt(-9)
Valor absoluto$$|-10|$$abs(-10)
Función exponencial en base e$$e^2$$exp(2)
Logaritmo neperiano$$\ln{e^2}$$log(e^2)
Logaritmo en base 10$$\log{10000}$$log(10000,10)
Seno$$\sin{\frac{\pi}{3}}$$sin(pi/3)
Tangente$$\tan{\frac{\pi}{2}}$$tan(pi/2)
Arco coseno$$\arccos0$$arccos(0)
Aproximación numérica$$\pi$$n(pi, digits=100)

 
Habrás visto ya algún detalle “curioso” de la manera en que Sage trabaja. Por ejemplo, siempre que puede te da el resultado de la manera más exacta posible, sin hacer aproximaciones. Además la rapidez de cálculo y el número de cifras con los que puede trabajar son asombrosos: ¿has probado, por ejemplo, a obtener los 100000 primeros dígitos de pi? 

¿Qué más?

Usar Sage como una calculadora no es más que una ínfima parte de lo que se puede hacer con él. En posteriores entradas del blog mostraremos cómo usarlo para representar gráficamente funciones, resolver ecuaciones y sistemas, calcular derivadas e integrales, etc. También veremos ejemplos de su uso en la resolución computacional de problemas, es decir, lo utilizaremos para escribir programas que, a partir de unos datos y una serie de instrucciones, hagan los cálculos necesarios para obtener la solución de los problemas planteados. Como ves SageMath tiene el potencial de convertirse en una utilísima herramienta que no solo te facilitará el trabajo en clase de Física, sino que también lo enriquecerá.