# Program to Compute Fundamental Groups and Covers

This page makes available Leonard Soicher's GAP4/ GRAPE4.x program for computing fundamental groups, first homology groups, first homology groups mod a prime, and covers of finite 2-dimensional simplicial complexes. Please email L.H.Soicher@qmul.ac.uk if you download, make use of, or find a bug in this program. The algorithms on which this program is based are described in

S. Rees and L.H. Soicher, An algorithmic approach to fundamental groups and covers of combinatorial cell complexes, J. Symbolic Comp. 29 (2000), 59-77.
(This paper also describes an older GAP3/GRAPE2.31 version of the program for clique complexes.)

The program is well-documented with instructions for use, but to help get you started, here is a straightforward example. We compute the fundamental group of the clique complex C of the complement of the Johnson graph J(7,2). We then compute the 1-skeleton of the universal cover of C and then verify that this 1-skeleton (called the Conway-Smith graph for 3.Sym(7)) is distance-regular.

```gap> Read("fundamental.g");

Loading  GRAPE 4.1  (GRaph Algorithms using PErmutation groups),
by L.H.Soicher@qmul.ac.uk.

gap> Cgraph:=ComplementGraph(JohnsonGraph(7,2));;
gap> F:=FundamentalRecordSimplicialComplex(Cgraph);;
gap> G:=F.group; # the fundamental group
<fp group on the generators [ _x1 ]>
gap> Size(G);
3
gap> Cgraph_cover:=CoveringGraph(Cgraph,G,F.edgeLabels,TrivialSubgroup(G));;
gap> IsDistanceRegular(Cgraph_cover);
true
gap> GlobalParameters(Cgraph_cover);
[ [ 0, 0, 10 ], [ 1, 3, 6 ], [ 2, 4, 4 ], [ 6, 3, 1 ], [ 10, 0, 0 ] ]
gap> quit;
```

Updated 05 September 2015: Get version 2.0 of the program. Changes from previous versions are recorded in the program documentation. Your comments are welcome.

Here is a logfile (v2 of 16 May 2016) showing the use of version 2.0 in classifying certain covers of the unique SRG(105,32,4,12).

 Leonard Soicher's Home Page

This page is authored and maintained by L.H.Soicher@qmul.ac.uk
Last modified 16 May 2016