stringtranslate.com

Matemáticas Sage

SageMath (anteriormente Sage o SAGE , "Sistema para experimentación en álgebra y geometría" [3] ) es un sistema de álgebra computacional (CAS) con características que cubren muchos aspectos de las matemáticas , incluyendo álgebra , combinatoria , teoría de grafos , teoría de grupos , variedades diferenciables , análisis numérico , teoría de números , cálculo y estadística .

La primera versión de SageMath fue lanzada el 24 de febrero de 2005 como software libre y de código abierto bajo los términos de la Licencia Pública General GNU versión 2, con los objetivos iniciales de crear una "alternativa de código abierto a Magma , Maple , Mathematica y MATLAB ". [4] El creador y líder del proyecto SageMath, William Stein , fue un matemático de la Universidad de Washington .

SageMath utiliza una sintaxis similar a la de Python , [5] admitiendo construcciones procedimentales , funcionales y orientadas a objetos .

Desarrollo

William A. Stein

Al diseñar Sage, Stein se dio cuenta de que ya existían muchos paquetes de software de matemáticas de código abierto escritos en diferentes lenguajes , a saber, C , C++ , Common Lisp , Fortran y Python .

En lugar de reinventar la rueda , Sage (que está escrito principalmente en Python y Cython ) integra muchos paquetes de software CAS especializados en una interfaz común, para la cual un usuario solo necesita saber Python. Sin embargo, Sage contiene cientos de miles de líneas de código únicas que agregan nuevas funciones y crean las interfaces entre sus componentes. [6]

SageMath utiliza tanto a estudiantes como a profesionales para el desarrollo. El desarrollo de SageMath se apoya tanto en trabajo voluntario como en subvenciones . [7] Sin embargo, no fue hasta 2016 cuando se contrató al primer desarrollador de Sage a tiempo completo (financiado por una subvención de la UE ). [8] El mismo año, Stein describió su decepción por la falta de financiación académica y de credenciales para el desarrollo de software, citando esto como la razón de su decisión de dejar su puesto académico titular para trabajar a tiempo completo en el proyecto en una empresa recién fundada, SageMath, Inc. [8]

Logros

Actuación

Tanto los binarios como el código fuente están disponibles para SageMath en la página de descarga. Si SageMath se crea a partir del código fuente, muchas de las bibliotecas incluidas, como OpenBLAS , FLINT , GAP (sistema de álgebra computacional) y NTL , se ajustarán y optimizarán para esa computadora, teniendo en cuenta la cantidad de procesadores , el tamaño de sus cachés , si existe soporte de hardware para instrucciones SSE , etc.

Cython puede aumentar la velocidad de los programas SageMath, ya que el código Python se convierte a C. [12]

Licencias y disponibilidad

SageMath es un software libre , distribuido bajo los términos de la Licencia Pública General GNU versión 3. [2]

SageMath 10.0 (mayo de 2023) requiere el Subsistema de Windows para Linux en la versión 2, [13] que a su vez requiere que Windows se ejecute como un cliente Hyper-V . SageMath 8.0 (julio de 2017), con desarrollo financiado por el proyecto OpenDreamKit, [8] se creó con éxito en Cygwin y estaba disponible un instalador binario para versiones de 64 bits de Windows. [14] Aunque Microsoft patrocinaba una versión de SageMath para Windows, antes de 2016 los usuarios de Windows tenían que usar tecnología de virtualización como VirtualBox para ejecutar SageMath. [15]

Las distribuciones Linux en las que SageMath está disponible como paquete son Fedora , Arch Linux , Debian , Ubuntu y NixOS . En Gentoo , está disponible a través de layman en la superposición "sage-on-gentoo" [16] . El paquete utilizado por NixOS está disponible para su uso en otras distribuciones, debido a la naturaleza agnóstica de distribución de su administrador de paquetes, Nix .

El prefijo Gentoo también proporciona Sage en otros sistemas operativos.

Paquetes de software contenidos en SageMath

La filosofía de SageMath es utilizar bibliotecas de código abierto existentes allí donde existan. Por lo tanto, utiliza muchas bibliotecas de otros proyectos.

Véase también

Referencias

  1. ^ "Versión 10.4". 20 de julio de 2024. Consultado el 27 de julio de 2024 .
  2. ^ ab "COPYING.txt – sage.git". El repositorio de Sage. Archivado desde el original el 14 de marzo de 2017. Consultado el 4 de abril de 2017 .
  3. ^ Stein, William. "SAGE: Un sistema informático para la experimentación en álgebra y geometría" . Consultado el 30 de marzo de 2012 .
  4. ^ Stein, William (12 de junio de 2007). "Sage Days 4" (PDF) . Archivado desde el original (PDF) el 27 de junio de 2007. Consultado el 2 de agosto de 2007 .
  5. ^ Anastassiou, George A.; Mezei, Razvan A. (2015). Análisis numérico con Sage. Nueva York: Springer. pp. x1 y 1. ISBN 9783319167381.
  6. ^ "Sage Days 7: Combinatorics". SageWiki . 14 de noviembre de 2008. Consultado el 9 de diciembre de 2013 .
  7. ^ "Sage – Agradecimiento a los patrocinadores" . Consultado el 6 de enero de 2017 .
  8. ^ abc William Stein: Los orígenes de SageMath: la creación de una alternativa viable de código abierto a Magma, Maple, Mathematica y Matlab (presentación, 11 de junio de 2016)
  9. ^ "El software libre aporta asequibilidad y transparencia a las matemáticas". Science Daily. 7 de diciembre de 2007. Consultado el 6 de enero de 2017 .
  10. ^ "Sistema de software matemático Sage". Archivo Google Summer of Code/Code-in . Consultado el 6 de enero de 2017 .
  11. ^ "Premio Richard Dimick Jenks Memorial 2013". Asociación para la Maquinaria Informática – SIGSAM . Consultado el 6 de enero de 2017 .
  12. ^ Stein, William (3 de noviembre de 2010). «Cython, Sage y Need for Speed» . Consultado el 6 de enero de 2017 .
  13. ^ "Bienvenido a la Guía de instalación de Sage". 1 de mayo de 2023. Consultado el 28 de julio de 2023 .
  14. ^ Lelievre, Samuel (18 de agosto de 2017). «Instalador de SageMath 8.0 para Windows» . Consultado el 28 de agosto de 2017 .
  15. ^ Stein, William (16 de marzo de 2012). "Re: Pregunta sobre Sage" . Consultado el 6 de enero de 2017 .
  16. ^ "Wiki de sage-on-gentoo". GitHub . Consultado el 6 de enero de 2017 .
  17. ^ "Paquetes estándar". doc.sagemath.org . Consultado el 6 de enero de 2017 .
  18. ^ "Paquetes externos — Paquetes externos".

Enlaces externos