Sage
| SAGE | |
|---|---|
La interface gráfica bajo Firefox |
|
| Desarrollador | |
| William Stein (líder del proyecto) et al sagemath.org |
|
| Información general | |
| Lanzamiento inicial | 24 de febrero de 2005 |
| Última versión estable | 4.8 20 de enero de 2012 |
| Género | Software matemático (Sistema algebraico computacional CAS) |
| Programado en | Python, Cython |
| Sistema operativo | GNU/Linux, Mac OS X |
| Licencia | GNU GPL |
| En español | ? |
SAGE es un sistema algebraico computacional (en inglés CAS) escrito en Python y en una versión modificada de Pyrex (llamada inicialmente SageX y posteriormente Cython). Reúne y unifica bajo un solo entorno, lenguaje y jerarquía de objetos toda una colección de software matemático y trata de rellenar los huecos de funcionalidad dejados por unos y otros.
Índice |
Historia[editar]
La primera versión de SAGE se publicó el 24 de febrero, de 2005 con el objetivo inicial de recrear un pequeño subconjunto del sistema algebraico computacional Magma, y reducir así la dependencia del software matemático propietario y cerrado.[1]
El líder del proyecto, William A. Stein, es un matemático en la Universidad de Washington, y emplea estudiantes becados [2] para el desarrollo del mismo.
Características[editar]
Proporciona una interfaz Python a software libre como GAP, Pari, Maxima, SINGULAR (todos distribuidos con SAGE). También proporciona una interfaz a software no libre: Magma, Maple, Mathematica (no distribuidos con SAGE).
Algunos de las muchas características de Sage incluyen:[3]
- 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 Firefox, Opera, Konqueror, y Safari.
- Una línea de comandos basada en texto usando iPython
- El lenguaje de programación Python, que soporta expresiones en programación orientada a objetos y funcional.
- Procesamiento paralelo usando tanto procesadores de núcleo múltiple como multiprocesadores simétricos.
- Control interactivo de los cálculos
- Librerías de funciones elementales y especiales
- Gráficas en 2D y 3D tanto de funciones como de datos.
- Herramientas de manipulación de datos y matrices.
- Librerías de estadística multivariable
- Una caja de herramientas para añadir interfaces de usuario a cálculos y aplicaciones
- Herramientas para procesamiento de imágenes usando pylab así como Python
- Herramientas para visualizar y analizar gráficas
- Librerías para funciones de teoría de números
- Soporte para números complejos, aritmética de precisión arbitraria, y computación simbólica de funciones donde esto sea apropiado.
- Interfaces a otro software como Mathematica, Magma y Maple, que le permite a los usuarios combinar software y comparar resultados y desempeño.
Filosofía de diseño[editar]
William Stein notó varios factores importantes al diseñar Sage.
- Crear una alternativa viable a Magma, Maple, Mathematica, y MATLAB, llevaría cientos, o miles de años-hombre si se empezara desde el inicio.
- Existe una amplia gama de software matemático de código abierto bien probado, pero estaba escrito en diferentes lenguajes (siendo C, C++, Fortran y Python los más comunes).
Así que en lugar de empezar desde el inicio, Sage (que está escrito en Python y Cython) integraría todo el software de código abierto sobre matemática ya existente a una interfaz común. Un usuario necesitará saber únicamente Python (que es un lenguaje bien conocido, y usado en miles de aplicaciones diferentes).
Donde no hubiera una opción de software libre disponible para algún problema, entonces sería escrito en Sage. Pero Sage no reinventa la rueda. La misma filosofía de diseño se usa en otros programas matemáticos (como Mathematica), pero Sage puede utilizar un espectro más amplio de software, que sus contrapartes no libres, ya que las licencias propietarias imponen serias restricciones a la reutilización del software.
El desarrollo de Sage lo llevan a cabo tanto estudiantes como profesionales. Es apoyado tanto por trabajo voluntario como por donaciones.[5]
En 2007 Sage ganó el primer premio en la categoría de software científico en el Les Trophées du libre, una competición internacional de software libre.[6]
Licencia y disponibilidad[editar]
Sage es software libre, distribuido bajo los términos de la GNU General Public License versión 2 ó posterior. Sage está disponible de varias maneras:
- Se puede usar la versión en línea en sagenb.org.
- Se pueden descargar binarios para GNU/Linux, OS X y Solaris (tanto x86 como SPARC). Los binarios de Solaris se consideran experimentales.
- El código fuente puede descargarse de la página de descargas. Aunque no se recomienda para el usuario final, las versiones en desarrollo también están disponibles.
- Un CD live que corre una versión del sistema GNU/Linux permite probar Sage sin necesidad de instalarlo.
Se está desarrollando una versión nativa de Sage para Windows (auspiciada por Microsoft), pero por el momento, los usuarios de este sistema operativo solo pueden utilizarlo a través de software de virtualización como Virtualbox o Vmware.
Paquetes matemáticos incluidos en SAGE[editar]
| Álgebra | GAP, Maxima, Singular |
| Álgebra lineal | Linbox, IML |
| Álgebra lineal numérica | GSL, SciPy, NumPy |
| Aritmética de precisión arbitraria | GMP, MPFR, MPFI, NTL |
| Cálculo | Maxima, Sympy |
| Combinatoria | Symmetrica, MuPAD-Combinat* |
| Geometría algebraica | Singular, Macaulay2 |
| Geometría aritmética | PARI, NTL, mwrank, ecm |
| Gráficos | Matplotlib, Tachion3d |
| Teoría de grafos | NetworkX |
| Teoría de grupos | GAP |
Referencias[editar]
- ↑ «http://www.sagemath.org/why/stein-sd4.pdf». Consultado el 11-03-2008.
- ↑ «www.nsf.gov/awardsearch/showAward.do?AwardNumber=0555776». Consultado el 11-03-2008.
- ↑ Sage documentation
- ↑ «The TeX Catalogue OnLine, Entry for sagetex, Ctan Edition».
- ↑ «Explicit Approaches to Modular Forms and Modular Abelian Varieties». National Science Foundation (14-04-2006). Consultado el 24-07-2007.
- ↑ «Free Software Brings Affordability, Transparency To Mathematics». Science Daily (7 de diciembre de 2007). Consultado el 20-07-2008.