Купить Matlab  |  Mathematica  |  Mathcad  |  Maple  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Форум  |  Download
https://hub.exponenta.ru/


 
Простые делители порядков классов сопряженных элементов
выполнил: Зинченко Андрей, 3 курс
руководитель: доцент, к.ф.-м.н. Коновалов А.Б.
Запорожский государственный университет
математический факультет
2002

archive.gif (75 bytes) Архив разработки (16 кб, Word)

    Объект исследования – конечные группы, порядок которых не превышает 2000, и простые делители порядков классов сопряженных элементов в этих группах.

     

    Цель работы – исследование с помощью системы компьютерной алгебры GAP проблемы № 14.65 из Коуровской тетради (изд-е 14-е, Новосибирск, 1999):

     

    Для конечной группы G пусть обозначает множество простых чисел, делящих порядок какого-либо класса сопряженных элементов, а — максимум числа простых делителей порядка класса сопряженных элементов. Верно ли, что ?

     

    В результате работы с помощью библиотеки конечных групп системы GAP было проверено, что условие выполняется для всех конечных групп, порядок которых не превышает 2000.

Введение

 

Система компьютерной алгебры GAP, название которой расшифровывается как "Groups, Algorithms and Programming", была задумана в 1985 году как инструмент комбинаторной теории групп - раздела алгебры, изучающего группы, заданные порождающими элементами и определяющими соотношениями. Однако с выходом каждой новой версии программы сфера ее применения охватывала все новые и новые разделы алгебры, и сейчас это довольно масштабная по своему охвату система. Каждая из систем такого рода, будь то MathCAD, Maple, Mathematica или Statistica, имеет свои преимущества для представителей той или иной области математики, и GAP наиболее привлекателен для исследований в области абстрактной алгебры.

 

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

 

Система GAP содержит библиотеку конечных групп, порядок которых не превышает 2000 ( исключением групп порядка 1024), которая будет использована для решения поставленной задачи.

 

Более подробная информация о системе GAP может быть найдена на сайте Украинской группы пользователей GAP по адресу http://www.zsu.zp.ua/UkrGAP/.

 

Постановка задачи

 

В данной работе с помощью библиотеки конечных групп системы GAP было необходимо проверить для всех конечных групп, порядок которых не превышает 2000, проблему № 14.65 из Коуровской тетради:

Для конечной группы G пусть обозначает множество простых чисел, делящих порядок какого-либо класса сопряженных элементов, а — максимум числа простых делителей порядка класса сопряженных элементов. Верно ли, что ?

 

Решение задачи

 

Пусть . Тогда классом сопряженных элементов, порожденным элементом , называется множество элементов , для которых существует элемент такой, что .

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

Заметим, что пропускание проверки условия задачи для р-групп – существенно сокращает работу программы, почти в 100 раз.

Для решения данной задачи была составлена программа на языке GAP, которая, перебирая все группы из библиотеки конечных групп системы GAP (за исключением р-групп), проверяет для них выполнение указанного условия.

Данная программа содержит одну функцию test, которая зависит от двух переменных r (порядок группы) и p (номер группы порядка p в библиотеке групп, с которого начинается проверка условия). Результат работы программы сохраняется в файл "new.log".

 

Алгоритм программы

 

  1. Проверяем, является ли группа G конечной p-группой.
  2. Получаем список сс классов сопряженных элементов группы G.
  3. Получаем список sizes, состоящий из порядков элементов списка сс.
  4. Получаем список ds, состоящий из списков простых делителей элементов sizes.
  5. Получаем Ro – множество простых чисел, делящих порядок какого-либо элемента sizes.
  6. Получаем SigmaMas – список простых делителей каждого порядка класса сопряженных элементов.
  7. Ищем максимальное число Max в SigmaMas и проверяем условие задачи. В зависимости от выполнения условия Size(Ro)<=3*Max печатаем в файл "new.log" результат.
  8. Далее, перебирая группы, повторяем вышеуказанные операции с остальными группами.

 

Результаты работы

 

