Undeposited Implementations for GAP
On this page we collect references to algorithms that have been
implemented in GAP in the course of research projects.
This collection ranges from undeposited packages (which may or may not
eventually appear among deposited packages)
to rather special purpose implementations whose authors preferred not to
invest the extra effort necessary to turn them into packages. Some of
these programs were developed a while ago and are not guaranteed to work
with the latest version of GAP.
If you are interested in some of these implementations, and no links to the
downloads or descriptions are given, then please contact the authors directly.
Undeposited GAP 4 packages

Henrik Bäärnhielm:
The GAP4 package
matrixss
Implementation of a
SchreierSims 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.

Carmen Cedillo,
Rene MacKinneyRomero,
Miguel Angel Pizaña,
Ismael Ariel Robles, and
Rafael VillarroelFlores::
The GAP4 package
YAGS
YAGS stands for "Yet Another Graph System".
This is a package for dealing with graphs. It is not included
in the GAP distribution since at the moment it can not be used
together with Digraphs and GRAPE packages.

Serena Cicalo and
Willem de Graaf:
The GAP4 package
LieRing
The GAP4 package for constructing and working with Lie rings.
The main topics of interest are: finitely presented Lie rings, the Lazard
correspondence, and nEngel Lie rings.

Randy Cone,
Edward Green and
Oeyvind Solberg:
The GAP4 package
QPA
The QPA package provides data structures and algorithms for doing computations
with finite dimensional quotients of path algebras, and finitely generated
modules over such algebras. The current version of the QPA package has data
structures for quivers, quotients of path algebras, and modules, homomorphisms
and complexes of modules over quotients of path algebras.

JeanGuillaume Dumas,
Frank Heckenbach,
David Saunders and
Volkmar Welker: The GAP4 package
Homology
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 EgriNagy:
The GAP package biogap
The biogap has two goals: providing algebraic tools for
modelling bacterial genomes and also creating publication quality
diagrams.
Available at biogap.

Attila EgriNagy
and Chrystopher L. Nehaniv:
The 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 at SpgDec.

Frank Luebeck:
The GAP package FUtil
The package provides various tools for use with GAP.
Currently, there are 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
The GAP package for braid orbit computation, and applications by
K. Magaard, S. Shpectorov and H. Voelklein (Experimental Math. Vol. 12
(2003), No4., 385393) serves as a manual and 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
braid1.1.tar.gz, untar in the pkg subdirectory and
type LoadPackage("braid"); .

Dean Serenevy:
arrangement
The GAP package for computing hyperplane arrangement invariants. See the
package website
for further details.
Other undeposited implementations for GAP 4

Anton Betten:
An
Interface GAP  DISCRETA
This is an interface to the standalone program DISCRETA for the construction of
tdesigns 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.

Arjeh Cohen and
Scott Murray:
An automated proof theory approach to computation with permutation
groups
A
file with a collection of GAP functions is given
connected with the paper
An automated proof theory approach to computation with permutation groups,
used at the Calculemus Autumn School, SeptemberOctober 2002 in Pisa.

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 Gmodule. Many
interesting algebraic varieties arise as such "minimal orbits", for
instance, Grassmannians and Segre products. These minimal orbits are
notoriously hard to prove nondefective 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.

Bettina Eick
:
Enumeration of pGroups
This algorithm can be used to enumerate all pgroups of a given
order (up to isomorphism). The basic ideas of the algorithm are
similar to the pgroup generation algorithm (see the
ANUPQ Package).
But instead of listing all pgroups of a given order explicitly,
this algorithm only counts the number of such pgroups 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 padic space groups
This algorithm can be used to determine all unserial padic space
groups of a given dimension up to isomorphism (p an odd prime).
The uniserial padic space groups of coclass at most r and their
finite central extensions correspond to the infinite branches in
the graph of all finite pgroups of coclass r. This algorithm
has been used to determine all uniserial 3adic 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.

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 nonoriented, 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 pgroups 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 pgroups).

Alun Williams:
MAF (Monoid Automata Factory)
MAF is a reworking of KBMAG program in C++. It is a package and C++ library for
computing automatic structures and confluent rewriting system for group and coset
rewriting systems, and for computing with finite state automata.
It is primarily a reworking of the KBMAG program, rather than the
KBMAG package itself, but it is stated to be usable
with the KBMAG package as a kind of a dropin replacement
of its binaries.

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.
Undeposited implementations for GAP 3

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".
(For GAP 3 deposited contributions, see here).
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 support team and may not work on all
operating systems.
