gap> ker:= Kernel( hom );
2^3
gap> x := (1,8,3,5,7,6,2);; Image( hom, x );
(1,7,5,6,2,3,4)
gap> coset := Preimages( hom, last );
Rightcoset(2^3(2,8,6,7,3,4,5))

Відмітьте, що GAP може вибирати будь-який з представників суміжного класу прообразів. Звичайно ж, приватне двох представників одного суміжного класу лежить в ядрі гомоморфізму:

gap> rep:= Representative( coset );
(2,8,6,7,3,4,5)
gap> x * rep^-1 in ker;
true

Факторгруппа f є простою групою, тобто вона не має нетривіальних нормальних підгруп:

gap> Issimple( f );
true

Група norm діє на 8 елементах своєї нормальної підгрупи elab за допомогою сполучення, що приводить до представлення групи f в S8, що залишає нерухомою тільки крапку 1. Образ цього уявлення може бути обчислений за допомогою функції Action; більш того, він навіть содежітся в групі norm, і ми можемо показати, що norm насправді є расщепімим розширенням елементарної абельовой групи elab за допомогою групи f.

gap> op := Action( norm, elab );
Group([ (), (), (), (5,6)(7,8), (5,7)(6,8), (3,4)(7,8), (3,5)(4,6),
(2,3)(6,7) ])
gap> Issubgroup( a8, op ); Issubgroup( norm, op );
true
true
gap> Istrivial( Intersection( elab, op ));
true

Примітка. Не можна використовувати знак "<" замість Issubgroup. Так, не приводить до помилки команда:

gap> elab < a8;
false

Оператор же рівності "=" фактично перевіряє рівність груп. 4.6 Класи зв'язаних елементів

Іншим джерелом інформації про групу a8 буде її розбиття на класи зв'язаних елементів. Отримаємо список класів зв'язаності:

gap> ccl:=conjugacyclasses(a8);
[ ()^G, (1,2)(3,4)^G, (1,2)(3,4)(5,6)(7,8)^G, (1,2,3)^G, (1,2,3)(4,5)(6,7)^G,
(1,2,3)(4,5,6)^G, (1,2,3,4)(5,6)^G, (1,2,3,4)(5,6,7,8)^G, (1,2,3,4,5)^G,
(1,2,3,4,5)(6,7,8)^G, (1,2,3,4,5)(6,8,7)^G, (1,2,3,4,5,6)(7,8)^G,
(1,2,3,4,5,6,7)^G, (1,2,3,4,5,6,8)^G ]
gap> Length(last);
14

Тепер визначимо порядки представників класів зв'язаності, узявши в кожному класі по одному представникові:

gap> reps:= List( ccl, Representative );
[ (), (1,2)(3,4), (1,2)(3,4)(5,6)(7,8), (1,2,3), (1,2,3)(4,5)(6,7),
(1,2,3)(4,5,6), (1,2,3,4)(5,6), (1,2,3,4)(5,6,7,8), (1,2,3,4,5),
(1,2,3,4,5)(6,7,8), (1,2,3,4,5)(6,8,7), (1,2,3,4,5,6)(7,8), (1,2,3,4,5,6,7),
(1,2,3,4,5,6,8) ]
gap> List( reps, r -> Order( r ));
[ 1, 2, 2, 3, 6, 3, 4, 4, 5, 15, 15, 6, 7, 7 ]

Визначимо, скільки елементів міститься в кожному класі:

gap> List(ccl,size);
[ 1, 210, 105, 112, 1680, 1120, 2520, 1260, 1344, 1344, 1344, 3360, 2880,
2880 ]

