Sage: software matemático libre como alternativa

Por Juan Luis Cano

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?

Logo de 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:

¿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.

Interfaz gráfica de Sage

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!

Comentarios