GAP (sistema algebraico computacional)
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 | ||
---|---|---|
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 | ||
Enlaces | ||
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:
- El sistema central, que consta de:
- Un núcleo escrito en C, que incorpora un intérprete del lenguaje GAP y los algoritmos sobre funciones básicas.
- Una gran biblioteca de funciones (escrita en lenguaje GAP) que implementa la gran mayoría de algoritmos.
- Bibliotecas de datos (incluyendo una lista de pequeños grupos) con orden menor que 2000.
- El manual.
- Los paquetes (extensiones autocontenidas del núcleo del sistema fruto de la contribución de los usuarios).
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.
Sesión de ejemplo
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) ]
Enlaces externos
- GAP official site: Detalles del sistema.
- Basic constructions in GAP: Ejemplos del tipo ¿cómo hacer...?