GAP (sistema de álgebra computacional)
GAP (Grupos, Algoritmos y Programación) es un sistema de álgebra computacional para álgebra computacional discreta con especial énfasis en la teoría computacional de grupos.
Historia
GAP se desarrolló en Lehrstuhl D für Mathematik (LDFM), Rheinisch-Westfälische Technische Hochschule Aachen, Alemania, de 1986 a 1997. Después de la jubilación de Joachim Neubüser de la presidencia de LDFM, el desarrollo y mantenimiento de GAP fue coordinado por el Facultad de Ciencias Matemáticas y Computacionales de la Universidad de St Andrews, Escocia. En el verano de 2005, la coordinación se transfirió a una asociación igualitaria de cuatro 'Centros GAP', ubicados en la Universidad de St Andrews, RWTH Aachen, Technische Universität Braunschweig y la Universidad Estatal de Colorado en Fort Collins; en abril de 2020, se agregó un quinto Centro GAP ubicado en la TU Kaiserslautern.
Distribución
GAP y sus fuentes, incluidos los paquetes (conjuntos de programas aportados por los usuarios), la biblioteca de datos (que incluye una lista de grupos pequeños) y el manual, se distribuyen libremente, sujetos a "copyleft" condiciones. GAP se ejecuta en cualquier sistema Unix, en Windows y en sistemas Macintosh. La distribución estándar requiere unos 300 MB (unos 400 MB si se cargan todos los paquetes).
Los paquetes aportados por los usuarios son una característica importante del sistema, ya que agregan una gran cantidad de funciones. GAP ofrece a los autores de paquetes la oportunidad de enviar estos paquetes para un proceso de revisión por pares, con la esperanza de mejorar la calidad de los paquetes finales y brindar un reconocimiento similar a una publicación académica para sus autores. A marzo de 2021, hay 151 paquetes distribuidos con GAP, de los cuales aproximadamente 71 han pasado por este proceso.
Está disponible una interfaz para usar el sistema de álgebra computacional SINGULAR desde dentro de GAP. GAP también está incluido en el sistema de software matemático SageMath.
Sesión de muestra
diferencia entre G:=SmallGroup()8,1); # Set G para ser un grupo de orden 8.grupo de tamaño 8 con 3 generadoresdiferencia entre i:=IsomorphismPermGroup()G); # Encuentra un isomorfismo de G a un grupo de permutaciones.Identificar el isomorfismodiferencia entre Imagen()i,G); # La imagen de G bajo I - estos son los generadores de im G.Grupo([ (1,5,3,7,2,6,4,8), (1,3,2,4)(5,7,6,8), (1,2)(3,4)(5,6)(7,8) ])diferencia entre Elementos()Imagen()i,G); # 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) ]
Contenido relacionado
Directorio raíz
Vista plana
Matías Ettrich