Definition an action of a group on itself and its orbits (GAP)

278 Views Asked by At

Let $G$ be a finite group. $x \sim y$ iff there exists $g \in G$ such that $$ \langle x \rangle = g^{-1} \langle y ‎\rangle g $$ where $\langle x \rangle$ is the subgroup generated by $x$. Then $G$ acts on itself. What is the orbits of this action? For example let $G = D_{14}$ then the action is:

gap> ac:=function(x,t) return Group((x))^t; end;; 

but, how to define the command "Orbits" for it? I set the following commands but it is not correct.

gap> o:=Orbits(G,G,ac);
gap> o:=Orbits(G,Elements(G),ac);
1

There are 1 best solutions below

1
On

The initial problem with the acting function is the type mismatch: in

gap> ac:=function(x,t) return Group((x))^t; end;;

the 1st argument is a group element, and the output is a subgroup. As GAP manual explains here, the acting function must take an element x of the action domain, and t from the acting group, and return an element of the action domain again.

Your second attempt works, indeed - just pasting the code from your comment to display it nicely:

g:=DihedralGroup(14);
act:=function(x,t) return x^t; end;; 
l:=List(ConjugacyClasses(g),Representative);; 
dd:=[];; 
for j in [1..Size(l)] do 
  c:=Group(l[j]);
  Add(dd,c);
od;; 
ss:=Set(dd);; 
oo:=Orbits(g,ss,act);

because now act conforms to the specification. The last line can be replaced by

oo:=Orbits(g,ss,OnPoints);

since your action is just another case of OnPoints, since g^t is defined when g is a group on which t acts by conjugation.

A minor improvement might be to use AddSet in the loop instead of Set after the loop, to avoid forming a large list c. Moreover, if you're interested in conjugacy classes of cyclic subgroups, then (dependently on the group) it may be easier to use ConjugacyClassesSubgroups, and then select classes that contain cyclic subgroups.