GAP (sistema algebraico computacional)

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 16:40 10 jun 2013 por Gelo71 (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.
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 (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 depdender 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.

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 agosto de 2006, había 58 paquetes distribuidos con GAP, de los cuales aproximadamente 35 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 SAGE.

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 todoa 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