Programming with GAP

GAP — система дискретної обчислювальної алгебри з особливим акцентом на теорії обчислювальних груп. GAP надає мову програмування, бібліотеку тисяч функцій, що реалізують алгебраїчні алгоритми, написані мовою GAP, а також великі бібліотеки даних алгебраїчних об’єктів, наприклад, Бібліотека малих груп. /Packages/sgl.html), яка містить, серед іншого, усі 423 164 062 групи порядку не більше 2000, крім 1024.

У цьому уроці представлено введення в GAP. Він зосереджений навколо спільного завдання пошуку в бібліотеці малих груп цікавих прикладів і контрприкладів, а конкретна дослідницька проблема, в якій ми будемо зацікавлені, полягає в тому, щоб знайти приклади нетривіальних груп, таких, що середній порядок їх елементів є цілим числом.

Урок проведе студента по шляху від роботи в командному рядку GAP та вивчення алгебраїчних об’єктів в інтерактивному режимі до збереження коду GAP у файли, створення функцій і регресійних тестів, а також до виконання всебічного пошуку та розширення системи шляхом додавання нових атрибутів.

На цьому шляху студент ознайомиться з:

Передумови

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

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

Збираючись

  1. У Вашому домашньому каталозі створіть новий каталог під назвою avgord.
  2. Розпочати GAP:
    • в Linux і OS X викличте path-to-your-gap-installation/gap-4.X.Y/bin/gap.sh (за потреби відредагуйте шлях);
    • на Windows, викликайте його через відповідне меню або двічі клацнувши файл gap-4.X.Y/bin/gap.bat у вашій інсталяції GAP.
  3. Установіть поточний каталог на avgord, викликаючи ChangeDirectoryCurrent з пакет IO (якщо GAP встановлено правильно, за замовчуванням він має завантажуватися під час запуску GAP):
    • у Linux і OS X викличте ChangeDirectoryCurrent("/home/username/avgord"); (за потреби відредагуйте шлях; не забудьте ввести повний шлях до вашого домашнього каталогу замість ~).
    • у Windows викличте ChangeDirectoryCurrent("C:/Users/username/avgord"); (за потреби відредагуйте шлях; не забудьте використовувати / замість \);
  4. Переконайтеся, що ваш поточний каталог налаштовано належним чином: викличте DirectoryCurrent(); у Windows або Exec("pwd"); у Linux і OS X і переконайтеся, що шлях у виведених даних вказує на каталог avgord.

Розклад

Налаштування Завантажити файли для цього уроку
00:00 1. Перша сесія з GAP Робота з командним рядком GAP
00:40 2. Ще декілька об’єктів GAP Подальші приклади об’єктів і операцій з ними
01:00 3. Функції в GAP Функції як спосіб повторного використання коду
01:55 4. Пошук малих груп Модульне програмування: поєднання функцій разом
Як перевірити деяку гіпотезу для всіх груп заданого порядку
02:50 5. Атрибути та методи Як записати інформацію в об’єкти GAP
03:40 Кінець

Фактичний розклад може дещо відрізнятися залежно від тем і вправ, обраних інструктором.