Main development repository for GAP - Groups, Algorithms, Programming, a System for Computational Discrete Algebra
GAP C Brainfuck Makefile Roff Forth Other
Latest commit a414127 Jul 17, 2017 @markuspf markuspf committed with fingolfin Add some tests for StructuralCopy
Permalink
Failed to load latest commit information.
.github Remove template for GitHub pull requests Feb 21, 2017
benchmark Added new benchmarks for automorphism groups/group isomorphisms Mar 8, 2017
bin BuildPackages.sh: replace (broken) hack for detecting 32bit Jul 17, 2017
cnf configure now checks for supported compiler warnings Jul 14, 2017
dev Recommend 'make doc' instead of 'make manuals' Jun 27, 2017
doc Revision of ref manual Chapter 52 (fp semigroups and monoids) fixes #… Jul 12, 2017
etc Adjust generated comment in ffdata.h Jul 19, 2017
extern/gmp extern: import gmp 6.1.2 Mar 24, 2017
grp ENHANCE: Allow EpimorphismFromClassical to use isomorphism for maxes. May 19, 2017
hpcgap Do not hardcode TNUMs in library code Jul 19, 2017
lib Do not hardcode TNUMs in library code Jul 19, 2017
prim Added `PrimitiveGroupsAvailable` for clean use of data lib in main li… Dec 12, 2016
small hpcgap: sync some small groups changes in BOTH directions Mar 28, 2017
src Make structural copy handle Blists properly. Jul 20, 2017
trans trans/trans.grp: don't define dir & fnam globally May 13, 2017
tst Add some tests for StructuralCopy Jul 20, 2017
.appveyor.yml Remove the timeout code Jun 11, 2017
.clang-format Stop clang-format reordering includes Apr 17, 2017
.codecov.yml Stop codecov marking patches with decreased coverage as failing Apr 21, 2017
.ctags Add .clang-format, .ctags and .editorconfig Jan 23, 2017
.editorconfig Add .clang-format, .ctags and .editorconfig Jan 23, 2017
.gitignore Update gitignore Jul 5, 2017
.mailmap Update .mailmap Feb 27, 2017
.travis.yml Travis: switch 32 bit builds to use container based builds Jul 17, 2017
CITATION Change http://www.gap-system.org URLs to use https Jan 25, 2017
CONTRIBUTING.md Change http://www.gap-system.org URLs to use https Jan 25, 2017
GNUmakefile.in Add -enable-Werror option to configure Jul 12, 2017
INSTALL.md Merge pull request #1072: Remove GAP stones Jan 25, 2017
LICENSE Update our copy of the GPL 2 to latest version Aug 18, 2016
Makefile Improve message when configure is not run Jun 3, 2017
Makefile.rules Some fixes for MPI code Jul 19, 2017
README.buildsys.md build: add libtool files to repository Mar 24, 2017
README.md Update README.md Jun 3, 2017
aclocal.m4 configure now checks for supported compiler warnings Jul 14, 2017
autogen.sh build: add libtool files to repository Mar 24, 2017
configure.ac configure now checks for supported compiler warnings Jul 14, 2017
gap.ini Commit v4.5.3 Apr 13, 2012

README.md

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. For this to work, the following dependencies need to be installed first:

  • GNU autoconf >= 2.69

To build GAP, enter the following commands:

# ./autogen.sh
# ./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

or

# 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/gap.sh

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.