Программные средства визуализации решений
задач теории групп
В настоящее время теория групп является одной из самых развитых
областей алгебры, имеющей многочисленные приложения как в самой
математике, так и за ее пределами в топологии, теории функций, квантовой
механике и других областях математики и естествознания.
Одной из известных реализаций алгоритмов вычислительной теории
групп является система GAP. Разработка системы компьютерной алгебры
GAP (название которой расшифровывается как "Groups, Algorithms and
Programming", была начата в 1986 г. в г. Аахен, Германия. В 1997 г. центр
координации разработки и технической поддержки пользователей
переместился в Университет г. СентЭндрюс, Шотландия.
В настоящее время GAP является уникальным всемирным совместным
научным проектом, объединяющим специалистов в области алгебры, теории
чисел, математической логики, информатики и др. наук из различных стран
мира[2].
Изначально система GAP разрабатывалась под Unix, а затем была
импортирована для работы в других операционных системах. В настоящее
время она работает в разнообразных версиях.
Система GAP была задумана как инструмент комбинаторной теории
групп раздела алгебры, изучающего группы, заданные порождающими
элементами и определяющими соотношениями. В дальнейшем, с выходом
каждой новой версии системы сфера ее применения охватывала все новые и
новые разделы алгебры. В разнообразии областей алгебры, охватываемых GAP
сегодня, можно убедиться, даже только лишь прочитав названия разделов
обширнейшей документации по системе, занимающей около 1500 страниц.
Вычислительная мощь системы может быть продемонстрирована
находящимся на ее сайте примером определения того, что кубик Рубик имеет 43252003274489856000 различных состояний, и сборки кубика Рубика из
произвольного начального состояния в среднем за 100 ходов, дает
возможность производить вычисления с гигантскими целыми и
рациональными числами, допустимые значения которых ограничены только
объемом доступной памяти. Далее, система работает с циклотомическими
полями, конечными полями, pадическими числами, многочленами от многих
векторами и матрицами.
переменных,
Пользователю доступны различные комбинаторные функции, элементарные
рациональными функциями,
теоретикочисловые функции, разнообразные функции для работы с
множествами и списками.
Язык программирования
Символы и категории слов в GAP. GAP воспринимает следующие
символы: цифры, буквы (верхний и нижний регистры), пробел, символы
табуляции и новой строки, а также специальные символы.
"
.
{
'
/
\
(
:
]
)
;
^
*
<
_
+
=
{
,
>
}
–
~
#
Составленные из символов слова относятся к следующим категориям:
ключевые слова (зарезервированные последовательности букв
идентификаторы (последовательности цифр и букв, содержащие
нижнего регистра);
не менее одной буквы и не являющиеся ключевым словом);
строки (последовательности произвольных символов, заключенная
в двойные кавычки);
целые числа (последовательности цифр);
операторы и ограничители в соответствии со следующим списком
+
–
*
/
^
~
2 =
:=
[
<>
.
]
<
. .
{
<=
–>
}
>
,
(
>=
;
)
Ключевые слова:
and
for
not
until
do
function
od
while
elif
if
or
quit
else
in
end
local
repeat
return
fi
mod
then
Идентификаторы состоят из букв, цифр, символов «_», и должны
содержать не менее одной буквы или символа «_». При этом регистр является
существенным. Примеры идентификаторов:
A
Hello
100x
_100
LongIdentifier
HELLO
Открытая для пользователей система GAP создавалась на основе
подстановочного представления группы. Кроме большого количества
запрограммированных алгоритмов, позволяющих строить списки групп с
нужными пользователю свойствами, система GAP содержит и готовые
таблицы групп.
Приведём список некоторых групп из библиотеки системы GAP с
указанными в скобках командами обращения к этим группам, причём
параметр filt в этих командах определяет способ задания группы. Например,
при filt=IsPermGroup получаем подстановочное представление группы, а при
filt = IsMatrixGroup — её линейное представление.
Циклическая группа порядка n (CyclicGroup( [filt, ]n ));
3 Абелева группа, разложимая в прямую сумму групп порядков
натуральных чисел
для
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. Симметрическая группа
имеет, кроме себя самой и
4
единичной подгруппы, лишь следующие нормальные подгруппы[1]:
а) знакопеременную группу U
;
4
б) «четверную группу Клейна», состоящую из подстановок:
4 (1), (1 2) (3 4), (1 3) (2 4), (1 4) (2 3).
Последняя группа абелева.
c:=SymmetricGroup(4); Sym( [ 1 .. 4 ] )
gap> NormalSubgroups(c);
[ Group(()), Group([ (1,4)(2,3), (1,3)(2,4) ]), Group([ (2,4,3), (1,4)(2,3), (1,3)
(2,4) ]), Sym( [ 1 .. 4 ] ) ]
gap> z:=Group([(2,4,3),(1,4)(2,3),(1,3)(2,4)]); Group([ (2,4,3), (1,4)(2,3),
(1,3)(2,4) ])
gap> IsAbelian(z); false
gap> x:=Group([(1,4)(2,3),(1,3)(2,4)]); Group([ (1,4)(2,3), (1,3)(2,4) ])
gap> IsAbelian(x); true
Задача 2. Найти число Силовских 5подгрупп в
[4].
5A
gap> S:= SymmetricGroup(5); Sym( [ 1 … 5 ] )
gap> A5:= CommutatorSubgroup(S, S); Group( [ ( 1, 2, 3), (2, 3, 4), (2, 4)
(3, 5) ] ) # задание исходной группы
gap> P5:=SylowSubgroup(A5,5); Group( [ ( 1, 5, 4, 3, 2) ] ) # по второй
теореме Силова все Силовские рподгруппы сопряжены, то функция
SylowSubgroup возвращает только одну подгруппу, которая является
представителем некоторого класса сопряженных подгрупп
gap> C5:=ConjugasyClassSubgroups(A, P5); Group( [ ( 1, 5, 4, 3, 2) ] )^G #
чтобы получить остальные подгруппы из этого класса, сначала нужно создать
класс сопряженных подгрупп данной группы с заданным представителем, а
затем получить список содержащихся в нем подгрупп
gap> L5:= AsList(C5); [ Group( [ ( 1, 5, 4, 3, 2) ] ), Group( [ ( 1, 3, 5, 4,
2) ] ), Group( [ ( 1, 4, 3, 5, 2) ] ), Group( [ ( 1, 4, 5, 2, 3) ] ), Group( [ ( 1, 5, 2, 4, 3)
] ), Group( [ ( 1, 5, 3, 2, 4) ] )
gap> H:= Length(L5); 6
5 6 Список источников:
1
Ван дер Варден, Б.Л. Алгебра / Б. Л. Ван дер Варден – М.: Наука,
1976. 623 с.
2 Кормилицына, Т. В. Решение задач теории групп в системе
компьютерной алгебры GAP / Т. В. Кормилицына, С. М. Миронова //
Организация проблемного обучения в школе и вузе / Межвузовский сборник
научнометодических трудов. Вып. 3 / Мордов. гос. пед. инт – Саранск, 2008.
– С. 147 – 149.
3
Кормилицына, Т. В. Преобразование симметрии и дискретно
групповой анализ обыкновенных дифференциальных уравнений / Т. В.
Кормилицына // Технические и естественные науки: проблемы, теория,
эксперимент: межвуз. сб. науч. тр. / Мордов. гос. университет. – Саранск,
2002. – С. 125 – 128.
4
Кострикин, А.И. Введение в алгебру. Часть III/ Основные
структуры / А. И. Кострикин – М.: ФИЗМАТЛИТ, 2004 – 495 с.
5
Ларин, С. В. Лекции по теории групп / – Красноярск.: 1994
7
Программные средства визуализации решений задач теории групп
Программные средства визуализации решений задач теории групп
Программные средства визуализации решений задач теории групп
Программные средства визуализации решений задач теории групп
Программные средства визуализации решений задач теории групп
Программные средства визуализации решений задач теории групп
Программные средства визуализации решений задач теории групп
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.