Macaulay2


Macaulay2 es un sistema de álgebra computacional gratuito creado por Daniel Grayson (de la Universidad de Illinois en Urbana-Champaign ) y Michael Stillman (de la Universidad de Cornell ) para el cálculo en álgebra conmutativa y geometría algebraica .

Macaulay2 se basa en implementaciones rápidas de algoritmos útiles para el cálculo en álgebra conmutativa y geometría algebraica. Esta funcionalidad principal incluye aritmética en anillos, módulos y matrices, así como algoritmos para bases de Gröbner , resoluciones libres , series de Hilbert , determinantes y Pfaffianos , factorización y similares. Además, el sistema se ha ampliado con una gran cantidad de paquetes. Casi 200 paquetes están incluidos en la distribución de Macaulay2 a partir de 2019, y los autores de paquetes notables incluyen a Craig Huneke y Frank-Olaf Schreyer . [1] ElJournal of Software for Algebra and Geometry ha publicado numerosos paquetes y programas para Macaulay2. [2]

Macaulay2 tiene una interfaz de línea de comandos interactiva que se usa desde la terminal (ver § Sesión de muestra ). También puede usar emacs o GNU TeXmacs como interfaz de usuario. [3]

Macaulay2 utiliza su propio lenguaje de programación de alto nivel interpretado tanto desde la línea de comandos como en programas guardados. Este lenguaje pretende ser fácil de usar para los matemáticos, y muchas partes del sistema están escritas en el lenguaje Macaulay2. Los algoritmos algebraicos que forman la funcionalidad central están escritos en C++ para mayor velocidad. El intérprete en sí está escrito en una capa de seguridad de tipo personalizado sobre C . [4] Tanto el sistema como el lenguaje de programación están publicados bajo la Licencia Pública General GNU versión 2 o 3. [5]

Stillman, junto con Dave Bayer , habían creado el sistema predecesor, Macaulay , a partir de 1983. Nombraron Macaulay en honor a Francis Sowerby Macaulay , un matemático inglés que hizo importantes contribuciones a la geometría algebraica . El sistema de Macaulay demostró que era posible resolver problemas reales de geometría algebraica utilizando técnicas de base de Gröbner, pero a principios de la década de 1990, las limitaciones de su arquitectura se estaban convirtiendo en un obstáculo. Usando la experiencia con Macaulay, Grayson y Stillman comenzaron a trabajar en Macaulay2 en 1993. El lenguaje y diseño de Macaulay2 tiene una serie de mejoras con respecto a Macaulay, lo que permite anillos de coeficientes infinitos, nuevos tipos de datos y otras características útiles. [4]

Macaulay continuó actualizándose y usándose durante algún tiempo después de la introducción de Macaulay2 en 1993. La última versión lanzada fue la 3.1, de agosto de 2000. La página web de Macaulay actualmente recomienda cambiar a Macaulay2. [6]