Gpd

The Gpd package provides functions for computation with finite groupoids and their morphisms. The first part is concerned with the standard constructions for connected groupoids, and for groupoids with more than one component. Groupoid morphisms are also implemented, and recent work includes the implementation of automorphisms of a finite, connected groupoid: by permutation of the objects; by automorphism of the root group; and by choice of rays to each object. The automorphism group of such a groupoid is also computed, together with an isomorphism of a quotient of permutation groups. The second part implements graphs of groups and graphs of groupoids. A graph of groups is a directed graph with a group at each vertex and with isomorphisms between subgroups on each arc. This construction enables normal form computations for free products with amalgamation, and for HNN extensions, when the vertex groups come with their own rewriting systems.