Introduction
Introduction to the &HAPprime; package

&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 ); &HAPprime; can compute polynomial ring presentations for cohomology rings calculated using either &HAP; or &HAPprime; (see Section ); 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 ).
Required software

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.
Installing &HAPprime;

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-<#Include SYSTEM "../../VERSION">.
Loading and testing &HAPprime;

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 <#Include SYSTEM "../../VERSION"> general tests + GAP4stones: 371057 + HAPprime version <#Include SYSTEM "../../VERSION"> userguide examples + GAP4stones: 387662 + HAPprime version <#Include SYSTEM "../../VERSION"> 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 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.
Documentation

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.

<#Include Label="MakeHAPprimeDoc_manMisc">
Displaying progress and calculation information

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.

<#Include Label="InfoHAPprime_manMisc">