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.
GAP is used in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more.
Key Features
- Mathematical capabilities accessible through:
- a large library of functions, containing implementations of various algebraic algorithms, part of which is divided into ‘Modules’ under the responsibility of ‘maintainers’.
- separate packages of additional functions for specialized purposes which can be used like library functions.
- data libraries containing large classes of various algebraic objects that are accessible by using GAP commands.
- A programming language, also called GAP, which is interpreted and can be compiled. It can be used interactively at the keyboard or to write programs to be saved and then executed. Such programs can easily be modified and rerun. The language features:
- Pascal-like control structures.
- automatic memory management including garbage collection.
- streams.
- flexible list and record data types.
- built-in data types for key algebraic objects.
- automatic method selection building on a mechanism for automatically choosing the highest ranked method for a certain operation, depending on the current state of all its arguments, so that GAP objects representing mathematical objects may gain knowledge about themselves during their lifetime resulting in better methods being chosen later on.
- An interactive environment that supports in particular:
- line editing e.g. tab completion.
- break loops for debugging,
- further debugging and profiling facilities for GAP programs.
- online help (i.e. online access to the manuals).
- a graphical user interface for GAP.
- further GAP interface programs provided by users.
- Cross-platform – runs on Linux, MacOS, and Windows.
Website: www.gap-system.org
Support: FAQ, GitHub code repository
Developer: GAP Group
License: GNU General Public License v2.0
Related Software
| Computer Algebra Systems | |
|---|---|
| Scilab | Numerical computational package |
| Maxima | System for the manipulation of symbolic and numerical expressions |
| Octave | Powerful programming language with built-in plotting and visualization tools |
| SageMath | Open source alternative to Magma, Maple, Mathematica and Matlab |
| SymPy | Python library for symbolic mathematics |
| SINGULAR | Computer Algebra System for polynomial computations |
| Macaulay2 | Software system for research in algebraic geometry |
| Cadabra | Symbolic computer algebra system for field theory problems |
| PARI/GP | Widely used algebra system designed for fast computations in number theory |
| GAP | System for computational discrete algebra |
| FriCAS | Fork of Axiom |
| CoCoA | System for doing computations in commutative algebra |
| Mathics | General-purpose CAS with Mathematica-compatible syntax and functions |
| FORM | Symbolic Manipulation System |
| Nelson | Numerical computational language |
| wxMaxima | GUI for the sublime Maxima CAS |
| Xcas | Cross-platform mathematical environment |
| REDUCE | General-purpose computer algebra system for symbolic computation |
| Axiom | General purpose Computer Algebra system |
| Symja | Computer algebra system and symbolic mathematics library |
| CGSuite | For research in combinatorial game theory |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

