> < ^ From:

< ^ Subject:

Dear GAP forum,

Juergen Ecker asked:

I want to have the elements of my groups expressed in terms of the generators

of the group. Is there a GAP-function that does this (I believe, no) or an

easy way to do it "by hand"?

The generic function for this is 'Factorization'. However, this function

keeps a list of all elements of the group and thus is applicable only to

groups of moderate size.

For larger groups, homomorphisms offer the possibility to decompose elements

into generators, for example:

gap> g:=Group((1,2),(1,2,3,4)); Group( (1,2), (1,2,3,4) ) gap> f:=FreeGroup(2); Group( f.1, f.2 ) gap> hom:=GroupHomomorphismByImages(f,g,f.generators,g.generators); GroupHomomorphismByImages( Group( f.1, f.2 ), Group( (1,2), (1,2,3,4) ), [ f.1, f.2 ], [ (1,2), (1,2,3,4) ] ) gap> hom.isMapping:=true; # tell GAP it is an homomorphism true gap> PreImagesRepresentative(hom,(1,2,3)); f.1^-1*f.2^-1*f.1^-1*f.2^-3*f.1^-1*f.2^-1*f.1^-2*f.2^-1*f.1^-1*f.2^-1*f.1^-1

Unfortunately the word returned by this method usually is very long, in fact it

might be too long to be feasible. One can play a lot of heuristic tricks to

get the word length down. For example see the Abstab package by Philip

Osterlund, available in the 'incoming' directory of our ftp server.

Best,

Alexander Hulpke

> < [top]