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


  • Readline

  • GMP

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


$ sudo apt-get install  libgap-dev


$ sudo pkg install math/gap


$ nix-env --install gap


However, these system packages will not be used for building Sage because spkg-configure.m4 has not been written for this package; see trac ticket #27330