[GAP Forum] efficient generating set for a permutation group

Dima Pasechnik dmitrii.pasechnik at cs.ox.ac.uk
Mon Aug 3 17:23:55 BST 2020


Dear all,
On Mon, Aug 03, 2020 at 09:38:07AM -0500, Ignat Soroko wrote:
> I am computing a group of graph automorphisms by ad hoc methods, and have a
> code (here gen is a partition of [1..n] corresponding to the degrees of
> vertices):
> 
> G:=Group(Union(List(gen,x->GeneratorsOfGroup(SymmetricGroup(x)))));
> aut:=[];
> for g in G do
> if ForAll([1..n-1],i->ForAll([i+1..n],j->m[i^g][j^g]=m[i][j])=true) then
> Add(aut,g);
> fi;
> od;
> Aut:=Group(aut);

I'd suggest using GRAPE package for such a task, which employs a
reasonably efficient program (nauty) to compute graph automorphisms.

Another package for the task is digraphs.

> In some situations the resulting permutation group gets a huge generating
> set, like the following one:
> 
> Aut:=Group(Elements(SymmetricGroup(10)));
> 
> and all operations with it become super slow. Is there a way to make GAP
> pass to a smaller generating set? Unfortunately, commands like
> SmallGeneratingSet(Aut); never terminate.
> 
> Any hints?

Use an efficient technique.

HTH,

Dima




More information about the Forum mailing list