# [GAP Forum] Some GAP question

Alexander Konovalov alexander.konovalov at gmail.com
Wed Dec 17 00:04:57 GMT 2008

```To be precise, the manual says "^ denotes powering of a multiplicative
element if the right operand is an integer, and is also used to denote
the action of a group element on a point of a set if the right operand
is a group element". In the example below, replacing

List( conj, x -> x^-1*elts*x )

by

List( conj, x -> elts^x );

will not work because such action is not defined, but the following
will work, because by default the group act on its elements by
conjugation:

gap> List( conj, y -> List( elts, x -> x^y ) );
[ [ (1,3), (2,4), (1,2) ], [ (1,2), (3,4), (1,3) ], [ (1,3), (2,4),
(1,4) ],
[ (1,4), (2,3), (1,2) ], [ (1,4), (2,3), (1,3) ], [ (1,2), (3,4),
(1,4) ] ]

Also, in this case x^y = y^-1 * x * y.

Best,
Alexander

On 16 Dec 2008, at 17:12, Joe Bohanon wrote:

> GAP also recognizes the command "x^y" meaning "x conjugated by y".
> I'm not
> sure if its y^-1 x y or y x y^-1 that comes out of that
>
> On Tue, Dec 16, 2008 at 10:35 AM, Alexander Konovalov <
> alexander.konovalov at gmail.com> wrote:
>
>> Dear Levie,
>>
>> Maybe the simplest solution to do it interactively for one triple
>> is here:
>>
>> gap> elts:=[(1,3),(2,4),(1,2)];
>> [ (1,3), (2,4), (1,2) ]
>> gap> conj:=[(),(2,3),(2,4),(3,4),(2,3,4), (2,4,3)];
>> [ (), (2,3), (2,4), (3,4), (2,3,4), (2,4,3) ]
>> gap> List( conj, x -> x^-1*elts*x );
>> [ [ (1,3), (2,4), (1,2) ], [ (1,2), (3,4), (1,3) ], [ (1,3), (2,4),
>> (1,4)
>> ],
>> [ (1,4), (2,3), (1,2) ], [ (1,4), (2,3), (1,3) ], [ (1,2), (3,4),
>> (1,4) ]
>> ]
>>
>> You may write a function to do this:
>>
>> gap> myfun:=function(elts,conj)
>>> return List( conj, x -> x^-1*elts*x );
>>> end;
>> function( elts, conj ) ... end
>>
>> and then call this function as it is shown here:
>>
>> gap> myfun(elts,conj);
>> [ [ (1,3), (2,4), (1,2) ], [ (1,2), (3,4), (1,3) ], [ (1,3), (2,4),
>> (1,4)
>> ],
>> [ (1,4), (2,3), (1,2) ], [ (1,4), (2,3), (1,3) ], [ (1,2), (3,4),
>> (1,4) ]
>> ]
>>
>> Now you may apply it for various values of arguments. Using list
>> operations
>> and GAP programming language constructions (see, e.g. 'for' loops)
>> you may
>> automate computations for various combinations of arguments.
>>
>> Hope this gives some hints in which direction to proceed.
>> For the further ideas, you may find useful these chapters
>> from the Tutorial:
>>
>> http://www.gap-system.org/Manuals/doc/htm/tut/CHAP003.htm
>> http://www.gap-system.org/Manuals/doc/htm/tut/CHAP004.htm
>>
>> and the Reference manual chapter "The Programming Language":
>>
>> http://www.gap-system.org/Manuals/doc/htm/ref/CHAP004.htm
>>
>>
>> Best wishes,
>> Alexander
>>
>>
>>
>> On 11 Dec 2008, at 14:45, Levie Bicua wrote:
>>
>> Dear GAP forum members,
>>> I'm new to this GAP thing and I think this question is trivial to
>>> most of
>>> you.
>>> Suppose I have a set of 3 elements coming from s4 (e.g.
>>> [(1,3),(2,4),(1,2)]) and I want to generate other sets using GAP
>>> by the
>>> method below:
>>> gap> ()^-1*[(1,3),(2,4),(1,2)]*();
>>> [ (1,3), (2,4), (1,2) ]
>>> gap> (2,3)^-1*[(1,3),(2,4),(1,2)]*(2,3);
>>> [ (1,2), (3,4), (1,3) ]
>>> gap> (2,4)^-1*[(1,3),(2,4),(1,2)]*(2,4);
>>> [ (1,3), (2,4), (1,4) ]
>>> gap> (3,4)^-1*[(1,3),(2,4),(1,2)]*(3,4);
>>> [ (1,4), (2,3), (1,2) ]
>>> gap> (2,3,4)^-1*[(1,3),(2,4),(1,2)]*(2,3,4);
>>> [ (1,4), (2,3), (1,3) ]
>>> gap> (2,4,3)^-1*[(1,3),(2,4),(1,2)]*(2,4,3);
>>> [ (1,2), (3,4), (1,4) ]
>>> The method gave 6 different sets of 3 elements. If I will use
>>> another set
>>> of 3 elements and repeat the process with again using
>>> (),(2,3),(2,4),(3,4),(2,3,4), (2,4,3) as conjugating elements, I
>>> will obtain
>>> again 6 different sets. But using this process every time I want
>>> to obtain a
>>> list of different sets as above would be eating much of my time.
>>> Is there a
>>> more efficient command/method than what I had used? Thanks.
>>>
>>>
>>>
>>> _______________________________________________
>>> Forum mailing list
>>> Forum at mail.gap-system.org
>>> http://mail.gap-system.org/mailman/listinfo/forum

```