Main development repository for GAP - Groups, Algorithms, Programming, a System for Computational Discrete Algebra
GAP C Brainfuck Makefile Groff Forth Other
Failed to load latest commit information.
.github Specify PR category when submitting a PR Sep 23, 2016
benchmark Remove some more files. Mar 12, 2015
bin pass gaproot to anupq and xgap Nov 14, 2016
cnf * cnf/aclocal.m4: tweak computation of some darwin compiler and linke… Jan 20, 2017
dev Remove dev/buildman.tex Jan 19, 2017
doc Merge PR #810: Help Random methods to use RandomSource Jan 20, 2017
etc travis: set FLAGS and after_success script globally, always run gcov Jan 20, 2017
extern Only enable GMP C++ interface if a C++ compiler is available Apr 15, 2016
grp grp: fix regressions with matrix group constructors Jan 20, 2017
lib Fix FactorsInt for large integers Jan 20, 2017
prim Added `PrimitiveGroupsAvailable` for clean use of data lib in main li… Dec 12, 2016
small Correct escape for `\`. Nov 9, 2016
src kernel: check mutability of list before IsSet Jan 20, 2017
trans adjust indentation / whitespace Dec 12, 2016
tst test-error: ignore whitespace changes Jan 20, 2017
.appveyor.yml ci: rename appveyor.yml -> .appveyor.yml Jan 10, 2017
.codecov.yml codecov: don't fail due to unexpected coverage changes Jan 12, 2017
.gitignore Update .gitignore Jan 20, 2017
.mailmap Add a git mailmap Feb 19, 2016
.travis.yml travis: set FLAGS and after_success script globally, always run gcov Jan 20, 2017
CITATION Commit v4.7.1 Nov 25, 2013 Merged branch 'stable-4.8' into master. Apr 18, 2016 Merged branch 'stable-4.8' into master. Apr 18, 2016
LICENSE Update our copy of the GPL 2 to latest version Aug 18, 2016 Restrict the amount of memory to use in the tests Nov 25, 2016 Update Oct 20, 2016
configure Update configure to reflect removal of integer code. Feb 23, 2016 Update configure to reflect removal of integer code. Feb 23, 2016
gap.ini Commit v4.5.3 Apr 13, 2012
gap.shi Commit v4.5.3 Apr 13, 2012 Commit v4.5.3 Apr 13, 2012

Build Status Code Coverage

What is GAP?

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. See also the overview and the description of the mathematical capabilities.

GAP is used in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more. The system, including source, is distributed freely. You can study and easily modify or extend it for your special use.

In July 2008, GAP was awarded the ACM/SIGSAM Richard Dimick Jenks Memorial Prize for Excellence in Software Engineering applied to Computer Algebra.

How to obtain GAP?

The latest stable release of the GAP system together with all currently redistributed GAP packages can be obtained from our downloads page. For installation instructions see here.

You can compile the current development version of GAP from this repository by the following two commands

# ./configure
# make

Now, if you do not have a GAP package archive yet, we recommend that you bootstrap the stable versions of packages by executing on of the the following commands. Whether you choose to bootstrap-pkg-minimal or bootstrap-pkg-full depends on your needs for development.

# make bootstrap-pkg-minimal


# make bootstrap-pkg-full

(in the latter case please that make bootstrap-pkg-full only unpacks packages but does not build those of them that require compilation).

If everything goes well, you should be able to start GAP by executing

# sh bin/

You can also find development versions of some of the GAP packages on GitHub and Bitbucket.

We welcome contributions

The GAP Project welcomes contributions from everyone, in the shape of code, documentation, blog posts, or other. For contributions to this repository, please read the guidelines.

To keep up to date on GAP news (discussion of problems, release announcements, bug fixes), you can subscribe to the GAP forum and GAP development mailing lists, notifications on github, and follow us on Twitter.

If you have any questions about working with GAP, you can ask them on GAP forum (requires subscription) or GAP Support mailing lists.

Please tell us about your use of GAP in research or teaching. We maintain a bibliography of publications citing GAP. Please help us keeping it up to date.