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.konova...@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 > > for start with. > > 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@mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum