Разработчик(и) | |
---|---|
Первоначальный выпуск | 1988 |
Стабильный релиз | 4.13.1 [1] / 13 июня 2024 г. ( 13 июня 2024 ) |
Репозиторий |
|
Написано в | С |
Операционная система | Кроссплатформенный |
Тип | Система компьютерной алгебры |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | www.gap-system.org |
GAP ( Группы , алгоритмы и программирование ) — это система компьютерной алгебры с открытым исходным кодом для вычислительной дискретной алгебры с особым акцентом на вычислительную теорию групп .
GAP был разработан в Lehrstuhl D für Mathematik (LDFM), Rheinisch-Westfälische Technische Hochschule Aachen , Германия с 1986 по 1997 год. После ухода Иоахима Нойбюзера с кафедры LDFM, разработка и поддержка GAP координировалась Школой математических и вычислительных наук в Университете Сент-Эндрюс , Шотландия . [2] Летом 2005 года координация была передана равноправному партнерству четырех «Центров GAP», расположенных в Университете Сент-Эндрюс, Рейнско-Вестфальском техническом университете Ахена, Техническом университете Брауншвейга и Университете штата Колорадо в Форт-Коллинзе ; в апреле 2020 года был добавлен пятый Центр GAP, расположенный в Техническом университете Кайзерслаутерна . [3]
GAP содержит процедурный язык программирования и большой набор функций для создания и манипулирования различными математическими объектами. Он поддерживает целые и рациональные числа произвольного размера, если позволяет память. Конечные группы могут быть определены как группы перестановок , а также возможно определить конечно представленные группы, указав генераторы и отношения. Включено несколько баз данных важных конечных групп. GAP также позволяет работать с матрицами и конечными полями (которые представлены с помощью полиномов Конвея ). Также поддерживаются кольца , модули и алгебры Ли .
GAP и его источники, включая пакеты (наборы пользовательских программ), библиотеку данных (включая список малых групп ) и руководство, распространяются свободно, при соблюдении условий " copyleft ". GAP работает на любой системе Unix , под Windows и на системах Macintosh . Стандартный дистрибутив требует около 300 МБ (около 400 МБ, если загружены все пакеты).
Пакеты, предоставленные пользователями, являются важной функцией системы, добавляя значительную часть функциональности. GAP предлагает авторам пакетов возможность отправлять эти пакеты на процесс рецензирования , что, как мы надеемся, улучшит качество окончательных пакетов и обеспечит признание, подобное академической публикации, для их авторов. По состоянию на март 2021 года [обновлять], с GAP распространяется 151 пакет, из которых примерно 71 прошли этот процесс.
Интерфейс доступен для использования системы компьютерной алгебры SINGULAR из GAP. GAP также включен в математическую программную систему SageMath .
gap> G := SmallGroup ( 8 , 1 ) ; # Установить G как группу порядка 8. <pc группа размера 8 с 3 генераторами> gap> i := IsomorphismPermGroup ( G ) ; # Найти изоморфизм из G в группу перестановок. <action isomorphism> gap> Image ( i , G ) ; # Генераторы для образа G при i - записанные как произведения непересекающихся циклических перестановок. Group([ (1,5,3,7,2,6,4,8), (1,3,2,4)(5,7,6,8), (1,2)(3,4)(5,6)(7,8) ]) gap> Elements ( Image ( i , G )) ; # Все элементы im G. [ (), (1,2)(3,4)(5,6)(7,8), (1,3,2,4)(5,7,6,8), (1,4,2,3)(5,8,6,7), ( 1,5,3,7,2,6,4,8), (1,6,3,8,2,5,4,7), (1,7,4,5,2,8,3,6), (1,8,4,6,2,7,3,5) ]