Maths

GAP – 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.

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
ScilabNumerical computational package
MaximaSystem for the manipulation of symbolic and numerical expressions
OctavePowerful programming language with built-in plotting and visualization tools
SageMathOpen source alternative to Magma, Maple, Mathematica and Matlab
SymPyPython library for symbolic mathematics
SINGULARComputer Algebra System for polynomial computations
Macaulay2Software system for research in algebraic geometry
CadabraSymbolic computer algebra system for field theory problems
PARI/GPWidely used algebra system designed for fast computations in number theory
GAPSystem for computational discrete algebra
FriCASFork of Axiom
CoCoASystem for doing computations in commutative algebra
MathicsGeneral-purpose CAS with Mathematica-compatible syntax and functions
FORMSymbolic Manipulation System
NelsonNumerical computational language
wxMaximaGUI for the sublime Maxima CAS
XcasCross-platform mathematical environment
REDUCEGeneral-purpose computer algebra system for symbolic computation
AxiomGeneral purpose Computer Algebra system
SymjaComputer algebra system and symbolic mathematics library
CGSuiteFor research in combinatorial game theory

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments