GAP (sistema algebraico computacional)

De Wikipedia, la enciclopedia libre
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:

  • 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[editar]

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[editar]

  • [1] Manual de usuario de GAP