Автор (ы) оригинала | Дэниел Грейсон, Майкл Стиллман |
---|---|
Разработчики) | Дэниел Грейсон, Майкл Стилман, Дэвид Эйзенбуд |
Первый выпуск | 1993 г. |
Стабильный выпуск | 1.14 / май 2019 г. ; 2 года назад ( 2019-05) |
Репозиторий | |
Написано в | C ++ и C |
Тип | Система компьютерной алгебры |
Лицензия | Стандартная общественная лицензия GNU, версия 2 или 3 |
Веб-сайт | факультет.математики.illinois.edu / Macaulay2 / |
Macaulay2 - это бесплатная система компьютерной алгебры, созданная Дэниелом Грейсоном (из Университета Иллинойса в Урбане-Шампейн ) и Майклом Стиллманом (из Корнельского университета ) для вычислений в коммутативной алгебре и алгебраической геометрии.
Macaulay2 построен на быстрых реализациях алгоритмов, полезных для вычислений в коммутативной алгебре и алгебраической геометрии. Эта основная функциональность включает арифметику на кольцах, модулях и матрицах, а также алгоритмы для базисов Гребнера, свободных разрешений, рядов Гильберта, определителей и пфаффианов, разложение на множители и т. Д. Кроме того, в систему добавлено большое количество пакетов. По состоянию на 2019 год в дистрибутив Macaulay2 включено около 200 пакетов, среди известных авторов пакетов - Крейг Хунеке и Франк-Олаф Шрейер. Журнал программного обеспечения алгебры и геометрии опубликовал многочисленные пакеты и программы для Macaulay2.
Macaulay2 имеет интерактивный интерфейс командной строки, используемый из терминала (см. § Пример сеанса). Он также может использовать emacs или GNU TeXmacs в качестве пользовательского интерфейса.
Macaulay2 использует собственный интерпретируемый язык программирования высокого уровня как из командной строки, так и в сохраненных программах. Этот язык предназначен для простоты использования математиками, и многие части системы действительно написаны на языке Macaulay2. Алгебраические алгоритмы, которые формируют основную функциональность, написаны на C ++ для скорости. Сам переводчик написан в безопасности слоя пользовательского типа над C. И система, и язык программирования публикуются под лицензией GNU General Public License версии 2 или 3.
Стилман вместе с Дэйвом Байером создали систему-предшественницу, Маколея, начиная с 1983 года. Они назвали Маколея в честь Фрэнсиса Сауерби Маколея, английского математика, внесшего значительный вклад в алгебраическую геометрию. Система Маколея показала, что можно решать актуальные проблемы алгебраической геометрии, используя базисные методы Гребнера, но к началу 1990-х годов ограничения в ее архитектуре стали препятствием. Используя опыт работы с Macaulay, Грейсон и Стиллман начали работу над Macaulay2 в 1993 году. Язык и дизайн Macaulay2 имеют ряд улучшений по сравнению с Macaulay, позволяя использовать бесконечные кольца коэффициентов, новые типы данных и другие полезные функции.
Macaulay продолжал обновляться и использоваться в течение некоторого времени после появления Macaulay2 в 1993 году. Последней выпущенной версией была версия 3.1, выпущенная в августе 2000 года. В настоящее время веб-страница Macaulay рекомендует перейти на Macaulay2.
Macaulay2 регулярно обновлялся с момента его появления. Дэвид Эйзенбуд числится соавтором проекта с 2007 года.
В следующем примере определяется кольцо многочленов, идеал внутри и фактор-кольцо. Текст - это первое приглашение ввода в сеансе, а это соответствующий вывод. i1 :
o1
i1 : S=QQ[a,b,c,d,e] o1 = S o1 : PolynomialRing i2 : I=ideal(a^3-b^3, a+b+c+d+e) 3 3 o2 = ideal (a - b, a + b + c + d + e) o2 : Ideal of S i3 : R = S/I o3 = R o3 : QuotientRing
В интервью 2006 года Андрей Окуньков назвал Macaulay2 вместе с TeX успешным проектом с открытым исходным кодом, используемым в математике, и предложил финансирующим агентствам изучить эти примеры и извлечь уроки из них. Macaulay2 цитируется в более чем 2100 научных публикациях.