Введение
программный пакет GAP (Groups, Algorithms and Programming) — это система компьютерной алгебры с открытым исходным кодом, предназначенная для вычислений в дискретной алгебре, с особым упором на вычислительную теорию групп.
GAP (Groups, Algorithms and Programming) is an open source computer algebra system for computational discrete algebra with particular emphasis on computational group theory.
История
GAP был разработан в Lehrstuhl D für Mathematik (LDFM), Рейнско-Вестфальском техническом университете Аахена, Германия, с 1986 по 1997 год. После выхода Йоахима Нойбузера на пенсию с поста руководителя LDFM, разработка и поддержка GAP координировались Школой математических и вычислительных наук Университета Сент-Эндрюса, Шотландия. Летом 2005 года координация была передана равноправному партнерству четырех "Центров GAP", расположенных в Университете Сент-Эндрюса, RWTH Aachen, Техническом университете Брауншвейга и Государственном университете Колорадо в Форт-Коллинсе; в апреле 2020 года к ним присоединился пятый Центр GAP, расположенный в TU Кайзерслаутерн.
Особенности
GAP содержит процедурный язык программирования и обширную библиотеку функций для создания и манипулирования разнообразными математическими объектами. Он поддерживает целые и рациональные числа произвольной точности, ограниченные только объемом доступной памяти. Конечные группы могут быть определены как группы перестановок, а также определены конечно представленные группы путем задания образующих и определяющих соотношений. В состав GAP входят несколько баз данных важных конечных групп. Кроме того, GAP позволяет работать с матрицами и конечными полями (представленными с помощью полиномов Конвея). Также поддерживаются кольца, модули и алгебры Ли.
Распространение
GAP и его источники, включая пакеты (наборы программ, предоставляемых пользователями), библиотеку данных (включая список малых групп) и руководство, распространяются свободно на условиях "copyleft". GAP работает в любой системе Unix, под Windows и на системах Macintosh. Стандартный дистрибутив требует около 300 МБ (около 400 МБ при загрузке всех пакетов). Пакеты, предоставляемые пользователями, являются важной особенностью системы, значительно расширяющей её функциональность. GAP предоставляет авторам пакетов возможность отправлять их на процедуру рецензирования, что, как ожидается, повысит качество конечных пакетов и обеспечит авторам признание, сопоставимое с публикацией в научном журнале. По состоянию на 2021 год с GAP распространяется 151 пакет, из которых примерно 71 прошли эту процедуру. Доступен интерфейс для использования системы компьютерной алгебры SINGULAR из GAP. GAP также входит в состав математической программной системы SageMath.