<!-- 
  HAPPRIME - intro.xml
  Introduction documentation section for HAPprime Datatypes manual
  Paul Smith
  
  Copyright (C)  2007-2008
  National University of Ireland Galway
  Copyright (C)  2011
  University of St Andrews
     
  This file is part of HAPprime. 

  HAPprime is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  HAPprime is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-->
  
<!-- ********************************************************** -->
<Chapter> 
  <Heading>Introduction</Heading>
  
  The &HAPprime; package is a &GAP; package which supplements the &HAP; package 
  (<URL>http://hamilton.nuigalway.ie/Hap/www/</URL>), providing new and 
  improved functions for doing homological algebra over small prime-power 
  groups. A detailed overview of the &HAPprime; package, with examples and 
  documentation of the high-level functions, is provided in the
  accompanying &HAPprime; user guide.
  <P/>
  This document, the datatypes reference manual, supplements the &HAPprime; user 
  guide. It describes the new &GAP; datatypes defined by the &HAPprime; package, 
  and all of the associated functions for working with each of these datatypes.
  The datatypes are
  <List>
    <Mark><K>HAPResolution</K></Mark><Item> 
      (Chapter <Ref Chap="Resolution"/>) this datatype, defined in the &HAP; package, represents a free
      &FG;-resolution of a &FG;-module. &HAPprime; extends the definition
      of this datatype to save memory, and provides additional functions to 
      operate on resolutions. 
    </Item>
    <Mark><K>FpGModuleGF</K></Mark><Item> 
      (Chapter <Ref Chap="FpGModuleGF"/>) a free &FG;-module compactly represented in terms of generating elements, 
      with operations that do as much manipulation as possible within this form, 
      thus minimizing memory use. 
    </Item>
    <Mark><K>FpGModuleHomomorphismGF</K></Mark><Item> 
      (Chapter <Ref Chap="FpGModuleGFHom"/>) a free linear homomorphism between two &FG;-modules, each represented
      as a <K>FpGModuleGF</K>. this also uses the compact generator form to 
      save memory in its operations. 
    </Item>
  </List>
  In addition, Chapter <Ref Chap="GeneralFunctions"/> provides documentation
  for some general functions defined in &HAPprime; which extend some of the 
  basic &GAP; functionality in areas such as matrices and polynomials.
  <P/>
  Each chapter of this reference manual begins with an overview of the datatype,
  and then implementation details of any interesting functions. The function 
  reference of related functions then follows, subdivided into sections of 
  related functions. Examples demonstrating the use of each function are given
  at the end of each section.
  <P/>
  Earlier versions of this datatypes reference manual also documented the 
  datatypes <K>GradedAlgebraPresentation</K>, <K>HAPRingHomomorphism</K> and
  <K>HAPDerivation</K>. The definitions of these datatypes and their related 
  functions are now part of &HAP; and will be documented as part of that
  package.
  
  <#Include SYSTEM "introinternal.xml">

</Chapter>
  
