- •Р.М.Літнарович, ю.Г.Лотюк комп’ютерна алгебра навчально-методичний посібник
- •© Літнарович р.М., Лотюк ю.Г.,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 Рівне , Україна
1.3 Приклади простих обчислень
Тепер Ви можете спробувати, наприклад, використовувати GAP як простий калькулятор: gap> (9 - 7) * (5 + 6); 22 gap> 3^132; 955004950796825236893190701774414011919935138974343129836853841 gap>
Можна задати підстановки і обчислити їх твір: gap> (1,2,3); (1,2,3) gap> (1,2,3) * (1,2); (2,3)
Знайти підстановку, зворотну до даної: gap> (1,2,3)^-1; (1,3,2)
Знайти образ крапки під дією даної підстановки: gap> 2^(1,2,3); 3
Обчислити підстановку, зв'язану з даною за допомогою іншої підстановки: gap> (1,2,3)^(1,2); (1,3,2)
Тепер задамо групу, породжену двома підстановками: gap> s8 := Group( (1,2), (1,2,3,4,5,6,7,8) ); Group( [ (1,2), (1,2,3,4,5,6,7,8) ] )
Як відомо, це є не що інше, як симетрична група підстановок 8-го ступеня. Тепер ми можемо обчислити її коммутант: gap> a8 := Derivedsubgroup( s8 ); Group([(1,2,3),(2,3,4),(2,4)(3,5),(2,6,4),(2,4)(5,7),(2,8,6,4)(3,5)])
І досліджувати його властивості - знайти його порядок, перевірити його комутативність: gap> Size( a8 ); Isabelian( a8 ); 20160 false
Інші приклади застосування GAP описані в наступних розділах даної методичної допомоги, а також в документації англійською мовою, яка не тільки є частиною системи, але і доступна для перегляду і завантаження у форматах HTML і PDF на сайті системи за адресою http://www.gap-system.org/Doc/manuals.html <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm> <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm>.
[Попередній розділ][Зміст <file:///d:\ Комп'ютерна%20алгебра\metgap43\metgap43.htm> ][Наступний розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\2-lang.htm> ]
[Попередній розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\1-intro.htm> ][Зміст <file:///d:\ Комп'ютерна%20алгебра\metgap43\metgap43.htm> ][Наступний розділ <file:///d:\ Комп'ютерна%20алгебра\metgap43\3-data.htm> ]
2 Мова програмування gap
2.1 Символи і категорії слів в gap
GAP сприймає наступні символи: цифри, букви (верхній і нижній регістри), пропуск, символи табуляції і нового рядка, а також спеціальні символи:
" ` ( ) * + , _ # . / : ; < = > ~ & [ \ ] ^ _ { } !
Складені з символів слова відносяться до наступних категорій:
· ключові слова (зарезервовані послідовності букв нижнього регістра)
· ідентифікатори (послідовності цифр і букв, що містить не менше однієї букви і що не є ключовим словом)
· рядки (послідовності довільних символів, увязнена в подвійні лапки)
· цілі числа (послідовності цифр)
· оператори і обмежувачі відповідно до наступного списку:
+ - * / ^ ~ !. = <> < <= > >= ![ := . .. -> , ; !{ [ ] { } ( ) :
Слід відмітити, що пропуски можуть бути використані для підвищення легкості для читання тексту, оскільки будь-яка послідовність пропусків сприймається GAP як один пропуск. Таким чином, команда
if i<0 then a:=-i;else a:=i;fi;
може бути записана таким чином:
if i < 0 then # якщо i негативне а := -i; else # інакше а := i; fi;