Cuando se trata de resolver ecuaciones matemáticas en Linux, hemos hablado anteriormente de GeoGebra, un software para geometría y gráficos 2D. Sin embargo, si está buscando herramientas más potentes, debería probar Sage. Todos hemos oído hablar de Matlab o Magma, pero Sage ofrece una alternativa de código abierto a esos dos, y es, en mi opinión, más simple de usar.
Instalación
Sage está siempre en fuerte desarrollo, lo que significa que se añaden nuevas mejoras con mucha frecuencia. Para instalarlo desde el código fuente:
En primer lugar, usted tendrá que satisfacer algunas dependencias.
A continuación, puedes descargar las fuentes desde la página oficial. Extráelos y desde un terminal, lanza el script
./make
Nota: Necesitarás unos 3GB de espacio libre para que Sage funcione correctamente. Asegúrate de tenerlos antes de lanzar la compilación (que llevará algún tiempo).
Si prefieres la versión binaria, también hay un PPA disponible para Ubuntu:
Si quieres lanzar sage desde cualquier lugar, puedes crear un enlace simbólico con
ln-s[ruta al lanzador de sage]/usr/local/bin/sage
o incluso hacer un alias en tu archivo ~/.bashrc como hice yo
aliassage=/home/adrien/sage-5.2/sage
Sage es una herramienta no gráfica por defecto. Al iniciar, debería obtener algo como esto
Entonces tienes la opción: continuar con la consola, o ir a la GUI basada en el navegador escribiendo
notebook()
Ambas son bastante equivalentes en términos de funcionalidad. La GUI es más intuitiva, especialmente para los diagramas y gráficos, pero la terminal también funciona bastante bien. Con la GUI, prueba el comando
circle((0,0), 1, rgbcolor=(1,1,0))
Verás que aparece un círculo amarillo debajo.
Si hace lo mismo en la consola, su visor de imágenes por defecto se abrirá y mostrará el mismo círculo.
Nota: Tanto la GUI como la consola tienen una función de autocompletado.
Ahora que has elegido la interfaz de Sage, podemos empezar a hablar de las funciones en sí. Sage es absolutamente enorme, y lo digo en serio. No hay manera de que podamos discutir todos los aspectos de ella en un artículo. En su lugar, te mostraré algunas aplicaciones comunes que puedes querer probar.
1. Calculadora
Sí, Sage puede hacer algunas matemáticas básicas. Suma, multiplicación, etc. Dado que está escrito principalmente en Python, también puede utilizar la sintaxis de Python para hacer cosas como la división de enteros.
2. Raíces de polinomios
Es bastante común que nos den un polinomio y nos pidan sus raíces. Con Sage, primero se crea un anillo de polinomios con
P.<x> = AnilloPolinómico(RR)
donde x será el generador, y RR representa los números reales. Si quieres que tu anillo sea sobre los números racionales, por ejemplo, sustituye RR por QQ. A continuación, copie su polinomio:
t = x^2 – 25
Y luego pides las raíces
t.roots()
Nota: esto devolverá las raíces en el anillo base del polinomio y sus multiplicidades. Si quieres que las raíces sean de otro anillo base, ponlo como argumento para la función roots().
3. Matriz inversa
Si estás un poco metido en el mundo del comercio o de la economía, es posible que hayas visto matrices en algún momento de tu vida. Generalmente, hay todo un proceso para encontrar las inversas de estas matrices. Pues bien, Sage lo hace por ti de forma muy sencilla. Crea tu matriz sobre el anillo base que quieras.
m = matrix(QQ, [[1, 2], [3, 4]])
Y buscar su inversa
m.
inversa()
4. Gráficos
Sage también tiene algunas capacidades de graficación. Antes dibujamos un círculo con
círculo((0,0), 1, rgbcolor=(1,1,0))
Estoy bastante seguro de que has entendido que el primer parámetro era el centro del círculo, el segundo el radio y el último el color del círculo en el estándar RGB. Bueno, también puedes trazar funciones básicas declarando primero una variable:
x = var(‘x’)
Y luego usar la función plot():
plot(x^3, (-10,10))
El primer argumento es la ecuación de la función, el segundo es el intervalo. Así que aquí estaba pidiendo la función cúbica que se muestra de -10 a 10 en la parcela x.
Nota
: Si tienes instalado Jmol, puedes incluso hacer gráficos en 3D declarando dos variables
x, y = var(‘x,y’)
Y luego usar la función plot3d()
plot3d(x^2 + y^2, (x,-2,2), (y,-2,2))
5. Resolver ecuaciones
A veces queremos una solución para una ecuación, pero la calculadora sólo nos da una aproximación. Es aún peor si hay algunas otras variables en esa ecuación y que queremos que la solución se exprese en función de ellas. Durante años, en el instituto, me tocó hacer eso manualmente. Qué tontería! Sage lo hace perfectamente. Declara todas tus variables
x, a, b, c = var(‘x a b c’)
Y luego sólo tienes que usar la función solve(), con la(s) ecuación(es) como primer argumento, y la(s) variable(s) que quieres que se exprese(n) después:
solve([x – 3*a == 6, x + b*c == 10], x, b)
Ojalá hubiera sabido eso en el instituto…
6. Diferenciación e integración
Aquí está la última aplicación cuando eres realmente perezoso. Puedes utilizar este programa para diferenciar e integrar funciones. Como siempre, declara tus variables
x = var(‘x’)
Y luego utiliza la función diff() o la función integrate().
diff(x^3 + 4*x + 16, x)
para diferenciar y
integral(x^3 + 4*x + 16, x)
para integrar.
Conclusión
Sage es realmente una herramienta increíble. La sintaxis es rápida de aprender y se mantiene bastante estándar. La desventaja es que la documentación es realmente algo que debe leer con el fin de obtener una comprensión de lo que realmente puede hacer. Las aplicaciones son tan numerosas que es fácil perderse. Puedes hacer ecuaciones diferenciales junto con criptografía. Y es tan específico que ahora mismo se está desarrollando una función para encontrar el campo de división de polinomios sobre campo finito (sí, tampoco tengo ni idea de lo que significa).
¿Tienes algún otro ejemplo que proponer? ¿Una pregunta sobre Sage? Háznoslo saber en los
Crédito de la imagen: Maths by Big Stock Photo.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duración
Descripción
cookielawinfo-checbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.