Program to Compute Fundamental Groups and Covers

Get the program

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 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),

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

Leonard Soicher's Home Page

This page is authored and maintained by
Last revised 04 April 2006