| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
|
Система компьютерной алгебры GAP Система компьютерной алгебры GAP ( ), название которой расшифровывается как "Groups, Algorithms and Programming", была задумана около 15 лет назад как инструмент комбинаторной теории групп - раздела алгебры, изучающего группы, заданные порождающими элементами и определяющими соотношениями. Однако с выходом каждой новой версии программы сфера ее применения охватывала все новые и новые разделы алгебры, и сейчас это довольно масштабная по своему охвату система. Каждая из систем такого рода, будь то MathCAD, Maple, Mathematica или Statistica, имеет свои преимущества для представителей той или иной области математики, и GAP наиболее привлекателен для исследований в области абстрактной алгебры. Разработка системы была начата в 1986 г. в г.Аахен, Германия ( ). В 1997 г. центр, который осуществляет координацию разработки и техническую поддержку пользователей, переместился в Университет г.Сент-Эндрюс (Шотландия). Текущая версия системы - GAP 4.2 - вышла в свет в феврале 2000 г. Изначально система GAP разрабатывалась под Unix, а затем была портирована для работы в других операционных системах. В настоящее время она работает под разнообразными версиями Unix/Linux, а также под Windows 9x, Windows NT, MacOS. Заметим, что производительность системы под Unix/Linux возрастает на 20-40% по сравнению с Windows. GAP является свободно распространяемой, открытой и расширяемой системой. Она распространяется бесплатно (исключение могут составлять только накладные расходы), и пользователи могут свободно передавать ее другим пользователям (с некоторыми ограничениями, касающимися модификации системы или ее частей). Далее, система поставляется вместе с исходными текстами, которые написаны на двух языках: ядро системы написано на Си, а библиотека функций - на специальном языке, также называемом GAP, который напоминает Pascal. Пользователи могут создавать свои собственные программы на этом языке, и здесь исходные тексты являются незаменимым наглядным пособием. Наконец, разработчики программ для GAP могут оформить свои разработки в стандарте share package и представить их на рассмотрение в совет GAP. После прохождения процедуры рецензирования и одобрения советом GAP эта разработка включается в приложение к дистрибутиву GAP для распространения вместе с ним, и приравнивается к научной публикации. Помимо уже упомянутых share packages, система состоит из следующих четырех основных компонент:
Прежде всего, это возможность производить вычисления с гигантскими целыми и рациональными числами, допустимые значения которых ограничены только объемом доступной памяти. Далее, система работает с циклотомическими полями, конечными полями, р-адическими числами, многочленами от многих переменных, рациональными функциями, векторами и матрицами. Пользователю доступны различные комбинаторные функции, элементарные теоретико-числовые функции, разнообразные функции для работы с множествами и списками. Группы могут быть заданы в различной форме, например, как группы подстановок, матричные группы, группы, заданные порождающими элементами и определяющими соотношениями. Более того, построив, например, групповую алгебру, можно вычислить ее мультипликативную группу, и даже задать ее подгруппу, порожденную конкретными обратимыми элементами групповой алгебры. Ряд групп может быть задан непосредственным обращением к библиотечным функциям (например, симметрическая и знакопеременная группы, группа диэдра, циклическая группа и др.). Функции для работы с группами включают определение порядка группы, вычисление классов сопряженных элементов, центра и коммутанта группы, верхнего и нижнего центрального рядов, ряда коммутантов, Силовских подгрупп, максимальных подгрупп, нормальных подгрупп, решеток подгрупп, групп автоморфизмов, и т.д. Для ряда конечных групп доступно определение их типа изоморфизма. Интересная демонстрация возможностей системы на примере построения математической модели кубика Рубика и исследования описывающей его группы подстановок с помощью системы GAP может быть найдена на сайте GAP по адресу Теория представлений групп также входит в область применения системы GAP. Здесь имеются инструменты для вычисления таблиц характеров конкретных групп, действий над характерами и интерактивного построения таблиц характеров, определения теоретико-групповых свойств на основании свойств таблицы характеров группы. Модулярные представления групп (т.е. представления над полем, характеристика которого делит порядок группы) также могут быть исследованы с помощью GAP. В последней версии системы существенным образом расширены возможности для работы с векторными пространствами, алгебрами и модулями. В системе могут быть определены векторные пространства над всеми доступными полями и модули над всеми доступными кольцами. Имеются алгоритмы для вычисления структуры конечномерных алгебр Ли, которые могут быть, например, заданы структурными константами или порождающими элементами, вычисления различных их Лиевских подалгебр и идеалов. Среди других областей применения
системы - теория графов и их автоморфизмов, теория кодирования, группы
Галуа, полугруппы, кристаллографические группы, и многое другое. Существует
графический интерфейс XGAP, который работает под OC Linux или Unix и позволяет,
например, графически изобразить решетку подгрупп группы. Информация о существующих
разработках для применения в той или проблемной области может быть найдена
на сайте GAP (
) в разделе "share packages".
Получение и инсталляция системы Дистрибутив системы может быть загружен с одного из четырех сайтов, главным из которых является сайт GAP Group . Остальные три находятся в г.Аахен (Германия), г.Бостон (США), г.Канберра (Австралия). Ссылки на них могут быть найдены на сайте GAP Group. Описание дистрибутива находится по адресу . Каталог, содержащий дистрибутив GAP 4.2 на FTP-сервере - ftp://ftp-gap.dcs.st-and.ac.uk/pub/gap/gap4/ . Дистрибутив занимает порядка 40 MB, в развернутом виде полная версия требует около 156 МВ (без некоторых специальных инструментов теории представлений групп, которые требуют еще 130 МВ). Для экономии места можно сначала установить частичную версию, а затем по мере необходимости дополнять ее новыми модулями. GAP вполне нормально работает на ПК Pentium 166-MMX, RAM 32 MB, но рекомендуется RAM 64 MB. Сначала с помощью описания дистрибутива необходимо определить, какой набор файлов необходим для Вашей операционной системы. На самом деле, различия между дистрибутивами (как по размеру, так и по содержанию) очень невелики. GAP разработан таким образом, что при переходе от одной операционной системы к другой меняется только его ядро, написанное на Си, и способ запуска программы. Основная же часть информации (библиотеки функций и данных), имеющие формат текстовых файлов – программ на языке GAP или специальным образом представленных данных – остается неизменной, а ядро уже, в свою очередь, обращается к ним. С учетом незначительного различия состава дистрибутива для разных систем можно рекомендовать вариант загрузки полной версии дистрибутива (т.е. для Unix/Linux-систем), после чего пользователям Windows нужно добавить всего несколько файлов, чтобы система могла работать и под Windows. Это даст им возможность ознакомиться с перспективами использования системы под Linux, и, возможно, приведет их к решению о переходе к ее использованию, например, в случае большого объема вычислений, или необходимости использовать некоторые share packages, работающие только под Unix/Linux. В общем случае для инсталляции понадобятся следующие файлы:
#########
###### ###########
###
Information at: http://www-gap.dcs.st-and.ac.uk/~gap
Loading the library. Please be patient, this may take
a while.
Если это так – поздравляем с успешным завершением инсталляции! Кстати, стартовая страница руководства в формате html находится в файле GAP4r2/doc/htm/INDEX.HTM На русском языке доступно разработанное автором методическое пособие по предыдущей версии системы - GAP 3.4.4. Особенности системы, описанные в нем, незначительно изменились при переходе к новой версии 4.2, поэтому его можно использовать для получения общего представления о системе. Текст пособия помещен на сайте GAP Group по адресам и ftp://ftp-gap.dcs.st-and.ac.uk/pub/gap/gap4/deposit/teaching/GAP-rus.zip , а также на сайте Exponenta.ru по адресу Дальнейшая информация о системе GAP
может быть найдена на сайте GAP Group по адресу
. Там же можно подписаться на GAP-Forum - список рассылки новостей системы
GAP.
Коновалов А.Б.,
|
|
|
| ||||||||||||||||
|