Saltar al contenido

Sage: software matemático libre como alternativa

Seguro que muchos de vosotros ya conocéis Sage: un proyecto cuyo nada ambicioso objetivo es

Crear una alternativa de código abierto, libre y viable a Magma, Maple, Mathematica y MATLAB.

Desde luego hay que admitir que como declaración de intenciones no está mal. Hechas las presentaciones, ¿qué más podemos decir sobre Sage?

Sage comenzó en 2004 como un proyecto personal de William Stein, profesor de matemáticas en la Universidad de Washington, quien, como explica en su blog, estaba frustrado por no poder solucionar las limitaciones de Magma al no ser un programa libre. Stein se dio cuenta de que, aunque crear un sistema como Magma o Maple llevaría años con un equipo de desarrolladores voluntarios partiendo de cero, ya había numerosos paquetes de código abierto escritos en diferentes lenguajes enfocados a diversas áreas matemáticas. Así que decidió unir todos estos paquetes utilizando Python (en este momento son cerca de 100) para crear un enorme software matemático para crear Sage. En esto se diferencia de otros proyectos como SymPy, del que ya hemos hablado en este blog.

En este momento Sage ha visto más de 300 versiones y cuenta con más de 200 colaboradores por todo el mundo. Además, desde febrero de 2006 se han celebrado numerosos eventos, conocidos como «Sage Days», en los que los desarrolladores se han reunido para solucionar errores, implementar nuevas características, escribir documentación o hablar sobre el uso de Sage en educación.
Hablando de eventos, en España desde hace dos años se celebran cada verano las Jornadas Sage/Python, en las que se muestran las experiencias docentes que ya se están llevando a cabo con este programa en algunas universidades españolas y se explican ejemplos de aplicación. Este año se celebrarán las III Jornadas Sage/Python en la Universidad de Vigo los días 21 y 22 de junio de 2012 y estáis todos invitados 🙂
Sage dispone de una documentación enorme compuesta de tutoriales, guías y el manual de referencia. Solo por el tamaño de este último nos damos cuenta de la sorprendente amplitud de posibilidades que tiene este programa. Actualmente Sage le lleva la delantera a todos sus competidores no libres en cuanto a temas de matemática teórica, como pueden ser curvas elípticas o espacios de matrices, y por supuesto es capaz de dibujar gráficos en 2D y en 3D y de crear componentes interactivos al estilo de Mathematica, con la diferencia que para compartirlos no necesitas el Mathematica Player: solamente un navegador. En la Wikipedia podemos leer una extensa lista de características:

Algunos de las muchas características de Sage incluyen:

  • Una interfaz gráfica (notebook) para la revisión y reutilización de entradas y salidas anteriores, incluyendo gráficas y notas de texto disponibles en la mayoría de los navegadores web incluyendo FirefoxOperaKonqueror, y Safari.
  • Una línea de comandos basada en texto usando iPython
  • Control interactivo de los cálculos
  • Gráficas en 2D y 3D tanto de funciones como de datos.
  • Herramientas de manipulación de datos y matrices.
  • Herramientas para visualizar y analizar gráficas
  • Librerías para funciones de teoría de números
  • Filtros para importar y exportar datos, imágenes, vídeo, sonido, CAD, y GIS
  • Embeber Sage en documentos LaTeX.
  • Interfaces a otro software como MathematicaMagma y Maple, que le permite a los usuarios combinar software y comparar resultados y desempeño.

¿Alguien habló de interfaz gráfica? ¡Sí! Sage tiene una interfaz a imitación de los «notebooks» de Mathematica que funciona a través del navegador, y que además permite la edición colaborativa de documentos. Puedes utilizarla con el programa, montar tu propio servidor o crear una cuenta en el servidor público de Sage para empezar a experimentar.

Ejemplo de cómo se ve un «notebook» en la interfaz de Sage (vista pública en http://sagenb.org/home/pub/3319/)


Es complicado hacer una introducción a este programa porque es bastante inabarcable, pero espero que te haya resultado interesante. Si te apetece saber más cosas sobre Sage, puedes consultar este «notebook» público que explica algunas de sus posibilidades (e incluso editarlo tú mismo). O puedes estar atento a futuras publicaciones en Pybonacci 😉
¡Un saludo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

sixty five − = sixty one

Pybonacci