Desarrollado por | William Stein y col. |
---|---|
Primera versión | 2005 |
Última versión | 9,3 (9 de mayo de 2021) |
Depositar | git.sagemath.org/sage.git |
Escrito en | Python , Cython , C , C ++ y Fortran |
Sistema de explotación | Linux , Microsoft Windows y macOS |
Medio ambiente | Multiplataforma |
Tipo | Sistema de álgebra informática |
Licencia | Licencia pública general GNU versión 2 |
Sitio web | sagemath.org |
SageMath (anteriormente Sage) es un software gratuito de cálculo matemático de uso general.
El proyecto SageMath tiene como objetivo "desarrollar una alternativa de código abierto viable" para el álgebra de sistemas Magma , Maple y Mathematica y el software de computación digital MATLAB .
SageMath cuenta con funciones avanzadas en áreas como el álgebra lineal , el álgebra conmutativa , la teoría de números o la combinatoria algebraica .
Por otro lado, su apoyo al cálculo simbólico clásico ( suma e integración simbólica , resolución de ecuaciones diferenciales , asintóticas ...), punto fuerte de sistemas como Maple y Mathematica, es en esta etapa limitado.
Una originalidad arquitectónica importante de SageMath, en comparación con la mayoría de los otros sistemas de álgebra informática, es la forma en que se basa en el software existente. En lugar de proporcionar un lenguaje de comandos específico, SageMath usa Python , un lenguaje de programación de propósito general preexistente. Las propias funcionalidades matemáticas también se basan en gran medida en otro software, que incluye SageMath y para el que unifica la interfaz.
El sistema SageMath se compone, por tanto, de una distribución de software de terceros, una biblioteca Python para el cálculo matemático, algunas de cuyas funcionalidades llaman directamente al software de la distribución, e interfaces de usuario que permiten el uso interactivo de esta biblioteca.
SageMath se publica bajo los términos de la Licencia Pública General GNU Versión 2.
Además de su funcionalidad matemática, SageMath proporciona una interfaz Python para el software que incluye, por ejemplo , Maxima , PARI / GP y Singular , así como para varios software matemáticos no integrados como Fricas , gnuplot , GNU Octave , Maple, Magma. y Mathematica.
Su interfaz de línea de comandos se basa en IPython . Un "preparador" agrega al lenguaje Python algunas extensiones sintácticas que facilitan el uso interactivo de la biblioteca Sage. Además, una interfaz gráfica llamada cuaderno ("bloc de notas"), que funciona en un navegador web, le permite crear hojas de cálculo combinando texto y cálculos realizados con SageMath u otro software. A través de esta interfaz web, es posible conectarse a un servidor SageMath instalado en una computadora remota. Varios servidores públicos de SageMath ahora le permiten usar SageMath sin instalarlo en su propia computadora.
La biblioteca SageMath está escrita principalmente en los lenguajes Python y Cython de programación . Entre el software matemático externo en el que se basa principalmente, podemos citar las bibliotecas MPIR , MPFR , Flint , NTL o incluso Linbox , así como el software de álgebra informática más especializado GAP , Maxima , PARI / GP y Singular. . Estos están escritos en particular en C , C ++ , Python , Lisp y Fortran .