Подальша інформація про систему GAP і умовах її розповсюдження може бути отримана за адресою:
The GAP Group
Centre for Interdisciplinary Research in Computational Algebra
University of St. Andrews
Mathematical Institute
The North Haugh
St. Andrews, Fife, Ky16 9ss
UK
Fax: +44 (0)1E-mail:
support@gap-system.orghttp://www. gap-system. org <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm>.
Для пошуку інформації про систему російською мовою рекомендуємо відвідати сайт Української групи користувачів GAP за адресою http://ukrgap. *****/ <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm>.
1.2 Можливості для роботи з різними видами об'єктів алгебри
Перш за все, це можливість проводити обчислення з гігантськими цілими і раціональними числами, допустимі значення яких обмежені тільки об'ємом доступної пам'яті. Далі, система працює з циклотомічеськимі полями, кінцевими полями, р-адічеськимі числами, многочленами від багатьох змінних, раціональними функціями, векторами і матрицями. Користувачеві доступні різні комбінаторні функції, елементарні теоретико-числовые функції, різноманітні функції для роботи з множинами і списками.
Групи можуть бути задані в різній формі, наприклад, як групи підстановок, матричні групи, групи, задані елементами, що породжують, і визначальними співвідношеннями. Більш того, побудувавши, наприклад, групову алгебру, можна обчислити її мультиплікативну групу, і навіть задати її підгрупу, породжену конкретними оборотними елементами групової алгебри. Ряд груп може бути заданий безпосереднім зверненням до бібліотечних функцій (наприклад, симетрична і знакозмінна групи, група діедра, циклічна група і ін.).
Функції для роботи з групами включають визначення порядку групи, обчислення класів зв'язаних елементів, центру і коммутанта групи, верхнього і нижнього центрального рядів, ряду коммутантов, Силовських підгруп, максимальних підгруп, нормальних підгруп, грат підгруп, груп автоморфізмов, і так далі Для ряду кінцевих груп доступне визначення їх типу ізоморфізму.
Цікава демонстрація можливостей системи на прикладі побудови математичної моделі кубика Рубіка і дослідження групи підстановок, що описує його, за допомогою системи GAP може бути знайдена на сайті GAP за адресою http://www. gap-system. org/Doc/Examples/rubik. html <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm>.
Теорія представлень груп також входить в сферу застосування системи GAP. Тут є інструменти для обчислення таблиць характерів конкретних груп, дій над характерами і інтерактивної побудови таблиць характерів, визначення теоретико-групповых властивостей на підставі властивостей таблиці характерів групи. Модулярниє представлення груп (тобто уявлення над полем, характеристика якого ділить порядок групи) також можуть бути досліджені за допомогою GAP.
У останній версії системи істотним чином розширені можливості для роботи з векторними просторами, алгеброю і модулями. У системі можуть бути визначені векторні простори над всіма доступними полями і модулі над всіма доступними кільцями. Є алгоритми для обчислення структури скінченномірної алгебри Лі, яка може бути, наприклад, задані структурними константами або елементами, що породжують, обчислення різних їх Лієвських підалгебри і ідеалів.
Серед інших сфер застосування системи - теорія графів і їх автоморфізмов, теорія кодування, групи Галуа, напівгрупи, кристалографічні групи, і багато що інше. Існує графічний інтерфейс XGAP, який працює під OC Linux або Unix і дозволяє, наприклад, графічно зобразити грати підгруп групи. Інформація про існуючі розробки для застосування в тій або проблемної області може бути знайдена на сайті GAP ( http://www. gap-system. org <file:///d:\ Комп'ютерна%20алгебра\metgap43\tppmsgs\msgs0.htm> ) в розділі "Packages". 1.2 Запуск GAP і вихід з системи
Запуск GAP в MS-DOS здійснюється за допомогою командного файлу gap.bat, який повинен знаходитися в каталозі, вказаному в команді PATH у файлі autoexec.bat. Якщо під час роботи з GAP необхідне читання програм (файлів з розширенням "g"), перед запуском GAP рекомендується перейти в той, що містить ці програми каталог (тут і далі передбачається, що читач вже володіє необхідними навиками роботи з ПЕВМ).
При успішному запуску GAP на екрані з'явиться емблема GAP. Після неї буде надрукована додаткова інформація про версію системи і встановлені компоненти, наприклад:
| |
| ######### ###### ########### ###
|
Information at: http://www. gap-system. org
Try '?help' for help. See also '?copyright' and '?authors'
Loading the library. Please be patient, this may take а while.
Gap4, Version: 4.4.6 of 02-Sep-2005, i686-pc-cygwin-gcc
Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0,
small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2,
id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1,
trans 1.0, prim 2.1 loaded.
Packages: Aclib 1.1, Polycyclic 1.1, Alnuth 2.1.3, Crystcat 1.1.2,
Cryst 4.1.4, Autpgrp 1.2, CRISP 1.2.1, Ctbllib 1.1.3,
Tomlib 1.1.2, Factint 1.4.10, FGA 1.1.0.1, Gapdoc 0.9999,
IRREDSOL 1.0.9, LAGUNA 3.3.1, Sophus 1.21, Polenta 1.2.1,
Resclasses 2.1.1 loaded.
gap>
Запрошення системи (командний рядок) має наступний вигляд:
gap>
Для виходу з системи застосовується команда quit; (відмітимо, що будь-яка команда завершується крапкою з комою, після чого потрібно натиснути <Enter>).
Примітка. Для дублювання введених команд і результатів, що виводяться на екран, в текстовому файлі використовується команда Logto("filename.log"); . Ведення файлу протоколу може бути зупинене командою Logto(); (наприклад, щоб проглянути його вміст в іншому вікні Windows, не перериваючи сеансу роботи з GAP).
1.3 Приклади простих обчислень
Тепер Ви можете спробувати, наприклад, використовувати GAP як простий калькулятор:
gap>* (5 + 6);
22
gap> 3^132;
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;
2.2 Ключові слова
Ключовими словами GAP є наступні слова:
and do elif else end fi
for function if in local mod
not od or repeat return then
until while quit QUIT break rec
continue
2.3 Ідентифікатори
Ідентифікатори складаються з букв, цифр, символів підкреслення _, і повинні містити не менше однієї букви або символу підкреслення _. При цьому регістр є істотним. Приклади ідентифікаторів:
а foo Longidentifier
hello Hello HELLO
xx _100
underscores_case Mixedcase
2.4 Вирази
Прикладами виразів є: змінні, звернення до функцій, цілі числа, перестановки, рядки, функції, списки, записи. За допомогою операторів з них можуть бути складені складніші вирази.
Оператори розбиті на три класи:
- оператори порівняння: = <> < <= > >= in
- арифметичні оператори: + - * / mod ^
- логічні оператори: not and or
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |


