GAP | ||
---|---|---|
Información general | ||
Tipo de programa | sistema algebraico computacional | |
Desarrollador | The GAP group | |
Lanzamiento inicial | 1986 | |
Licencia | GPL (parte central de la distribución) | |
Información técnica | ||
Programado en | ||
Versiones | ||
Última versión estable | 4.13.0 ( 15 de marzo de 2024) | |
Enlaces | ||
GAP (acrónimo de Groups, Algorithms and Programming; en español, Grupos, Algoritmos y Programación) es un sistema algebraico computacional (CAS) especialmente orientado a teoría de grupos, aunque también es útil para otras muchas ramas de la matemática.
GAP fue desarrollado originalmente en la cátedra Lehrstuhl D für Mathematik de la Universidad Técnica de Aquisgrán, Alemania, entre 1986 y 1997. Tras la jubilación de J. Neubüser, el desarrollo de GAP y su mantenimiento pasó a ser coordinado por la School of Mathematical and Computational Sciences de la Universidad de Saint Andrews en Escocia. En el verano de 2005, la coordinación pasó a depender de manera conjunta de una asociación de cuatro centros GAP, ubicados en la Universidad de Saint Andrews, la Universidad Técnica de Aquisgrán, la Universidad Técnica de Brunswick y la Universidad Estatal de Colorado en Fort Collins, Colorado. En abril de 2020, se añadió un quinto centro, la TU Kaiserslautern
La distribución de GAP comprende dos partes diferenciadas:
Los paquetes son una característica muy importante del sistema que añaden importantes funcionalidades al mismo. GAP ofrece a los autores de paquetes la oportunidad de someterlos a un proceso de revisión, proceso que contribuye a mejorar la calidad final de los paquetes y que proporciona al autor un reconocimiento similar al de las publicaciones académicas. En marzo de 2021, había 151 paquetes distribuidos con GAP, de los cuales aproximadamente 71 habían seguido este proceso.
Está disponible una interfaz para usar el CAS SINGULAR dentro de GAP. Asimismo, ambos pueden usarse dentro de la interfaz proporcionada por SageMath.
gap> G:=SmallGroup(8,1); # Sea G un grupo de orden 8. <pc group of size 8 with 3 generators> gap> i:=IsomorphismPermGroup(G); # Busca un isomorfismo de grupos de G a un grupo de permutaciones <action isomorphism> gap> Image(i,G); # La imagen de G bajo I - Estos son los generadores de 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)); # Y estos son todos los elementos de 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) ]