Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Система компьютерной алгебры GAP


Служба Рассылок Subscribe.Ru

О системе компьютерной алгебры GAP

Система компьютерной алгебры GAP(http://www-gap.dcs.st-and.ac.uk/~gap), название
которой расшифровывается как "Groups, Algorithms and Programming", была задумана
около 15 лет назад как инструмент комбинаторной теории групп - раздела алгебры,
изучающего группы, заданные порождающими элементами и определяющими соотношениями,
а с выходом каждой новой версии программы сфера ее применения охватывала все
новые и новые разделы алгебры.

Разработка системы была начата в 1986 г. в г.Аахен, Германия (http://www.math.rwth-aachen.de/LDFM/).
В 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, работу с системой в
программном и интерактивном режиме;
- библиотеки функций, в которой реализованы разнообразные алгебраические алгоритмы
(более 4000 пользовательских функций, более 140000 строк программ на языке GAP);
- библиотеки данных, включая, например, библиотеку всех групп порядка не более
2000 (за исключением 49487365422 групп порядка 1024), библиотеку примитивных
групп подстановок, таблицы характеров конечных групп и т.д., что в совокупности
составляет эффективное средство для выдвижения и тестирования научных гипотез;
- обширной (около полутора тысяч страниц) документации, доступной в разнообразных
форматах (tex, ps, pdf, htm), а также через Интернет.

Краткий обзор возможностей GAP
для работы с различными видами алгебраических объектов

Прежде всего, это возможность производить вычисления с гигантскими целыми и рациональными
числами, допустимые значения которых ограничены только объемом доступной памяти.
Далее, система работает с циклотомическими полями, конечными полями, р-адическими
числами, многочленами от многих переменных, рациональными функциями, векторами
и матрицами. Пользователю доступны различные комбинаторные функции, элементарные
теоретико-числовые функции, разнообразные функции для работы с множествами и
списками.

Группы могут быть заданы в различной форме, например, как группы подстановок,
матричные группы, группы, заданные порождающими элементами и определяющими соотношениями.
Более того, построив, например, групповую алгебру, можно вычислить ее мультипликативную
группу, и даже задать ее подгруппу, порожденную конкретными обратимыми элементами
групповой алгебры. Ряд групп может быть задан непосредственным обращением к библиотечным
функциям (например, симметрическая и знакопеременная группы, группа диэдра, циклическая
группа и др.).

Функции для работы с группами включают определение порядка группы, вычисление
классов сопряженных элементов, центра и коммутанта группы, верхнего и нижнего
центрального рядов, ряда коммутантов, Силовских подгрупп, максимальных подгрупп,
нормальных подгрупп, решеток подгрупп, групп автоморфизмов, и т.д. Для ряда конечных
групп доступно определение их типа изоморфизма.

Интересная демонстрация возможностей системы на примере построения математической
модели кубика Рубика и исследования описывающей его группы подстановок с помощью
системы GAP может быть найдена на сайте GAP по адресу http://www-history.mcs.st-and.ac.uk/~gap/Intro/rubik.html

Теория представлений групп также входит в область применения системы GAP. Здесь
имеются инструменты для вычисления таблиц характеров конкретных групп, действий
над характерами и интерактивного построения таблиц характеров, определения теоретико-групповых
свойств на основании свойств таблицы характеров группы. Модулярные представления
групп (т.е. представления над полем, характеристика которого делит порядок группы)
также могут быть исследованы с помощью GAP.

В последней версии системы существенным образом расширены возможности для работы
с векторными пространствами, алгебрами и модулями. В системе могут быть определены
векторные пространства над всеми доступными полями и модули над всеми доступными
кольцами. Имеются алгоритмы для вычисления структуры конечномерных алгебр Ли,
которые могут быть, например, заданы структурными константами или порождающими
элементами, вычисления различных их Лиевских подалгебр и идеалов.

Среди других областей применения системы - теория графов и их автоморфизмов,
теория кодирования, группы Галуа, полугруппы, кристаллографические группы, и
многое другое. Существует графический интерфейс XGAP, который работает под OC
Linux или Unix и позволяет, например, графически изобразить решетку подгрупп
группы. Информация о существующих разработках для применения в той или проблемной
области может быть найдена на сайте GAP (http://www-gap.dcs.st-and.ac.uk/~gap)
в разделе "share packages".

Более нетривиальные примеры применения GAP Вы сможете найти в справочном руководстве,
которое, кстати, не только поставляется вместе с системой, но и доступно для
просмотра по адресу http://www-gap.dcs.st-and.ac.uk/~gap/Info4/manual.html, и
на сайте Украинской группы пользователей GAP по адресу http://www.zsu.zp.ua/UkrGAP/

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное