Sage (Software for Algebra and Geometry Experimentation) es un sistema de álgebra computacional, creado por William Stein profesor de la Universidad de Washington; que integra muchos otros paquetes de software libre pre-existentes (como Pari/GP, Gap, Singular, Maxima, NTL, GNU GSL, etc.) , ofreciendo una interface unificada para todos ellos en Python. El slogan de Sage es “Estamos construyendo el auto, no reinventando la rueda”. Sage está fundamentalmente orientado a problemas de teoría de números, álgebra y geometría algebraica, pero también integra paquetes para aplicaciones numéricas, álgebra lineal, teoría de códigos, etc.
Python es un lenguaje de alto nivel y orientado a objetos, del que ya hemos hablado hace un tiempo. Es particularmente adecuado para aplicaciones matemáticas como esta, por su sistema dinámico de tipos (objetos matemáticos tales como polinomios, grupos y anillos se pueden representar en Sage), y porque es relativamente fácil vincular código en Python con librerías pre-existentes escritas en C o C++. El uso de un lenguaje ampliamente utilizado para diferentes propósitos como Python (en lugar de un lenguaje propio, como hace la mayoría de los sistemas de álgebra computacional representa una enorme ventaja, ya que los usuarios que conozcan Python, no necesitan aprender otro lenguaje más a la hora de usar Sage, y por otra parte es fácil integrar sage con otros paquetes escritos en Python)
Sage integra también algunas herramientas de desarrollo como el intérprete de Python con mejoras para uso interactivo IPython y el sistema de control de versiones Mercurial. Otra característica interesante de Sage, es que es posible utilizarlo (en modoc mdo cliente-servidor) directamente con un web browser usando Sage Notebook (¡se puede probarla en linea!). Aquí pueden ver una captura de pantalla de Sage Notebook funcionando en mi computadora con Mozilla Firerox:
A la hora de explicar porqué el software libre es crucial para la ciencia, William Stein cita una frase de Linus Torvals que me pareció muy pertinente:
“I think, fundamentally, open source does tend to be more stable software. It’s the right way to do things. I compare it to science vs. witchcraft.
In science, the whole system builds on people looking at other people results and building on top of them.In witchcraft, somebody had a small secret and guarded
it but never allowed others to really understand it and build on it. Traditional software is likewitchcraft. In history, witchcraft just died out.
The same will happen in software.
When problems get serious enough, you can’t have one person or one
company guarding their secrets. You have to haveeverybody share in knowledge.”
Y también cita a J. Neubuser:
” You can read Sylow’s Theorem and its proof in Huppert’s book in the library [...] then you can use Sylow’s Theorem for the rest of your life free of charge, but for many computer algebra systems license fees have to be paid regularly [...]. You press buttons and you get answers in the same way as you get the bright pictures from your television set but you cannot control how they were made in either case.
With this situation two of the most basic rules of conduct in mathematics are violated: In mathematics information is passed on free of charge and everything is laid open for checking. Not applying these rules to computer algebra systems that are made for mathematical research [...] means moving in a most undesirable direction. Most important: Can we expect somebody to believe a result of a program that he is not allowed to see? “
Sage es software libre y se distribuye bajo la GNU GPL. Sage es realmente una importante contribución al software libre para matemática. y merece todo nuestro apoyo.

