GAP

Main Branches

Download   Overview   Data Libraries   Packages   Documentation   Contacts   FAQ   GAP 3  

Frequently Asked Questions

General Obtaining GAP Installation Hardware/OS Usage Complaints Computing with GAP Programming GAP


8. Programming GAP

8.2: Can I make a smaller version of GAP containing just the function(s) I need?

It is possible to make a considerably smaller installation of GAP than the standard one, simply by starting with the basic archive found on the Web site and adding other components or packages only if they are needed. You should be aware, however, that some packages and databases may be used silently to improve performance in apparently unrelated functionality, so using such a "cut-down" installation would risk a few unexpected slowdowns.

It is possible, but neither easy nor supported to cut down the installation even further by omitting parts of the GAP library (or even kernel), but there are considerable and sometimes very inobvious interdependencies between different parts of the system, so that, for instance a permutation group computation may identify a solvable subgroup and switch to solvable group algorithms for that section, which reduce many problems to linear algebra, and so call on the code for matrices over finite fields, which in turn reduces some problems to computations with minimal and characteristic polynomials and so on.

An alternative approach is to load GAP, using the -N option to force it to read the libraries in full at start-up, load any packages or other things you need and then save a workspace. A GAP process started from that workspace will not need to read the library files, and should be able to run without most of them even being present. This isn't something we've actually tried, but you should be able to produce a workable GAP installation with not much more than the kernel and the workspace. Some experiment may be needed.