Function:      ResolutionOfFiniteGroup(Gens,n)
                     ResolutionOfFiniteGroup(Gens,n,true)
Description:

This function constructs the first n terms of a smallish free ZG-resolution R of Z for a generic (but not too large) finite group
G. A contracting homotopy for the resolution is also given. The input is a list Gens of generators for the group G and a positive integer n. The third argument "true" is optional and invokes Tietze reductions in the construction of the resolution. The output is a list [Dimension,Boundary,Homotopy,Elts] of three functions and a list.
  • Dimension(i) gives the ZG-rank of the i-th module in R.
  • Boundary(i,j) gives the boundary of the  j-th free generator of dimension i.
  • Homotopy(i,,[j,g]) gives the image under a contracting homotopy of g times the j-th generator of dimension i.
  • Elts is a list of the elements of G with Elts[g] the element represented by integer g in the preceding two functions.
Here i,j,g are non-negative integers. The integer  g  lies in the range from 1 to the order of G.
Mathematical background:
Comments: This function is the basis of many computations in HAP and more work needs to be done on trying to improve its performance. In particular:
1) The  algorithm is very sensitive to the order in which consequences are found. This is determined by the sequence of integers ExtendedElts. It might be possible to find a better order for this sequence.
2) The Tietze simplification could certainly be improved. 

Documentation: For notes on the code see here.