is it possible to chose an element of a group without invoking the complete list of elements of a group using GAP?

60 Views Asked by At

Suppose $G$ is a group of finite order. Then the command L:=List(G) in GAP gives us the complete list of elements of G and we can choose any of the element using the command L[i].

Now is it possible to choose an element of G without invoking the complete list of elements?

1

There are 1 best solutions below

0
On BEST ANSWER

For many groups, there are effective methods to establish a bijection between elements of the group and the range $1..|G|$. This is done by taking an Enumerator of the group. It will behave like a list but not store all elements.

gap> g:=TransitiveGroup(12,299);
[S(6)^2]2=S(6)wr2
gap> Size(g);
1036800
gap> e:=Enumerator(g);
<enumerator of perm group>
gap> e[123456];
(1,5,11,7)(2,8,12)(3,9)(4,6)
gap> Position(e,last);
123456
gap> Position(e,(1,4,5,10,7,6)(2,9,8,3,12,11));
220870
gap> Position(e,(1,2,3));
fail

Note that the actual bijection is determined within the algorithm and is not guaranteed to remain stable when creating the same group again and calculating a new Enumerator. That is, unless you still have the same enumerator in the same session of GAP, you cannot safely refer to element number $x$ of the group and expect to obtain the same element. In particular it does not make sense to refer to elements with particular numbers in publications.