GAP (datoralgebrasystem)

GLIPA
Utvecklare
Stabil frisättning
4.12.2 / 18 december 2022 ; 2 månader sedan ( 2022-12-18 )
Förvar
Skrivet i C
Operativ system Cross-plattform
Typ Datoralgebrasystem
Licens GNU General Public License
Hemsida www .gap-system .org

GAP ( Groups , Algorithms and Programming ) är ett datoralgebrasystem för beräkningsdiskret algebra med särskild tonvikt på beräkningsgruppteori .

Historia

GAP utvecklades vid Lehrstuhl D für Mathematik (LDFM), Rheinisch-Westfälische Technische Hochschule Aachen, Tyskland från 1986 till 1997. Efter Joachim Neubüsers pensionering från ordföranden för LDFM, samordnades utvecklingen och underhållet av GAP av School of Mathematical och Computational Sciences vid University of St Andrews , Skottland . Sommaren 2005 överfördes samordningen till ett jämställt partnerskap av fyra "GAP-centra", belägna vid University of St Andrews , RWTH Aachen, Technische Universität Braunschweig och Colorado State University i Fort Collins ; i april 2020 lades ett femte GAP-center vid TU Kaiserslautern till.

Distribution

GAP och dess källor, inklusive paket (uppsättningar av användarbidragsprogram), databibliotek (inklusive en lista över små grupper ) och manualen, distribueras fritt, med förbehåll för " copyleft "-villkor. GAP körs på alla Unix- system, under Windows och på Macintosh- system. Standarddistributionen kräver cirka 300 MB (cirka 400 MB om alla paket är laddade).

De användarbidragna paketen är en viktig funktion i systemet, som tillför en hel del funktionalitet. GAP erbjuder paketförfattare möjligheten att skicka in dessa paket för en peer review- process , förhoppningsvis förbättra kvaliteten på de slutliga paketen och ge ett erkännande liknande en akademisk publikation för deras författare. Från och med mars 2021 finns det 151 paket distribuerade med GAP, varav cirka 71 har gått igenom denna process.

Ett gränssnitt är tillgängligt för att använda SINGULAR datoralgebrasystemet från GAP. GAP ingår också i det matematiska mjukvarusystemet SageMath .

Provsession

  

  

  

  

   gap>  G:=SmallGroup(8,1);  # Ställ in G för att vara en grupp av ordning 8.         <  pc-  grupp  av  storlek  8  med  3  generatorer  >  gap>  i:=IsomorphismPermGroup(G);  # Hitta en isomorfism från G till en grupp av permutationer.   <  action  isomorphism  >  gap>  Image(i,G);  # Bilden av G under I - dessa är generatorerna av im G.      Group  ([  (  1  ,  5  ,  3  ,  7  ,  2  ,  6  ,  4  ,  8  )  ,  (  1  ,  3  ,  2  ,  4  )(  5  ,  7  ,  6  ,  8  )  ,  (  1  ,  2  )(  3  ,  4  )(  5  ,  6  )(  7  ,  8  )  ])  gap>  Elements(Image(i,G));  # Alla element i 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  )  ] 

Se även

externa länkar