gap: Groups, Algorithms, Programming - a system for computational discrete algebra#


GAP is a system for computational discrete algebra, with particular emphasis on Computational Group Theory. GAP provides a programming language, a library of thousands of functions implementing algebraic algorithms written in the GAP language as well as large data libraries of algebraic objects. See also the overview and the description of the mathematical capabilities. GAP is used in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more. The system, including source, is distributed freely. You can study and easily modify or extend it for your special use.

This is a stripped-down version of GAP. The databases, which are architecture-independent, are in a separate package.

Upstream Contact#

Mailing list at

Special Update/Build Instructions#

This is a stripped-down version of GAP. The downloading of the sources and removal of unneeded parts is done by the script spkg-src. When you update GAP, please also update and use the spkg-src script.

  • Do we really want to copy everything from the build directory???

    You need the full GAP tree to compile/install many GAP packages.

  • There’s apparently a command missing (in spkg-install) building the (HTML?) documentation. Earlier changelog entries as well as the description above state the documentation was removed from the upstream sources… Since the (pre-)built HTML documentation is currently included, I’ve commented out some lines in that part of spkg-install. -leif





Version Information#



Equivalent System Packages#

$ sudo pacman -S gap
$ conda install gap-defaults\>=4.12.2
$ sudo apt-get install gap libgap-dev
$ sudo yum install gap gap-core gap-devel gap-libs libgap
$ sudo pkg install math/gap
$ nix-env --install gap


If the system package is installed, ./configure will check if it can be used.