CoxeterStringPresentation( G )
Let G be a finitely presented group. CoxeterStringPresentation( G ) will return the presentation of G as a list of strings. It will try to represent as much as possible of the presentation as a Coxeter graph. For this purpose the algorithm will first detect the generators of order two. Then it will call the package Grape see [So93] to compute the maximal complete supgraphs of the graph spanned by the relators of the form (xy)n for all generators x and y of order 2. It will select one such supgraph that contains a maximal number of points.
gap> F5 := FreeGroup( 5 ); Group( f.1, f.2, f.3, f.4, f.5 ) gap> rel := [ (F5.1*F5.2)^3, (F5.2*F5.3)^5, (F5.3*F5.4)^3, > (F5.4*F5.5)^5, F5.1^2, F5.2^2, F5.3^2, F5.4^2, F5.5^2, > (F5.1*F5.3)^2, (F5.1*F5.4)^2, (F5.1*F5.5)^2, (F5.2*F5.4)^2, > (F5.2*F5.5)^2, (F5.3*F5.5)^2, (F5.1*F5.2*F5.3)^3, > F5.1^-1*(F5.3*F5.4*F5.5)^5, (F5.2*F5.3*F5.4)^5 ];; gap> Janko1 := F5/rel; Group( f.1, f.2, f.3, f.4, f.5 ); gap> CoxeterStringPresentation( Janko1 ); [ "A3B5C3D5E",, "(ABC)^3,A(CDE)^5,(BCD)^5" ]