GAP (system algebry komputerowej)
Deweloperzy | |
---|---|
Wersja stabilna | 4.12.2 / 18 grudnia 2022
|
Magazyn | |
Napisane w | C |
System operacyjny | Międzyplatformowe |
Typ | System algebry komputerowej |
Licencja | Powszechna Licencja Publiczna GNU |
Strona internetowa |
GAP ( Grupy , Algorytmy i Programowanie ) to system algebry komputerowej do obliczeniowej algebry dyskretnej , ze szczególnym naciskiem na obliczeniową teorię grup .
Historia
GAP został opracowany w Lehrstuhl D für Mathematik (LDFM), Rheinisch-Westfälische Technische Hochschule Aachen w Niemczech w latach 1986-1997. Po przejściu na emeryturę Joachima Neubüsera z przewodniczącego LDFM, rozwój i utrzymanie GAP było koordynowane przez School of Mathematical i Nauk Komputerowych na Uniwersytecie St Andrews w Szkocji . Latem 2005 r. koordynacja została przeniesiona do równego partnerstwa czterech „centrów GAP”, zlokalizowanych na Uniwersytecie St Andrews , RWTH Aachen, Technische Universität Braunschweig i Colorado State University w Fort Collins ; w kwietniu 2020 r. dodano piąte Centrum GAP zlokalizowane na TU Kaiserslautern .
Dystrybucja
GAP i jego źródła, w tym pakiety (zestawy programów tworzonych przez użytkowników), biblioteka danych (w tym lista małych grup ) i podręcznik, są rozpowszechniane bezpłatnie, z zastrzeżeniem warunków „ copyleft ”. GAP działa na każdym systemie Unix , pod Windows i na systemach Macintosh . Standardowa dystrybucja wymaga około 300 MB (około 400 MB, jeśli załadowane są wszystkie pakiety).
Pakiety wniesione przez użytkowników są ważną cechą systemu, dodając wiele funkcjonalności. GAP oferuje autorom pakietów możliwość przedłożenia tych pakietów do procesu wzajemnej recenzji , miejmy nadzieję, poprawiając jakość końcowych pakietów i zapewniając autorom uznanie podobne do publikacji akademickiej. Według stanu na marzec 2021 r. z GAP dystrybuowanych jest 151 pakietów, z których około 71 przeszło ten proces.
Dostępny jest interfejs do korzystania z systemu algebry komputerowej SINGULAR z poziomu GAP. GAP jest również zawarty w matematycznym systemie oprogramowania SageMath .
Przykładowa sesja
przerwa> G:=MałaGrupa(8,1); # Ustaw G jako grupę rzędu 8.< grupa pc o rozmiarze 8 z 3 generatorami >
gap> i:=IsomorphismPermGroup(G); # Znajdź izomorfizm od G do grupy permutacji.< izomorfizm działania >
przerwa> Obraz(i,G); # Obraz G pod I - to są generatorygrupy im G. ([ ( 1 , 5 , 3 , 7 , 2 , 6 , 4 , 8 ) , ( 1 , 3 , 2 , 4 ) ( 5 , 7 , 6 , 8 ) , ( 1 , 2 ) ( 3 , 4 ) ( 5 , 6 ) ( 7 , 8 ) ])
przerwa> Elementy (Obraz (i, G)); # Wszystkie elementy im G.[ ( ) , ( 1 , 2 ) ( 3 , 4 ) ( 5 , 6 ) ( 7 , 8 ) , ( 1 , 3 , 2 , 4 ) ( 5 , 7 , 6 , 8 ) , ( 1 , 4 , 2 , 3 ) ( 5 , 8 , 6 , 7 ) ,
( 1 , 5 , 3 , 7 , 2 , 6 , 4 , 8 ) , ( 1 , 6 , 3 , 8 , 2 , 5 , 4 , 7 ) , ( 1 , 7 , 4 , 5 , 2 , 8 , 3 , 6 ) , ( 1 , 8 , 4 , 6 , 2 , 7 , 3 , 5 ) ]