What is GAP?
GAP is an open-source computer algebra system for computational discrete algebra, with particular emphasis on computational group theory. It provides a programming language, a library of thousands of functions implementing algebraic algorithms, and extensive documentation.
Some key features of GAP include:
- Specialized capabilities for working with groups, including permutation groups, matrix groups, finitely presented groups and more
- Extensive library of group theoretic functions for tasks like testing properties of groups, calculating presentations, centralizers, normalizers, cohomology groups, and more
- Programming language designed specifically for symbolic computation, with a simple syntax
- Interactive environment for prototyping algorithms and exploring algebraic structures
- Interfaces to many proof assistants and CAS systems to leverage their capabilities
- Hundreds of contributed share packages implementing extra functionality
- Active international community of developers and users in academia and industry
Overall, GAP is well-suited for research and teaching in abstract algebra and discrete mathematics more broadly. With its domain-specific language and extensive library, it allows rapid development of computational experiments to test conjectures, illustrate theoretical concepts, and explore the world of groups, rings, fields and more.