HAPprime is a package for the GAP computer algebra system (http://www.gap-system.org/), and which extends the HAP `Homological Algebra Progamming' package written by Graham Ellis (http://hamilton.nuigalway.ie/Hap/www/). It provides algorithms and data structures for calculating cohomology ring presentations and resolutions of small prime-power groups. As well as new functions, HAPprime also provides some equivalents for some existing HAP functions that are much more memory-efficient and occasionally faster.
In particular, the main reasons you may want to use HAPprime are
the calculation of resolutions of prime-power groups in HAPprime uses significantly less memory than the equivalent function in HAP, allowing resolutions (and cohomology ring presentations) of larger groups to be calculated (see Section 2.3);
HAPprime can compute polynomial ring presentations for cohomology rings calculated using either HAP or HAPprime (see Section 2.2-1);
we provide a method which ensures that complete and correct cohomology rings are computed. This is a an implementation of Len Evens' original proof of the finite presentation of the cohomology rings (see Section 2.2-2).
The HAPprime package requires GAP version 4.4 or greater and HAP version 1.8.9 or greater. For calculating provably-correct cohomology rings, the Singular commutative algebra system (http://www.singular.uni-kl.de/) and the singular GAP package are also required.
To install the HAPprime Package, unpack the archive file into your GAP packages directory (either usually the pkg
directory of your GAP 4 installation if you have access to it, or some local pkg
directory that GAP can find). The HAPprime files will all be installed in a subdirectory called happrime-0.3.2
.
The HAPprime package is not loaded by default when GAP is started. To load the package, type the following at the GAP prompt:
gap> LoadPackage( "HAPprime"); |
If HAPprime isn't already in memory, it is loaded and the author information is displayed. If you are a frequent user of HAPprime, you might consider putting this line in your .gaprc
file.
The correct installation of HAPprime can be tested by using the test routine tst/testall.g
:
gap> ReadPackage("HAPprime", "tst/testall.g"); + HAPprime version 0.3.2 general tests + GAP4stones: 371057 + HAPprime version 0.3.2 userguide examples + GAP4stones: 387662 + HAPprime version 0.3.2 datatypes reference manual examples + GAP4stones: 382653 true |
The number of GAP4stones
will vary depending on your machine, but any additional lines of messages indicate problems with your installation.
The test routine calls a set of test files Reference: Test Files which can be found in the tst
directory of the HAPprime installation. All of the routines listed in this user guide are tested, as are many of those in the datatype reference manual.
The documentation for HAPprime is in two parts. This document is the user guide, which covers the main functions provided by HAPprime and examples of their use. There is also a more technical HAPprime datatypes reference manual which gives details of the new GAP datatypes defined and used internally by HAPprime, as well as outlining the algorithms used by the package.
> MakeHAPprimeDoc ( [manual-name] ) | ( function ) |
Returns: nothing
The two manuals supplied with HAPprime - this user guide and the datatypes reference manual - are written using the GAPDoc package and are available in PDF, HTML and text format. It should not be necessary to rebuild these files, but should you wish to do so then this can be done using the function MakeHAPprimeDoc
.
The optional argument manual-name is a string specifying which manuals to build. It may be one of the following
"all"
builds both manuals. This is the default
"userguide"
builds just the user guide
"datatypes"
builds just the datatypes reference manual
"internal"
builds both manuals, including the otherwise undocumented internal functions
"testexamples"
builds neither manual, but tests all of the examples using TestManualExamples
(GAPDoc: TestManualExamples)
As well as building the manuals, this function at the same time builds GAP test files Reference: Test Files which means that all of the testable examples in the manuals are added to the HAPprime test routines described in Section 1.4.
By default, the functions in HAPprime display no output (except for returning the result). The InfoHAPprime
info class can be used to enable the printing of progress and calculation information during processing. Since some computations with HAPprime can take several hours, setting this to a higher level can be particularly useful for monitoring the progress of computations.
> InfoHAPprime | ( info class ) |
The InfoHAPprime
info class is used throughout the HAPprime package. Use SetInfoLevel(InfoHAPprime,
level)
to change the amount of information displayed about the progress of the computation (see SetInfoLevel
(Reference: SetInfoLevel) in the GAP reference manual). The different distinct levels are:
0
print nothing (this is the default)
1
print some information, mainly progress information during computations that may take some time
2
print more detailed information, incluing details of internal calculations
generated by GAPDoc2HTML