Dear Forum, Dear Nikos Apostolakis,

> Is there a standard way of defining an action of a group only on the
> generators of a group? Say I have a free group, I want to define an
> function that explains how each generator and its inverse acts and then gap
> should know how each word acts.

There are basically two ways of doing so. The first uses that such an action 
could be represented through homomorphic images. You can do so by giving 
generators and corresponding images:
So for example, if F(2) acts on [1..3] by the permutations (1,2,3) and (2,3), 
you could use:

gap> f:=FreeGroup(2);
<free group on the generators [ f1, f2 ]>
gap> hom:=ActionHomomorphism(f,[1..3],[f.1,f.2],[(1,2,3),(2,3)],OnPoints);

or (if you also want to give inverses, e.g. because the generator images do not 
have finite order)


Then you can use e.g.:

gap> Image(hom);
Group([ (1,2,3), (2,3) ])
gap> Index(f,Kernel(hom));

The manual
describes this syntax.

Alternatively (but this is more of a hack), you could write your own action 
function that would identify the acting element (which will always be a 
generator) in a predefined list, and then do the appropriate thing.

Best wishes,

  Alexander Hulpke

-- Colorado State University, Department of Mathematics,
Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA
email:, Phone: ++1-970-4914288

Forum mailing list

Reply via email to