x
1

Sage



SageMath, conocido anteriormente como Sage, es un sistema algebraico computacional (en inglés CAS) que destaca por estar construido sobre paquetes matemáticos ya contrastados como NumPy, Sympy, PARI/GP o Maxima y por acceder a sus potencias combinadas a través de un lenguaje común basado en Python.

La interacción con el usuario es posible desde la interfaz de línea de comandos (basada en IPython ) o vía unos cuadernos web[1]​ que combinan celdas de código con celdas con gráficos, texto enriquecido o fórmulas renderizadas con LaTeX.

La primera versión de SAGE se publicó en 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.[2]

El líder del proyecto, William A. Stein, matemático en la Universidad de Washington, destacó varios factores al diseñar Sage:[3]

Así que en lugar de empezar desde el inicio, Sage (escrito en Python y Cython) integraría todo el software de código abierto sobre matemática ya existente en una interfaz común: un usuario necesitará saber únicamente un lenguaje bien conocido como Python.

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.[4]

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.[5]

Al igual que otros CAS, SageMath se divide en un núcleo que realiza los cálculos y una interfaz (a elegir) que los muestra e interacciona con el usuario.

Existe una interfaz gráfica (notebook) para la revisión y reutilización de entradas y salidas anteriores, incluyendo gráficas y notas de texto. Realmente en 2016 conviven dos tipos de notebook: uno (SageMath worksheet) diseñado exprofeso para SageMath, con otro (Jupyter notebook) de uso más generalizado en el software científico.

Además existe una línea de comandos basada en texto usando iPython que permite el control interactivo de los cálculos:

Posee asistencia al usuario con autocompletado (TAB), consulta de documentación (EXPRESION?) o del código fuente (EXPRESION??) es posible en todas las interfaces.

En las interfaces de tipo notebook permite la inclusión de widgets (p.ej cajas de entrada, deslizadores) que permiten al usuario del programa interaccionar con él sin tener que modificar el código fuente. Para ello basta con aplicar el decorador @interact a una función ya definida.[6]

SageMath utiliza el lenguaje de programación Python, que soporta expresiones en programación orientada a objetos y funcional. Internamente, SageMath está escrito en Python y en una versión modificada de Pyrex llamada Cython. Cuando SageMath invoca funciones de otros paquetes lo hace de forma transparente usando internamente el módulo python Pexpect.

Además, utiliza procesamiento paralelo usando tanto procesadores de núcleo múltiple como multiprocesadores simétricos.

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. Proporciona una interfaz Python a software libre especializado en distintos campos entre los que destacamos:

También proporciona interfaces a otro software no libre como Mathematica, Magma y Maple (no distribuidos con SageMath) que permite a los usuarios combinar software y comparar resultados y desempeño.

Todos estos paquetes cubren, entre otras, las funcionalidades básicas siguientes:

SageMath es software libre, distribuido bajo los términos de la GNU General Public License versión 2 o posterior. Está disponible de varias maneras:



Escribe un comentario o lo que quieras sobre Sage (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!