Введение

Компьютерная алгебраическая система

Macaulay2 — это бесплатная компьютерная алгебраическая система, разработанная Дэниелом Грейсоном (Университет Иллинойса в Урбана-Шампейн) и Майклом Стиллманом (Корнеллский университет) для проведения вычислений в коммутативной алгебре и алгебраической геометрии.

Обзор

Macaulay2 построен на основе быстрых реализаций алгоритмов, полезных для вычислений в коммутативной алгебре и алгебраической геометрии. Эта основная функциональность включает в себя арифметические операции с кольцами, модулями и матрицами, а также алгоритмы для оснований Грёбнера, свободных резолюций, рядов Гильберта, определителей и пфаффианов, факторизации и подобные задачи. Кроме того, система была расширена большим количеством пакетов. По состоянию на 2019 год в состав дистрибутива Macaulay2 входит почти 200 пакетов, а среди известных авторов пакетов – Крейг Хунеке и Фрэнк Олаф Шрайер. Журнал программного обеспечения для алгебры и геометрии опубликовал множество пакетов и программ для Macaulay2. Macaulay2 имеет интерактивный интерфейс командной строки, используемый из терминала (см.). Он также может использовать emacs или GNU TeXmacs в качестве пользовательского интерфейса. Macaulay2 использует собственный интерпретируемый язык программирования высокого уровня как из командной строки, так и в сохраненных программах. Этот язык разработан с учетом удобства использования для математиков, и многие части системы действительно написаны на языке Macaulay2. Алгебраические алгоритмы, составляющие основу функциональности, написаны на C++ для обеспечения высокой скорости работы. Сам интерпретатор написан на пользовательском уровне обеспечения типобезопасности над C. Как система, так и язык программирования распространяются под лицензией GNU General Public License версии 2 или 3.

История

Стиллман вместе с Дэйвом Байером разработал предшествующую систему, Macaulay, начиная с 1983 года. Она была названа в честь Фрэнсиса Соверби Маколея, английского математика, внесшего значительный вклад в алгебраическую геометрию. Система Macaulay показала, что возможно решать реальные задачи алгебраической геометрии с использованием методов Грёбнера, но к началу 1990-х годов ограничения в её архитектуре стали серьёзным препятствием. Используя опыт, полученный при работе с Macaulay, Грейсон и Стиллман начали разработку Macaulay2 в 1993 году. Язык и структура Macaulay2 имеют ряд улучшений по сравнению с Macaulay, позволяя работать с бесконечными кольцами коэффициентов, новыми типами данных и другими полезными возможностями. Macaulay2 регулярно обновляется с момента своего появления. Дэвид Эйзенбуд является соавтором проекта с 2007 года.

Прием

В интервью 2006 года Андрей Окунков упомянул Macaulay2 наряду с TeX как успешный проект с открытым исходным кодом, используемый в математике, и предложил финансирующим организациям изучить эти примеры и перенять их опыт. Macaulay2 был упомянут в более чем 2600 научных публикациях.