В результате работы с помощью библиотеки конечных групп системы GAP было проверено, что условие выполняется для всех конечных групп, порядок которых не превышает 2000.

 

Приложение А. Текст программы

    test:=function(r,p)

    local

            i,j,k,      # счетчики

             G,        # Проверяемая группа

             cc,        # список классов сопряженных элементов

             sizes,    # список порядков классов сопряженных элементов

             ds,        # список делителей порядков классов сопряженных элементов

             Ro,        # множество делителей порядков классов сопряженных элементов

             SigmaMas,    # список чисел простых делителей порядка класса сопр. эл.

             Max,    # максимальное число прост. дел-лей порядка класса сопр. эл.

             s,

             flag;    # индикатор выполнения условия

    LogTo("new.log");

    for j in [r..2000] do

      if j<>1024 then

        for i in [p..NumberSmallGroups(j)] do

          G:=SmallGroup(j,i);

          if not(IsPGroup(G)) then             # Является ли G – р группой

            Print("G= ", IdGroup(G), " : ");  # Номер G в каталоге

            cc:=ConjugacyClasses(G);

            sizes:=List(cc,Size);

            ds:=List(sizes,Factors);Ro:=[];

            for k in ds do Append(Ro, k); od;

            Ro:=Set(Ro);

            SigmaMas:=List(ds, x -> Length(Set(x)));

            Max:=SigmaMas[1];

            for s in SigmaMas do

                if s>Max then Max:=s; fi;

            od;

            if Size(Ro)<=3*Max then

                flag:="True";Print(flag,"\n");

            else

                flag:="False";Print(flag," ",G,"\n");

            fi;

          fi;

        od;

      od;

    fi;

    LogTo();

    end;

Пример работы программы

    gap> Read("new.g");

    gap> test(1,1);

        G= [ 6, 1 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 6, 2 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 10, 1 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 10, 2 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 12, 1 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 12, 2 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 12, 3 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 12, 4 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 12, 5 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 14, 1 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 14, 2 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 15, 1 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 18, 1 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 18, 2 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 18, 3 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 18, 4 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 18, 5 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 20, 1 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 20, 2 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 20, 3 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 20, 4 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 20, 5 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 21, 1 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 21, 2 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 22, 1 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 22, 2 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 24, 1 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 24, 2 ] : |Ro| = 1 3*Sigma(G) = 3 True

        G= [ 24, 3 ] : |Ro| = 3 3*Sigma(G) = 6 True

        G= [ 24, 4 ] : |Ro| = 3 3*Sigma(G) = 6 True

        G= [ 24, 5 ] : |Ro| = 3 3*Sigma(G) = 3 True

        G= [ 24, 6 ] : |Ro| = 3 3*Sigma(G) = 6 True

        G= [ 24, 7 ] : |Ro| = 3 3*Sigma(G) = 3 True

Заметим, что информация, выводимая программой на экран, дублируется в файле “new.log”.

 

Список использованной литературы

  1. The GAP Group, GAP — Groups, Algorithms, and Programming, Version 4.3; 2002, http://www.gap-system.org.
  2. Ван дер Варден Б.Л. Алгебра. –М.,Наука, 1976. -623 с.
  3. Каргаполов М.И., Мерзляков Ю.И. Основы теории групп. – М., Наука, 1982. -288 с.
  4. Коновалов А.Б. Система компьютерной алгебры GAP. Методические указания. – Запорожье: ЗГУ, 1998г.–42 с.
  5. Кострикин А.И. Введение в алгебру. - М.,Наука,1977.- 495 с.
  6. Курош А.Г. Теория групп. - М.,Наука,1967.- 648 с.
  7. Нерешенные вопросы теории групп. Коуровская тетрадь. Изд-е 14-е, дополненное. — Новосибирск, 1999. — 134 с.
  8. Холл М. Теория групп. – М., Издательство иностранной литературы, 1962. – 468 с.

В начало

| На первую страницу | Поиск | Купить Matlab

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


Copyright © 1993-2024. Компания Softline. Все права защищены.

Дата последнего обновления информации на сайте: 04.03.17
Сайт начал работу 01.09.00