Download Instructions
On a Linux machine with GAP installed, the HAP library can be loaded as
follows:
- First download the file hap1.10.15.tar.gz
which contains the most recent development version of HAP to the
subdirectory
"pkg/" of GAP. If you don't have access to this subdirectory,
then create a directory "pkg" in your home directory and download the
file there. (if for some reason you'd prefer to download the most
recent non-development version of HAP then download the file hap1.10.15.tar.gz
instead.)
- Change to directory "pkg/" and type "gunzip hap1.10.tar.gz" followed by "tar -xvf hap1.10.tar" .
- Start GAP. (If you have created "pkg" in your home directory then start GAP with the command "gap -l 'path/homedir;' " where path/homedir is the path to your home directory.)
- In GAP type " LoadPackage("HAP"); "
- Help on HAP can be found on the HAP home page (a version of which is included in directory "pkg/Hap1.10/www" of the distribution).
- A few of HAP's (optional) functions rely on Polymake
software
(available from www.math.tu-berlin.de/polymake/) which should be
installed so that it
starts using the command "polymake" at the Linux prompt. A few
(optional) functions rely on Graphviz software (available from
http://www.graphviz.org/).
- Performance can be improved by using a compiled
version of the HAP library. The following steps will produce a compiled
version.
(1) Change to the directory "pkg/Hap1.10/" .
(2) Edit the file "compile" so that: PKGDIR is equal to the path to the
directory "pkg" where your GAP packages are stored; GACDIR is equal to the
path to the directory where the GAP compiler "gac" is stored.
(3) Type "./compile" .
The next time HAP is loaded a compiled version will be loaded.
- Should you want to return to an uncompiled version, change
to the directory
"pkg/Hap1.10/" and type "./uncompile".
Changes Log
Version 1.4
was released on
03/05/2006.
Version 1.5
was released on
12/06/2006. GAP types were introduced for resolutions, chain complexes
etc. and methods for PrintObj and ViewObj were introduced. The
functions Homology and Cohomology where changed to GAP operations. A
Linux shell script "compile" for creating a GAC compiled version of the
HAP functions was added. The performance of the functions
NonabelianTensorSquare() and ResolutionPrimePowerGroup() was improved.
Functions ResolutionSubnormalSeries(),
ResolutionAlmostCrystalGroup() and ResolutionAlmostCrystalQuotient()
were added.
Version 1.6
was released on
15/08/2006. The functions
Honology(), Cohomology() and PrimePartDerivedFunctor() have been
speeded up. Graphviz is now used to visualize Coxeter
diagrams, Graphs of groups and Cayley graphs. The functions
ResolutionGraphOfGroups(), ChevalleyEilenbergComplex(),
LieAlgebraHomology, LowerCentralSeriesLieAlgebra(),
ModPCohomologyRing(), ModPRingGenerators have been included.
Version 1.7
was released on 01/09/2006.
The functions Epicentre() and
IsGraphOfGroups() were renamed EpiCentre() and GraphofGroupsTest() due
to
name clashes arising from recent modifications to GAP. A minor
modification was made to the functions NonabelianTensorSquare() and
ThirdHomotopyGroupOfSuspensionB() so that they run on nilpotent
infinite groups when the NQ package is loaded.
Version 1.7.1 was released on 27/11/2006. The function HomologyPB() was
added. This relies on the Simplicial Homology GAP package. It uses
probabilistic methods to compute homology.
Version 1.7.3
was released on
7/03/2007. The efficiency of the code
for the function ResolutionPrimePowerGroup() was improved. Also, a bug
in the function ThirdHomotopyGroupSuspensionB() was fixed.
Version 1.7.4
was released on
10/04/2007. A bug was fixed in the function NonabelianTensorProduct().
The bug caused incorrect answers. Also, the function PoincareSeries()
was added.
Version 1.8
was released on 16/08/2007. A bug in the function ModPCohomologyRing()
was fixed. The efficiency of the function Prank() was improved. The
efficiency of the function ModPRingGenerators was improved. A
contracting homotopy was added to the output of the function
ResolutionPrimePowerGroup(). Quite a few
additions were made to the list of functions for FpG-modules. The
function RandomHomomorphismOfFpGModules() still gives an incorrect
output! The
function GroupCohomology() was added. The output of
GroupHomology(G,n,p) was changed from an integer to a list (in keeping
with the output from GroupHomology(G,n) ). The manual/web pages were
revamped.
Version 1.8.4
includes some functions for parallel computations, and some functions
for Topological Data Analysis.
Version 1.8.6
includes some functions for topological data analysis. The function
ModPCohomologyRing() has be speeded up. There is also now a function
for the cover of a (non-nilpotent) Lie algebra.
Version 1.8.8
includes the notion of a cocycle with coefficients in a G-module (=
abelian G-outer group group). It contains a function for writing a
resolution to a file. It also contains the beginning of functionality
for handling homological algebra at the abstract level of
abelian categories.
Version 1.8.9
replaces many "do it yourself" references to /tmp/temproray_file by a
more robust reference to
Filename(DirectoryTemporary(),"temporary_file"). It fixes a bug
in 1.8.8 involving a declaration of an existing operation. Some
functions for FpG-modules have been added (such as
CompositionSeriesOfFpGModule()).
Version 1.8.10 didn't really exist! Version 1.8.11 has improved
functions for topological data analysis, including functions for
simplicial and cubical complexes.
Versions 1.9.0-1.9.3 have
better functionality for cubical complexes (and in particular a faster
method for finding an acyclic subcomplex of a 3-dimensional cubical
complex). Version 1.9.3 has a working resolution for arithmetic groups
such as PSL(4,Z), PGL(3,Z[i]) and PGL(3,Z[w]) where w is a third root
of unity.