GAP

Main Branches

Download   Overview   Data Libraries   Packages   Documentation   Contacts   FAQ   GAP 3  

Undeposited Implementations for GAP 4

On this page we collect references to algorithms that have been implemented in GAP in the course of research projects. Their authors felt that these were rather special purpose implementations and did not want to invest the extra effort necessary to turn these implementations into packages. If you are interested in some of these programs, and no links to the implementations or descriptions are given, then please contact the authors directly.

  • David Bessis and Jean Michel:
    The GAP3 package VKCURVE
    VKCURVE is an effective implementation of Van Kampen's method for computing presentations of fundamental groups of complements of complex algebraic curves. In addition to GAP3 it depends on the GAP 3 Package "chevie".
    See also VKCURVE online.
  • Anton Betten:
    An Interface GAP - DISCRETA.
    This is an interface to the stand-alone program DISCRETA for the construction of t-designs with prescribed automorphism group by A. Betten, E. Haberberger, R. Laue, and A. Wassermann.
    Though not written in GAP, A. Betten is also affiliated with an online coding theory program and an online representation theory program.

  • Henrik Bäärnhielm: The GAP4 package matrixss.
    Implementation of a Schreier-Sims algorithm for matrix groups, including both the standard deterministic and the standard probabilistic approach.

  • Jan De Beule, Patrick Govaerts, and Leo Storme The GAP4 package pg.
    Topic: Implements algorithms for finite projective geometry. Provides functions for projective spaces, functions dealing with subspaces, collineations and the collineation group, and quadrics and hermitian varieties. Converts a collineation group into a permutation group.

  • Arjeh Cohen and Scott Murray:
    An automated proof theory approach to computation with permutation groups
    A file ofGAPfunctions is given connected with the paper entitled
    'An automated proof theory approach to computation with permutation groups',
    used at the Calculemus Autumn School, September-October 2002 in Pisa.

  • Arjeh Cohen and D.A.H. Gijsbers: GBNP (formerly "grobner")
    This is is now an official GAP package.

  • Septimiu Crivei, Gabriela Olteanu and Stefan Suteu Szollosi, Subgroup Lattice Algorithms Related to Extending and Lifting Abelian Groups - a collection of GAP functions.
    We give functions, on one hand to check the properties of being direct summand, essential, superfluous, coessential, complement (closed), supplement (coclosed) subgroup, and on the other hand to determine all subgroups with the mentioned properties as well as closures (coclosures) of a subgroup of a finite abelian group.

  • Jan Draisma: Weyl algebra and realisation of Lie algebras by means of derivations.
    Links to two GAP functions can be found on the author's website:
    1. A function WeylAlgebra constructing the (associative) Weyl algebra (also known as skew polynomial algebra) in the variables x_1,...,x_n,D_1,...,D_n.
    2. A function Blattner, using WeylAlgebra, that computes, given a pair (g,h) of a Lie algebra g and a subalgebra h, a (truncated) realisation of g in terms of formal vector fields for which h is the isotropy algebra at 0. Also, it can be used to compute certain realisations by 1st order differential operators.

  • Jan Draisma: SeDiMO, a program for computing the secant dimensions of minimal orbits such as Grassmannians and Segre products.
    Description: A semisimple complex algebraic group G has a unique closed orbit on the projective space PV, if V is an irreducible G-module. Many interesting algebraic varieties arise as such "minimal orbits", for instance, Grassmannians and Segre products. These minimal orbits are notoriously hard to prove non-defective in the sense that all higher secant varieties have the expected dimension. This program (that can be found on the author's website) computes the secant dimensions of these minimal orbits.

  • Jean-Guillaume Dumas, Frank Heckenbach, David Saunders and Volkmar Welker:
    The GAP4 package SIMPHOM .
    The package provides routines for the construction and the manipulation of simplicial complexes and the calculation of simplicial homology with integer coefficients. Since calculation of simplicial homology with integers coefficients involves the calculation of the Smith normal form of sparse integer matrices, the package provides independent functionality for the calculation of the Smith normal form.

  • Attila Egri-Nagy has written a GAP package biogap.
    The biogap has two goals:


    Available:
    biogap. The package's source and documentation can be found at this link.

  • Attila Egri-Nagy and Chrystopher L. Nehaniv have written a GAP package SgpDec.
    Hierarchical composition and decomposition of finite permutation groups and transformation semigroups: substructures of wreath product with explicitly represented dependency structure. It is distributed under the GPLv3 license.
    Available:
    SpgDec. The package's GAPDoc documentation and its downloadable tarball can be found at this link.

  • Bettina Eick: Enumeration of p-Groups.
    This algorithm can be used to enumerate all p-groups of a given order (up to isomorphism). The basic ideas of the algorithm are similar to the p-group generation algorithm (see the
    ANUPQ Package). But instead of listing all p-groups of a given order explicitly, this algorithm only counts the number of such p-groups and counting is usually faster than listing. This algorithm has been used in the determination of the number of groups of order 2^9 and 2^10.
    Available: Readme file , tarball for EnumPGrp.

  • Bettina Eick: Computing uniserial p-adic space groups.
    This algorithm can be used to determine all unserial p-adic space groups of a given dimension up to isomorphism (p an odd prime). The uniserial p-adic space groups of coclass at most r and their finite central extensions correspond to the infinite branches in the graph of all finite p-groups of coclass r. This algorithm has been used to determine all uniserial 3-adic space groups of coclass at most 4.

  • Alexander Hulpke: Constructing transitive permutation groups. (Paper to appear in J.Symb. Comp.)
    This algorithm constructs all subgroups of the symmetric group of degree n, assuming knowledge of the primitive groups of degree n and the transitive groups of all degrees dividing n. It has been used to construct the libraries of transitive groups found in GAP. Running it for larger degrees is possible in principle but might take very long or might run out of memory.

  • Frank Luebeck
    A GAP package FUtil providing various tools for use with GAP. Currently, there are only two topics covered by this package:

    • Some functions for dealing with fixed point approximations of cyclotomic numbers in GAP. In particular positivity of the real part of such a number can be checked.
    • Some interface functions to GAPs declaration and method installation functions.

  • Kay Magaard: Software for braid orbit computation
    The paper serves as a manual. A GAP package for braid orbit computation, and applications
    by K. Magaard, S. Shpectorov and H. Voelklein, Experimental Math. Vol. 12 (2003), No4., 385--393. explains how to use the package.
    Unpack the tar archive of program files with tar xvf braid.tar. The files appear in a subdirectory called "braid". Open a GAP window and type Read("assemble.g"). This reads all the program files. Alternatively, download braid-1.1.tar.gz, untar in the pkg subdirectory and type LoadPackage("braid");.

  • Dean Serenevy: arrangement
    A GAP package for computing hyperplane arrangement invariants. See the package website for further details.

  • Ivan Tischenko: PLANAR - testing graphs for planarity
    PLANAR is the program for the computational algebra system GAP. Its main purpose is testing whether the given graph is planar. PLANAR also requires the GAP package GRAPE, since it uses some of its functionality for graphs. In particular, note that you can check whether the graph is connected using the GRAPE function IsConnectedGraph. Also the graph must be non-oriented, without loops and multiple edges. Note that these features of graph do not imply on its planarity, so you can easily reduce the problem to the graph, understandable by PLANAR. Download formats: zip file and tarball. PLANAR is released under the GNU General Public License (GPL).

  • Peter Webb: Nerves of categories.
    A collection of routines to handle representations and cohomology, of groups and more generally of categories. The code computes the (co)homology of nerves of categories. Regarding a group as a category, we obtain the usual group cohomology, but the routines presented here are not efficient for this. Regarding a poset as a category we get the homology of the order complex. Every simplicial complex may be given up to homeomorphism in this fashion.

  • Peter Webb: Software to compute with finite group representations over fields of positive characteristic.
    In these routines the information about a group representation which is stored is the group being represented, and a list of matrices which give the action of the group generators. The routines allow the user to compute submodule structure and perform various operations. The main computational philosophy is to take fixed points, thereby computing homomorphisms between modules, socles, radicals, etc. This is arguably distinct from the philosophy behind the meataxe, for example. Thus in the case of representations of p-groups in characteristic p there may be very many submodules of a module which would be time consuming for the meataxe to enumerate. The approach taken here produces socle and radical series more directly (and not just for p-groups).

  • Assaf Wool: Fundamental Domains for Shimura Curves.
    A set of GAP functions that compute a concrete presentation of the unit group in a maximal order of Quaternion algebras over the Rationals, and the fundamental domain of the associated Shimura curve. The README file contains a description of the algorithms used, and the program structure - functions, input and output. The Grp100 file contains a summary of the results for discriminants up to 100.

External programs and Interface routines

Some optional interfaces to GAP are listed below for the user's information. However, they are not officially supported by the GAP suport team and may not work on all operating systems.
  • GGAP: For a GUI version of GAP, check out GGAP written by Yevgen Muntyan: http://ggap.sourceforge.net/. Thanks to Alexander Hulpke, there is an installer for GAP 4.4.12 and GGAP (Windows and OSX) at http://www.math.colostate.edu/~hulpke/CGT/education.html.
  • Sage: The Sage notebook interface provides a GUI for GAP. If you are running the notebook remotely (e.g., on sagenb.org) then select GAP from the drop-down menu near the top of the browser's page for a worksheet. If you are running the sage notebook locally, type
    sage: notebook("gap",open_viewer=True,system="gap")
    
    This does three things:
    1. puts the banner "gap" on your worksheet (it does not save or name your worksheet "gap" though),
    2. opens firefox (or a new tab if firefox is already running) and starts a sage notebook interface running there,
    3. makes every input box "gap command only".
    For more information on the Sage notebook or the Sage interface with GAP, please see the Sage Reference Manual.
  • gap.app: Written by Russ Woodroofe, this is an alternative to XGAP and only works on Macs. (It has not been tested with mac OS Lion, nor with GAP 4.5.) See http://cocoagap.sourceforge.net/. This program was called cocoaGAP, but the name was changed to avoid confusion with the computer algebra system Cocoa.
In addition to Emacs, there are several more editors which now/soon will have support for GAP syntax highlight:
  • AFAE (Eclipse plugin, out-of-box),
  • Smultron for Mac (Alexander Konovalov can provide file for the GAP mode)
  • PsPAD for Windows (out-of-box; Alexander Konovalov can provide a file with a better GAP mode)
  • jEdit (work in progress, eventually)