GAP (oprogramowanie)
Autor | The GAP Group Centre for Interdisciplinary Research in Computational Algebra University of St. Andrews Mathematical Institute |
---|---|
Pierwsze wydanie | 1986 |
System operacyjny | Unix, Windows |
Rodzaj | CAS |
Licencja | GNU General Public License |
Strona internetowa |
GAP (Groups, Algorithms and Programming) – program typu CAS służący do przeprowadzania obliczeń na obiektach algebraicznych (zwłaszcza z obliczeniowej teorii grup).
GAP jest również nazwą języka programowania używanego w systemie GAP (większość dostępnych w tym systemie funkcji napisanych jest w tym właśnie języku).
Możliwości GAP-a obejmują:
- obliczenia na liczbach całkowitych (dowolnej wielkości), wymiernych, p-adycznych, wielomianach, funkcjach wymiernych, elementach ciał skończonych, permutacjach i in.
- struktury danych takie jak listy (w tym na macierze, zbiory), struktury algebraiczne (podgrupy grupy permutacji, grupy macierzowe, grupy skończenie prezentowalne, grupy policykliczne, przestrzenie liniowe, moduły, ciała), grafy, automaty skończone i in.
- relacje i odwzorowania (w szczególności homomorfizmy struktur algebraicznych, działania grup, reprezentacje)
- obliczanie niezmienników takich jak: rząd grupy, jądro homomorfizmu, podgrupy Sylowa, charaktery i wiele innych.
- możliwe jest korzystanie z zewnętrznych programów takich jak KANT czy SINGULAR.
Struktura tego systemu jest następująca: jądro programu, napisane w języku C realizuje funkcje takie jak: zarządzanie pamięcią, implementacja języka GAP, czy podstawowe środowisko użytkownika; biblioteka funkcji napisana jest głównie w języku GAP; dodatkowe pakiety – mogą realizować różne zadania (np. implementują struktury danych i algorytmy, umożliwiają korzystanie z innych programów; pakiet XGAP spełnia rolę GUI).
Jest to wolne oprogramowanie dostępne na licencji GNU GPL. GAP działa w systemach Unix (w szczególności w systemie GNU/Linux), MacOS oraz Windows (jednak niektóre dodatkowe pakiety dostępne wraz z systemem działają jedynie w systemach Unix).
Historia
[edytuj | edytuj kod]GAP powstał na Lehrstuhl D für Mathematik, RWTH w Akwizgranie w 1986 roku i był tam rozwijany do 1997, kiedy centrum koordynacji projektu zostało przeniesione do School of Mathematical and Computational Sciences na University of St Andrews w Szkocji. Latem 2005 roku zostało ponownie przeniesione do czterech ośrodków „GAP Centres” znajdujących się na Uniwersytecie w St. Andrews; w RWTH Aachen; na Uniwersytecie Technicznym w Brunszwiku i na Uniwersytecie Stanowym w Kolorado.