[GAP Forum] Define a group action only on generators
Alexander Hulpke
hulpke at math.colostate.edu
Mon Jun 22 21:38:13 BST 2015
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)
gap> hom:=ActionHomomorphism(f,[1..3],[f.1,f.2,f.1^-1,f.2^-1],[(1,2,3),(2,3),(1,3,2),(2,3)],OnPoints);
Then you can use e.g.:
gap> Image(hom);
Group([ (1,2,3), (2,3) ])
gap> Index(f,Kernel(hom));
6
The manual
http://www.gap-system.org/Manuals/doc/ref/chap41.html#X83661AFD7B7BD1D9
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: hulpke at math.colostate.edu, Phone: ++1-970-4914288
http://www.math.colostate.edu/~hulpke
More information about the Forum
mailing list