This contains the code used to calculate twisted H^1 groups used in the paper "The Picard group of the moduli space of curves with
level structures" by Andrew Putman.  Please send any comments/questions to andyp@math.mit.edu.

The algorithm used can be found in the book "Handbook of computational group theory" by 
Holt, Eick, and O'Brien.

The various files are as follows.  The header files contain numerous comments about the code.  There is also
a Makefile.  It should be generic enough to compile with any C++ compiler; I used gcc version 4.2.0 under Fedora Linux Release 10

CalcH1SymplecticAdj.cpp : The actual executable code.
Group.h, Group.cpp : The classes for groups and words in the generators of the groups.
GroupRep.h, GroupRep.cpp : The classes for group representations
Matrix.h, Matrix.cpp : The matrix class
SymplecticGroup.h, SymplecticGroup.cpp : The symplectic group and its representations 
