Unifpack is a set of routines and programs written in C designed to help in the study of Riemann Surfaces, the first version (1.0) was written in the beginning of 1992 as part of my bachelor degree, the current version is 1.1 , although almost all the code has been rewritten and the package has suffered major modifications I decided not to make this a major release, only when some points in the TODO list have been checked out a version 2.0 will be released.
Basically Unifpack reads a presentation of a finite group and
calculates the
Cayley graph of the group for that presentation (see [CM80]), if the
presentation is -admissible (see [GR93]), that is,
a presentation is in the form
where the order of each is
and the order of the product
is
,
are some extra relations
and
it can calculate a fundamental polygon for a uniformization of a Riemann surface that admits this group as a group of automorphisms. Usually there is a family of Riemann surfaces that admit such a group, this maps to a family of fundamental polygons controlled by some parameters, when corresponds Unifpack lets you change this parameters and thus study the family of Riemann surfaces, this was the main purpose when the package was originally designed.
The list of things Unifpack can't do is, of course, longer than the things it can do, at the end of this document there is a TODO list that include these ``unimplemented'' features; anyway I would like to mention some of them here