- •Р.М.Літнарович, ю.Г.Лотюк комп’ютерна алгебра навчально-методичний посібник
- •© Літнарович р.М., Лотюк ю.Г.,2010 р.
- •1. Програма нормативної дисципліни
- •2. Мета та завдання дисципліни,
- •3. Формування практичних навичків
- •4. Зміст дисципліни
- •4.1.Лекції, найменування тем за їх змістом
- •6.Перелік питань до заліку
- •7.Науково-дослідна робота студентів
- •8. Літературні джерела
- •9.Розподіл балів за один змістовий модуль, присвоюваних студентам
- •10.Шкала оцінювання:
- •11.Зміни та доповнення ,внесені в робочу програму на 201__ рік
- •12.Оцінка навчальної діяльності студента
- •2. Лекційний курс Лекція 1. (2 год.)
- •1.1 Коротка характеристика gap
- •1.2 Можливості для роботи з різними видами об'єктів алгебри
- •1.3 Приклади простих обчислень
- •2 Мова програмування gap
- •2.1 Символи і категорії слів в gap
- •2.2 Ключові слова
- •2.3 Ідентифікатори
- •2.4 Вирази
- •2.5 Звернення до функцій
- •2.6 Порівняння виразів
- •2.7 Арифметичні оператори
- •2.8 Привласнення
- •2.9 Виклик процедури
- •2.10 Команда if
- •2.11 Цикл while
- •2.12 Цикл repeat
- •2.13 Цикл for
- •2.14 Функції
- •3 Структури даних
- •3.1 Константи і оператори
- •3.2 Змінні і привласнення
- •3.3 Функції
- •3.4 Списки
- •3.5 Тотожність і рівність списків
- •3.6 Множини
- •3.7 Вектори і матриці
- •3.8 Записи
- •3.9 Арифметичні прогресії
- •3.10 Використання циклів
- •3.11 Подальші операції із списками
- •3.12 Функції
- •4 Операції над групами і їх елементами
- •4.1 Завдання групи підстановок
- •4.2 Завдання підгрупи групи підстановок
- •4.3 Прості властивості групи. Силовськие підгрупи.
- •4.4 Інші види підгруп
- •4.5 Факторгруппи
- •Список літератури, що рекомендується
- •Додаток а Рекомендації по створенню і запуску програм в системі gap
- •1. Створюємо за допомогою текстового редактора файл "prog.G" наступного змісту:
- •2. Зберігаємо цей файл в каталозі, вибраному з урахуванням рекомендацій параграфа 1.2.
- •3. Запустимо gap і визначимо файл протоколу log.Txt:
- •Лабораторна робота № 1. Основи роботи з системою gap в Windows
- •Лабораторна робота № 2 Списки. Цілі числа
- •Завдання для лабораторної роботи № 2
- •Лабораторна робота № 3. Лінійні програми. Вектори і матриці
- •Завдання для лабораторної роботи № 3
- •Лабораторна робота № 4. Програми, що гілкуються. Многочлени
- •Лабораторна робота № 5. Циклічні програми (цикл for). Бінарні відносини
- •Лабораторна робота № 6. Циклічні програми (цикл while). Підстановки
- •Лабораторна робота № 7. Циклічні програми (цикл repeat). Групи підстановок
- •Завдання для лабораторної роботи № 7
- •Лабораторна робота № 8. Вивчення властивостей елементів групи
- •Завдання для лабораторної роботи № 7
- •Лабораторна робота № 9. Вивчення властивостей підгруп групи.
- •Завдання для лабораторної роботи № 9.
- •Лабораторна робота № 10. Робота з бібліотекою кінцевих груп
- •Додаткові завдання
- •33027 Рівне , Україна
Лабораторна робота № 8. Вивчення властивостей елементів групи
Дана лабораторна робота призначена для вивчення деяких прийомів роботи з елементами груп.
Докладні відомості по даних темах містяться: - в розділі "Операції над групами і їх елементами" <file:///d:\ Комп'ютерна%20алгебра\metgap43\4-groups.htm> і Додатку B <file:///d:\ Комп'ютерна%20алгебра\metgap43\b-funct.htm> (деякі функції GAP для роботи з групами) даної методичної допомоги; - в розділі "Groups" довідкового керівництва за системою GAP <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm> і інших відповідних його розділах.
Приклад: Знайти всі 2-елементні множини, що породжують симетричну групу S3.
У інтерактивному режимі цю задачу можна вирішити таким чином: gap> S:=symmetricgroup(3); # початкова група Sym( [ 1 .. 3 ] ) gap> g:=aslist(S); # список її елементів [ (), (2,3), (1,2), (1,2,3), (1,3,2), (1,3) ] gap> m:=combinations(g,2); # всілякі неврегульовані пари [ [ (), (2,3) ], [ (), (1,2) ], [ (), (1,2,3) ], [ (), (1,3,2) ], [ (), (1,3) ], [ (2,3), (1,2) ], [ (2,3), (1,2,3) ], [ (2,3), (1,3,2) ], [ (2,3), (1,3) ], [ (1,2), (1,2,3) ], [ (1,2), (1,3,2) ], [ (1,2), (1,3) ], [ (1,2,3), (1,3,2) ], [ (1,2,3), (1,3) ], [ (1,3,2), (1,3) ] ] gap> Length(m); # всього 15 пар елементів 15 gap> Filtered(m, t -> S=subgroup(S,t)); # відбираємо ті пари, які породжують всю групу [ [ (2,3), (1,2) ], [ (2,3), (1,2,3) ], [ (2,3), (1,3,2) ], [ (2,3), (1,3) ], [ (1,2), (1,2,3) ], [ (1,2), (1,3,2) ], [ (1,2), (1,3) ], [ (1,2,3), (1,3) ], [ (1,3,2), (1,3) ] ] gap> Length(last); # залишилося тільки 9 пар елементів 9
При розробці функції аналогічного призначення можна організувати подвійний перебір елементів групи для того, щоб більш оптимально витрачати пам'ять і не тримати в ній одночасно весь список всіх неврегульованих пар елементів групи (ще одне спрощення може бути отримане виключенням з розгляду нейтрального елементу групи - зробіть це самостійно). Така функція виглядатиме таким чином: Findgeneratingpairs:=function(G) local g, n, i, j, s; g := Aslist( G ); n := Size( G ); s := [ ]; for i in [ 1 .. n-1 ] do for j in [ i+1 .. n ] do if G = Subgroup( G [ g[i], g[j]] ) then Add(s [ g[i], g[j]]); fi; od; od; return s; end; Протестуємо її і перевіримо, що результат збігається з отриманим раніше:
gap> S:=symmetricgroup(3); Sym( [ 1 .. 3 ] ) gap> Findgeneratingpairs(S); [ [ (2,3), (1,2) ], [ (2,3), (1,2,3) ], [ (2,3), (1,3,2) ], [ (2,3), (1,3) ], [ (1,2), (1,2,3) ], [ (1,2), (1,3,2) ], [ (1,2), (1,3) ], [ (1,2,3), (1,3) ], [ (1,3,2), (1,3) ] ]
Відмітьте, що будь-яка 2-елементна підмножина групи S3, що не рівна { (1 2 3), (1 3 2) } і не містить тотожної підстановки, породжує всю групу S3.
Завдання для лабораторної роботи № 7
Варіант 1. Розробити функцію для безпосередньої перевірки того, що задана група є комутативною, шляхом перемножування всіляких пар її елементів, що породжують. Вказівка: використовувати функцію Generatorsofgroups
Варіант 2. Розробити функцію для перевірки того, що знакозмінна група An породжується всілякими циклами довжини 3, і перевірити з її допомогою дане твердження для всіх n, що не перевершують 7.
Варіант 3. Розробити функцію, яка повертає безліч елементів заданої групи, що мають порядок, рівний заданому числу до. Вказівка: використовувати функції Aslist, Order
Варіант 4. Розробити функцію, яка повертає безліч порядків елементів заданої групи. Вказівка: використовувати функції Aslist, Order, Set
Варіант 5. Перевірити, чи виконується в групі підстановок S3 тотожність ((x,y),z)=1, де (а,b) = a-1b-1ab
Варіант 6. Відомо, що при парному n>4 знакозмінна група An породжується двома підстановками: (1 2)(n-1 n) і (1 2 . n-1). Перевірити це твердження для всіх n, що не перевершують 10.
Варіант 7. Перевірити, чи виконується в групі підстановок S3 тотожність x6=1.
Варіант 8. Перевірити, що знакозмінна група A5 породжується підстановками (2 5 4) і (1 2 3 4 5). Варіант 9. Перевірити, чи виконується в групі підстановок S3 тотожність (x2,y2)=1, де (а,b) = a-1b-1ab
Варіант 10. Відомо, що при непарному n>5 знакозмінна група An породжується двома підстановками: (1 n)(2 n-1) і (1 2 . n-2). Перевірити це твердження для всіх n, що не перевершують 10.
Варіант 11. Перевірити що група підстановок Sn породжується транспозицією (1 2) і циклом (1 2 . n), для всіх n, що не перевершують 10.
Варіант 12. Розробити функцію, яка повертає безліч порядків класів зв'язаних елементів заданої групи. Вказівка: використовувати функцію Conjugacyclasses Варіант 13. Розробити функцію, яка для заданої кінцевої групи визначає безліч індексів циклічних підгруп, що породжуються її елементами.
Варіант 14. Розробити функцію, що друкує для заданого натурального n таблицю Келі для симетричної групи Sn.
Варіант 15. Розробити функцію, яка обчислює підгрупу заданої p-группы, породжену р-ми ступенями її елементів.
Варіант 16. Розробити функцію, яка обчислює підгрупу заданої p-группы, породжену всіма її елементами порядку р.
Варіант 17. Розробити функцію для обчислення показника (експоненти) кінцевої групи як найменшого загального кратного порядків представників класів зв'язаних елементів даної групи. Вказівка: використовувати функцію Conjugacyclasses
Варіант 18. Розробити функцію для обчислення кількості елементів кожного порядку в заданій групі.