Просмотр содержимого документа
«Программные средства визуализации решений задач теории групп»
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ
ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ М. Е. ЕВСЕВЬЕВА»
Факультет физико-математический
Кафедра информатики и вычислительной техники
РЕФЕРАТ
ПРОГРАММНЫЕ СРЕДСТВА ВИЗУАЛИЗАЦИИ РЕШЕНИЙ ЗАДАЧ ТЕОРИИ ГРУПП (ПАКЕТ GAP)
Автор работы _____________________________________ А. Р. Каникова
Направления подготовки 44.03.05 Педагогическое образование
Профиль Математика. Информатика
Руководитель работы
канд. физ. матю наук, доцент__________________________Т. В. Кормилицына
Оценка __________
Саранск 2021
В настоящее время теория групп является одной из самых развитых областей алгебры, имеющей многочисленные приложения как в самой математике, так и за ее пределами - в топологии, теории функций, квантовой механике и других областях математики и естествознания.
Одной из известных реализаций алгоритмов вычислительной теории групп является система GAP. Разработка системы компьютерной алгебры GAP (название которой расшифровывается как "Groups, Algorithms and Programming", была начата в 1986 г. в г. Аахен, Германия. В 1997 г. центр координации разработки и технической поддержки пользователей переместился в Университет г. Сент-Эндрюс, Шотландия.
В настоящее время GAP является уникальным всемирным совместным научным проектом, объединяющим специалистов в области алгебры, теории чисел, математической логики, информатики и др. наук из различных стран мира[2].
Изначально система GAP разрабатывалась под Unix, а затем была импортирована для работы в других операционных системах. В настоящее время она работает в разнообразных версиях.
Система GAP была задумана как инструмент комбинаторной теории групп - раздела алгебры, изучающего группы, заданные порождающими элементами и определяющими соотношениями. В дальнейшем, с выходом каждой новой версии системы сфера ее применения охватывала все новые и новые разделы алгебры. В разнообразии областей алгебры, охватываемых GAP сегодня, можно убедиться, даже только лишь прочитав названия разделов обширнейшей документации по системе, занимающей около 1500 страниц. Вычислительная мощь системы может быть продемонстрирована находящимся на ее сайте примером определения того, что кубик Рубик имеет 43252003274489856000 различных состояний, и сборки кубика Рубика из произвольного начального состояния в среднем за 100 ходов, дает возможность производить вычисления с гигантскими целыми и рациональными числами, допустимые значения которых ограничены только объемом доступной памяти. Далее, система работает с циклотомическими полями, конечными полями, p-адическими числами, многочленами от многих переменных, рациональными функциями, векторами и матрицами. Пользователю доступны различные комбинаторные функции, элементарные теоретико-числовые функции, разнообразные функции для работы с множествами и списками.
Язык программирования
Символы и категории слов в GAP. GAP воспринимает следующие символы: цифры, буквы (верхний и нижний регистры), пробел, символы табуляции и новой строки, а также специальные символы.
"
'
(
)
*
+
,
–
.
/
:
;
=
~
{
\
]
^
_
{
}
#
Составленные из символов слова относятся к следующим категориям:
ключевые слова (зарезервированные последовательности букв нижнего регистра);
идентификаторы (последовательности цифр и букв, содержащие не менее одной буквы и не являющиеся ключевым словом);
строки (последовательности произвольных символов, заключенная в двойные кавычки);
целые числа (последовательности цифр);
операторы и ограничители в соответствии со следующим списком
+
–
*
/
^
~
=
=
:=
.
. .
–
,
;
[
]
{
}
(
)
Ключевые слова:
and
do
elif
else
end
fi
for
function
if
in
local
mod
not
od
or
repeat
return
then
until
while
quit
Идентификаторы состоят из букв, цифр, символов «_», и должны содержать не менее одной буквы или символа «_». При этом регистр является существенным. Примеры идентификаторов:
A
100x
LongIdentifier
Hello
_100
HELLO
Открытая для пользователей система GAP создавалась на основе подстановочного представления группы. Кроме большого количества запрограммированных алгоритмов, позволяющих строить списки групп с нужными пользователю свойствами, система GAP содержит и готовые таблицы групп.
Приведём список некоторых групп из библиотеки системы GAP с указанными в скобках командами обращения к этим группам, причём параметр filt в этих командах определяет способ задания группы. Например, при filt=IsPermGroup получаем подстановочное представление группы, а при filt = IsMatrixGroup — её линейное представление.
Циклическая группа порядка n (CyclicGroup( [filt, ]n ));
Абелева группа, разложимая в прямую сумму групп порядков ints[1],ints[2],...,ints[n] для списка ints натуральных чисел (AbelianGroup( [filt,]ints ));
Группа диэдра порядка n (DihedralGroup( [filt, ]n ));
Знакопеременная группа степени deg (AlternatingGroup( [filt, ]deg ));
Симметрическая группа степени deg (SymmetricGroup( [filt, ]deg ));
Группа Матье степени degree (MathieuGroup( [filt, ]degree ));
Общая линейная группа обратимых d × d матриц над кольцом R (GL([filt, ]d, R ));
Общая линейная группа обратимых d × d матриц над конечным полем из q элементов (GL( [filt, ]d, q ));
Специальная линейная группа обратимых d × d матриц над кольцом R (SL( [filt, ]d, R ));
Специальная линейная группа обратимых d × d матриц с единичным определителем над конечным полем из q элементов (SL( [filt, ]d, q ));
Проективная специальная линейная группа, изоморфная фактор-группе группы SL(d, q) по её центру (PSL( [filt, ]d, q ));
Группы имеют широкое распространение в математике и встречаются обычно в виде групп преобразований [3]. Всякая абстрактная группа реализуется как группа преобразований. Для изучения внутреннего строения группы часто удобнее другой универсальный способ описания произвольной группы, состоящий в задании порождающих элементов и основных (определяющих) соотношений между ними [5].
Задача 1.Симметрическая группа имеет, кроме себя самой и единичной подгруппы, лишь следующие нормальные подгруппы[1]:
а) знакопеременную группу U ;
б) «четверную группу Клейна», состоящую из подстановок:
gap P5:=SylowSubgroup(A5,5); Group( [ ( 1, 5, 4, 3, 2) ] ) # по второй теореме Силова все Силовские р-подгруппы сопряжены, то функция SylowSubgroup возвращает только одну подгруппу, которая является представителем некоторого класса сопряженных подгрупп
gap C5:=ConjugasyClassSubgroups(A, P5); Group( [ ( 1, 5, 4, 3, 2) ] )^G # чтобы получить остальные подгруппы из этого класса, сначала нужно создать класс сопряженных подгрупп данной группы с заданным представителем, а затем получить список содержащихся в нем подгрупп
Ван дер Варден, Б.Л. Алгебра / Б. Л. Ван дер Варден – М.: Наука, 1976. - 623 с.
Кормилицына, Т. В. Решение задач теории групп в системе компьютерной алгебры GAP / Т. В. Кормилицына, С. М. Миронова // Организация проблемного обучения в школе и вузе / Межвузовский сборник научно-методических трудов. Вып. 3 / Мордов. гос. пед. ин-т – Саранск, 2008. – С. 147 – 149.
Кормилицына, Т. В. Преобразование симметрии и дискретно-групповой анализ обыкновенных дифференциальных уравнений / Т. В. Кормилицына // Технические и естественные науки: проблемы, теория, эксперимент: межвуз. сб. науч. тр. / Мордов. гос. университет. – Саранск, 2002. – С. 125 – 128.
Кострикин, А.И. Введение в алгебру. Часть III/ Основные структуры / А. И. Кострикин – М.: ФИЗМАТЛИТ, 2004 – 495 с.
Ларин, С. В. Лекции по теории групп / – Красноярск.: 1994