Macaulay2: Система компьютерной алгебры для коммутативной алгебры и алгебраической геометрии
Macaulay2
Macaulay2 – бесплатная система компьютерной алгебры для вычислений в коммутативной алгебре и алгебраической геометрии. Алгоритмы, базы Грёбнера, модули.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Компьютерная алгебраическая система
Computer algebra system
Macaulay2 — это бесплатная компьютерная алгебраическая система, разработанная Дэниелом Грейсоном (Университет Иллинойса в Урбана-Шампейн) и Майклом Стиллманом (Корнеллский университет) для проведения вычислений в коммутативной алгебре и алгебраической геометрии.
Macaulay2 is a free computer algebra system created by Daniel Grayson (from the University of Illinois at Urbana–Champaign) and Michael Stillman (from Cornell University) for computation in commutative algebra and algebraic geometry.
Обзор
Macaulay2 построен на основе быстрых реализаций алгоритмов, полезных для вычислений в коммутативной алгебре и алгебраической геометрии. Эта основная функциональность включает в себя арифметические операции с кольцами, модулями и матрицами, а также алгоритмы для оснований Грёбнера, свободных резолюций, рядов Гильберта, определителей и пфаффианов, факторизации и подобные задачи. Кроме того, система была расширена большим количеством пакетов. По состоянию на 2019 год в состав дистрибутива Macaulay2 входит почти 200 пакетов, а среди известных авторов пакетов – Крейг Хунеке и Фрэнк Олаф Шрайер. Журнал программного обеспечения для алгебры и геометрии опубликовал множество пакетов и программ для Macaulay2. Macaulay2 имеет интерактивный интерфейс командной строки, используемый из терминала (см.). Он также может использовать emacs или GNU TeXmacs в качестве пользовательского интерфейса. Macaulay2 использует собственный интерпретируемый язык программирования высокого уровня как из командной строки, так и в сохраненных программах. Этот язык разработан с учетом удобства использования для математиков, и многие части системы действительно написаны на языке Macaulay2. Алгебраические алгоритмы, составляющие основу функциональности, написаны на C++ для обеспечения высокой скорости работы. Сам интерпретатор написан на пользовательском уровне обеспечения типобезопасности над C. Как система, так и язык программирования распространяются под лицензией GNU General Public License версии 2 или 3.
Macaulay2 is built around fast implementations of algorithms useful for computation in commutative algebra and algebraic geometry. This core functionality includes arithmetic on rings, modules, and matrices, as well as algorithms for Gröbner bases, free resolutions, Hilbert series, determinants and Pfaffians, factoring, and similar. In addition, the system has been extended by a large number of packages. Nearly 200 packages are included in the distribution of Macaulay2 as of 2019, and notable package authors include Craig Huneke and Frank Olaf Schreyer. The Journal of Software for Algebra and Geometry has published numerous packages and programs for Macaulay2. Macaulay2 has an interactive command line interface used from the terminal (see ). It can also use emacs or GNU TeXmacs as a user interface. Macaulay2 uses its own interpreted high level programming language both from the command line and in saved programs. This language is intended to be easy to use for mathematicians, and many parts of the system are indeed written in the Macaulay2 language. The algebraic algorithms that form the core functionality are written in C++ for speed. The interpreter itself is written in a custom type safety layer over C. Both the system and the programming language are published under the GNU General Public License version 2 or 3.
История
Стиллман вместе с Дэйвом Байером разработал предшествующую систему, Macaulay, начиная с 1983 года. Она была названа в честь Фрэнсиса Соверби Маколея, английского математика, внесшего значительный вклад в алгебраическую геометрию. Система Macaulay показала, что возможно решать реальные задачи алгебраической геометрии с использованием методов Грёбнера, но к началу 1990-х годов ограничения в её архитектуре стали серьёзным препятствием. Используя опыт, полученный при работе с Macaulay, Грейсон и Стиллман начали разработку Macaulay2 в 1993 году. Язык и структура Macaulay2 имеют ряд улучшений по сравнению с Macaulay, позволяя работать с бесконечными кольцами коэффициентов, новыми типами данных и другими полезными возможностями. Macaulay2 регулярно обновляется с момента своего появления. Дэвид Эйзенбуд является соавтором проекта с 2007 года.
Stillman, along with Dave Bayer had authored the predecessor system, Macaulay, beginning in 1983. They named Macaulay after Francis Sowerby Macaulay, an English mathematician who made significant contributions to algebraic geometry. The Macaulay system showed that it was possible to solve actual problems in algebraic geometry using Gröbner basis techniques, but by the early 1990s, limitations in its architecture were becoming an obstruction. Using the experience with Macaulay, Grayson and Stillman began work on Macaulay2 in 1993. The Macaulay2 language and design has a number of improvements over that of Macaulay, allowing for infinite coefficient rings, new data types, and other useful features. Macaulay2 has been updated regularly since its introduction. David Eisenbud has been listed as a collaborator on the project since 2007.
Прием
В интервью 2006 года Андрей Окунков упомянул Macaulay2 наряду с TeX как успешный проект с открытым исходным кодом, используемый в математике, и предложил финансирующим организациям изучить эти примеры и перенять их опыт. Macaulay2 был упомянут в более чем 2600 научных публикациях.
In a 2006 interview, Andrei Okounkov cited Macaulay2 along with TeX as a successful open source project used in mathematics and suggested that funding agencies look into and learn from these examples. Macaulay2 has been cited in over 2,600 scholarly publications.