About

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.

Structure of GAP

GAP has a kernel written in C. It implements

  • the GAP language,
  • an interactive environment for developing and using GAP programs,
  • memory management, and
  • fast versions of time critical operations for various data types.

All the remaining functions of the library are written in the GAP language. Packages are mainly written in the GAP language, but some also involve standalones. Some packages provide links to other systems.

GAP provides:

Funding

We acknowledge with gratitude the support of the development of GAP …

  • by the German Research Council (DFG) Collaborative Research Center TRR 195 “Symbolic Tools in Mathematics and their Application”,
  • by the EU Horizon 2020 European Research Infrastructure project 676541 “OpenDreamKit: Open Digital Research Environment Toolkit for the Advancement of Mathematics”,
  • by the Engineering and Physical Sciences Research Council Grant EP/M022641 “CoDiMa (CCP in the area of Computational Discrete Mathematics)”,
  • by the Engineering and Physical Sciences Research Council Grant EP/G055181 “HPC-GAP: High Performance Computational Algebra and Discrete Mathematics”,
  • as part of several projects within the DFG priority programme SPP 1489 (Algorithmic and Experimental Methods in Algebra, Geometry and Number Theory),
  • by the EU Framework 6 project 26133 “SCIEnce: Symbolic Computation Infrastructure for Europe”,
  • by the National Science Foundation Grant DUE-0633333 “Enabling Computer Algebra Use in the Undergraduate Abstract Algebra Curriculum”,
  • by the Engineering and Physical Sciences Research Council Grant EP/C523229 “Multidisciplinary Critical Mass in Computational Algebra and Applications”,
  • by the Engineering and Physical Sciences Research Council Grant GR/S56085 “Semigroups and Monoids in GAP”,
  • by the Engineering and Physical Sciences Research Council Grant GR/R91298 “Computational Algebra for Commodity Parallel Machines”,
  • by grants of the Deutsche Forschungsgemeinschaft in the framework of the Schwerpunkt “Algorithmen in Zahlentheorie und Algebra”,
  • by the EU Human Capital and Mobility Network, grant number ERBCHRXCT930418 “Computational Group Theory”,
  • by the Engineering and Physical Sciences Research Council Grant GR/L21013,
  • by the Leverhulme trust grant F/268/Q,
  • by the British Council and the Deutscher Akademischer Austauschdienst under the ARC programme,
  • and by the European Union’s Esprit OpenMath project.

The development of GAP would not have been possible without this support.