Примітка: слід розрізняти функції Order (порядок елементу), Size (порядок групи, класу зв'язаності і тому подібне) і Length (довжина списку).

Побудувавши класи зв'язаних елементів, ми можемо розглядати їх функції, тобто відображення, що набувають однакових значень на всьому класі зв'язаних елементів. Прикладом може бути число нерухомих крапок:

НЕ нашли? Не то? Что вы ищете?

gap> nrfixedpoints:= function( perm, support )
>
return Number( [1 .. support], x -> x^perm = x);
>
end;
function( perm, support )... end

Обчислимо його для групи a8:

gap> permchar1:= List(reps, x->nrfixedpoints(x,8));
[ 8, 4, 0, 5, 1, 2, 2, 0, 3, 0, 0, 0, 1, 1 ]

[Попередній розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\3-data. htm> ][Зміст <file:///d:\ Комп'ютерна%20алгебра\metgap43\metgap43.htm> ][Наступний розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\refs. htm> ]

СПИСОК ЛІТЕРАТУРИ, ЩО РЕКОМЕНДУЄТЬСЯ

1. The GAP Group <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm>, GAP --- Groups, Algorithms, and Programming, Version 4.3; 2002. (http://www. gap-system. org <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm>)

2. Ван дер Варден б. Л. Алгебра. - М., Наука, 19с.

3. Каргаполов м. І., Мерзляков ю. І. Основи теорії груп. - М., Наука, 19с.

4. Коновалов а. Б. Система комп'ютерної алгебри GAP. Методичні вказівки. Запоріжжя: Запорізький державний університет, 19с. ( http://www. zsu. /ppages/konoval/papers/MetodGAP. htm <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm> )

5. Кострікин а. І. Введення в алгебру. - М., Наука, 19с.

6. Курош а. Г. Теорія груп. - М., Наука, 19с.

7. Українська група користувачів GAP.- http://ukrgap. *****/ <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm>.

8. Теорія груп. - М., Видавництво іноземної літератури, 19с.

[Попередній розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\4-groups. htm> ][Зміст <file:///d:\ Комп'ютерна%20алгебра\metgap43\metgap43.htm> ][Наступний розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\a-prog. htm> ]



[Попередній розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\refs. htm> ][Зміст <file:///d:\ Комп'ютерна%20алгебра\metgap43\metgap43.htm> ][Наступний розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\b-funct. htm> ]

ДОДАТОК А

Рекомендації по створенню і запуску програм в системі GAP

GAP дозволяє не тільки проводити обчислення в інтерактивному режимі, але і зберігати програми для подальшого їх застосування. Програми створюються і зберігаються у форматі текстових файлів (яким зазвичай привласнюють розширення "g"), і редагуються за допомогою будь-якого текстового редактора.

Як правило, програма складається з головної частини і набору функцій. При читанні програми (за допомогою команди Read) команди, що містяться в головній частині, виконуються безпосередньо, а функції тільки задаються, і роблять можливим подальше звернення до них. У разі синтаксичних помилок при читанні файлу з програмою будуть видані відповідні повідомлення.

При розробці програм зручно одночасно запускати:
-
GAP;
- текстовий редактор, в якому відкрита програма, що розробляється;
- засіб проглядання
HTML-файлов (наприклад, Internet Explorer або Netscape Navigator) для читання опису GAP в гіпертекстовому форматі (початковий файл - Gap\htm\index.htm).

Крім того, якщо потрібно оформити у вигляді програми послідовність команд, яка була введена в ході роботи з системою в діалоговому режимі, то це зручно зробити, редагуючи файл протоколу, який для цього має бути вже відкритий на початок введення цих команд, за допомогою команди

Logto("file.log");

Приклад: скласти програму, яка визначає, чи є група G кінцевою р-группой для деякого р, і повертає список, перший елемент якого - true або false залежно від результату перевірки, а другий - відповідне значення р, якщо G - p-группа, і false - інакше.

1. Створюємо за допомогою текстового редактора файл "prog.g" наступного змісту:

Print(" Loading Isfinitepgroup()", "\n");
Isfinitepgroup:=function(G)
local divisors; # список простих дільників
if Isfinite(G)=false then
return [false, false];
else
divisors:=set(Factors(Size(G)));
if Length(divisors)=1 then
return [true, divisors[1]];
else
return [false, false];
fi;
fi;
end;

2. Зберігаємо цей файл в каталозі, вибраному з урахуванням рекомендацій параграфа 1.2.

3. Запустимо GAP і визначимо файл протоколу log.txt:

gap> Logto("log.txt");

Тепер задамо групу діедра близько 8:

gap> G:=dihedralgroup(8);
<pc group of size 8 with 3 generators>

Спробуємо звернутися до функції з файлу prog.g:

gap> Isfinitepgroup(G);
Error, Variable: 'Isfinitepgroup' must have а value

Помилка викликана тим, що для використання функції цей файл спочатку необхідно прочитати. При цьому, якщо він містить синтаксичні помилки, то будуть видані повідомлення про них. Читання проводиться командою Read:

gap> Read("prog.g");
Loading Isfinitepgroup()

Помилки виявлені не були. Було видано повідомлення, включене для зручності у файл prog.g.

Тепер перевіримо роботу програми для групи діедра близько 8, а також для симетричної групи S8.

gap> Isfinitepgroup(G);
[ true, 2 ]
gap> H:=symmetricgroup(8);
Sym( [ 1 .. 8 ] )
gap> Isfinitepgroup(H);
[ false, false ]

Очевидно, що програма працює коректно.

[Попередній розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\refs. htm> ][Зміст <file:///d:\ Комп'ютерна%20алгебра\metgap43\metgap43.htm> ][Наступний розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\b-funct. htm> ]

[Попередній розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\a-prog. htm> ][Зміст <file:///d:\ Комп'ютерна%20алгебра\metgap43\metgap43.htm> ][Наступний розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\c-labrab. htm>]

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16