What it does
GAP provides a language, algebraic algorithms and data libraries focused on computational discrete algebra and group theory.
GAP represents groups and other discrete algebraic objects in its own language, then applies library algorithms to them. The tutorial's permutation-group example constructs a group from generators in disjoint-cycle notation, obtains its derived subgroup and asks for its size and properties. Group, Size and SylowSubgroup are shared interfaces across group types, while the algorithms depend on the representation. Once information is computed, GAP stores it on the group object for later lookup. That object-based working is useful for a sequence of group-theory questions; retain the generator definitions and representation with the results. The freely distributed source can be studied, modified and extended, and packages supply additional methods and data.
Strengths
- Algorithms and data libraries for discrete algebra
- Extensible language and package ecosystem
Watch out for
- Requires specialist mathematical objects and language syntax
Best for
- Computational group-theory investigations
Sources
- Start | GAP (Oct 26, 2026)
- GAP Permutation-Group Workflow and Cached Properties (Oct 26, 2026)