From hebert.perez at gmail.com Mon Jan 3 06:35:12 2011 From: hebert.perez at gmail.com (=?ISO-8859-1?B?SGViZXJ0IFDpcmV6LVJvc+lz?=) Date: Mon, 3 Jan 2011 17:35:12 +1100 Subject: [GAP Forum] Permutations of a multiset, and another question Message-ID: Happy new year everyone ! I wonder if anyone has a GAP function to generate all permutations of a multiset with a given specification (i.e. n_0 elements of type 0, n_1 elements of type 1, and so on). Moreover, I have been tinkering with a function to generate a special class of permutations of a multiset, and I have found a problem with the function Add. When it is called inside another function, it does not do what it is supposed to do. That has happened to me in other occasions as well. Is that a bug? Below is the code of the function, with the call to Add: ########################################################## ## PermutationsMultiset generates the all the perms of ## a multiset {0,...m}, with specification ## in co-lex order, using Ruskey's algorithm. ######################################################### PermutationsMultiset:= function(bign, spec) local n0, n1, GenMult, ran, perm, l, newperm, out; #--------------------------------------------------------------# # Recursive function that computes the perms # #-------------------------------------------------------------# GenMult:= function(smalln) if n0 = smalln then # Print(perm, "\n"); Add(out, perm); else if n0 > 0 then perm[smalln+1]:= 0; n0:= n0-1; GenMult(smalln-1); # Recursive call n0:= n0+1; perm[smalln+1]:= 0; fi; if n1 > 0 then perm[smalln+1]:= 1; n1:= n1-1; GenMult(smalln-1); # Recursive call n1:= n1+1; perm[smalln+1]:= 0; fi; fi; end; #--------------------------------------------# # Body of main function # #--------------------------------------------# out:= []; n0:= spec[1]; n1:= spec[2]; ran:= [1..bign+1]; perm:= ran; for l in ran do perm[l]:=0; od; GenMult(bign); # First call to recursive function return out; end; ============================================= Now try PermutationsMultiset(5, [3,2]); Best regards, Hebert Perez-Roses The University of Newcastle, Australia From sararadfarss at gmail.com Tue Jan 4 05:39:50 2011 From: sararadfarss at gmail.com (Sara Radfar) Date: Mon, 3 Jan 2011 21:39:50 -0800 Subject: [GAP Forum] help Message-ID: Hi We know that in gap we use notation $PSL(p,q)$ for projective linear group.What is notation projective semi-linear group? Thanks sara From max at quendi.de Wed Jan 5 23:25:16 2011 From: max at quendi.de (Max Horn) Date: Thu, 6 Jan 2011 00:25:16 +0100 Subject: [GAP Forum] help In-Reply-To: References: Message-ID: <1CB43821-1414-4912-B760-A4DB1CCB0989@quendi.de> Am 04.01.2011 um 06:39 schrieb Sara Radfar: > Hi > We know that in gap we use notation $PSL(p,q)$ for projective linear > group.What is > notation projective semi-linear group? > Thanks > sara Dear Sara, to the best of my knowledge, there is no function for that in GAP. (Also note that some people would consider PGL to be the project linear group; I guess it's a matter of taste or the field you work in; I only mention it for completeness). However, you can create the required group yourself as follows. This uses that the automorphism group of a finite field is cyclic, and generated by the Frobenius automorphism. # Parameters we are interested in n:=3;; q:=9;; F:=GF(q);; # To construct PSL, start with SL; to construct PGL, start with GL. G := GL(n,F); # Pick a normed basis vector, and take the orbit of the subspace it spans, under the action of G e1:=IdentityMat(n,F)[1];; orb:=Set(Orbit(G,e1,OnLines));; # Finally construct PSL(n,F) by turning this action into a permutation representation for it. psl:=Action(G,orb,OnLines);; # You can now work with this, and e.g. test if the size is correct. Size(psl) = Size(PSL(n,q)); # Now, we can turn the Frobenius automorphism into a permutation of the set 'orb' aut:=FrobeniusAutomorphism(F);; frob:=PermList(List(orb,v->Position(orb, List(v,x->Image(aut,x)))));; # Finally, by adding 'frob' as a new generator to psl, we get the desired group H:=ClosureGroupAddElm(psl, frob); Hope that helps, Max From sararadfarss at gmail.com Thu Jan 6 13:14:32 2011 From: sararadfarss at gmail.com (Sara Radfar) Date: Thu, 6 Jan 2011 05:14:32 -0800 Subject: [GAP Forum] Help Message-ID: Hi I can find the same order elements of a group but can't find the set of the number of the same order elements of a group.Also how we can introduce a sporadic simple group to GAP?.For example $CO$. Thanks Sara From vipul at math.uchicago.edu Fri Jan 7 02:22:04 2011 From: vipul at math.uchicago.edu (Vipul Naik) Date: Thu, 6 Jan 2011 20:22:04 -0600 Subject: [GAP Forum] Help In-Reply-To: References: Message-ID: <20110107022204.GA16678@math.uchicago.edu> Hi, If I understand your question correctly, you want information on how many elements of a finite group have each possible order. Although I don't think there are built-in functions for this, it is easy to write code for these. For instance: OrderStatisticsPaired := function(G) local L,D; L := List(Set(G),Order); D := DivisorsInt(Order(G)); return(List(D,x->[x,Length(Filtered(L,y->x=y))])); end;; This function takes as input a group and gives a list of ordered pairs, for each divisor of the order of the group, how many elements of the group have that order. For instance: OrderStatisticsPaired(SymmetricGroup(4)) gives the output: [ [ 1, 1 ], [ 2, 9 ], [ 3, 8 ], [ 4, 6 ], [ 6, 0 ], [ 8, 0 ], [ 12, 0 ], [ 24, 0 ] ] indicating that in the symmetric group on four letters, there is one element of the group of order one, nine elements of order two, eight elements of order three, six elements of order four, and no element of any higher order. This exact function may not suit your needs but it's likely that some variant of it will. This code is inefficient for large groups; for such groups, one can modify the code to only go over conjugacy classes instead of elements. To create such a function, you can either paste the function code in front of the GAP command prompt or include this in a file and then use GAP's "Read" command to read that file in. Vipul * Quoting Sara Radfar who at 2011-01-06 05:14:32+0000 (Thu) wrote > Hi > > I can find the same order elements of a group but can't find the set > of the number of the same order elements of a group.Also how we can > introduce a sporadic simple group to GAP?.For example $CO$. > > Thanks > Sara > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From akdasnehu at gmail.com Fri Jan 7 04:32:53 2011 From: akdasnehu at gmail.com (Dr. Ashish Kumar Das) Date: Fri, 7 Jan 2011 10:02:53 +0530 Subject: [GAP Forum] Help In-Reply-To: <20110107022204.GA16678@math.uchicago.edu> References: <20110107022204.GA16678@math.uchicago.edu> Message-ID: Hi, How about running the following program: n:=90; # try with other values i:=0; Print("GROUP ORDER is ", " ", n, "\n"); g:= AllSmallGroups(n); for xx in g do i:=i+1; Print( "\n", "SMALL GROUP", "(" , n, "," , i, ") = ",StructureDescription(xx), "\n","\n"); yy:= Set(List(xx,Order)); for y in yy do zz:= Number(xx, x -> Order(x)=y); Print("order = ", y, " ", "number of elts = ", zz, "\n", "\n"); od; od; Ashish Kumar Das Maths Dept. NEHU, Shillong, INDIA On 1/7/11, Vipul Naik wrote: > Hi, > > If I understand your question correctly, you want information on how > many elements of a finite group have each possible order. Although I > don't think there are built-in functions for this, it is easy to write > code for these. For instance: > > OrderStatisticsPaired := function(G) > local L,D; > L := List(Set(G),Order); > D := DivisorsInt(Order(G)); > return(List(D,x->[x,Length(Filtered(L,y->x=y))])); > end;; > > This function takes as input a group and gives a list of ordered > pairs, for each divisor of the order of the group, how many elements > of the group have that order. For instance: > > OrderStatisticsPaired(SymmetricGroup(4)) > > gives the output: > > [ [ 1, 1 ], [ 2, 9 ], [ 3, 8 ], [ 4, 6 ], [ 6, 0 ], [ 8, 0 ], [ 12, 0 ], [ > 24, 0 ] ] > > indicating that in the symmetric group on four letters, there is one > element of the group of order one, nine elements of order two, eight > elements of order three, six elements of order four, and no element of > any higher order. > > This exact function may not suit your needs but it's likely that some > variant of it will. > > This code is inefficient for large groups; for such groups, one can > modify the code to only go over conjugacy classes instead of elements. > > To create such a function, you can either paste the function code in > front of the GAP command prompt or include this in a file and then use > GAP's "Read" command to read that file in. > > Vipul > > * Quoting Sara Radfar who at 2011-01-06 05:14:32+0000 (Thu) wrote >> Hi >> >> I can find the same order elements of a group but can't find the set >> of the number of the same order elements of a group.Also how we can >> introduce a sporadic simple group to GAP?.For example $CO$. >> >> Thanks >> Sara >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From ercan at metu.edu.tr Fri Jan 7 09:25:42 2011 From: ercan at metu.edu.tr (Gulin Ercan) Date: Fri, 07 Jan 2011 11:25:42 +0200 Subject: [GAP Forum] First Announcement:Workshop on "Finite Groups & Their Automorphisms" in Istanbul Message-ID: <20110107112542.104653muq7sbzqja@horde.metu.edu.tr> Dear All, We would like to announce herewith a five-day workshop on "Finite groups and their automorphisms" which will take place in Istanbul at Bo?azi?i University on 7-11 June 2011. It aims to bring together leading mathematicians and active researchers working on the theory of groups in order to exchange ideas, present new results and identify the key problems in the field. The workshop is especially interested in and motivated by the questions on the relationship between a finite group and another one acted upon by the first, although it is not to be considered the exclusive theme. There will be seven mini-courses and some invited talks. The speakers who have kindly accepted our invitation to give (a short series of)lectures are: Alan Camina, Martin I.Isaacs, Evgeny Khukhro, Charles Leedham-Green, Attila Maroti, Nadia Mazza, Akos Seress, Aner Shalev and Said N.Sidki There will be a limited number of slots available in the schedule for contributed talks as well and a poster session. For details and registration please visit the workshop webpage http://www.istanbulgroup.metu.edu.tr We are looking forward to seeing you in Istanbul!! ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. From alexander.konovalov at gmail.com Fri Jan 7 15:58:05 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Fri, 7 Jan 2011 15:58:05 +0000 Subject: [GAP Forum] Interface with other languages In-Reply-To: <2b1eb6bd9353ac82cd8c47b15c54fb82.squirrel@mat.ug.edu.pl> References: <2b1eb6bd9353ac82cd8c47b15c54fb82.squirrel@mat.ug.edu.pl> Message-ID: <1D984673-C91C-4F6B-B493-D1843C9E5090@gmail.com> Dear Bartosz, dear GAP Forum, There are already several GAP packages that contain C parts and use LoadDynamicModule to load them, so probably to begin with you may have a look at them. In no particular order, these packages are: orb, linboxing, io, HAP, Gauss, FR, EDIM and Browse. Best wishes, Alexander On 10 Dec 2010, at 14:44, bart at mat.ug.edu.pl wrote: > W dniu 10.12.2010 10:06, Max Horn pisze: >> In addition, GAP can load dynamic modules (again, at least on UNIX type > systems). I used that to implement some of the most time critical > functions of a package I am working on in C, for a major speed boost. So > you could call other systems from within GAP > > Hello, > > How to do this? > Could I write my own function in C/C++, compile it into library, and use > in GAP? > I imagine that there could be necessary some types conversions (?) > > I see LoadDynamicModule() in > http://www.gap-system.org/Manuals/doc/htm/ref/CHAP003.htm#SECT007 > but is it possible to use it with library other than obtained by using gac? > > > All the best > Bartosz Putrycz From hebert.perez at gmail.com Sat Jan 8 05:31:23 2011 From: hebert.perez at gmail.com (=?ISO-8859-1?B?SGViZXJ0IFDpcmV6LVJvc+lz?=) Date: Sat, 8 Jan 2011 16:31:23 +1100 Subject: [GAP Forum] The Add function Message-ID: Dear all, I'm embarrased to say this, but I'm very puzzled by the behaviour of the Add function. I have this simple test code: -------------------------------------- TestFun:= function(n) local perm, out, i; out:= []; perm:= []; for i in [1..n] do perm[i]:=0; od; for i in [1..n] do perm[i]:= i; Add(out, perm); od; return out; end; ---------------------------------- If I now make a call to Test(3), I should get [ [1,0,0], [1,2,0], [1,2,3] ], right? However, I'm getting [ [1,2,3], [1,2,3], [1,2,3] ]. Do you get the same thing? Can anybody explain to me what's happening here? Thank you very much in advance, Hebert Perez-Roses The University of Newcastle, Australia From krkini at ntu.edu.sg Sat Jan 8 06:01:44 2011 From: krkini at ntu.edu.sg (Keshav Rao Kini) Date: Sat, 8 Jan 2011 14:01:44 +0800 Subject: [GAP Forum] The Add function In-Reply-To: References: Message-ID: Hello, Each time you use Add, it adds perm as a new list entry in out. It does NOT add the current value of perm as a new list entry in out, but rather inserts a reference to the list perm. The list perm is added to the list out three times, and by the time the function returns, perm = [1,2,3], so out consists of three [1,2,3]. If you want to remember previous states of a list, you'll always need to make a copy, because this is not done automatically when using functions like Add. Try using for example the ShallowCopy function. Hope that helps. Yours, Keshav Disclaimer: the boilerplate text at the foot of this email has been added automatically by my mail server. This was not done by my request (rather the opposite) so please disregard it. 2011/1/8 Hebert P?rez-Ros?s > Dear all, I'm embarrased to say this, but I'm very puzzled by the behaviour of the Add function. I have this simple test code: -------------------------------------- TestFun:= function(n) local perm, out, i; out:= []; perm:= []; for i in [1..n] do perm[i]:=0; od; for i in [1..n] do perm[i]:= i; Add(out, perm); od; return out; end; ---------------------------------- If I now make a call to Test(3), I should get [ [1,0,0], [1,2,0], [1,2,3] ], right? However, I'm getting [ [1,2,3], [1,2,3], [1,2,3] ]. Do you get the same thing? Can anybody explain to me what's happening here? Thank you very much in advance, Hebert Perez-Roses The University of Newcastle, Australia _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum ________________________________ CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From hebert.perez at gmail.com Sat Jan 8 06:19:17 2011 From: hebert.perez at gmail.com (=?ISO-8859-1?B?SGViZXJ0IFDpcmV6LVJvc+lz?=) Date: Sat, 8 Jan 2011 17:19:17 +1100 Subject: [GAP Forum] The Add function In-Reply-To: References: Message-ID: OK, thank you very much. I would just swear that I had already tried that. Cheers, Hebert. 2011/1/8 Keshav Rao Kini > Hello, > > Each time you use Add, it adds perm as a new list entry in out. It does NOT > add the current value of perm as a new list entry in out, but rather inserts > a reference to the list perm. The list perm is added to the list out three > times, and by the time the function returns, perm = [1,2,3], so out consists > of three [1,2,3]. > > If you want to remember previous states of a list, you'll always need to > make a copy, because this is not done automatically when using functions > like Add. Try using for example the ShallowCopy function. > > Hope that helps. > > Yours, > Keshav > > Disclaimer: the boilerplate text at the foot of this email has been added > automatically by my mail server. This was not done by my request (rather the > opposite) so please disregard it. > > > > 2011/1/8 Hebert P?rez-Ros?s > >> Dear all, >> >> I'm embarrased to say this, but I'm very puzzled by the behaviour of the >> Add >> function. I have this simple test code: >> >> -------------------------------------- >> TestFun:= function(n) >> local perm, out, i; >> >> out:= []; >> perm:= []; >> for i in [1..n] do >> perm[i]:=0; >> od; >> for i in [1..n] do >> perm[i]:= i; >> Add(out, perm); >> od; >> return out; >> end; >> ---------------------------------- >> >> If I now make a call to Test(3), I should get [ [1,0,0], [1,2,0], [1,2,3] >> ], >> right? However, I'm getting [ [1,2,3], [1,2,3], [1,2,3] ]. Do you get the >> same thing? Can anybody explain to me what's happening here? >> >> Thank you very much in advance, >> >> Hebert Perez-Roses >> The University of Newcastle, Australia >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > > > ------------------------------ > CONFIDENTIALITY: This email is intended solely for the person(s) named and > may be confidential and/or privileged. If you are not the intended > recipient, please delete it, notify us and do not copy, use, or disclose its > content. Thank you. > > Towards A Sustainable Earth: Print Only When Necessary > From sararadfarss at gmail.com Sun Jan 9 08:32:23 2011 From: sararadfarss at gmail.com (Sara Radfar) Date: Sun, 9 Jan 2011 00:32:23 -0800 Subject: [GAP Forum] Question Message-ID: Dear forum Hi I have a question about group theory.I know that should send this message for group pub forum but I coudn't join to it.If you can help me about my question: My question is:Let the set of the number of sylow subgroup $G$ equal to group $PSL(2,7)$(that is {8,21,28}) about solvability or unsolvability group $G$ what we can say? Thanks sara From zahra.sheikhaleslami at gmail.com Sun Jan 9 08:44:47 2011 From: zahra.sheikhaleslami at gmail.com (zahra sheikhaleslami) Date: Sun, 9 Jan 2011 12:14:47 +0330 Subject: [GAP Forum] Forum Digest, Vol 86, Issue 2 In-Reply-To: References: Message-ID: hi please write this theorem with gap if G,H are finite groups with (IGI,IHI)=1then Aut(G?H)=Aut(G)?Aut(H) On 1/9/11, forum-request at gap-system.org wrote: > Send Forum mailing list submissions to > forum at mail.gap-system.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://mail.gap-system.org/mailman/listinfo/forum > or, via email, send a message with subject or body 'help' to > forum-request at mail.gap-system.org > > You can reach the person managing the list at > forum-owner at mail.gap-system.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Forum digest..." > > > Today's Topics: > > 1. Help (Sara Radfar) > 2. Re: Help (Vipul Naik) > 3. Re: Help (Dr. Ashish Kumar Das) > 4. First Announcement:Workshop on "Finite Groups & Their > Automorphisms" in Istanbul (Gulin Ercan) > 5. Re: Interface with other languages (Alexander Konovalov) > 6. The Add function (Hebert P?rez-Ros?s) > 7. Re: The Add function (Keshav Rao Kini) > 8. Re: The Add function (Hebert P?rez-Ros?s) > 9. Question (Sara Radfar) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 6 Jan 2011 05:14:32 -0800 > From: Sara Radfar > To: forum > Subject: [GAP Forum] Help > Message-ID: > > Content-Type: text/plain; charset=ISO-8859-1 > > Hi > > I can find the same order elements of a group but can't find the set > of the number of the same order elements of a group.Also how we can > introduce a sporadic simple group to GAP?.For example $CO$. > > Thanks > Sara > > > > ------------------------------ > > Message: 2 > Date: Thu, 6 Jan 2011 20:22:04 -0600 > From: Vipul Naik > To: Sara Radfar > Cc: forum > Subject: Re: [GAP Forum] Help > Message-ID: <20110107022204.GA16678 at math.uchicago.edu> > Content-Type: text/plain; charset=us-ascii > > Hi, > > If I understand your question correctly, you want information on how > many elements of a finite group have each possible order. Although I > don't think there are built-in functions for this, it is easy to write > code for these. For instance: > > OrderStatisticsPaired := function(G) > local L,D; > L := List(Set(G),Order); > D := DivisorsInt(Order(G)); > return(List(D,x->[x,Length(Filtered(L,y->x=y))])); > end;; > > This function takes as input a group and gives a list of ordered > pairs, for each divisor of the order of the group, how many elements > of the group have that order. For instance: > > OrderStatisticsPaired(SymmetricGroup(4)) > > gives the output: > > [ [ 1, 1 ], [ 2, 9 ], [ 3, 8 ], [ 4, 6 ], [ 6, 0 ], [ 8, 0 ], [ 12, 0 ], [ > 24, 0 ] ] > > indicating that in the symmetric group on four letters, there is one > element of the group of order one, nine elements of order two, eight > elements of order three, six elements of order four, and no element of > any higher order. > > This exact function may not suit your needs but it's likely that some > variant of it will. > > This code is inefficient for large groups; for such groups, one can > modify the code to only go over conjugacy classes instead of elements. > > To create such a function, you can either paste the function code in > front of the GAP command prompt or include this in a file and then use > GAP's "Read" command to read that file in. > > Vipul > > * Quoting Sara Radfar who at 2011-01-06 05:14:32+0000 (Thu) wrote >> Hi >> >> I can find the same order elements of a group but can't find the set >> of the number of the same order elements of a group.Also how we can >> introduce a sporadic simple group to GAP?.For example $CO$. >> >> Thanks >> Sara >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum > > > > ------------------------------ > > Message: 3 > Date: Fri, 7 Jan 2011 10:02:53 +0530 > From: "Dr. Ashish Kumar Das" > To: Vipul Naik > Cc: Sara Radfar , forum > Subject: Re: [GAP Forum] Help > Message-ID: > > Content-Type: text/plain; charset=ISO-8859-1 > > Hi, > How about running the following program: > > > n:=90; # try with other values > i:=0; > Print("GROUP ORDER is ", " ", n, "\n"); > g:= AllSmallGroups(n); > for xx in g do > i:=i+1; > Print( "\n", "SMALL GROUP", "(" , n, "," , i, ") = > ",StructureDescription(xx), "\n","\n"); > yy:= Set(List(xx,Order)); > for y in yy do > zz:= Number(xx, x -> Order(x)=y); > Print("order = ", y, " ", "number of elts = ", zz, "\n", "\n"); od; > od; > > Ashish Kumar Das > Maths Dept. > NEHU, Shillong, INDIA > > On 1/7/11, Vipul Naik wrote: >> Hi, >> >> If I understand your question correctly, you want information on how >> many elements of a finite group have each possible order. Although I >> don't think there are built-in functions for this, it is easy to write >> code for these. For instance: >> >> OrderStatisticsPaired := function(G) >> local L,D; >> L := List(Set(G),Order); >> D := DivisorsInt(Order(G)); >> return(List(D,x->[x,Length(Filtered(L,y->x=y))])); >> end;; >> >> This function takes as input a group and gives a list of ordered >> pairs, for each divisor of the order of the group, how many elements >> of the group have that order. For instance: >> >> OrderStatisticsPaired(SymmetricGroup(4)) >> >> gives the output: >> >> [ [ 1, 1 ], [ 2, 9 ], [ 3, 8 ], [ 4, 6 ], [ 6, 0 ], [ 8, 0 ], [ 12, 0 ], [ >> 24, 0 ] ] >> >> indicating that in the symmetric group on four letters, there is one >> element of the group of order one, nine elements of order two, eight >> elements of order three, six elements of order four, and no element of >> any higher order. >> >> This exact function may not suit your needs but it's likely that some >> variant of it will. >> >> This code is inefficient for large groups; for such groups, one can >> modify the code to only go over conjugacy classes instead of elements. >> >> To create such a function, you can either paste the function code in >> front of the GAP command prompt or include this in a file and then use >> GAP's "Read" command to read that file in. >> >> Vipul >> >> * Quoting Sara Radfar who at 2011-01-06 05:14:32+0000 (Thu) wrote >>> Hi >>> >>> I can find the same order elements of a group but can't find the set >>> of the number of the same order elements of a group.Also how we can >>> introduce a sporadic simple group to GAP?.For example $CO$. >>> >>> Thanks >>> Sara >>> >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > > > > ------------------------------ > > Message: 4 > Date: Fri, 07 Jan 2011 11:25:42 +0200 > From: Gulin Ercan > To: forum at gap-system.org > Subject: [GAP Forum] First Announcement:Workshop on "Finite Groups & > Their Automorphisms" in Istanbul > Message-ID: <20110107112542.104653muq7sbzqja at horde.metu.edu.tr> > Content-Type: text/plain; charset=ISO-8859-9; DelSp="Yes"; > format="flowed" > > Dear All, > > We would like to announce herewith a five-day workshop on "Finite > groups and their automorphisms" > which will take place in Istanbul at Bo?azi?i University on 7-11 June 2011. > > It aims to bring together leading mathematicians and active > researchers working on > the theory of groups in order to exchange ideas, present new results and > identify the key problems in the field. > > The workshop is especially interested in and motivated by the > questions on the relationship > between a finite group and another one acted upon by the first, > although it is not to be considered the exclusive theme. > > There will be seven mini-courses and some invited talks. > The speakers who have kindly accepted our invitation to give (a short > series of)lectures are: > > Alan Camina, Martin I.Isaacs, Evgeny Khukhro, Charles Leedham-Green, > Attila Maroti, Nadia Mazza, Akos Seress, Aner Shalev and Said N.Sidki > > There will be a limited number of slots available in the schedule for > contributed talks as well > and a poster session. > > For details and registration please visit the workshop webpage > http://www.istanbulgroup.metu.edu.tr > > We are looking forward to seeing you in Istanbul!! > > > > > > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > > > > ------------------------------ > > Message: 5 > Date: Fri, 7 Jan 2011 15:58:05 +0000 > From: Alexander Konovalov > To: bart at mat.ug.edu.pl > Cc: forum at gap-system.org > Subject: Re: [GAP Forum] Interface with other languages > Message-ID: <1D984673-C91C-4F6B-B493-D1843C9E5090 at gmail.com> > Content-Type: text/plain; charset=us-ascii > > Dear Bartosz, dear GAP Forum, > > There are already several GAP packages that contain C parts and > use LoadDynamicModule to load them, so probably to begin with > you may have a look at them. In no particular order, these packages > are: orb, linboxing, io, HAP, Gauss, FR, EDIM and Browse. > > Best wishes, > Alexander > > > On 10 Dec 2010, at 14:44, bart at mat.ug.edu.pl wrote: > >> W dniu 10.12.2010 10:06, Max Horn pisze: >>> In addition, GAP can load dynamic modules (again, at least on UNIX type >> systems). I used that to implement some of the most time critical >> functions of a package I am working on in C, for a major speed boost. So >> you could call other systems from within GAP >> >> Hello, >> >> How to do this? >> Could I write my own function in C/C++, compile it into library, and use >> in GAP? >> I imagine that there could be necessary some types conversions (?) >> >> I see LoadDynamicModule() in >> http://www.gap-system.org/Manuals/doc/htm/ref/CHAP003.htm#SECT007 >> but is it possible to use it with library other than obtained by using >> gac? >> >> >> All the best >> Bartosz Putrycz > > > > ------------------------------ > > Message: 6 > Date: Sat, 8 Jan 2011 16:31:23 +1100 > From: Hebert P?rez-Ros?s > To: forum at gap-system.org > Subject: [GAP Forum] The Add function > Message-ID: > > Content-Type: text/plain; charset=ISO-8859-1 > > Dear all, > > I'm embarrased to say this, but I'm very puzzled by the behaviour of the Add > function. I have this simple test code: > > -------------------------------------- > TestFun:= function(n) > local perm, out, i; > > out:= []; > perm:= []; > for i in [1..n] do > perm[i]:=0; > od; > for i in [1..n] do > perm[i]:= i; > Add(out, perm); > od; > return out; > end; > ---------------------------------- > > If I now make a call to Test(3), I should get [ [1,0,0], [1,2,0], [1,2,3] ], > right? However, I'm getting [ [1,2,3], [1,2,3], [1,2,3] ]. Do you get the > same thing? Can anybody explain to me what's happening here? > > Thank you very much in advance, > > Hebert Perez-Roses > The University of Newcastle, Australia > > > ------------------------------ > > Message: 7 > Date: Sat, 8 Jan 2011 14:01:44 +0800 > From: Keshav Rao Kini > To: Hebert P?rez-Ros?s > Cc: "forum at gap-system.org" > Subject: Re: [GAP Forum] The Add function > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > Hello, > > Each time you use Add, it adds perm as a new list entry in out. It does NOT > add the current value of perm as a new list entry in out, but rather inserts > a reference to the list perm. The list perm is added to the list out three > times, and by the time the function returns, perm = [1,2,3], so out consists > of three [1,2,3]. > > If you want to remember previous states of a list, you'll always need to > make a copy, because this is not done automatically when using functions > like Add. Try using for example the ShallowCopy function. > > Hope that helps. > > Yours, > Keshav > > Disclaimer: the boilerplate text at the foot of this email has been added > automatically by my mail server. This was not done by my request (rather the > opposite) so please disregard it. > > > > 2011/1/8 Hebert P?rez-Ros?s > > > Dear all, > > I'm embarrased to say this, but I'm very puzzled by the behaviour of the Add > function. I have this simple test code: > > -------------------------------------- > TestFun:= function(n) > local perm, out, i; > > out:= []; > perm:= []; > for i in [1..n] do > perm[i]:=0; > od; > for i in [1..n] do > perm[i]:= i; > Add(out, perm); > od; > return out; > end; > ---------------------------------- > > If I now make a call to Test(3), I should get [ [1,0,0], [1,2,0], [1,2,3] ], > right? However, I'm getting [ [1,2,3], [1,2,3], [1,2,3] ]. Do you get the > same thing? Can anybody explain to me what's happening here? > > Thank you very much in advance, > > Hebert Perez-Roses > The University of Newcastle, Australia > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > > ________________________________ > CONFIDENTIALITY: This email is intended solely for the person(s) named and > may be confidential and/or privileged. If you are not the intended > recipient, please delete it, notify us and do not copy, use, or disclose its > content. Thank you. > > Towards A Sustainable Earth: Print Only When Necessary > > > ------------------------------ > > Message: 8 > Date: Sat, 8 Jan 2011 17:19:17 +1100 > From: Hebert P?rez-Ros?s > To: Keshav Rao Kini > Cc: "forum at gap-system.org" > Subject: Re: [GAP Forum] The Add function > Message-ID: > > Content-Type: text/plain; charset=ISO-8859-1 > > OK, thank you very much. I would just swear that I had already tried that. > Cheers, > Hebert. > > > 2011/1/8 Keshav Rao Kini > >> Hello, >> >> Each time you use Add, it adds perm as a new list entry in out. It does >> NOT >> add the current value of perm as a new list entry in out, but rather >> inserts >> a reference to the list perm. The list perm is added to the list out three >> times, and by the time the function returns, perm = [1,2,3], so out >> consists >> of three [1,2,3]. >> >> If you want to remember previous states of a list, you'll always need to >> make a copy, because this is not done automatically when using functions >> like Add. Try using for example the ShallowCopy function. >> >> Hope that helps. >> >> Yours, >> Keshav >> >> Disclaimer: the boilerplate text at the foot of this email has been added >> automatically by my mail server. This was not done by my request (rather >> the >> opposite) so please disregard it. >> >> >> >> 2011/1/8 Hebert P?rez-Ros?s >> >>> Dear all, >>> >>> I'm embarrased to say this, but I'm very puzzled by the behaviour of the >>> Add >>> function. I have this simple test code: >>> >>> -------------------------------------- >>> TestFun:= function(n) >>> local perm, out, i; >>> >>> out:= []; >>> perm:= []; >>> for i in [1..n] do >>> perm[i]:=0; >>> od; >>> for i in [1..n] do >>> perm[i]:= i; >>> Add(out, perm); >>> od; >>> return out; >>> end; >>> ---------------------------------- >>> >>> If I now make a call to Test(3), I should get [ [1,0,0], [1,2,0], [1,2,3] >>> ], >>> right? However, I'm getting [ [1,2,3], [1,2,3], [1,2,3] ]. Do you get the >>> same thing? Can anybody explain to me what's happening here? >>> >>> Thank you very much in advance, >>> >>> Hebert Perez-Roses >>> The University of Newcastle, Australia >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >>> >> >> >> ------------------------------ >> CONFIDENTIALITY: This email is intended solely for the person(s) named and >> may be confidential and/or privileged. If you are not the intended >> recipient, please delete it, notify us and do not copy, use, or disclose >> its >> content. Thank you. >> >> Towards A Sustainable Earth: Print Only When Necessary >> > > > ------------------------------ > > Message: 9 > Date: Sun, 9 Jan 2011 00:32:23 -0800 > From: Sara Radfar > To: forum at gap-system.org > Subject: [GAP Forum] Question > Message-ID: > > Content-Type: text/plain; charset=ISO-8859-1 > > Dear forum > Hi > I have a question about group theory.I know that should send this > message for group pub forum but I coudn't join to it.If you can help > me about my question: > My question is:Let the set of the number of sylow subgroup $G$ equal > to group $PSL(2,7)$(that is {8,21,28}) about solvability or > unsolvability group $G$ what we can say? > Thanks > sara > > > > ------------------------------ > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > > End of Forum Digest, Vol 86, Issue 2 > ************************************ > -- zahra sheikhaleslami From zahra.sheikhaleslami at gmail.com Sun Jan 9 08:50:47 2011 From: zahra.sheikhaleslami at gmail.com (zahra sheikhaleslami) Date: Sun, 9 Jan 2011 12:20:47 +0330 Subject: [GAP Forum] Forum Digest, Vol 86, Issue 2 In-Reply-To: References: Message-ID: let H1,H2 be characteristic subgroupsof a given group G=H1?H2 ?then K(H1?H2)=K(H1)?K(H2) please give with gap i need On 1/9/11, zahra sheikhaleslami wrote: > hi > please write this theorem with gap > > if G,H are finite groups with (IGI,IHI)=1then > Aut(G?H)=Aut(G)?Aut(H) > > On 1/9/11, forum-request at gap-system.org > wrote: >> Send Forum mailing list submissions to >> forum at mail.gap-system.org >> >> To subscribe or unsubscribe via the World Wide Web, visit >> http://mail.gap-system.org/mailman/listinfo/forum >> or, via email, send a message with subject or body 'help' to >> forum-request at mail.gap-system.org >> >> You can reach the person managing the list at >> forum-owner at mail.gap-system.org >> >> When replying, please edit your Subject line so it is more specific >> than "Re: Contents of Forum digest..." >> >> >> Today's Topics: >> >> 1. Help (Sara Radfar) >> 2. Re: Help (Vipul Naik) >> 3. Re: Help (Dr. Ashish Kumar Das) >> 4. First Announcement:Workshop on "Finite Groups & Their >> Automorphisms" in Istanbul (Gulin Ercan) >> 5. Re: Interface with other languages (Alexander Konovalov) >> 6. The Add function (Hebert P?rez-Ros?s) >> 7. Re: The Add function (Keshav Rao Kini) >> 8. Re: The Add function (Hebert P?rez-Ros?s) >> 9. Question (Sara Radfar) >> >> >> ---------------------------------------------------------------------- >> >> Message: 1 >> Date: Thu, 6 Jan 2011 05:14:32 -0800 >> From: Sara Radfar >> To: forum >> Subject: [GAP Forum] Help >> Message-ID: >> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> Hi >> >> I can find the same order elements of a group but can't find the set >> of the number of the same order elements of a group.Also how we can >> introduce a sporadic simple group to GAP?.For example $CO$. >> >> Thanks >> Sara >> >> >> >> ------------------------------ >> >> Message: 2 >> Date: Thu, 6 Jan 2011 20:22:04 -0600 >> From: Vipul Naik >> To: Sara Radfar >> Cc: forum >> Subject: Re: [GAP Forum] Help >> Message-ID: <20110107022204.GA16678 at math.uchicago.edu> >> Content-Type: text/plain; charset=us-ascii >> >> Hi, >> >> If I understand your question correctly, you want information on how >> many elements of a finite group have each possible order. Although I >> don't think there are built-in functions for this, it is easy to write >> code for these. For instance: >> >> OrderStatisticsPaired := function(G) >> local L,D; >> L := List(Set(G),Order); >> D := DivisorsInt(Order(G)); >> return(List(D,x->[x,Length(Filtered(L,y->x=y))])); >> end;; >> >> This function takes as input a group and gives a list of ordered >> pairs, for each divisor of the order of the group, how many elements >> of the group have that order. For instance: >> >> OrderStatisticsPaired(SymmetricGroup(4)) >> >> gives the output: >> >> [ [ 1, 1 ], [ 2, 9 ], [ 3, 8 ], [ 4, 6 ], [ 6, 0 ], [ 8, 0 ], [ 12, 0 ], >> [ >> 24, 0 ] ] >> >> indicating that in the symmetric group on four letters, there is one >> element of the group of order one, nine elements of order two, eight >> elements of order three, six elements of order four, and no element of >> any higher order. >> >> This exact function may not suit your needs but it's likely that some >> variant of it will. >> >> This code is inefficient for large groups; for such groups, one can >> modify the code to only go over conjugacy classes instead of elements. >> >> To create such a function, you can either paste the function code in >> front of the GAP command prompt or include this in a file and then use >> GAP's "Read" command to read that file in. >> >> Vipul >> >> * Quoting Sara Radfar who at 2011-01-06 05:14:32+0000 (Thu) wrote >>> Hi >>> >>> I can find the same order elements of a group but can't find the set >>> of the number of the same order elements of a group.Also how we can >>> introduce a sporadic simple group to GAP?.For example $CO$. >>> >>> Thanks >>> Sara >>> >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >> >> >> >> ------------------------------ >> >> Message: 3 >> Date: Fri, 7 Jan 2011 10:02:53 +0530 >> From: "Dr. Ashish Kumar Das" >> To: Vipul Naik >> Cc: Sara Radfar , forum >> Subject: Re: [GAP Forum] Help >> Message-ID: >> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> Hi, >> How about running the following program: >> >> >> n:=90; # try with other values >> i:=0; >> Print("GROUP ORDER is ", " ", n, "\n"); >> g:= AllSmallGroups(n); >> for xx in g do >> i:=i+1; >> Print( "\n", "SMALL GROUP", "(" , n, "," , i, ") = >> ",StructureDescription(xx), "\n","\n"); >> yy:= Set(List(xx,Order)); >> for y in yy do >> zz:= Number(xx, x -> Order(x)=y); >> Print("order = ", y, " ", "number of elts = ", zz, "\n", "\n"); od; >> od; >> >> Ashish Kumar Das >> Maths Dept. >> NEHU, Shillong, INDIA >> >> On 1/7/11, Vipul Naik wrote: >>> Hi, >>> >>> If I understand your question correctly, you want information on how >>> many elements of a finite group have each possible order. Although I >>> don't think there are built-in functions for this, it is easy to write >>> code for these. For instance: >>> >>> OrderStatisticsPaired := function(G) >>> local L,D; >>> L := List(Set(G),Order); >>> D := DivisorsInt(Order(G)); >>> return(List(D,x->[x,Length(Filtered(L,y->x=y))])); >>> end;; >>> >>> This function takes as input a group and gives a list of ordered >>> pairs, for each divisor of the order of the group, how many elements >>> of the group have that order. For instance: >>> >>> OrderStatisticsPaired(SymmetricGroup(4)) >>> >>> gives the output: >>> >>> [ [ 1, 1 ], [ 2, 9 ], [ 3, 8 ], [ 4, 6 ], [ 6, 0 ], [ 8, 0 ], [ 12, 0 ], >>> [ >>> 24, 0 ] ] >>> >>> indicating that in the symmetric group on four letters, there is one >>> element of the group of order one, nine elements of order two, eight >>> elements of order three, six elements of order four, and no element of >>> any higher order. >>> >>> This exact function may not suit your needs but it's likely that some >>> variant of it will. >>> >>> This code is inefficient for large groups; for such groups, one can >>> modify the code to only go over conjugacy classes instead of elements. >>> >>> To create such a function, you can either paste the function code in >>> front of the GAP command prompt or include this in a file and then use >>> GAP's "Read" command to read that file in. >>> >>> Vipul >>> >>> * Quoting Sara Radfar who at 2011-01-06 05:14:32+0000 (Thu) wrote >>>> Hi >>>> >>>> I can find the same order elements of a group but can't find the set >>>> of the number of the same order elements of a group.Also how we can >>>> introduce a sporadic simple group to GAP?.For example $CO$. >>>> >>>> Thanks >>>> Sara >>>> >>>> _______________________________________________ >>>> Forum mailing list >>>> Forum at mail.gap-system.org >>>> http://mail.gap-system.org/mailman/listinfo/forum >>> >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >>> >> >> >> >> ------------------------------ >> >> Message: 4 >> Date: Fri, 07 Jan 2011 11:25:42 +0200 >> From: Gulin Ercan >> To: forum at gap-system.org >> Subject: [GAP Forum] First Announcement:Workshop on "Finite Groups & >> Their Automorphisms" in Istanbul >> Message-ID: <20110107112542.104653muq7sbzqja at horde.metu.edu.tr> >> Content-Type: text/plain; charset=ISO-8859-9; DelSp="Yes"; >> format="flowed" >> >> Dear All, >> >> We would like to announce herewith a five-day workshop on "Finite >> groups and their automorphisms" >> which will take place in Istanbul at Bo?azi?i University on 7-11 June >> 2011. >> >> It aims to bring together leading mathematicians and active >> researchers working on >> the theory of groups in order to exchange ideas, present new results and >> identify the key problems in the field. >> >> The workshop is especially interested in and motivated by the >> questions on the relationship >> between a finite group and another one acted upon by the first, >> although it is not to be considered the exclusive theme. >> >> There will be seven mini-courses and some invited talks. >> The speakers who have kindly accepted our invitation to give (a short >> series of)lectures are: >> >> Alan Camina, Martin I.Isaacs, Evgeny Khukhro, Charles Leedham-Green, >> Attila Maroti, Nadia Mazza, Akos Seress, Aner Shalev and Said N.Sidki >> >> There will be a limited number of slots available in the schedule for >> contributed talks as well >> and a poster session. >> >> For details and registration please visit the workshop webpage >> http://www.istanbulgroup.metu.edu.tr >> >> We are looking forward to seeing you in Istanbul!! >> >> >> >> >> >> >> ---------------------------------------------------------------- >> This message was sent using IMP, the Internet Messaging Program. >> >> >> >> >> ------------------------------ >> >> Message: 5 >> Date: Fri, 7 Jan 2011 15:58:05 +0000 >> From: Alexander Konovalov >> To: bart at mat.ug.edu.pl >> Cc: forum at gap-system.org >> Subject: Re: [GAP Forum] Interface with other languages >> Message-ID: <1D984673-C91C-4F6B-B493-D1843C9E5090 at gmail.com> >> Content-Type: text/plain; charset=us-ascii >> >> Dear Bartosz, dear GAP Forum, >> >> There are already several GAP packages that contain C parts and >> use LoadDynamicModule to load them, so probably to begin with >> you may have a look at them. In no particular order, these packages >> are: orb, linboxing, io, HAP, Gauss, FR, EDIM and Browse. >> >> Best wishes, >> Alexander >> >> >> On 10 Dec 2010, at 14:44, bart at mat.ug.edu.pl wrote: >> >>> W dniu 10.12.2010 10:06, Max Horn pisze: >>>> In addition, GAP can load dynamic modules (again, at least on UNIX type >>> systems). I used that to implement some of the most time critical >>> functions of a package I am working on in C, for a major speed boost. >>> So >>> you could call other systems from within GAP >>> >>> Hello, >>> >>> How to do this? >>> Could I write my own function in C/C++, compile it into library, and use >>> in GAP? >>> I imagine that there could be necessary some types conversions (?) >>> >>> I see LoadDynamicModule() in >>> http://www.gap-system.org/Manuals/doc/htm/ref/CHAP003.htm#SECT007 >>> but is it possible to use it with library other than obtained by using >>> gac? >>> >>> >>> All the best >>> Bartosz Putrycz >> >> >> >> ------------------------------ >> >> Message: 6 >> Date: Sat, 8 Jan 2011 16:31:23 +1100 >> From: Hebert P?rez-Ros?s >> To: forum at gap-system.org >> Subject: [GAP Forum] The Add function >> Message-ID: >> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> Dear all, >> >> I'm embarrased to say this, but I'm very puzzled by the behaviour of the >> Add >> function. I have this simple test code: >> >> -------------------------------------- >> TestFun:= function(n) >> local perm, out, i; >> >> out:= []; >> perm:= []; >> for i in [1..n] do >> perm[i]:=0; >> od; >> for i in [1..n] do >> perm[i]:= i; >> Add(out, perm); >> od; >> return out; >> end; >> ---------------------------------- >> >> If I now make a call to Test(3), I should get [ [1,0,0], [1,2,0], [1,2,3] >> ], >> right? However, I'm getting [ [1,2,3], [1,2,3], [1,2,3] ]. Do you get the >> same thing? Can anybody explain to me what's happening here? >> >> Thank you very much in advance, >> >> Hebert Perez-Roses >> The University of Newcastle, Australia >> >> >> ------------------------------ >> >> Message: 7 >> Date: Sat, 8 Jan 2011 14:01:44 +0800 >> From: Keshav Rao Kini >> To: Hebert P?rez-Ros?s >> Cc: "forum at gap-system.org" >> Subject: Re: [GAP Forum] The Add function >> Message-ID: >> >> Content-Type: text/plain; charset="utf-8" >> >> Hello, >> >> Each time you use Add, it adds perm as a new list entry in out. It does >> NOT >> add the current value of perm as a new list entry in out, but rather >> inserts >> a reference to the list perm. The list perm is added to the list out >> three >> times, and by the time the function returns, perm = [1,2,3], so out >> consists >> of three [1,2,3]. >> >> If you want to remember previous states of a list, you'll always need to >> make a copy, because this is not done automatically when using functions >> like Add. Try using for example the ShallowCopy function. >> >> Hope that helps. >> >> Yours, >> Keshav >> >> Disclaimer: the boilerplate text at the foot of this email has been added >> automatically by my mail server. This was not done by my request (rather >> the >> opposite) so please disregard it. >> >> >> >> 2011/1/8 Hebert P?rez-Ros?s >> > >> Dear all, >> >> I'm embarrased to say this, but I'm very puzzled by the behaviour of the >> Add >> function. I have this simple test code: >> >> -------------------------------------- >> TestFun:= function(n) >> local perm, out, i; >> >> out:= []; >> perm:= []; >> for i in [1..n] do >> perm[i]:=0; >> od; >> for i in [1..n] do >> perm[i]:= i; >> Add(out, perm); >> od; >> return out; >> end; >> ---------------------------------- >> >> If I now make a call to Test(3), I should get [ [1,0,0], [1,2,0], [1,2,3] >> ], >> right? However, I'm getting [ [1,2,3], [1,2,3], [1,2,3] ]. Do you get the >> same thing? Can anybody explain to me what's happening here? >> >> Thank you very much in advance, >> >> Hebert Perez-Roses >> The University of Newcastle, Australia >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> >> >> ________________________________ >> CONFIDENTIALITY: This email is intended solely for the person(s) named >> and >> may be confidential and/or privileged. If you are not the intended >> recipient, please delete it, notify us and do not copy, use, or disclose >> its >> content. Thank you. >> >> Towards A Sustainable Earth: Print Only When Necessary >> >> >> ------------------------------ >> >> Message: 8 >> Date: Sat, 8 Jan 2011 17:19:17 +1100 >> From: Hebert P?rez-Ros?s >> To: Keshav Rao Kini >> Cc: "forum at gap-system.org" >> Subject: Re: [GAP Forum] The Add function >> Message-ID: >> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> OK, thank you very much. I would just swear that I had already tried >> that. >> Cheers, >> Hebert. >> >> >> 2011/1/8 Keshav Rao Kini >> >>> Hello, >>> >>> Each time you use Add, it adds perm as a new list entry in out. It does >>> NOT >>> add the current value of perm as a new list entry in out, but rather >>> inserts >>> a reference to the list perm. The list perm is added to the list out >>> three >>> times, and by the time the function returns, perm = [1,2,3], so out >>> consists >>> of three [1,2,3]. >>> >>> If you want to remember previous states of a list, you'll always need to >>> make a copy, because this is not done automatically when using functions >>> like Add. Try using for example the ShallowCopy function. >>> >>> Hope that helps. >>> >>> Yours, >>> Keshav >>> >>> Disclaimer: the boilerplate text at the foot of this email has been >>> added >>> automatically by my mail server. This was not done by my request (rather >>> the >>> opposite) so please disregard it. >>> >>> >>> >>> 2011/1/8 Hebert P?rez-Ros?s >>> >>>> Dear all, >>>> >>>> I'm embarrased to say this, but I'm very puzzled by the behaviour of >>>> the >>>> Add >>>> function. I have this simple test code: >>>> >>>> -------------------------------------- >>>> TestFun:= function(n) >>>> local perm, out, i; >>>> >>>> out:= []; >>>> perm:= []; >>>> for i in [1..n] do >>>> perm[i]:=0; >>>> od; >>>> for i in [1..n] do >>>> perm[i]:= i; >>>> Add(out, perm); >>>> od; >>>> return out; >>>> end; >>>> ---------------------------------- >>>> >>>> If I now make a call to Test(3), I should get [ [1,0,0], [1,2,0], >>>> [1,2,3] >>>> ], >>>> right? However, I'm getting [ [1,2,3], [1,2,3], [1,2,3] ]. Do you get >>>> the >>>> same thing? Can anybody explain to me what's happening here? >>>> >>>> Thank you very much in advance, >>>> >>>> Hebert Perez-Roses >>>> The University of Newcastle, Australia >>>> _______________________________________________ >>>> Forum mailing list >>>> Forum at mail.gap-system.org >>>> http://mail.gap-system.org/mailman/listinfo/forum >>>> >>> >>> >>> ------------------------------ >>> CONFIDENTIALITY: This email is intended solely for the person(s) named >>> and >>> may be confidential and/or privileged. If you are not the intended >>> recipient, please delete it, notify us and do not copy, use, or disclose >>> its >>> content. Thank you. >>> >>> Towards A Sustainable Earth: Print Only When Necessary >>> >> >> >> ------------------------------ >> >> Message: 9 >> Date: Sun, 9 Jan 2011 00:32:23 -0800 >> From: Sara Radfar >> To: forum at gap-system.org >> Subject: [GAP Forum] Question >> Message-ID: >> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> Dear forum >> Hi >> I have a question about group theory.I know that should send this >> message for group pub forum but I coudn't join to it.If you can help >> me about my question: >> My question is:Let the set of the number of sylow subgroup $G$ equal >> to group $PSL(2,7)$(that is {8,21,28}) about solvability or >> unsolvability group $G$ what we can say? >> Thanks >> sara >> >> >> >> ------------------------------ >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> >> >> End of Forum Digest, Vol 86, Issue 2 >> ************************************ >> > > > -- > zahra sheikhaleslami > -- zahra sheikhaleslami From paloff at ya.ru Mon Jan 10 10:55:26 2011 From: paloff at ya.ru (Igor Korepanov) Date: Mon, 10 Jan 2011 13:55:26 +0300 Subject: [GAP Forum] PL ball complexes with GAP Message-ID: <605451294656926@web73.yandex.ru> Dear all, Recently, some young people and I started a project that may be called "Piecewise-linear ball complexes: calculations with GAP". As to me, my direct aim is to make calculations in some TQFT's (topological quantum field theories) naturally defined on PL ball complexes of any dimensions. I think, however, that calculations with PL ball complexes may be of broader interest. So, I invite interested mathematicians to work together. As far as I know, great mathematicians of the past liked calculations, and did not limit themselves to scratching something on themselves and waiting for a flash of genius. Some first programs/functions are already written. I will give a more detailed account of this if needed. Right now let me just explain how we represent a PL ball complex. First, we assume that all vertices in the complex are numbered (from 1 to their total number N_0). Hence, in this sense, the 0-skeleton of the complex is described. Next, assuming that the k-skeleton is already given, which implies (in particular) the numeration of all k-cells, we describe the (k+1)-skeleton as the list of all (k+1)-cells, each of which, in its turn, is the set of numbers of k-cells in its boundary. Then we compose the list of length n, where n - is the dimension of the complex, whose elements are lists of 1-, ..., n-cells. Thus, a three-dimensional ball B^3 can be represented by the following PL ball complex with two vertices 1 and 2: [ ??[ [1,2], [1,2] ], # two one-dimensional simplexes, each with ????????????????????# ends 1 and 2, of which the first is referred to ????????????????????# in the next line as 1, the second - as 2; ??[ [1,2], [1,2] ], # two digons (=bigons) bounded each by ????????????????????# one-dimensional simplexes 1 and 2; ??[ [1,2] ] ????????# the three-ball bounded by digons 1 and 2 ] With the best New Year wishes, Igor Korepanov From paloff at ya.ru Mon Jan 10 13:56:58 2011 From: paloff at ya.ru (Igor Korepanov) Date: Mon, 10 Jan 2011 16:56:58 +0300 Subject: [GAP Forum] PL ball complexes with GAP In-Reply-To: <605451294656926@web73.yandex.ru> References: <605451294656926@web73.yandex.ru> Message-ID: <386261294667818@web77.yandex.ru> Perhaps it will be of use if I add here what "PL ball complex" means, just a quotation from Nikolai Mnev's paper arXiv:math/0609257v3 : A PL-ball complex is a pair (X, U), where X is a compact Euclidean polyhedron and U is a covering of X by closed PL-balls such that the following axioms are satisfied: plbc1: the relative interiors of balls from U form a partition of X. plbc2: The boundary of each ball from U is a union of balls from U. A PL-ball complex is defined up to PL-homeomorphism only by the combinatorics of adjunctions of its balls. Igor 10.01.2011, 15:42, "Igor Korepanov" : > Dear all, > > Recently, some young people and I started a project that may be called "Piecewise-linear ball complexes: calculations with GAP". As to me, my direct aim is to make calculations in some TQFT's (topological quantum field theories) naturally defined on PL ball complexes of any dimensions. I think, however, that calculations with PL ball complexes may be of broader interest. > > So, I invite interested mathematicians to work together. As far as I know, great mathematicians of the past liked calculations, and did not limit themselves to scratching something on themselves and waiting for a flash of genius. > > Some first programs/functions are already written. I will give a more detailed account of this if needed. Right now let me just explain how we represent a PL ball complex. > > First, we assume that all vertices in the complex are numbered (from 1 to their total number N_0). Hence, in this sense, the 0-skeleton of the complex is described. Next, assuming that the k-skeleton is already given, which implies (in particular) the numeration of all k-cells, we describe the (k+1)-skeleton as the list of all (k+1)-cells, each of which, in its turn, is the set of numbers of k-cells in its boundary. Then we compose the list of length n, where n - is the dimension of the complex, whose elements are lists of 1-, ..., n-cells. > > Thus, a three-dimensional ball B^3 can be represented by the following PL ball complex with two vertices 1 and 2: > > [ > ??[ [1,2], [1,2] ], # two one-dimensional simplexes, each with > ????????????????????# ends 1 and 2, of which the first is referred to > ????????????????????# in the next line as 1, the second - as 2; > ??[ [1,2], [1,2] ], # two digons (=bigons) bounded each by > ????????????????????# one-dimensional simplexes 1 and 2; > ??[ [1,2] ] ????????# the three-ball bounded by digons 1 and 2 > ] > > With the best New Year wishes, > > Igor Korepanov > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From packham25 at gmail.com Tue Jan 11 23:44:28 2011 From: packham25 at gmail.com (Pornrat Ruengrot) Date: Tue, 11 Jan 2011 23:44:28 +0000 Subject: [GAP Forum] Looping over (double)coset representatives without creating the WHOLE list first Message-ID: Hi, I have the following problem related to programming in GAP, hoping someone could help please. Let G be a permutation group. Let P be the subgroup of G consisting of all "perfect" permutations in G. The goal is to find P explicitly. For this it's enough to check only the (double)coset representatives, since if P is a subgroup of perfect permutations found so far and g (in G) is not perfect, then so is every element in PgP. So part of my codes is as follow: #--------------------------------------------------------------------------------------------------- P:=Subgroup(G,[]); #set P = trivial first D:=DoubleCosetRepsAndSizes(G, P, P); # create list of double coset representatives to be checked i:=2; # skip checking the identity D[1][1] While i <= Size(D) and Size(P) < Size(G) do x:=D[i][1]; if (x is perfect) then P:=ClosureSubgroup(G,x); # add x in the subgroup P D:=DoubleCosetRepsAndSizes(G, P, P); #create new representatives to be tested i:=2; #skip checking the identity; else i:=i+1; fi; od; #--------------------------------------------------------------------------------------------------- The group P will grow over time so the list D will be smaller and smaller. If we are lucky we don't even need to run over all elements in D because P could be G. But the problem is that, the permutation group G is usually very large so the command D:=DoubleCosetRepsAndSizes(G, P, P); takes a very long time (sometime even returns error due to not enough memory). I think it's because the program is trying to build the whole list D first before running over each element. But I just want the program to start right away without building the whole list first. For example it can choose a random first element then at the end of the loop find the next (random) representative and so on. In Magma there is the command TransversalProcess(G, H) http://magma.maths.usyd.edu.au/magma/handbook/text/571 that will do just that . I was wondering if there is a similar command in GAP? (I also tried the build-in command SubgroupByProperty. This gave me the answer almost instantly, but when trying to list all elements, it took a very long time.) Thank you for your time, Pornrat From bsambale at gmx.de Wed Jan 12 07:51:24 2011 From: bsambale at gmx.de (Benjamin Sambale) Date: Wed, 12 Jan 2011 08:51:24 +0100 Subject: [GAP Forum] Looping over (double)coset representatives without creating the WHOLE list first In-Reply-To: References: Message-ID: <4D2D5D7C.4000108@gmx.de> Am 12.01.2011 00:44, schrieb Pornrat Ruengrot: > I think it's because the program is trying to build the whole list D first > before running over each > element. But I just want the program to start right away without building > the whole list first. For > example it can choose a random first element then at the end of the loop > find the next (random) > representative and so on. Hi, maybe the following code is helpful: D:=G; while ... do x:=Random(D); D:=Difference(D,DoubleCoset(P,x,P)); od; Best wishes, Benjamin Sambale From paloff at ya.ru Wed Jan 12 10:59:30 2011 From: paloff at ya.ru (Igor Korepanov) Date: Wed, 12 Jan 2011 13:59:30 +0300 Subject: [GAP Forum] advice needed Message-ID: <67731294829971@web105.yandex.ru> Dear GAP experts, I need some advice. My team is writing some GAP functions, for our private calculations (although I already invited people to cooperate, see my previous posts). Generally, one function is contained in a file like "FunctionSoAndSo.g", and such file usually has some lines like Read("AnotherFuction.g"); in its beginning. There are also some embryo data bases containing description of objects we are working with. The question is: how should we organize all this (put in different folders, whatever), if our ambition is to make all this eventually helpful for other interested people? But in such manner which won't force us to become at once GAP grand masters? Thanks in advance, Igor From gordon at maths.uwa.edu.au Wed Jan 12 12:04:13 2011 From: gordon at maths.uwa.edu.au (Gordon Royle) Date: Wed, 12 Jan 2011 20:04:13 +0800 Subject: [GAP Forum] Computing "canonical" subsets Message-ID: <6BADD7AA-47FA-4E23-B5AA-0098CA794189@maths.uwa.edu.au> Dear Gapsters.. Consider the following generic problem... given a permutation group G acting on a set X, I have a (potentially) large collection of k-subsets of X and wish to keep only one representative of each G-orbit on k-subsets. GAP can tell me if two k-subsets are equivalent under G using RepresentativeAction and so in principle, I can build up a list by starting with the first one, then testing to see if the second is equivalent to the first and keeping it only if it is not, and so on. This works, but each new one requires one more test than the previous one and things rapidly become unmanageable. For winnowing large lists of graphs, the standard procedure is not to test them pairwise but rather to compute a "canonically labelled" version of each input graph and then simply throw out the duplicates... Is there any way of computing a "canonically labelled" version of each k-subset? Or is this well known to be more difficult than computing equivalence? Thanks Gordon From hebert.perez at gmail.com Wed Jan 12 12:04:45 2011 From: hebert.perez at gmail.com (=?ISO-8859-1?B?SGViZXJ0IFDpcmV6LVJvc+lz?=) Date: Wed, 12 Jan 2011 23:04:45 +1100 Subject: [GAP Forum] advice needed In-Reply-To: <67731294829971@web105.yandex.ru> References: <67731294829971@web105.yandex.ru> Message-ID: Hi Igor, I'm not an expert either, but I think that the best option is to create a GAP package, that could later be used by yourselves and other people. There are some directions and an example package in http://www.gap-system.org/Packages/Authors/authors.html Best regards, Hebert Perez-Roses The University of Newcastle, Australia 2011/1/12 Igor Korepanov > Dear GAP experts, > > I need some advice. My team is writing some GAP functions, for our private > calculations (although I already invited people to cooperate, see my > previous posts). Generally, one function is contained in a file like > "FunctionSoAndSo.g", and such file usually has some lines like > Read("AnotherFuction.g"); in its beginning. There are also some embryo data > bases containing description of objects we are working with. > > The question is: how should we organize all this (put in different folders, > whatever), if our ambition is to make all this eventually helpful for other > interested people? But in such manner which won't force us to become at once > GAP grand masters? > > Thanks in advance, > > Igor > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From Mathieu.Dutour at ens.fr Wed Jan 12 12:21:43 2011 From: Mathieu.Dutour at ens.fr (Mathieu Dutour) Date: Wed, 12 Jan 2011 13:21:43 +0100 Subject: [GAP Forum] Computing "canonical" subsets In-Reply-To: <6BADD7AA-47FA-4E23-B5AA-0098CA794189@maths.uwa.edu.au> References: <6BADD7AA-47FA-4E23-B5AA-0098CA794189@maths.uwa.edu.au> Message-ID: <20110112122143.GA1560@orge.ens.fr> As far as I know, once you have a backtracking algorithm for equivalence/stabilizer, then you have also an algorithm for canonical representative. But GAP does not provides such functionalities ... However, for the special action "OnSets", there is a function "SmallestImageSet" available from the GRAPE package that does the job. Mathieu On Wed, Jan 12, 2011 at 08:04:13PM +0800, Gordon Royle wrote: >> Dear Gapsters.. >> >> Consider the following generic problem... given a permutation group >> G acting on a set X, I have a (potentially) large collection of >> k-subsets of X and wish to keep only one representative of each >> G-orbit on k-subsets. >> >> GAP can tell me if two k-subsets are equivalent under G using >> RepresentativeAction and so in principle, I can build up a list >> by starting with the first one, then testing to see if the second >> is equivalent to the first and keeping it only if it is not, and >> so on. This works, but each new one requires one more test than >> the previous one and things rapidly become unmanageable. >> >> For winnowing large lists of graphs, the standard procedure is >> not to test them pairwise but rather to compute a "canonically >> labelled" version of each input graph and then simply throw out >> the duplicates... >> >> Is there any way of computing a "canonically labelled" version >> of each k-subset? Or is this well known to be more difficult >> than computing equivalence? >> >> Thanks >> >> Gordon >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum From hebert.perez at gmail.com Wed Jan 12 12:28:28 2011 From: hebert.perez at gmail.com (=?ISO-8859-1?B?SGViZXJ0IFDpcmV6LVJvc+lz?=) Date: Wed, 12 Jan 2011 23:28:28 +1100 Subject: [GAP Forum] Computing "canonical" subsets In-Reply-To: <6BADD7AA-47FA-4E23-B5AA-0098CA794189@maths.uwa.edu.au> References: <6BADD7AA-47FA-4E23-B5AA-0098CA794189@maths.uwa.edu.au> Message-ID: Dear Gordon, I'm not sure that I understand your problem correctly, but I will tell you what I think, and you tell me if that's a (possible) answer to your question: If you can define a total ordering on the set of k-subsets, then the canonical form of a particular k-subset A is the smallest k-subset B in the G-orbit of A. Now you can generate all possible k-subsets in increasing order, and for each new k-subset A, you don't have to compare it with every previous one: you just have to compute the G-orbit of A, and check whether there is a k-subset C in the G-orbit of A, that is smaller than A. In that case, you can be sure that A has been considered before, and you can discard it. At first sight this looks more efficient than the other approach, but I cannot guarantee that :-). Best regards, Hebert. 2011/1/12 Gordon Royle > Dear Gapsters.. > > Consider the following generic problem... given a permutation group G > acting on a set X, I have a (potentially) large collection of k-subsets of X > and wish to keep only one representative of each G-orbit on k-subsets. > > GAP can tell me if two k-subsets are equivalent under G using > RepresentativeAction and so in principle, I can build up a list by starting > with the first one, then testing to see if the second is equivalent to the > first and keeping it only if it is not, and so on. This works, but each new > one requires one more test than the previous one and things rapidly become > unmanageable. > > For winnowing large lists of graphs, the standard procedure is not to test > them pairwise but rather to compute a "canonically labelled" version of each > input graph and then simply throw out the duplicates... > > Is there any way of computing a "canonically labelled" version of each > k-subset? Or is this well known to be more difficult than computing > equivalence? > > Thanks > > Gordon > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From klin at cs.bgu.ac.il Wed Jan 12 13:03:43 2011 From: klin at cs.bgu.ac.il (Mikhail Klin) Date: Wed, 12 Jan 2011 15:03:43 +0200 (IST) Subject: [GAP Forum] Computing "canonical" subsets In-Reply-To: <6BADD7AA-47FA-4E23-B5AA-0098CA794189@maths.uwa.edu.au> References: <6BADD7AA-47FA-4E23-B5AA-0098CA794189@maths.uwa.edu.au> Message-ID: Dear Gordon, Probably this paper below may be somehow of help: Pech, Christian; Reichard, Sven. Enumerating set orbits. Algorithmic algebraic combinatorics and Gr?bner bases, 137?150, Springer, Berlin, 2009. As far as I am aware, Christian is holding some GAP programs, related to this paper. Regards, Misha ******************************************************************** Dr. Mikhail Klin Department of Mathematics Ben-Gurion University of the Negev P.O.Box 653, Beer Sheva 84105, Israel Tel: (0)8/6477-811 (office) Fax: +972-(0)8/6477-648 e-mail: klin at cs.bgu.ac.il On Wed, 12 Jan 2011, Gordon Royle wrote: > Dear Gapsters.. > > Consider the following generic problem... given a permutation group G acting on a set X, I have a (potentially) large collection of k-subsets of X and wish to keep only one representative of each G-orbit on k-subsets. > > GAP can tell me if two k-subsets are equivalent under G using RepresentativeAction and so in principle, I can build up a list by starting with the first one, then testing to see if the second is equivalent to the first and keeping it only if it is not, and so on. This works, but each new one requires one more test than the previous one and things rapidly become unmanageable. > > For winnowing large lists of graphs, the standard procedure is not to test them pairwise but rather to compute a "canonically labelled" version of each input graph and then simply throw out the duplicates... > > Is there any way of computing a "canonically labelled" version of each k-subset? Or is this well known to be more difficult than computing equivalence? > > Thanks > > Gordon > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From L.H.Soicher at qmul.ac.uk Wed Jan 12 13:19:15 2011 From: L.H.Soicher at qmul.ac.uk (Leonard Soicher) Date: Wed, 12 Jan 2011 13:19:15 +0000 Subject: [GAP Forum] Computing "canonical" subsets In-Reply-To: <20110112122143.GA1560@orge.ens.fr> References: <6BADD7AA-47FA-4E23-B5AA-0098CA794189@maths.uwa.edu.au> <20110112122143.GA1560@orge.ens.fr> Message-ID: <20110112131915.GA5297@maths.qmul.ac.uk> Dear GAP-Forum, I must point out that this SmallestImageSet function, which determines the lex-least set in the G-orbit of a subset S of X (where G is a permutation group on the finite set X) was designed and written by Steve Linton. This extremely useful function (which does not need to compute the G-orbit of S) is used internally within GRAPE, and is not documented. For more information, see pkg/grape/lib/smallestimage.g in your GAP distribution, and also the article: Steve Linton, Finding the smallest image of a set, Proceedings of ISSAC '04, ACM, New York, 2004. I am hoping that, in due course, Steve will either make this excellent function (and certain variants he has devised) into a package or part of the main distribution of GAP. You may also be interested in: Enumerating Set Orbits, by Christian Pech and Sven Reichard, in Algorithmic Algebraic Combinatorics and Gr?bner Bases, Springer, 2009, Part 1, pp. 137-150. and in: On classifying objects with specified groups of automorphisms, friendly subgroups, and Sylow tower groups, by Leonard H. Soicher; Research Report, 2008, available at http://designtheory.org/library/preprints/friendly.pdf Regards, Leonard Soicher On Wed, Jan 12, 2011 at 01:21:43PM +0100, Mathieu Dutour wrote: > As far as I know, once you have a backtracking algorithm > for equivalence/stabilizer, then you have also an algorithm > for canonical representative. > > But GAP does not provides such functionalities ... > > However, for the special action "OnSets", there is a function > "SmallestImageSet" available from the GRAPE package that does > the job. > > Mathieu > > On Wed, Jan 12, 2011 at 08:04:13PM +0800, Gordon Royle wrote: > >> Dear Gapsters.. > >> > >> Consider the following generic problem... given a permutation group > >> G acting on a set X, I have a (potentially) large collection of > >> k-subsets of X and wish to keep only one representative of each > >> G-orbit on k-subsets. > >> > >> GAP can tell me if two k-subsets are equivalent under G using > >> RepresentativeAction and so in principle, I can build up a list > >> by starting with the first one, then testing to see if the second > >> is equivalent to the first and keeping it only if it is not, and > >> so on. This works, but each new one requires one more test than > >> the previous one and things rapidly become unmanageable. > >> > >> For winnowing large lists of graphs, the standard procedure is > >> not to test them pairwise but rather to compute a "canonically > >> labelled" version of each input graph and then simply throw out > >> the duplicates... > >> > >> Is there any way of computing a "canonically labelled" version > >> of each k-subset? Or is this well known to be more difficult > >> than computing equivalence? > >> > >> Thanks > >> > >> Gordon > >> _______________________________________________ > >> Forum mailing list > >> Forum at mail.gap-system.org > >> http://mail.gap-system.org/mailman/listinfo/forum > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From dima at ntu.edu.sg Wed Jan 12 17:18:59 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Wed, 12 Jan 2011 09:18:59 -0800 Subject: [GAP Forum] advice needed In-Reply-To: <67731294829971@web105.yandex.ru> References: <67731294829971@web105.yandex.ru> Message-ID: Hi Igor, indeed, you should create a GAP package with your code. By the way, are you aware of GAP packages that to computations that are quite relevant to your project, e.g. http://www.gap-system.org/Packages/homalg.html Best, Dmitrii On 12 January 2011 02:59, Igor Korepanov wrote: > Dear GAP experts, > > I need some advice. My team is writing some GAP functions, for our private calculations (although I already invited people to cooperate, see my previous posts). Generally, one function is contained in a file like "FunctionSoAndSo.g", and such file usually has some lines like Read("AnotherFuction.g"); in its beginning. There are also some embryo data bases containing description of objects we are working with. > > The question is: how should we organize all this (put in different folders, whatever), if our ambition is to make all this eventually helpful for other interested people? But in such manner which won't force us to become at once GAP grand masters? > > Thanks in advance, > > Igor > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From dima at ntu.edu.sg Wed Jan 12 18:10:09 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Wed, 12 Jan 2011 10:10:09 -0800 Subject: [GAP Forum] grants and other tenure requirements for maths professors - what are these in your school? Message-ID: Dear all, my apologies for an off-topic posting, but this is relevant to the survival of GAP-related (and Pure Maths in general) research in one academic institution.... My University (mostly Engineering) is in the midst of changing its tenure and promotion requirements, and is currently inclined to impose the same blanket tenure requirements on Engineering, Science, and Maths faculty alike. One of the requirements is being the principal investigator on a large (US$150K or more?) grant. Another requirement for tenure is to graduate at least one PhD student, and for Full Prof. promotion to graduate at least five PhD students. Needless to say, this makes Maths, in particular Pure Maths, horribly disadvantaged, and would effectively kill tenure chances for me and quite a number of my colleagues. I was asked by my Head of Division (and Head of School) to help to dig up any relevant information on such requirements at universities with a tenure system across the world, so that we can build up our case for these requirements to be in line with the worldwide practice. If you are familiar with tenure and promotion policies at your university, and can provide me with data on how this is treated in your university, please send me an email. Many thanks in advance, Dmitrii Pasechnik http://www.ntu.edu.sg/home/dima/ email: dima at ntu.edu.sg email: dimpase at gmail.com CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From kmorris2 at gmail.com Wed Jan 12 20:07:04 2011 From: kmorris2 at gmail.com (Katie Morrison) Date: Wed, 12 Jan 2011 14:07:04 -0600 Subject: [GAP Forum] Double cosets of orthogonal groups (rather than permutation groups) Message-ID: I am trying to compute double cosets within the orthogonal group with similitudes (which I am taking to be the set of matrices that satisfy MM^T=\lambda *I where I is the identity and \lambda is a non-zero scalar). I have obtained the orthogonal group with similitudes by starting with GO(n,q), conjugating it by an appropriate change of basis matrix to get the matrices that preserve the standard dot product rather than the bilinear form that GAP uses, and then taking the normalizer of this group in GL(n,q). Using this construction of the orthogonal group with similitudes, I would like to then find double cosets of certain subgroups of this, but as far as I know GAP only has the double-cosets function implemented for permutation groups. Is there an efficient way that I can use these built-in GAP functions to determine if two matrices are in the same double-coset and/or enumerate a list of double-coset representatives? Thanks in advance for any help with this. Katie Morrison From hulpke at math.colostate.edu Wed Jan 12 20:22:30 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed, 12 Jan 2011 13:22:30 -0700 Subject: [GAP Forum] Looping over (double)coset representatives without creating the WHOLE list first In-Reply-To: References: Message-ID: <6CBB73A1-C03F-4C4B-8AE9-62801E3312BC@math.colostate.edu> Dear Forum, On Jan 11, 2011, at 1/11/11 4:44, Pornrat Ruengrot wrote: > Hi, > > I have the following problem related to programming in GAP, hoping someone > could help please. > > Let G be a permutation group. > Let P be the subgroup of G consisting of all "perfect" permutations in G. > The goal is to find P explicitly. > > For this it's enough to check only the (double)coset representatives, since > if P is a subgroup of > perfect permutations found so far and g (in G) is not perfect, then so is > every element in PgP. So > part of my codes is as follow: > D:=DoubleCosetRepsAndSizes(G, P, P); # create list of double coset > representatives to be checked [...] > In Magma there is the command TransversalProcess(G, H) > http://magma.maths.usyd.edu.au/magma/handbook/text/571 that will do just > that . > > I was wondering if there is a similar command in GAP? Looking at the manual page you listed, this command only handles ordinary cosets, but not double cosets. the same functionality is provided in GAP by the command RightTransversal which returns an object that looks and behaves like a list, but does so by calculating elements on the fly with far smaller storage requirement than an ordinary list. For double cosets, neither magma (as far as I can read the manual), nor GAP provides similar functionality. Implementing this wouldn't be impossible (the construction algorithm basically builds a tree), but is not (in the existing code base for GAP) an easy modification. I do not expect such functionality to become available until certain future extensions towards threads have been implemented. > (I also tried the build-in command SubgroupByProperty. This gave me the > answer almost instantly, > but when trying to list all elements, it took a very long time.) However the process you are describing actually sounds like a simplified version of permutation group backtrack, and this is what is implemented by SubgroupByProperty'. Where I am a bit puzzled now is your remark that listing all elements took a long time. If you call SubgroupByProperty', you get a permutation group, and enumerating the elements should be straightforward (though, if the subgroup is large, just printing them out could take time or you might have storage issues in creating them all). Thus, if you were able to get a result from SubgroupByProperty', but Elements(subgroup);; (note the double semicolon to suppress printing) please send me (privately) more information about the group and the property you're using?this really shouldn't take long. All the best, 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 From sandeepr.murthy at gmail.com Wed Jan 12 20:29:24 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Wed, 12 Jan 2011 20:29:24 +0000 Subject: [GAP Forum] Changing memory allocation for GAP Message-ID: <6463AC99-26A0-4899-8492-6B1D25EEED32@gmail.com> Hello. Is there a command for starting GAP from the command line to open with a higher memory allocation, like 256 MB, than the standard one? I use GAP v.4.4.12 on Mac OS Leopard. At present, when I start GAP I see the following: -------- Loading the library. Please be patient, this may take a while. GAP4, Version: 4.4.12 of 17-Dec-2008, i686-apple-darwin9.6.0-gcc Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1, trans 1.0, prim 2.1 loaded. Packages: AutPGrp 1.2, CTblLib 1.1.3, TomLib 1.1.4, FactInt 1.5.2, GAPDoc 1.2 loaded. Error, file "-L" must exist and be readable Error, file "-m" must exist and be readable Error, file "128m" must exist and be readable Error, file "-o" must exist and be readable Error, file "512m" must exist and be readable -------- I run search algorithms on groups of exponential complexity, and they are intrinsically slow. But I'm hoping that by using a higher initial memory allocation, for practical purposes, my programs will cover more of the search space than they have so far. Sincerely, Sandeep. From hulpke at math.colostate.edu Wed Jan 12 20:43:06 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed, 12 Jan 2011 13:43:06 -0700 Subject: [GAP Forum] Double cosets of orthogonal groups (rather than permutation groups) In-Reply-To: References: Message-ID: <5C4F3B70-C642-4E49-8F5D-ACA0B5E1211C@math.colostate.edu> Dear Forum, It's double coset week! On Jan 12, 2011, at 1/12/11 1:07, Katie Morrison wrote: > I am trying to compute double cosets within the orthogonal group with > similitudes (which I am taking to be the set of matrices that satisfy > MM^T=\lambda *I where I is the identity and \lambda is a non-zero scalar). > I have obtained the orthogonal group with similitudes by starting with > GO(n,q), conjugating it by an appropriate change of basis matrix to get the > matrices that preserve the standard dot product rather than the bilinear > form that GAP uses, and then taking the normalizer of this group in > GL(n,q). > Using this construction of the orthogonal group with similitudes, > I would like to then find double cosets of certain subgroups of this, but as > far as I know GAP only has the double-cosets function implemented for > permutation groups. Since the normalizer calculation succeeded, it seems your parameters are small enough to allow for the construction of a permutation representation. In this situation you will be able to use this representation and permutation group functionality to get the results. For example, if G is the normalizer and A and B are the two subgroups, the following commands would get you double coset information in the matrix group: hom:=IsomorphismPermGroup(G); Gperm:=Image(hom,G); Aperm:=Image(hom,A); Bperm:=Image(hom,B); dc:=DoubleCosetRepsAndSizes(Gperm,Aperm,Bperm); List(dc,x->[PreImagesRepresentative(hom,x[1]),x[2]]); 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 From dima at ntu.edu.sg Thu Jan 13 02:09:05 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Wed, 12 Jan 2011 18:09:05 -0800 Subject: [GAP Forum] Changing memory allocation for GAP In-Reply-To: <6463AC99-26A0-4899-8492-6B1D25EEED32@gmail.com> References: <6463AC99-26A0-4899-8492-6B1D25EEED32@gmail.com> Message-ID: Dear Sandeep, it looks as if you start GAP in a wrong way. (cause these > Error, file "-L" must exist and be readable > Error, file "-m" must exist and be readable > Error, file "128m" must exist and be readable > Error, file "-o" must exist and be readable > Error, file "512m" must exist and be readable things are mangled details of command line arguments...) One way that works is to start it in a Terminal window. Another is to use a special MacOSX application. Hope this helps, Dmitrii On 12 January 2011 12:29, Sandeep Murthy wrote: > Hello. > > Is there a command for starting GAP from the command line to > open with a higher memory allocation, like 256 MB, than the standard > one? > > I use GAP v.4.4.12 on Mac OS Leopard. At present, when I start GAP > I see the following: > > -------- > > Loading the library. Please be patient, this may take a while. > GAP4, Version: 4.4.12 of 17-Dec-2008, i686-apple-darwin9.6.0-gcc > Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, > small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, > id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1, > trans 1.0, prim 2.1 loaded. > Packages: AutPGrp 1.2, CTblLib 1.1.3, TomLib 1.1.4, FactInt 1.5.2, > GAPDoc 1.2 loaded. > Error, file "-L" must exist and be readable > Error, file "-m" must exist and be readable > Error, file "128m" must exist and be readable > Error, file "-o" must exist and be readable > Error, file "512m" must exist and be readable > > -------- > > I run search algorithms on groups of exponential complexity, and they > are intrinsically slow. But I'm hoping that by using a higher initial > memory allocation, for practical purposes, my programs will cover > more of the search space than they have so far. > > Sincerely, Sandeep. > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From paloff at ya.ru Thu Jan 13 07:54:22 2011 From: paloff at ya.ru (Igor Korepanov) Date: Thu, 13 Jan 2011 10:54:22 +0300 Subject: [GAP Forum] why zoo? Message-ID: <491691294905262@web47.yandex.ru> Just one more question: is .zoo a somehow preferred way of archiving for GAP people? And why so if .tar.bz2 is so evidently better? Igor From paloff at ya.ru Thu Jan 13 08:22:21 2011 From: paloff at ya.ru (Igor Korepanov) Date: Thu, 13 Jan 2011 11:22:21 +0300 Subject: [GAP Forum] how TzGo worked with us Message-ID: <191761294906941@web4.yandex.ru> And still one more comment: we calculated yesterday the fundamental group of the 4-dimensional torus, which is, as everybody knows, the *abelian* group with 4 generators. That is, the Fp Group with 4 generators and 6 relation of type a * b * a^-1 * b^-1 . And all that was happily present in our GAP result, but besides that, there was one more redundant relation which we could derive manually from 6 others, but the TzGo algorithm apparently could not! We used some stuff of our own to define this fundamental group and then the usual TzGo command to simplify it. Of course I've heard of undecidable problems and stuff (as I am currently employed as a university lecturer, like many people on this forum). But this particular problem must be decidable (here I searched Internet for a suitable English interjection like "er?" to end my letter, but found only some strange "Ekh-ma" http://en.wikipedia.org/wiki/Ekh_%28expression%29 ) ? Best wishes, Igor From frank.luebeck at math.rwth-aachen.de Thu Jan 13 09:37:54 2011 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Thu, 13 Jan 2011 10:37:54 +0100 Subject: [GAP Forum] why zoo? In-Reply-To: <491691294905262@web47.yandex.ru> References: <491691294905262@web47.yandex.ru> Message-ID: <20110113093754.GA19326@beteigeuze> On Thu, Jan 13, 2011 at 10:54:22AM +0300, Igor Korepanov wrote: > Just one more question: is .zoo a somehow preferred way of archiving for GAP people? And why so if .tar.bz2 is so evidently better? But all of our archives are provided in .zoo, .tar.gz, .tar.bz2 and -win.zip format. You are free to use what you like most! .tar.bz2 is not "evidently better", e.g. it does not unpack text files under Windows/DOS with the native line break convention, and it is much slower to unpack them compared to, say, .tar.gz. See http://www.gap-system.org/Download/formats.html for more details. Best regards, Frank L?beck -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, /// \\\ 52062 Aachen, Germany \\\ /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De /// \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ From dima at ntu.edu.sg Thu Jan 13 09:58:45 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Thu, 13 Jan 2011 01:58:45 -0800 Subject: [GAP Forum] why zoo? In-Reply-To: <491691294905262@web47.yandex.ru> References: <491691294905262@web47.yandex.ru> Message-ID: Igor, .zoo is an old format, historically the first GAP was using, exclusively. About 10 years ago there were long discussions on this list whether one should use other formats, and common sense prevailed, so .zoo is no longer the only format used. Perhaps .zoo will be retired at some point... On 12 January 2011 23:54, Igor Korepanov wrote: > Just one more question: is .zoo a somehow preferred way of archiving for GAP people? And why so if .tar.bz2 is so evidently better? > > Igor > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From frank.luebeck at math.rwth-aachen.de Thu Jan 13 16:41:18 2011 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Thu, 13 Jan 2011 17:41:18 +0100 Subject: [GAP Forum] Changing memory allocation for GAP In-Reply-To: <6463AC99-26A0-4899-8492-6B1D25EEED32@gmail.com> References: <6463AC99-26A0-4899-8492-6B1D25EEED32@gmail.com> Message-ID: <20110113164117.GB26842@beteigeuze> On Wed, Jan 12, 2011 at 08:29:24PM +0000, Sandeep Murthy wrote: > Is there a command for starting GAP from the command line to > open with a higher memory allocation, like 256 MB, than the standard > one? > > I use GAP v.4.4.12 on Mac OS Leopard. At present, when I start GAP > I see the following: > > -------- > > Loading the library. Please be patient, this may take a while. > GAP4, Version: 4.4.12 of 17-Dec-2008, i686-apple-darwin9.6.0-gcc > Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, > small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, > id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1, > trans 1.0, prim 2.1 loaded. > Packages: AutPGrp 1.2, CTblLib 1.1.3, TomLib 1.1.4, FactInt 1.5.2, > GAPDoc 1.2 loaded. > Error, file "-L" must exist and be readable > Error, file "-m" must exist and be readable > Error, file "128m" must exist and be readable > Error, file "-o" must exist and be readable > Error, file "512m" must exist and be readable > Dear Sandeep Murphy, dear Forum, To find an explaination in the GAP documentation type ?command line options into your GAP session. If one of the arguments in your call of GAP is a file name, then all further arguments are also interpreted as file names. So you should call GAP like: gap -m 128m -o 512m [maybe more options here] file1 file2 ... Using the -m option with a larger amount of memory does usually not give a big performance advantage. But using a higher value with the -o option causes that you see a message of form exceeded the permitted memory (-o' command line option) at [...] brk> later than with the default value. (You can type 'return;' at that brk-prompt, then GAP doubles the value of the -o option.) Nevertheless, it does not make sense to specify with -o more memory than your GAP job has available as physical memory. With best regards, Frank L?beck -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, /// \\\ 52062 Aachen, Germany \\\ /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De /// \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ From hulpke at math.colostate.edu Thu Jan 13 17:20:17 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Thu, 13 Jan 2011 10:20:17 -0700 Subject: [GAP Forum] how TzGo worked with us In-Reply-To: <191761294906941@web4.yandex.ru> References: <191761294906941@web4.yandex.ru> Message-ID: <3196FBA1-3829-4234-A59D-9BC51E350DF3@math.colostate.edu> Dear Forum, On Jan 13, 2011, at 1/13/11 1:22, Igor Korepanov wrote: > And still one more comment: we calculated yesterday the fundamental group of the 4-dimensional torus, which is, as everybody knows, the *abelian* group with 4 generators. That is, the Fp Group with 4 generators and 6 relation of type a * b * a^-1 * b^-1 . > > And all that was happily present in our GAP result, but besides that, there was one more redundant relation which we could derive manually from 6 others, but the TzGo algorithm apparently could not! TzGo (the Tietze transformations command) uses a couple of heuristics, based on length criteria, to shorten a presentation, in particular if it was obtained from rewriting to a subgroup. It does not aim to do a systematic search for all redundancies. The primary aim is to get a presentation shorter with a moderate amount of effort, not to get an irredundant presentation or cover the largest possible class of decidable problems. It is clearly not optimal, but adding further attempts might cause an overall slowdown in other situations. Thus I'm not surprised that thinking (or even other algorithms that would be willing to devote more time) can produce better results in particular situations. 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 From max at quendi.de Fri Jan 14 14:24:16 2011 From: max at quendi.de (Max Horn) Date: Fri, 14 Jan 2011 15:24:16 +0100 Subject: [GAP Forum] Analogue of IsFFEMatrixGroup for matrix groups over ZmodnZ Message-ID: <01D99A4D-2E0A-46D6-BCA3-8B8D4163A180@quendi.de> Dear GAP forum is there an analogue for IsFFEMatrixGroup and FieldOfMatrixGroup for groups over ZmodnZ ? Something like IsZmodnZMatrixGroup and RingOfMatrixGroup ? I didn't find anything like that. If it doesn't exist, how would I best go about adding those? Background: I'd like to install my own methods for e.g. NiceMonomorphism for matrix groups over ZmodnZ. To illustrate why: for GL(3, Z/36Z), GAP currently finds a perm rep on 39312 points, my code finds one on 758 points (it doesn't do anything fancy or new, mind you) For now, I just "manually" use SetNiceMonomorphism on my groups, but I thought it would be kinda nice to properly hook this into GAP (so that maybe it could even be integrated in a package or GAP itself one day). Cheers, Max From hulpke at math.colostate.edu Fri Jan 14 17:03:32 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Fri, 14 Jan 2011 10:03:32 -0700 Subject: [GAP Forum] Analogue of IsFFEMatrixGroup for matrix groups over ZmodnZ In-Reply-To: <01D99A4D-2E0A-46D6-BCA3-8B8D4163A180@quendi.de> References: <01D99A4D-2E0A-46D6-BCA3-8B8D4163A180@quendi.de> Message-ID: <965B2533-1AC7-486E-ACAA-32BD16BCFC42@math.colostate.edu> Dear Forum, On Jan 14, 2011, at 1/14/11 7:24, Max Horn wrote: > is there an analogue for IsFFEMatrixGroup and FieldOfMatrixGroup for groups over ZmodnZ ? Something like IsZmodnZMatrixGroup and RingOfMatrixGroup ? I didn't find anything like that. If it doesn't exist, how would I best go about adding those? Assuming you want to catch the case for nonprime n, the equivalent for IsFFEMatrixGroup would be IsZmodnZObjNonprimeCollCollColl and IsMatrixGroup To get the underlying ring, you could use DefaultRing(Flat(GeneratorsOfGroup(g))); Best wishes, Alexander Hulpke From kmorris2 at gmail.com Mon Jan 17 04:21:10 2011 From: kmorris2 at gmail.com (Katie Morrison) Date: Sun, 16 Jan 2011 22:21:10 -0600 Subject: [GAP Forum] Creating block matrices Message-ID: Hi all, I was wondering if there's an efficient way to create the subgroup of GL(2n, q) consisting of block matrices of the form: [A 0 B C] where A and C are in GL(n,q) and B is in M(n,q) (i.e. B is an arbitrary nxn matrix). Thanks for the help. Katie From dima at ntu.edu.sg Mon Jan 17 05:45:41 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Mon, 17 Jan 2011 13:45:41 +0800 Subject: [GAP Forum] Creating block matrices In-Reply-To: References: Message-ID: Dear Katie, it's not clear from your message what you mean by "efficiently". You mean, a special function that can do it for you? Here is one way to accomplish it: sgrp:=function(q,n0) local g, eij, i, j,n, d; eij:=function(i,j) local M; M:=IdentityMat(n,GF(q)); M[i][j]:=Z(q)^0; return M; end; g:=[]; n:=2*n0; for i in [1..n-1] do Add(g,eij(i+1,i)); d:=IdentityMat(n,GF(q)); d[i][i]:=Z(q); Add(g,d); od; for i in [1..n0-1] do Add(g,eij(i,i+1)); Add(g,eij(n0+i,n0+i+1)); od; return Group(g); end; Hope this helps, Dmitrii On 17 January 2011 12:21, Katie Morrison wrote: > Hi all, I was wondering if there's an efficient way to create the subgroup > of GL(2n, q) consisting of block matrices of the form: > [A 0 > B C] > where A and C are in GL(n,q) and B is in M(n,q) (i.e. B is an arbitrary nxn > matrix). Thanks for the help. > > Katie > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From sararadfarss at gmail.com Mon Jan 17 13:27:01 2011 From: sararadfarss at gmail.com (Sara Radfar) Date: Mon, 17 Jan 2011 05:27:01 -0800 Subject: [GAP Forum] Forum Digest, Vol 86, Issue 6 In-Reply-To: References: Message-ID: Dear All, How we can by GAP conlude all automorphism group$A_7 timesA_7$? Thanks, Sara On 1/16/11, forum-request at gap-system.org wrote: > Send Forum mailing list submissions to > forum at mail.gap-system.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://mail.gap-system.org/mailman/listinfo/forum > or, via email, send a message with subject or body 'help' to > forum-request at mail.gap-system.org > > You can reach the person managing the list at > forum-owner at mail.gap-system.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Forum digest..." > > > Today's Topics: > > 1. Re: Changing memory allocation for GAP > (Asst. Prof. Dmitrii (Dima) Pasechnik) > 2. why zoo? (Igor Korepanov) > 3. how TzGo worked with us (Igor Korepanov) > 4. Re: why zoo? (Frank L?beck) > 5. Re: why zoo? (Asst. Prof. Dmitrii (Dima) Pasechnik) > 6. Re: Changing memory allocation for GAP (Frank L?beck) > 7. Re: how TzGo worked with us (Alexander Hulpke) > 8. Analogue of IsFFEMatrixGroup for matrix groups over ZmodnZ > (Max Horn) > 9. Re: Analogue of IsFFEMatrixGroup for matrix groups over > ZmodnZ (Alexander Hulpke) > 10. Creating block matrices (Katie Morrison) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 12 Jan 2011 18:09:05 -0800 > From: "Asst. Prof. Dmitrii (Dima) Pasechnik" > To: Sandeep Murthy > Cc: GAP forum > Subject: Re: [GAP Forum] Changing memory allocation for GAP > Message-ID: > > Content-Type: text/plain; charset="UTF-8" > > Dear Sandeep, > it looks as if you start GAP in a wrong way. > (cause these > Error, file "-L" must exist and be readable >> Error, file "-m" must exist and be readable >> Error, file "128m" must exist and be readable >> Error, file "-o" must exist and be readable >> Error, file "512m" must exist and be readable > things are mangled details of command line arguments...) > > One way that works is to start it in a Terminal window. > Another is to use a special MacOSX application. > > Hope this helps, > Dmitrii > > On 12 January 2011 12:29, Sandeep Murthy wrote: >> Hello. >> >> Is there a command for starting GAP from the command line to >> open with a higher memory allocation, like 256 MB, than the standard >> one? >> >> I use GAP v.4.4.12 on Mac OS Leopard. At present, when I start GAP >> I see the following: >> >> -------- >> >> Loading the library. Please be patient, this may take a while. >> GAP4, Version: 4.4.12 of 17-Dec-2008, i686-apple-darwin9.6.0-gcc >> Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, >> small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, >> id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 >> 0.1, >> trans 1.0, prim 2.1 loaded. >> Packages: AutPGrp 1.2, CTblLib 1.1.3, TomLib 1.1.4, FactInt 1.5.2, >> GAPDoc 1.2 loaded. >> Error, file "-L" must exist and be readable >> Error, file "-m" must exist and be readable >> Error, file "128m" must exist and be readable >> Error, file "-o" must exist and be readable >> Error, file "512m" must exist and be readable >> >> -------- >> >> I run search algorithms on groups of exponential complexity, and they >> are intrinsically slow. But I'm hoping that by using a higher initial >> memory allocation, for practical purposes, my programs will cover >> more of the search space than they have so far. >> >> Sincerely, Sandeep. >> >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > > > > -- > Dmitrii Pasechnik > ----- > DISCLAIMER: Any text following this sentence does not constitute a > part of this message, and was added automatically during transmission. > > CONFIDENTIALITY: This email is intended solely for the person(s) named and > may be confidential and/or privileged. If you are not the intended > recipient, please delete it, notify us and do not copy, use, or disclose its > content. Thank you. > > Towards A Sustainable Earth: Print Only When Necessary > > > > ------------------------------ > > Message: 2 > Date: Thu, 13 Jan 2011 10:54:22 +0300 > From: Igor Korepanov > To: forum at gap-system.org > Subject: [GAP Forum] why zoo? > Message-ID: <491691294905262 at web47.yandex.ru> > Content-Type: text/plain > > Just one more question: is .zoo a somehow preferred way of archiving for GAP > people? And why so if .tar.bz2 is so evidently better? > > Igor > > > > ------------------------------ > > Message: 3 > Date: Thu, 13 Jan 2011 11:22:21 +0300 > From: Igor Korepanov > To: forum at gap-system.org > Subject: [GAP Forum] how TzGo worked with us > Message-ID: <191761294906941 at web4.yandex.ru> > Content-Type: text/plain > > And still one more comment: we calculated yesterday the fundamental group of > the 4-dimensional torus, which is, as everybody knows, the *abelian* group > with 4 generators. That is, the Fp Group with 4 generators and 6 relation of > type a * b * a^-1 * b^-1 . > > And all that was happily present in our GAP result, but besides that, there > was one more redundant relation which we could derive manually from 6 > others, but the TzGo algorithm apparently could not! > > We used some stuff of our own to define this fundamental group and then the > usual TzGo command to simplify it. > > Of course I've heard of undecidable problems and stuff (as I am currently > employed as a university lecturer, like many people on this forum). But this > particular problem must be decidable (here I searched Internet for a > suitable English interjection like "er?" to end my letter, but found only > some strange "Ekh-ma" http://en.wikipedia.org/wiki/Ekh_%28expression%29 ) ? > > Best wishes, > > Igor > > > > ------------------------------ > > Message: 4 > Date: Thu, 13 Jan 2011 10:37:54 +0100 > From: Frank L?beck > To: forum at gap-system.org > Subject: Re: [GAP Forum] why zoo? > Message-ID: <20110113093754.GA19326 at beteigeuze> > Content-Type: text/plain; charset=iso-8859-1 > > On Thu, Jan 13, 2011 at 10:54:22AM +0300, Igor Korepanov wrote: >> Just one more question: is .zoo a somehow preferred way of archiving for >> GAP people? And why so if .tar.bz2 is so evidently better? > > But all of our archives are provided in .zoo, .tar.gz, .tar.bz2 and -win.zip > format. You are free to use what you like most! > > .tar.bz2 is not "evidently better", e.g. it does not unpack text files > under Windows/DOS with the native line break convention, and it is much > slower to unpack them compared to, say, .tar.gz. > > See > http://www.gap-system.org/Download/formats.html > for more details. > > Best regards, > Frank L?beck > > -- > /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, /// > \\\ 52062 Aachen, Germany \\\ > /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De /// > \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ > > > > > ------------------------------ > > Message: 5 > Date: Thu, 13 Jan 2011 01:58:45 -0800 > From: "Asst. Prof. Dmitrii (Dima) Pasechnik" > To: Igor Korepanov > Cc: "forum at gap-system.org" > Subject: Re: [GAP Forum] why zoo? > Message-ID: > > Content-Type: text/plain; charset="UTF-8" > > Igor, > .zoo is an old format, historically the first GAP was using, exclusively. > > About 10 years ago there were long discussions on this list whether one > should use other formats, and common sense prevailed, so .zoo is no longer > the only format used. > Perhaps .zoo will be retired at some point... > > On 12 January 2011 23:54, Igor Korepanov wrote: >> Just one more question: is .zoo a somehow preferred way of archiving for >> GAP people? And why so if .tar.bz2 is so evidently better? >> >> Igor >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > > > > -- > Dmitrii Pasechnik > ----- > DISCLAIMER: Any text following this sentence does not constitute a > part of this message, and was added automatically during transmission. > > CONFIDENTIALITY: This email is intended solely for the person(s) named and > may be confidential and/or privileged. If you are not the intended > recipient, please delete it, notify us and do not copy, use, or disclose its > content. Thank you. > > Towards A Sustainable Earth: Print Only When Necessary > > > > ------------------------------ > > Message: 6 > Date: Thu, 13 Jan 2011 17:41:18 +0100 > From: Frank L?beck > To: Sandeep Murthy , forum at gap-system.org > Subject: Re: [GAP Forum] Changing memory allocation for GAP > Message-ID: <20110113164117.GB26842 at beteigeuze> > Content-Type: text/plain; charset=iso-8859-1 > > On Wed, Jan 12, 2011 at 08:29:24PM +0000, Sandeep Murthy wrote: >> Is there a command for starting GAP from the command line to >> open with a higher memory allocation, like 256 MB, than the standard >> one? >> >> I use GAP v.4.4.12 on Mac OS Leopard. At present, when I start GAP >> I see the following: >> >> -------- >> >> Loading the library. Please be patient, this may take a while. >> GAP4, Version: 4.4.12 of 17-Dec-2008, i686-apple-darwin9.6.0-gcc >> Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, >> small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, >> id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 >> 0.1, >> trans 1.0, prim 2.1 loaded. >> Packages: AutPGrp 1.2, CTblLib 1.1.3, TomLib 1.1.4, FactInt 1.5.2, >> GAPDoc 1.2 loaded. >> Error, file "-L" must exist and be readable >> Error, file "-m" must exist and be readable >> Error, file "128m" must exist and be readable >> Error, file "-o" must exist and be readable >> Error, file "512m" must exist and be readable >> > > > Dear Sandeep Murphy, dear Forum, > > To find an explaination in the GAP documentation type > > ?command line options > > into your GAP session. If one of the arguments in your call of GAP is > a file name, then all further arguments are also interpreted as file names. > > So you should call GAP like: > gap -m 128m -o 512m [maybe more options here] file1 file2 ... > > Using the -m option with a larger amount of memory does usually not give > a big performance advantage. But using a higher value with the -o option > causes that you see a message of form > > exceeded the permitted memory (-o' command line option) at > [...] > brk> > > later than with the default value. (You can type 'return;' at that > brk-prompt, then GAP doubles the value of the -o option.) > Nevertheless, it does not make sense to specify with -o more memory than > your GAP job has available as physical memory. > > With best regards, > Frank L?beck > > -- > /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, /// > \\\ 52062 Aachen, Germany \\\ > /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De /// > \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ > > > > > ------------------------------ > > Message: 7 > Date: Thu, 13 Jan 2011 10:20:17 -0700 > From: Alexander Hulpke > To: gap forum > Subject: Re: [GAP Forum] how TzGo worked with us > Message-ID: <3196FBA1-3829-4234-A59D-9BC51E350DF3 at math.colostate.edu> > Content-Type: text/plain; charset=us-ascii > > > > Dear Forum, > > On Jan 13, 2011, at 1/13/11 1:22, Igor Korepanov wrote: > >> And still one more comment: we calculated yesterday the fundamental group >> of the 4-dimensional torus, which is, as everybody knows, the *abelian* >> group with 4 generators. That is, the Fp Group with 4 generators and 6 >> relation of type a * b * a^-1 * b^-1 . >> >> And all that was happily present in our GAP result, but besides that, >> there was one more redundant relation which we could derive manually from >> 6 others, but the TzGo algorithm apparently could not! > > TzGo (the Tietze transformations command) uses a couple of heuristics, based > on length criteria, to shorten a presentation, in particular if it was > obtained from rewriting to a subgroup. It does not aim to do a systematic > search for all redundancies. The primary aim is to get a presentation > shorter with a moderate amount of effort, not to get an irredundant > presentation or cover the largest possible class of decidable problems. It > is clearly not optimal, but adding further attempts might cause an overall > slowdown in other situations. > > Thus I'm not surprised that thinking (or even other algorithms that would be > willing to devote more time) can produce better results in particular > situations. > > 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 > > > > > > > ------------------------------ > > Message: 8 > Date: Fri, 14 Jan 2011 15:24:16 +0100 > From: Max Horn > To: GAP Forum > Subject: [GAP Forum] Analogue of IsFFEMatrixGroup for matrix groups > over ZmodnZ > Message-ID: <01D99A4D-2E0A-46D6-BCA3-8B8D4163A180 at quendi.de> > Content-Type: text/plain; charset=us-ascii > > Dear GAP forum > > is there an analogue for IsFFEMatrixGroup and FieldOfMatrixGroup for groups > over ZmodnZ ? Something like IsZmodnZMatrixGroup and RingOfMatrixGroup ? I > didn't find anything like that. If it doesn't exist, how would I best go > about adding those? > > Background: I'd like to install my own methods for e.g. NiceMonomorphism for > matrix groups over ZmodnZ. To illustrate why: for GL(3, Z/36Z), GAP > currently finds a perm rep on 39312 points, my code finds one on 758 points > (it doesn't do anything fancy or new, mind you) > > For now, I just "manually" use SetNiceMonomorphism on my groups, but I > thought it would be kinda nice to properly hook this into GAP (so that maybe > it could even be integrated in a package or GAP itself one day). > > > Cheers, > Max > > > > > ------------------------------ > > Message: 9 > Date: Fri, 14 Jan 2011 10:03:32 -0700 > From: Alexander Hulpke > To: Max Horn > Cc: GAP Forum > Subject: Re: [GAP Forum] Analogue of IsFFEMatrixGroup for matrix > groups over ZmodnZ > Message-ID: <965B2533-1AC7-486E-ACAA-32BD16BCFC42 at math.colostate.edu> > Content-Type: text/plain; charset=us-ascii > > > > Dear Forum, > > On Jan 14, 2011, at 1/14/11 7:24, Max Horn wrote: > >> is there an analogue for IsFFEMatrixGroup and FieldOfMatrixGroup for >> groups over ZmodnZ ? Something like IsZmodnZMatrixGroup and >> RingOfMatrixGroup ? I didn't find anything like that. If it doesn't exist, >> how would I best go about adding those? > > Assuming you want to catch the case for nonprime n, the equivalent for > IsFFEMatrixGroup would be > IsZmodnZObjNonprimeCollCollColl and IsMatrixGroup > > To get the underlying ring, you could use > DefaultRing(Flat(GeneratorsOfGroup(g))); > > Best wishes, > > Alexander Hulpke > > > > > > > > ------------------------------ > > Message: 10 > Date: Sun, 16 Jan 2011 22:21:10 -0600 > From: Katie Morrison > To: forum at gap-system.org > Subject: [GAP Forum] Creating block matrices > Message-ID: > > Content-Type: text/plain; charset=ISO-8859-1 > > Hi all, I was wondering if there's an efficient way to create the subgroup > of GL(2n, q) consisting of block matrices of the form: > [A 0 > B C] > where A and C are in GL(n,q) and B is in M(n,q) (i.e. B is an arbitrary nxn > matrix). Thanks for the help. > > Katie > > > ------------------------------ > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > > End of Forum Digest, Vol 86, Issue 6 > ************************************ > From sararadfarss at gmail.com Mon Jan 17 13:38:02 2011 From: sararadfarss at gmail.com (Sara Radfar) Date: Mon, 17 Jan 2011 05:38:02 -0800 Subject: [GAP Forum] Forum Digest, Vol 86, Issue 6 In-Reply-To: References: Message-ID: Dear All, Hi Let the set of the number of sylow subgroup$G$equal to group$PSL(2,7)$(that is {8,21,28}) .Whether by GAP we can say$G$is solvable group or unsolvable group? Thanks, Sara On 1/17/11, Sara Radfar wrote: > Dear All, > > How we can by GAP conlude all automorphism group$A_7 timesA_7$? > Thanks, > Sara > > On 1/16/11, forum-request at gap-system.org > wrote: >> Send Forum mailing list submissions to >> forum at mail.gap-system.org >> >> To subscribe or unsubscribe via the World Wide Web, visit >> http://mail.gap-system.org/mailman/listinfo/forum >> or, via email, send a message with subject or body 'help' to >> forum-request at mail.gap-system.org >> >> You can reach the person managing the list at >> forum-owner at mail.gap-system.org >> >> When replying, please edit your Subject line so it is more specific >> than "Re: Contents of Forum digest..." >> >> >> Today's Topics: >> >> 1. Re: Changing memory allocation for GAP >> (Asst. Prof. Dmitrii (Dima) Pasechnik) >> 2. why zoo? (Igor Korepanov) >> 3. how TzGo worked with us (Igor Korepanov) >> 4. Re: why zoo? (Frank L?beck) >> 5. Re: why zoo? (Asst. Prof. Dmitrii (Dima) Pasechnik) >> 6. Re: Changing memory allocation for GAP (Frank L?beck) >> 7. Re: how TzGo worked with us (Alexander Hulpke) >> 8. Analogue of IsFFEMatrixGroup for matrix groups over ZmodnZ >> (Max Horn) >> 9. Re: Analogue of IsFFEMatrixGroup for matrix groups over >> ZmodnZ (Alexander Hulpke) >> 10. Creating block matrices (Katie Morrison) >> >> >> ---------------------------------------------------------------------- >> >> Message: 1 >> Date: Wed, 12 Jan 2011 18:09:05 -0800 >> From: "Asst. Prof. Dmitrii (Dima) Pasechnik" >> To: Sandeep Murthy >> Cc: GAP forum >> Subject: Re: [GAP Forum] Changing memory allocation for GAP >> Message-ID: >> >> Content-Type: text/plain; charset="UTF-8" >> >> Dear Sandeep, >> it looks as if you start GAP in a wrong way. >> (cause these > Error, file "-L" must exist and be readable >>> Error, file "-m" must exist and be readable >>> Error, file "128m" must exist and be readable >>> Error, file "-o" must exist and be readable >>> Error, file "512m" must exist and be readable >> things are mangled details of command line arguments...) >> >> One way that works is to start it in a Terminal window. >> Another is to use a special MacOSX application. >> >> Hope this helps, >> Dmitrii >> >> On 12 January 2011 12:29, Sandeep Murthy >> wrote: >>> Hello. >>> >>> Is there a command for starting GAP from the command line to >>> open with a higher memory allocation, like 256 MB, than the standard >>> one? >>> >>> I use GAP v.4.4.12 on Mac OS Leopard. At present, when I start GAP >>> I see the following: >>> >>> -------- >>> >>> Loading the library. Please be patient, this may take a while. >>> GAP4, Version: 4.4.12 of 17-Dec-2008, i686-apple-darwin9.6.0-gcc >>> Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, >>> small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, >>> id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 >>> 0.1, >>> trans 1.0, prim 2.1 loaded. >>> Packages: AutPGrp 1.2, CTblLib 1.1.3, TomLib 1.1.4, FactInt 1.5.2, >>> GAPDoc 1.2 loaded. >>> Error, file "-L" must exist and be readable >>> Error, file "-m" must exist and be readable >>> Error, file "128m" must exist and be readable >>> Error, file "-o" must exist and be readable >>> Error, file "512m" must exist and be readable >>> >>> -------- >>> >>> I run search algorithms on groups of exponential complexity, and they >>> are intrinsically slow. But I'm hoping that by using a higher initial >>> memory allocation, for practical purposes, my programs will cover >>> more of the search space than they have so far. >>> >>> Sincerely, Sandeep. >>> >>> >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >>> >> >> >> >> -- >> Dmitrii Pasechnik >> ----- >> DISCLAIMER: Any text following this sentence does not constitute a >> part of this message, and was added automatically during transmission. >> >> CONFIDENTIALITY: This email is intended solely for the person(s) named >> and >> may be confidential and/or privileged. If you are not the intended >> recipient, please delete it, notify us and do not copy, use, or disclose >> its >> content. Thank you. >> >> Towards A Sustainable Earth: Print Only When Necessary >> >> >> >> ------------------------------ >> >> Message: 2 >> Date: Thu, 13 Jan 2011 10:54:22 +0300 >> From: Igor Korepanov >> To: forum at gap-system.org >> Subject: [GAP Forum] why zoo? >> Message-ID: <491691294905262 at web47.yandex.ru> >> Content-Type: text/plain >> >> Just one more question: is .zoo a somehow preferred way of archiving for >> GAP >> people? And why so if .tar.bz2 is so evidently better? >> >> Igor >> >> >> >> ------------------------------ >> >> Message: 3 >> Date: Thu, 13 Jan 2011 11:22:21 +0300 >> From: Igor Korepanov >> To: forum at gap-system.org >> Subject: [GAP Forum] how TzGo worked with us >> Message-ID: <191761294906941 at web4.yandex.ru> >> Content-Type: text/plain >> >> And still one more comment: we calculated yesterday the fundamental group >> of >> the 4-dimensional torus, which is, as everybody knows, the *abelian* >> group >> with 4 generators. That is, the Fp Group with 4 generators and 6 relation >> of >> type a * b * a^-1 * b^-1 . >> >> And all that was happily present in our GAP result, but besides that, >> there >> was one more redundant relation which we could derive manually from 6 >> others, but the TzGo algorithm apparently could not! >> >> We used some stuff of our own to define this fundamental group and then >> the >> usual TzGo command to simplify it. >> >> Of course I've heard of undecidable problems and stuff (as I am currently >> employed as a university lecturer, like many people on this forum). But >> this >> particular problem must be decidable (here I searched Internet for a >> suitable English interjection like "er?" to end my letter, but found only >> some strange "Ekh-ma" http://en.wikipedia.org/wiki/Ekh_%28expression%29 ) >> ? >> >> Best wishes, >> >> Igor >> >> >> >> ------------------------------ >> >> Message: 4 >> Date: Thu, 13 Jan 2011 10:37:54 +0100 >> From: Frank L?beck >> To: forum at gap-system.org >> Subject: Re: [GAP Forum] why zoo? >> Message-ID: <20110113093754.GA19326 at beteigeuze> >> Content-Type: text/plain; charset=iso-8859-1 >> >> On Thu, Jan 13, 2011 at 10:54:22AM +0300, Igor Korepanov wrote: >>> Just one more question: is .zoo a somehow preferred way of archiving for >>> GAP people? And why so if .tar.bz2 is so evidently better? >> >> But all of our archives are provided in .zoo, .tar.gz, .tar.bz2 and >> -win.zip >> format. You are free to use what you like most! >> >> .tar.bz2 is not "evidently better", e.g. it does not unpack text files >> under Windows/DOS with the native line break convention, and it is much >> slower to unpack them compared to, say, .tar.gz. >> >> See >> http://www.gap-system.org/Download/formats.html >> for more details. >> >> Best regards, >> Frank L?beck >> >> -- >> /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, /// >> \\\ 52062 Aachen, Germany \\\ >> /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De /// >> \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ >> >> >> >> >> ------------------------------ >> >> Message: 5 >> Date: Thu, 13 Jan 2011 01:58:45 -0800 >> From: "Asst. Prof. Dmitrii (Dima) Pasechnik" >> To: Igor Korepanov >> Cc: "forum at gap-system.org" >> Subject: Re: [GAP Forum] why zoo? >> Message-ID: >> >> Content-Type: text/plain; charset="UTF-8" >> >> Igor, >> .zoo is an old format, historically the first GAP was using, exclusively. >> >> About 10 years ago there were long discussions on this list whether one >> should use other formats, and common sense prevailed, so .zoo is no >> longer >> the only format used. >> Perhaps .zoo will be retired at some point... >> >> On 12 January 2011 23:54, Igor Korepanov wrote: >>> Just one more question: is .zoo a somehow preferred way of archiving for >>> GAP people? And why so if .tar.bz2 is so evidently better? >>> >>> Igor >>> >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >>> >> >> >> >> -- >> Dmitrii Pasechnik >> ----- >> DISCLAIMER: Any text following this sentence does not constitute a >> part of this message, and was added automatically during transmission. >> >> CONFIDENTIALITY: This email is intended solely for the person(s) named >> and >> may be confidential and/or privileged. If you are not the intended >> recipient, please delete it, notify us and do not copy, use, or disclose >> its >> content. Thank you. >> >> Towards A Sustainable Earth: Print Only When Necessary >> >> >> >> ------------------------------ >> >> Message: 6 >> Date: Thu, 13 Jan 2011 17:41:18 +0100 >> From: Frank L?beck >> To: Sandeep Murthy , forum at gap-system.org >> Subject: Re: [GAP Forum] Changing memory allocation for GAP >> Message-ID: <20110113164117.GB26842 at beteigeuze> >> Content-Type: text/plain; charset=iso-8859-1 >> >> On Wed, Jan 12, 2011 at 08:29:24PM +0000, Sandeep Murthy wrote: >>> Is there a command for starting GAP from the command line to >>> open with a higher memory allocation, like 256 MB, than the standard >>> one? >>> >>> I use GAP v.4.4.12 on Mac OS Leopard. At present, when I start GAP >>> I see the following: >>> >>> -------- >>> >>> Loading the library. Please be patient, this may take a while. >>> GAP4, Version: 4.4.12 of 17-Dec-2008, i686-apple-darwin9.6.0-gcc >>> Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, >>> small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 >>> 0.2, >>> id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 >>> 0.1, >>> trans 1.0, prim 2.1 loaded. >>> Packages: AutPGrp 1.2, CTblLib 1.1.3, TomLib 1.1.4, FactInt 1.5.2, >>> GAPDoc 1.2 loaded. >>> Error, file "-L" must exist and be readable >>> Error, file "-m" must exist and be readable >>> Error, file "128m" must exist and be readable >>> Error, file "-o" must exist and be readable >>> Error, file "512m" must exist and be readable >>> >> >> >> Dear Sandeep Murphy, dear Forum, >> >> To find an explaination in the GAP documentation type >> >> ?command line options >> >> into your GAP session. If one of the arguments in your call of GAP is >> a file name, then all further arguments are also interpreted as file >> names. >> >> So you should call GAP like: >> gap -m 128m -o 512m [maybe more options here] file1 file2 ... >> >> Using the -m option with a larger amount of memory does usually not give >> a big performance advantage. But using a higher value with the -o option >> causes that you see a message of form >> >> exceeded the permitted memory (-o' command line option) at >> [...] >> brk> >> >> later than with the default value. (You can type 'return;' at that >> brk-prompt, then GAP doubles the value of the -o option.) >> Nevertheless, it does not make sense to specify with -o more memory than >> your GAP job has available as physical memory. >> >> With best regards, >> Frank L?beck >> >> -- >> /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, /// >> \\\ 52062 Aachen, Germany \\\ >> /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De /// >> \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ >> >> >> >> >> ------------------------------ >> >> Message: 7 >> Date: Thu, 13 Jan 2011 10:20:17 -0700 >> From: Alexander Hulpke >> To: gap forum >> Subject: Re: [GAP Forum] how TzGo worked with us >> Message-ID: <3196FBA1-3829-4234-A59D-9BC51E350DF3 at math.colostate.edu> >> Content-Type: text/plain; charset=us-ascii >> >> >> >> Dear Forum, >> >> On Jan 13, 2011, at 1/13/11 1:22, Igor Korepanov wrote: >> >>> And still one more comment: we calculated yesterday the fundamental >>> group >>> of the 4-dimensional torus, which is, as everybody knows, the *abelian* >>> group with 4 generators. That is, the Fp Group with 4 generators and 6 >>> relation of type a * b * a^-1 * b^-1 . >>> >>> And all that was happily present in our GAP result, but besides that, >>> there was one more redundant relation which we could derive manually >>> from >>> 6 others, but the TzGo algorithm apparently could not! >> >> TzGo (the Tietze transformations command) uses a couple of heuristics, >> based >> on length criteria, to shorten a presentation, in particular if it was >> obtained from rewriting to a subgroup. It does not aim to do a systematic >> search for all redundancies. The primary aim is to get a presentation >> shorter with a moderate amount of effort, not to get an irredundant >> presentation or cover the largest possible class of decidable problems. >> It >> is clearly not optimal, but adding further attempts might cause an >> overall >> slowdown in other situations. >> >> Thus I'm not surprised that thinking (or even other algorithms that would >> be >> willing to devote more time) can produce better results in particular >> situations. >> >> 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 >> >> >> >> >> >> >> ------------------------------ >> >> Message: 8 >> Date: Fri, 14 Jan 2011 15:24:16 +0100 >> From: Max Horn >> To: GAP Forum >> Subject: [GAP Forum] Analogue of IsFFEMatrixGroup for matrix groups >> over ZmodnZ >> Message-ID: <01D99A4D-2E0A-46D6-BCA3-8B8D4163A180 at quendi.de> >> Content-Type: text/plain; charset=us-ascii >> >> Dear GAP forum >> >> is there an analogue for IsFFEMatrixGroup and FieldOfMatrixGroup for >> groups >> over ZmodnZ ? Something like IsZmodnZMatrixGroup and RingOfMatrixGroup ? >> I >> didn't find anything like that. If it doesn't exist, how would I best go >> about adding those? >> >> Background: I'd like to install my own methods for e.g. NiceMonomorphism >> for >> matrix groups over ZmodnZ. To illustrate why: for GL(3, Z/36Z), GAP >> currently finds a perm rep on 39312 points, my code finds one on 758 >> points >> (it doesn't do anything fancy or new, mind you) >> >> For now, I just "manually" use SetNiceMonomorphism on my groups, but I >> thought it would be kinda nice to properly hook this into GAP (so that >> maybe >> it could even be integrated in a package or GAP itself one day). >> >> >> Cheers, >> Max >> >> >> >> >> ------------------------------ >> >> Message: 9 >> Date: Fri, 14 Jan 2011 10:03:32 -0700 >> From: Alexander Hulpke >> To: Max Horn >> Cc: GAP Forum >> Subject: Re: [GAP Forum] Analogue of IsFFEMatrixGroup for matrix >> groups over ZmodnZ >> Message-ID: <965B2533-1AC7-486E-ACAA-32BD16BCFC42 at math.colostate.edu> >> Content-Type: text/plain; charset=us-ascii >> >> >> >> Dear Forum, >> >> On Jan 14, 2011, at 1/14/11 7:24, Max Horn wrote: >> >>> is there an analogue for IsFFEMatrixGroup and FieldOfMatrixGroup for >>> groups over ZmodnZ ? Something like IsZmodnZMatrixGroup and >>> RingOfMatrixGroup ? I didn't find anything like that. If it doesn't >>> exist, >>> how would I best go about adding those? >> >> Assuming you want to catch the case for nonprime n, the equivalent for >> IsFFEMatrixGroup would be >> IsZmodnZObjNonprimeCollCollColl and IsMatrixGroup >> >> To get the underlying ring, you could use >> DefaultRing(Flat(GeneratorsOfGroup(g))); >> >> Best wishes, >> >> Alexander Hulpke >> >> >> >> >> >> >> >> ------------------------------ >> >> Message: 10 >> Date: Sun, 16 Jan 2011 22:21:10 -0600 >> From: Katie Morrison >> To: forum at gap-system.org >> Subject: [GAP Forum] Creating block matrices >> Message-ID: >> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> Hi all, I was wondering if there's an efficient way to create the >> subgroup >> of GL(2n, q) consisting of block matrices of the form: >> [A 0 >> B C] >> where A and C are in GL(n,q) and B is in M(n,q) (i.e. B is an arbitrary >> nxn >> matrix). Thanks for the help. >> >> Katie >> >> >> ------------------------------ >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> >> >> End of Forum Digest, Vol 86, Issue 6 >> ************************************ >> > From alexander.konovalov at gmail.com Mon Jan 17 13:57:22 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Mon, 17 Jan 2011 13:57:22 +0000 Subject: [GAP Forum] Forum Digest, Vol 86, Issue 6 In-Reply-To: References: Message-ID: <9ABFD284-3006-49F5-9B6C-019DEC15C97B@gmail.com> Dear Sara, Have you tried the following: AutomorphismGroup( DirectProduct( AlternatingGroup(7), AlternatingGroup(7) ) ); - this works quite straightforwardly. May I also advise you the following: the Forum digest already says >> When replying, please edit your Subject line so it is more specific >> than "Re: Contents of Forum digest..." (and you do not need to include a copy of the whole digest in this reply). Alternatively, you may just write a new message to forum at gap-system.org instead of replying to a digest, and choose a more relevant subject. Best wishes, Alexander From ahulpke at gmail.com Mon Jan 17 15:35:57 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Mon, 17 Jan 2011 08:35:57 -0700 Subject: [GAP Forum] Forum Digest, Vol 86, Issue 6 In-Reply-To: References: Message-ID: <6D3BC342-E879-4A25-866C-13E4FF516B6C@gmail.com> Dear Forum, > Let the set of the number of sylow subgroup$G$equal to group$PSL(2,7)$> (that is {8,21,28}) .Whether by GAP we can say$G$is solvable group > or unsolvable group? This is a question that is not really suitable for computer analysis -- clearly the answer is known and is unsolvable'. You might want to look in the book Abstract Algebra by Dummit and Foote I believe they show uniqueness of L3(2) as a simple group of order 168. Best, 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 From ahulpke at gmail.com Mon Jan 17 15:57:06 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Mon, 17 Jan 2011 08:57:06 -0700 Subject: [GAP Forum] Creating block matrices In-Reply-To: References: Message-ID: Dear Forum, In addition to the code given by Dima Pasechnik, the following might come useful for similar constructs: > Hi all, I was wondering if there's an efficient way to create the subgroup > of GL(2n, q) consisting of block matrices of the form: > [A 0 > B C] > where A and C are in GL(n,q) and B is in M(n,q) (i.e. B is an arbitrary nxn > matrix). Thanks for the help. Clearly, if we can generate [A,0;0,1], [1,0;B,1] and [1,0;0,C] we get all. Furthermore it is an easy exercise to see that for B only the matrix with a single entry in position 1,1 will suffice, as A and C will generate the rest. So lets first generate the two diagonal blocks from taking generators for A and C from generators of GL(n,q). For example for n=3 and q=5: gap> n:=3;q:=5; 3 5 gap> G:=GL(n,q); GL(3,5) gap> gens:=[]; [ ] gap> Ggens:=GeneratorsOfGroup(G); [ [ [ Z(5), 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^0, 0*Z(5) ], [ 0*Z(5), 0*Z(5), Z(5)^0 ] ], [ [ Z(5)^2, 0*Z(5), Z(5)^0 ], [ Z(5)^2, 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^2, 0*Z(5) ] ] ] Now make generators of shape [A,0;0,1] by overwriting an identity matrix, using the peculiar syntax for iterated sublists: gap> mat:=MutableIdentityMat(2*n,GF(q)); < mutable compressed matrix 6x6 over GF(5) > gap> mat{[1..n]}{[1..n]}:=Ggens[1]; [ [ Z(5), 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^0, 0*Z(5) ], [ 0*Z(5), 0*Z(5), Z(5)^0 ] ] gap> Add(gens,mat); gap> mat:=MutableIdentityMat(2*n,GF(q)); < mutable compressed matrix 6x6 over GF(5) > gap> mat{[1..n]}{[1..n]}:=Ggens[2]; [ [ Z(5)^2, 0*Z(5), Z(5)^0 ], [ Z(5)^2, 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^2, 0*Z(5) ] ] gap> Display(mat); # just to see the shape 4 . 1 . . . 4 . . . . . . 4 . . . . . . . 1 . . . . . . 1 . . . . . . 1 gap> Add(gens,mat); The same for C: gap> mat:=MutableIdentityMat(2*n,GF(q)); < mutable compressed matrix 6x6 over GF(5) > gap> mat{[n+1..2*n]}{[n+1..2*n]}:=Ggens[1]; [ [ Z(5), 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^0, 0*Z(5) ], [ 0*Z(5), 0*Z(5), Z(5)^0 ] ] gap> Add(gens,mat); gap> mat:=MutableIdentityMat(2*n,GF(q)); < mutable compressed matrix 6x6 over GF(5) > gap> mat{[n+1..2*n]}{[n+1..2*n]}:=Ggens[2]; [ [ Z(5)^2, 0*Z(5), Z(5)^0 ], [ Z(5)^2, 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^2, 0*Z(5) ] ] gap> Add(gens,mat); Finally the one matrix for B: gap> mat:=MutableIdentityMat(2*n,GF(q)); < mutable compressed matrix 6x6 over GF(5) > gap> mat[n+1][1]:=One(GF(q)); Z(5)^0 gap> Add(gens,mat); Now lets verify that we really got all: gap> H:=Group(gens); gap> Size(H); 4324500000000000000 gap> Size(G)^2*q^(n*n); 4324500000000000000 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 From kmorris2 at gmail.com Mon Jan 17 18:50:05 2011 From: kmorris2 at gmail.com (Katie Morrison) Date: Mon, 17 Jan 2011 12:50:05 -0600 Subject: [GAP Forum] Memory Limit of GAP? Message-ID: Hi all, I was wondering what the memory limit is for GAP? I've been performing a number of calculations in the student version of Magma, which has a memory limit of 150MB, but now that I'm trying to perform calculations with larger matrices, I've exceeded that memory limit. Does GAP have a significantly better memory limit such that it's worth it for me to translate my Magma code into GAP code? Thanks for the advice. Katie From ahulpke at gmail.com Mon Jan 17 19:07:24 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Mon, 17 Jan 2011 12:07:24 -0700 Subject: [GAP Forum] Memory Limit of GAP? In-Reply-To: References: Message-ID: <2F4FA3DF-2D3B-4C54-A4FA-A0AFB494C368@gmail.com> The memory limit in GAP is what your machine can cope with -- i.e. I would put it at roughly 3/4 of physical memory - the rest is often used by the operating system and the machine crawls down to an unusable speed if you use more. (and of course limited to <4GB if GAP is compiled for 32bit). GAP itself does not limit the process size and on a modern machine you thus should easily have a magnitude of memory more available than what the student version lets you do. As a safety device for acidentally huge GAP jobs taking over a machine, GAP will initially issue an Error message out of memory'' when processes use more then 256MB, you can simply type return; at this point and GAP will continue with a higher limit (or you could start with the -o command line option to raise the limit a priori). If you start GAP with the -g command line option you will get intermediate output about memory used. Best wishes, Alexander Hulpke On Jan 17, 2011, at 11:50 AM, Katie Morrison wrote: > Hi all, I was wondering what the memory limit is for GAP? I've been > performing a number of calculations in the student version of Magma, which > has a memory limit of 150MB, but now that I'm trying to perform calculations > with larger matrices, I've exceeded that memory limit. Does GAP have a > significantly better memory limit such that it's worth it for me to > translate my Magma code into GAP code? Thanks for the advice. > > Katie > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- 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 From juniomoreira22 at yahoo.com.br Sun Jan 16 23:49:03 2011 From: juniomoreira22 at yahoo.com.br (Junio Moreira) Date: Sun, 16 Jan 2011 15:49:03 -0800 (PST) Subject: [GAP Forum] Help_GAP-groups Message-ID: <676862.85409.qm@web161704.mail.bf1.yahoo.com> I'm always needing to learn more about the GAP-groups. Can anyone help me on the following question? Question: I have a list of 500 sublist where each sublist consists of six groups. Is there a command to display or renumber only those sublists with trivial intersection? Is there a function in GAP can solve this? From sararadfarss at gmail.com Tue Jan 18 13:31:00 2011 From: sararadfarss at gmail.com (Sara Radfar) Date: Tue, 18 Jan 2011 05:31:00 -0800 Subject: [GAP Forum] Help Message-ID: Dear GAP Forum, Hi I need a code that tell me whether exist a small group$G$such that the set of the number of sylow subgroup it be${1,9,17}$. Thanks, Sara From Bill.Allombert at math.u-bordeaux1.fr Tue Jan 18 17:26:31 2011 From: Bill.Allombert at math.u-bordeaux1.fr (Bill Allombert) Date: Tue, 18 Jan 2011 18:26:31 +0100 Subject: [GAP Forum] Help In-Reply-To: References: Message-ID: <20110118172631.GB23080@yellowpig> On Tue, Jan 18, 2011 at 05:31:00AM -0800, Sara Radfar wrote: > Dear GAP Forum, > > Hi > I need a code that tell me whether exist a small group$G$such that > the set of the number of sylow subgroup it be${1,9,17}$. Maybe this is an exercise or something but it seems to me that, if Np is the number or p-Sylow, then Np = 1 (mod p), so if Np=17 then p=2 and if Np=9 then also p=2, so this is not possible. In other word, the code to solve this is: false; Cheers, Bill. From ahulpke at gmail.com Tue Jan 18 18:32:22 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Tue, 18 Jan 2011 11:32:22 -0700 Subject: [GAP Forum] Help_GAP-groups In-Reply-To: <676862.85409.qm@web161704.mail.bf1.yahoo.com> References: <676862.85409.qm@web161704.mail.bf1.yahoo.com> Message-ID: <1C33376E-1E2C-4798-B8D4-3B47C21E4E21@gmail.com> Dear Forum, On Jan 16, 2011, at 1/16/11 4:49, Junio Moreira wrote: > I'm always needing to learn more about the GAP-groups. Can anyone help me on the following question? Question: I have a list of 500 sublist where each sublist consists of six groups. Is there a command to display or renumber only those sublists with trivial intersection? Is there a function in GAP can solve this? If the entries in the sublist are algebraic structures (i.e. trivial'' means order 1), you could use Filtered(list,sub->Size(Intersection(sub))=1); to give you a sublist of the desired entries.(replace 1 by 0 if trivial means empty) If instead you wanted the index numbers in your original list, you could use Filtered([1..Length(list)],n->Size(Intersection(list[n]))=1); Best, 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 From dima at ntu.edu.sg Wed Jan 19 06:05:25 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Wed, 19 Jan 2011 14:05:25 +0800 Subject: [GAP Forum] computerised exams for computer algebra courses? Message-ID: Dear all, I will be teaching an "Experimental mathematics" (with elements of computer algebra, and in particular GAP) course next year, and I am looking for sources/howtos, etc., on conducting computerised exams for such a course. In my school this is presently not done, so we need to find out how to set such a thing up properly, without spending too much time and money on it. Thanks in advance, Dmitrii CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From said70th at gmail.com Wed Jan 19 19:45:05 2011 From: said70th at gmail.com (Conference on Algebra and Applications - Said70) Date: Wed, 19 Jan 2011 17:45:05 -0200 Subject: [GAP Forum] Conference on Algebra and Applications in honour of Prof. Said Sidki on the occasion of his 70th birthday Message-ID: Dear collegues, The organizing committee is very pleased to announce the international Conference on Algebra and Applications, which will take place in Caldas Novas (Brazil) from Sunday 8th until Thurday 12th of May, 2011. A conference website http://www.mat.ufg.br/algebra is at present being constructed. More information will be given in a timely manner. But for any enquiry, please feel free to email said70th at gmail.com . Best regards, The organizing committee. Event Title: Conference on Algebra and Applications in honour of Prof. Said Sidki on the occasion of his 70th birthday Date: 08.may.2011 - 12.may.2011 Location: Caldas Novas, Goias/Brazil URL: http://www.mat.ufg.br/algebra Description: This conference will bring together many of the leading mathematicians to report on recent developments of broad interest and to point the way for exciting directions for future research. In this way we plan to honor the significant contributions of Prof. Said N. Sidki on the occasion of his 70th birthday. Topics: Group Theory; Ring Theory; Commutative Algebra and Algebraic Geometry; Associative and Non-associative Algebras; Number Theory; Applications. Invited Speakers: Efim Zelmanov (University of California, USA); Rostislav Grigorchuk (Texas A&M University, USA); Donald Passman (University of Wisconsin-Madison, USA) - George Glauberman (University of Chicago, USA); Laurent Bartholdi (University of Gottingen, Germany); Vladimir Nekrashevich (Texas A&M University, USA); Thomas Muller (Queen Mary College, University of London, UK); Zoran Sunik (Texas A&M University, USA). From alexk at mcs.st-andrews.ac.uk Thu Jan 20 00:32:11 2011 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Thu, 20 Jan 2011 00:32:11 +0000 Subject: [GAP Forum] computerised exams for computer algebra courses? In-Reply-To: References: Message-ID: Hi Dima, On 19 Jan 2011, at 06:05, Asst. Prof. Dmitrii (Dima) Pasechnik wrote: > Dear all, > > I will be teaching an "Experimental mathematics" (with elements of > computer algebra, and in > particular GAP) course next year, and > I am looking for sources/howtos, etc., on conducting computerised > exams for such a course. It's not precisely clear what do you or your school mean by a computerised exam: 1) computer-generated exam papers where each student will have a different set of questions? 2) students passing exam on a computer doing their calculations on paper and entering answers? 3) computer algebra system as a back-end of this system to verify the answer in real time? 4) a combination of this features? 5) something else? or are you happy with exam papers where there are no questions asking for definitions and proofs? > In my school this is presently not done, so we need to find out how to > set such a thing > up properly, without spending too much time and money on it. Several links may be worth to look: http://www.math.rwth-aachen.de/~OKUSON/ by Frank and Max http://moodle.org/ http://java.symcomp.org/ Hope this helps! Alexander From dima at ntu.edu.sg Thu Jan 20 01:36:44 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Thu, 20 Jan 2011 09:36:44 +0800 Subject: [GAP Forum] computerised exams for computer algebra courses? In-Reply-To: References: Message-ID: On 20 January 2011 08:32, Alexander Konovalov wrote: > Hi Dima, > > On 19 Jan 2011, at 06:05, Asst. Prof. Dmitrii (Dima) Pasechnik wrote: > >> Dear all, >> >> I will be teaching an "Experimental mathematics" (with elements of >> computer algebra, and in >> particular GAP) course next year, and >> I am looking for sources/howtos, etc., on conducting computerised >> exams for such a course. > > It's not precisely clear what do you or your school mean by a computerised exam: > 1) computer-generated exam papers where each student will have a different set of questions? > 2) students passing exam on a computer doing their calculations on paper and entering answers? > 3) computer algebra system as a back-end of this system to verify the answer in real time? > 4) a combination of this features? > 5) something else? or are you happy with exam papers where there are no questions asking for > definitions and proofs? Mostly 1), 2), and 5) --- namely, we would like to examine the ability to write elementary (and working!) pieces of computer code. Doing this on paper is a pain. > >> In my school this is presently not done, so we need to find out how to >> set such a thing >> up properly, without spending too much time and money on it. > > Several links may be worth to look: > > http://www.math.rwth-aachen.de/~OKUSON/ by Frank and Max > http://moodle.org/ > http://java.symcomp.org/ > well, unfortunately, our school uses Blackboard, which is a nightmare, as soon as nontrivial tasks have to be implemented... > > Hope this helps! > Alexander > > > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From sal at mcs.st-andrews.ac.uk Thu Jan 20 10:21:52 2011 From: sal at mcs.st-andrews.ac.uk (Stephen Linton) Date: Thu, 20 Jan 2011 10:21:52 +0000 Subject: [GAP Forum] computerised exams for computer algebra courses? In-Reply-To: References: Message-ID: On 20 Jan 2011, at 01:36, Asst. Prof. Dmitrii (Dima) Pasechnik wrote: > > Mostly 1), 2), and 5) --- namely, we would like to examine the ability > to write elementary (and working!) pieces > of computer code. Doing this on paper is a pain. Every Computer Science department I know uses homework for this rather than exams. Exams might ask for a few lines of code, usually not worrying too much about perfect syntax, or, more commonly, present code fragments and ask questions about what they do -- this can be quite subtle and test understanding well. Asking students to write and debug code in exam conditions is generally too much grief. It is possible to run "exam-quality" lab sessions -- we call them "skills tests", but it's a lot of work. You need to make the instructions very clear indeed, provide extra computers (and some means of recovering work done so far) for students whose machines fail or freeze or whatever, turn off internet access or have enough invigilators that you can reliably spot anyone using email or chat, and have different version of the test for each "lab-full" of students and then make sure the marks are comparable. Of course homework raises cheating issues, but it's pretty easy to spot two students whose code only differs in variable names and comments. Steve From Bartosz.Putrycz at mat.ug.edu.pl Thu Jan 20 19:31:14 2011 From: Bartosz.Putrycz at mat.ug.edu.pl (Bartosz Putrycz) Date: Thu, 20 Jan 2011 20:31:14 +0100 Subject: [GAP Forum] Schreier system of representatives Message-ID: <4D388D82.8020906@mat.ug.edu.pl> Dear Forum, I am interested in obtaining Schreier system of representatives of right cosets of a subgroup of a finitely presented group. http://eom.springer.de/S/s083400.htm Let G = F/R, H< G. Could I be sure that RightTransversal(G,H) will give me such system? I guess that there could be silent assumption that generators(alphabet) are the generators of a free group F. If I couldn't, is there other way to be sure? It is working like that for any example which I tried. For Example: F:=FreeGroup("a","b","x");; G:=F/[F.1^2,F.2^4,F.3^2,(F.1*F.2)^3,F.3*F.1*F.3*(F.1*F.2*F.1*F.2^-1*F.1),F.3*F.2*F.3*(F.2^-1*F.1*F.2*F.2*F.2^-1*F.1*F.2)];; AssignGeneratorVariables(G); K:=FreeGroup("x1","e1","c0","c1","c2");; L:=K/[K.1^2, K.3^2, K.4^2, K.5^2, K.1*K.2, (K.3*K.4)^2, (K.4*K.5)^4, K.1*K.5*K.1*K.3];; AssignGeneratorVariables(L); theta:=GroupHomomorphismByImages(L,G,[x1,e1,c0,c1,c2],[a,a,x,x*b^-1*a*b,x*b^-1*a*b^2]);; J:=Kernel(theta);; C:=AsList(RightTransversal(L,J)); which gives me Schreier system: [, x1, c0, c1, c2, x1*c0, x1*c1, x1*c2, c0*c1, c0*c2, c1*x1, c1*c2, c2*c0, c2*c1, x1*c0*c1, x1*c0*c2, x1*c1*x1, x1*c1*c2, x1*c2*c0, x1*c2*c1, c0*c1*x1, c0*c1*c2, c0*c2*c0, c0*c2*c1, c1*x1*c0, c1*x1*c1, c1*c2*c0, c1*c2*c1, c2*c0*c1, c2*c1*x1, c2*c1*c2, x1*c0*c1*x1, x1*c0*c1*c2, x1*c0*c2*c0, x1*c0*c2*c1, x1*c1*x1*c0, x1*c1*x1*c1, x1*c2*c0*c1, x1*c2*c1*x1, x1*c2*c1*c2, c0*c1*x1*c0, c0*c1*x1*c1, c0*c1*c2*c0, c0*c2*c0*c1, c1*x1*c0*c1, c1*c2*c1*c2, c2*c0*c1*x1, x1*c0*c2*c0*c1 ] Best regards Bartosz Putrycz From kmorris2 at gmail.com Thu Jan 20 21:53:25 2011 From: kmorris2 at gmail.com (Katie Morrison) Date: Thu, 20 Jan 2011 15:53:25 -0600 Subject: [GAP Forum] Intersection of groups Message-ID: Hi all, I was wondering if there was a command to find the intersection of two groups that was more efficient than just the standard Intersection command. I'm currently trying to intersect two matrix groups, one which has size on the order of 10^13 and the other which has size on the order of 10^22. I let GAP run overnight and it still had not found the intersection of these two groups when I used the Intersection command. I'm very surprised though because I had performed literally the same calculation in Magma on an earlier occasion using the command meet and the calculation finished in under a second in Magma. I created the groups in precisely the same way in Magma as I did in GAP, so I'm really not sure why the calculation ran so quickly in Magma, but seems to have failed in GAP. If anyone has any advice on this topic, I'd really appreciate it. Thanks for the help. Katie From ahulpke at gmail.com Thu Jan 20 23:36:56 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Thu, 20 Jan 2011 16:36:56 -0700 Subject: [GAP Forum] Schreier system of representatives In-Reply-To: <4D388D82.8020906@mat.ug.edu.pl> References: <4D388D82.8020906@mat.ug.edu.pl> Message-ID: <11F3D3F7-DC29-4CB9-8D1D-0138AF84E5F0@gmail.com> Dear Forum, Dear Bartosz Putrycz, On Jan 20, 2011, at 12:31 PM, Bartosz Putrycz wrote: > Dear Forum, > > I am interested in obtaining Schreier system of representatives of right > cosets of a subgroup of a finitely presented group. > http://eom.springer.de/S/s083400.htm > > Let G = F/R, H< G. Could I be sure that > RightTransversal(G,H) > will give me such system? > I guess that there could be silent assumption that generators(alphabet) are > the generators of a free group F. This is true with the only caveat that right cosets'' in GAP parlance mean Sg, while the linked web page seems to describe cosets gS. The alphabet indeed are the (images in G) of the free generators. 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 From ahulpke at gmail.com Fri Jan 21 00:01:26 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Thu, 20 Jan 2011 17:01:26 -0700 Subject: [GAP Forum] Intersection of groups In-Reply-To: References: Message-ID: <877AF7DB-15DC-45B9-8F80-0B676F67088B@gmail.com> Dear Forum, Dear Katie Morrison, > Hi all, I was wondering if there was a command to find the intersection of > two groups that was more efficient than just the standard Intersection > command. I'm currently trying to intersect two matrix groups, one which has > size on the order of 10^13 and the other which has size on the order of > 10^22. I let GAP run overnight and it still had not found the intersection > of these two groups when I used the Intersection command. Normally Intersection' should do as good as it is implemented, but here you're running into a particular quirk of GAP (This could be considered as a bug, and I will have a look at it to see whether this can be fixed for the future): The two groups you created don't share a common overgroup (which could be simply GL). At this point, GAP does not try to construct such an overgroup, but calculates the intersection using cosets for both subgroups. This turns out to be a very tedious process and I believe that it could take days to complete. A remedy is easy: Force both groups to be subgroups of the appropriate GL -- in your example: gap> parent:=GL(8,3); GL(8,3) gap> u1:=AsSubgroup(parent,GOn); gap> u2:=AsSubgroup(parent,StabMats); gap> Intersection(u1,u2); This should work reasonably quick. You might wonder why GAP in the first place tries to avoid constructing the common overgroup: At the moment, intersection of subgroups of a matrix group uses a faithful permutation representation of the common parent group. If you now have two small matrix groups (order a few hundred) for which the common overgroup is huge (say two cyclic subgroups of GL(20,11)), this permutation representation will fail (or be at least very slow), while the more naive intersection will work fine. We need to select a break-even point for the choice of method. Hope this helps, 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 From williamdemeo at gmail.com Sat Jan 22 04:11:55 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Fri, 21 Jan 2011 18:11:55 -1000 Subject: [GAP Forum] speed of Core vs IsNormal Message-ID: I apologize if this is a dumb question, but I'm trying to speed up a program that is searching for certain groups. In the examples I'm looking for, I have a subgroup H of a group G and I need to test (among other things) whether it is core-free. I was wondering if someone could tell me whether it would speed things up greatly if I first tested to see if the subgroup itself is normal. So, I'm wondering if I should simply do: e:=Group([Identity(G)]); if Core(G,H)=e then # test other search criteria ... Or would I do better to test for normality of the subgroup first: if IsNormal(G,H) and H<>e then # do nothing elif Core(G,H)=e then # test other search criteria Would the latter speed things up greatly? Is computing Core much more expensive than first testing IsNormal? Thanks and, again, I apologize if this is dumb. -William From williamdemeo at gmail.com Sat Jan 22 04:26:50 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Fri, 21 Jan 2011 18:26:50 -1000 Subject: [GAP Forum] speed of Core vs IsNormal In-Reply-To: References: Message-ID: Since I don't know anything about the algorithm Core uses, I thought it might be testing for normality to begin with, and then the two versions of code suggested in my previous email should theoretically be identical. However, I just held a race on a dual processor machine and it seems the normality check helps speed things up a bit. Still, if anyone understands the Core algorithm and wouldn't mind enlightening me (or at least confirming that the normality check should theoretically speed things up), I'd be grateful. Thanks! William On Fri, Jan 21, 2011 at 6:11 PM, William DeMeo wrote: > I apologize if this is a dumb question, but I'm trying to speed up a > program that is searching for certain groups. In the examples I'm > looking for, I have a subgroup H of a group G and I need to test > (among other things) whether it is core-free. ?I was wondering if > someone could tell me whether it would speed things up greatly if I > first tested to see if the subgroup itself is normal. > > So, I'm wondering if I should simply do: > > e:=Group([Identity(G)]); > > if Core(G,H)=e then > > ? ?# test other search criteria > ? ?... > > Or would I do better to test for normality of the subgroup first: > > if IsNormal(G,H) and H<>e then > > ? ?# do nothing > > elif Core(G,H)=e then > > ? ?# test other search criteria > > > Would the latter speed things up greatly? ?Is computing Core much more > expensive than first testing IsNormal? > > Thanks and, again, I apologize if this is dumb. > > -William > From paloff at ya.ru Sat Jan 22 05:23:51 2011 From: paloff at ya.ru (Igor Korepanov) Date: Sat, 22 Jan 2011 08:23:51 +0300 Subject: [GAP Forum] ring theory Message-ID: <348001295673831@web13.yandex.ru> Dear GAP creators, here is my GAP session: gap> r := Ring( 10, 12 ); gap> 10 in r; - and GAP is still thinking over this very profound question. What did I miss? Thank you in advance, Igor From paloff at ya.ru Sat Jan 22 05:32:48 2011 From: paloff at ya.ru (Igor Korepanov) Date: Sat, 22 Jan 2011 08:32:48 +0300 Subject: [GAP Forum] ring theory In-Reply-To: <348001295673831@web13.yandex.ru> References: <348001295673831@web13.yandex.ru> Message-ID: <471941295674369@web8.yandex.ru> Addition to my letter: GAP looks indeed buried in deep meditation; computer reports: Processor: 63% in use 22.01.2011, 08:23, "Igor Korepanov" : > Dear GAP creators, > > here is my GAP session: > > gap> r := Ring( 10, 12 ); > > gap> 10 in r; > > ?- and GAP is still thinking over this very profound question. > > What did I miss? > > Thank you in advance, > > Igor > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From paloff at ya.ru Sat Jan 22 08:56:28 2011 From: paloff at ya.ru (Igor Korepanov) Date: Sat, 22 Jan 2011 11:56:28 +0300 Subject: [GAP Forum] ring theory In-Reply-To: <471941295674369@web8.yandex.ru> References: <348001295673831@web13.yandex.ru> <471941295674369@web8.yandex.ru> Message-ID: <394721295686588@web75.yandex.ru> Still something more: one person told me to write what sort of GAP I am using. Here it is: gap> GAPInfo; rec( Version := "4.4.12", Date := "17-Dec-2008", KernelVersion := "4.4.12", NeedKernelVersion := [ "4.4.12" ], Architecture := "x86_64-pc-linux-gnu-x86_64-pc-linux-gnu-gcc", SystemCommandLine := [ "/usr/libexec/gap/gap", "-m", "32m", "-l", "/usr/share/gap" ], SystemEnvironment := [ "ORBIT_SOCKETDIR=/tmp/orbit-bossik", "MANPATH=/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/x8\ 6_64-pc-linux-gnu/2.20.1/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.4.4/man\ ", "SSH_AGENT_PID=4415", "XDG_MENU_PREFIX=gnome-", "SHELL=/bin/bash", "TERM=xterm", "XDG_SESSION_COOKIE=9c93b742cf5601828c1b7a0500001e6c-1295672826.341814-6\ 60312593", "GTK_RC_FILES=/etc/gtk/gtkrc:/home/bossik/.gtkrc-1.2-gnome2", "WINDOWID=54525955", "GNOME_KEYRING_CONTROL=/tmp/keyring-RKZ0cf", "SBCL_HOME=/usr/lib64/sbcl", "USER=bossik", "PRELINK_PATH_MASK=/usr/lib64/klibc:/usr/lib64/libfreebl3.so:/usr/lib64/\ libnssdbm3.so:/usr/lib64/libsoftokn3.so", "LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40\ ;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw\ =30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01\ ;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z\ =01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tb\ z=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;3\ 1:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpe\ g=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;3\ 5:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.s\ vgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=0\ 1;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:\ *.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=0\ 1;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.x\ wd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;\ 35:*.ogx=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*\ log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=0\ 0;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*\ wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:", "GDK_USE_XFT=1", "SSH_AUTH_SOCK=/tmp/keyring-RKZ0cf/ssh", "USERNAME=bossik", "SESSION_MANAGER=local/Ghost:@/tmp/.ICE-unix/4386,unix/Ghost:/tmp/.ICE-u\ nix/4386", "CONFIG_PROTECT_MASK=/etc/sandbox.d /etc/fonts/fonts.conf /etc/gconf /et\ c/terminfo /etc/ca-certificates.conf /etc/texmf/web2c /etc/texmf/language.dat.\ d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild", "PAGER=/usr/bin/less", "XDG_CONFIG_DIRS=/etc/xdg", "PATH=/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc\ -bin/4.4.4:/usr/games/bin", "SBCL_SOURCE_ROOT=/usr/lib64/sbcl/src", "DESKTOP_SESSION=gnome", "GDM_XSERVER_LOCATION=local", "PWD=/home/bossik/Papers/ks", "EDITOR=/bin/nano", "LANG=en_US.UTF-8", "GDM_LANG=en_US.UTF-8", "GDMSESSION=gnome", "SHLVL=1", "HOME=/home/bossik", "GNOME_DESKTOP_SESSION_ID=this-is-deprecated", "LESS=-R -M --shift 5", "LOGNAME=bossik", "CVS_RSH=ssh", "DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-fOYtkC6BIi,guid=812def\ ce2e8ed7c9e4b46a2700000026", "XDG_DATA_DIRS=/usr/local/share:/usr/share:/usr/share/gdm", "LESSOPEN=|lesspipe.sh %s", "WINDOWPATH=7", "INFOPATH=/usr/share/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2\ 20.1/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.4.4/info", "DISPLAY=:0.0", "OPENGL_PROFILE=nvidia", "XAUTHORITY=/home/bossik/.Xauthority", "COLORTERM=gnome-terminal" ], RootPaths := [ "/usr/share/gap/" ], UserHome := "/home/bossik", gaprc := "/home/bossik/.gaprc", DirectoriesLibrary := rec( trans := [ dir("/usr/share/gap/trans/") ], pkg := [ dir("/usr/share/gap/pkg/") ], doc/tut := [ dir("/usr/share/gap/doc/tut/") ], doc/ref := [ dir("/usr/share/gap/doc/ref/") ], doc/ext := [ dir("/usr/share/gap/doc/ext/") ], doc/prg := [ dir("/usr/share/gap/doc/prg/") ], doc/new := [ dir("/usr/share/gap/doc/new/") ] ), DirectoriesSystemPrograms := [ "/usr/local/bin/", "/usr/bin/", "/bin/", "/opt/bin/", "/usr/x86_64-pc-linux-gnu/gcc-bin/4.4.4/", "/usr/games/bin/" ], DirectoriesPrograms := false, DirectoriesTemporary := [ ], DirectoryCurrent := false, ReadObsolete := true, CommandLineOptions := rec( A := false, B := "", D := false, E := false, K := "0", L := "", M := false, N := false, O := false, P := "0", U := "", W := "0", R := "", T := false, X := false, Y := false, a := "0", b := false, c := "0", e := false, f := false, g := 0, i := "", l := [ "/usr/share/gap" ], m := "32m", n := false, o := "256m", p := false, q := false, r := false, x := "80", y := "24", z := "20" ), BannerString := " \n ######### ###### ######\ ##### ### \n ############# ###### ########\ #### #### \n ############## ######## ##########\ ### ##### \n ############### ######## ##### ####\ ## ##### \n ###### # ######### ##### #####\ ###### \n ###### ########## ##### ##### \ ####### \n ##### ##### #### ##### ###### #\ ####### \n #### ##### ##### ############# ### \ #### \n ##### ####### #### #### ########### #### #\ ### \n ##### ####### ##### ##### ###### #### ###\ # \n ##### ####### ##### ##### ##### ############\ #\n ##### ##### ################ ##### #############\ \n ###### ##### ################ ##### #############\n\ ################ ################## ##### #### \n \ ############### ##### ##### ##### #### \n \ ############# ##### ##### ##### #### \n \ ######### ##### ##### ##### #### \n \ \n Infor\ mation at: http://www.gap-system.org\n Try '?help' for help. See also '?\ copyright' and '?authors'\n \n", ViewLength := 3, MaxNrArgsMethod := 6, ScanCommandLineOption := function( name, type, default ) ... end, PackagesLoaded := rec( tomlib := [ "/usr/share/gap/pkg/tomlib", "1.1.4", "TomLib" ] ), PackagesInfo := rec( tomlib := [ rec( PackageName := "TomLib", MyVersion := "1r1p4", MyWWWHome := "http://www.math.rwth-aachen.de/~Thomas.Breuer", Subtitle := "The GAP Library of Tables of Marks", Version := "1.1.4", Autoload := true, Date := "20/11/2008", PackageWWWHome := "http://www.math.rwth-aachen.de/~Thomas.Breuer\ /tomlib", ArchiveURL := "http://www.math.rwth-aachen.de/~Thomas.Breuer/tomlib/\ tomlib1r1p4", ArchiveFormats := ".tar.gz,.zoo", Persons := [ rec( LastName := "Breuer", FirstNames := "Thomas", IsAuthor := false, IsMaintainer := true, Email := "sam at math.rwth-aachen.de", WWWHome := "http://www.math.rwth-aachen.de/~Thomas.Breue\ r", Place := "Aachen", Institution := "Lehrstuhl D für Mathematik, RWTH Aa\ chen", PostalAddress := "Thomas Breuer\nLehrstuhl D für Mathematik\nTempl\ ergraben 64\n52062 Aachen\nGermany" ), rec( LastName := "Merkwitz", FirstNames := "Thomas", IsAuthor := true, IsMaintainer := false, Email := "Thomas.Merkwitz at Team4.DE" ), rec( LastName := "Pfeiffer", FirstNames := "Götz", IsAuthor := true, IsMaintainer := false, Email := "goetz.pfeiffer at nuigalway.ie", Place := "Galway" ) ], Status := "deposited", README_URL := "http://www.math.rwth-aachen.de/~Thomas.Breuer/tom\ lib/README", PackageInfoURL := "http://www.math.rwth-aachen.de/~Thomas.Breuer/\ tomlib/PackageInfo.g", AbstractHTML := "The package contains the GAP Library of Tables of Marks", PackageDoc := [ rec( BookName := "TomLib", ArchiveURLSubset := [ "doc", "htm" ], HTMLStart := "htm/chapters.htm", PDFFile := "doc/manual.pdf", SixFile := "doc/manual.six", LongTitle := "The GAP Library of Tables of Marks", Autoload := true ) ], Dependencies := rec( GAP := ">= 4.4", NeededOtherPackages := [ ], SuggestedOtherPackages := [ [ "ctbllib", ">= 1.1" ] ], ExternalConditions := [ ] ), AvailabilityTest := function( arg ) ... end, TestFile := "tst/testall.g", Keywords := [ "table of marks", "Burnside matrix", "subgroup lattice", "finite simple groups", "Moebius function", "Euler function" ], InstallationPath := "/usr/share/gap/pkg/tomlib" ) ] ), TestData := rec( ), BytesPerVariable := 8, CompareKernelVersions := function( ) ... end, LoadedComponents := rec( small := "2.1", small2 := "2.0", small3 := "2.0", small4 := "1.0", small5 := "1.0", small6 := "1.0", small7 := "1.0", small8 := "1.0", small9 := "1.0", small10 := "0.2", id2 := "3.0", id3 := "2.1", id4 := "1.0", id5 := "1.0", id6 := "1.0", id9 := "1.0", id10 := "0.1", trans := "1.0", prim := "2.1" ), PackagesRestrictions := rec( anupq := rec( OnInitialization := function( pkginfo ) ... end, OnLoad := function( pkginfo ) ... end ), autpgrp := rec( OnInitialization := function( pkginfo ) ... end, OnLoad := function( pkginfo ) ... end ), guava := rec( OnInitialization := function( pkginfo ) ... end, OnLoad := function( pkginfo ) ... end ) ), SystemInformation := function( basic, extended ) ... end, PackagesInfoAutoload := rec( tomlib := [ rec( PackageName := "TomLib", MyVersion := "1r1p4", MyWWWHome := "http://www.math.rwth-aachen.de/~Thomas.Breuer", Subtitle := "The GAP Library of Tables of Marks", Version := "1.1.4", Autoload := true, Date := "20/11/2008", PackageWWWHome := "http://www.math.rwth-aachen.de/~Thomas.Breuer\ /tomlib", ArchiveURL := "http://www.math.rwth-aachen.de/~Thomas.Breuer/tomlib/\ tomlib1r1p4", ArchiveFormats := ".tar.gz,.zoo", Persons := [ rec( LastName := "Breuer", FirstNames := "Thomas", IsAuthor := false, IsMaintainer := true, Email := "sam at math.rwth-aachen.de", WWWHome := "http://www.math.rwth-aachen.de/~Thomas.Breue\ r", Place := "Aachen", Institution := "Lehrstuhl D für Mathematik, RWTH Aa\ chen", PostalAddress := "Thomas Breuer\nLehrstuhl D für Mathematik\nTempl\ ergraben 64\n52062 Aachen\nGermany" ), rec( LastName := "Merkwitz", FirstNames := "Thomas", IsAuthor := true, IsMaintainer := false, Email := "Thomas.Merkwitz at Team4.DE" ), rec( LastName := "Pfeiffer", FirstNames := "Götz", IsAuthor := true, IsMaintainer := false, Email := "goetz.pfeiffer at nuigalway.ie", Place := "Galway" ) ], Status := "deposited", README_URL := "http://www.math.rwth-aachen.de/~Thomas.Breuer/tom\ lib/README", PackageInfoURL := "http://www.math.rwth-aachen.de/~Thomas.Breuer/\ tomlib/PackageInfo.g", AbstractHTML := "The package contains the GAP Library of Tables of Marks", PackageDoc := [ rec( BookName := "TomLib", ArchiveURLSubset := [ "doc", "htm" ], HTMLStart := "htm/chapters.htm", PDFFile := "doc/manual.pdf", SixFile := "doc/manual.six", LongTitle := "The GAP Library of Tables of Marks", Autoload := true ) ], Dependencies := rec( GAP := ">= 4.4", NeededOtherPackages := [ ], SuggestedOtherPackages := [ [ "ctbllib", ">= 1.1" ] ], ExternalConditions := [ ] ), AvailabilityTest := function( arg ) ... end, TestFile := "tst/testall.g", Keywords := [ "table of marks", "Burnside matrix", "subgroup lattice", "finite simple groups", "Moebius function", "Euler function" ], InstallationPath := "/usr/share/gap/pkg/tomlib" ) ] ), PackagesInfoAutoloadDocumentation := rec( ), PackagesInfoRefuseLoad := [ ], PackagesNames := [ "tomlib" ], PackagesInfoInitialized := true ) gap> 22.01.2011, 08:36, "Igor Korepanov" : > Addition to my letter: > > GAP looks indeed buried in deep meditation; computer reports: > > Processor: 63% in use > > 22.01.2011, 08:23, "Igor Korepanov" ;: > >> ?Dear GAP creators, >> >> ?here is my GAP session: >> >> ?gap> r := Ring( 10, 12 ); >> ? >> ?gap> 10 in r; >> >> ??- and GAP is still thinking over this very profound question. >> >> ?What did I miss? >> >> ?Thank you in advance, >> >> ?Igor >> >> ?_______________________________________________ >> ?Forum mailing list >> ?Forum at mail.gap-system.org >> ?http://mail.gap-system.org/mailman/listinfo/forum > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From ahulpke at gmail.com Sat Jan 22 16:11:50 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Sat, 22 Jan 2011 09:11:50 -0700 Subject: [GAP Forum] speed of Core vs IsNormal In-Reply-To: References: Message-ID: Dear Forum, On Jan 21, 2011, at 9:11 PM, William DeMeo wrote: > I apologize if this is a dumb question, but I'm trying to speed up a > program that is searching for certain groups. In the examples I'm > looking for, I have a subgroup H of a group G and I need to test > (among other things) whether it is core-free. I was wondering if > someone could tell me whether it would speed things up greatly if I > first tested to see if the subgroup itself is normal. It will do a minuscule speedup, but might not be worth unless you have tons of normal subgroups. Basically Core calculates the images of H under the generators of G and tests whether these are new subgroups by testing whether elements are in. IsNormal maps the generators of H under the generators of G and tests whether they still lie in H. This will be a bit faster. However, since you really care about Core=1 I think that might be a better way to eliminate cases. For example you could try to calculate the minimal normal subgroups and test whether they are contained in. Or in your algorithm collect the (different) wrong cores and before testing normality or the core check whether any of them is a subset of H. Best regards, 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 From ahulpke at gmail.com Sat Jan 22 16:41:04 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Sat, 22 Jan 2011 09:41:04 -0700 Subject: [GAP Forum] ring theory In-Reply-To: <348001295673831@web13.yandex.ru> References: <348001295673831@web13.yandex.ru> Message-ID: <94CCC25B-FCBA-41B8-9E61-7A2AC2955C0D@gmail.com> Dear Forum, On Jan 21, 2011, at 10:23 PM, Igor Korepanov wrote: > > gap> r := Ring( 10, 12 ); > > gap> 10 in r; > > - and GAP is still thinking over this very profound question. > What did I miss? The element test implemented fro rings in GAP first determines the element list of the ring and thus does not terminate for infinite rings. While I one could combine the element test in the computation of the element list and terminate once the element has been found, this still would be unsatisfactory in any example beyond trivial ones and not terminate if the element was not in the ring. If there is a genuine need for element tests in infinite rings (beyond toy examples) I would be interested to know for what cases, since for situations such as polynomial rings alternatives might be possible. Best, Alexander Hulpke From paloff at ya.ru Sat Jan 22 16:51:17 2011 From: paloff at ya.ru (Igor Korepanov) Date: Sat, 22 Jan 2011 19:51:17 +0300 Subject: [GAP Forum] ring theory In-Reply-To: <94CCC25B-FCBA-41B8-9E61-7A2AC2955C0D@gmail.com> References: <348001295673831@web13.yandex.ru> <94CCC25B-FCBA-41B8-9E61-7A2AC2955C0D@gmail.com> Message-ID: <516601295715077@web25.yandex.ru> Dear Alexander, Please don't get angry. I and my team like GAP - because I think it is aesthetical - and just want it to become (even) better. I think you must agree that, even in such trivial cases, there must be no such epic bugs as this one with rings. Of course GAP must recognize the ring of even numbers (if it is not supposed to have the unity). With my very best wishes, Igor 22.01.2011, 19:41, "Alexander Hulpke" : > Dear Forum, > > On Jan 21, 2011, at 10:23 PM, Igor Korepanov wrote: > >> ?gap> r := Ring( 10, 12 ); >> ? >> ?gap> 10 in r; >> >> ?- and GAP is still thinking over this very profound question. >> ?What did I miss? > > The element test implemented fro rings in GAP first determines the element list of the ring and thus does not terminate for infinite rings. While I one could combine the element test in the computation of the element list and terminate once the element has been found, this still would be unsatisfactory in any example beyond trivial ones and not terminate if the element was not in the ring. > > If there is a genuine need for element tests in infinite rings (beyond toy examples) I would be interested to know for what cases, since for situations such as polynomial rings alternatives might be possible. > > Best, > > ???Alexander Hulpke From ahulpke at gmail.com Sun Jan 23 03:51:22 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Sat, 22 Jan 2011 20:51:22 -0700 Subject: [GAP Forum] ring theory In-Reply-To: <516601295715077@web25.yandex.ru> References: <348001295673831@web13.yandex.ru> <94CCC25B-FCBA-41B8-9E61-7A2AC2955C0D@gmail.com> <516601295715077@web25.yandex.ru> Message-ID: Dear Igor, > I think you must agree that, even in such trivial cases, there must be no such epic bugs as this one with rings. I would not consider this as a bug (and would be careful with the epic' attribute in any case). Of course this is not a hard'' problem, but simply one for which the computer is not well suited. I am not aware of an element test for infinite rings that will always terminate. As I wrote, I can imagine special methods for subrings of polynomial rings or subrings of the integers (or for element test of the generators), but at this point I see minimal gain in implementing this and am rather doubtful of the merits of devoting time on such particular features. Thus again my request for any concrete need of such an element test (the use itself can be trivial, but the context shouldn't be) for rings. Best, Alexander Hulpke > 22.01.2011, 19:41, "Alexander Hulpke" : >> Dear Forum, >> >> On Jan 21, 2011, at 10:23 PM, Igor Korepanov wrote: >> >>> gap> r := Ring( 10, 12 ); >>> >>> gap> 10 in r; >>> >>> - and GAP is still thinking over this very profound question. >>> What did I miss? >> >> The element test implemented fro rings in GAP first determines the element list of the ring and thus does not terminate for infinite rings. While I one could combine the element test in the computation of the element list and terminate once the element has been found, this still would be unsatisfactory in any example beyond trivial ones and not terminate if the element was not in the ring. >> >> If there is a genuine need for element tests in infinite rings (beyond toy examples) I would be interested to know for what cases, since for situations such as polynomial rings alternatives might be possible. >> >> Best, >> >> Alexander Hulpke From paloff at ya.ru Sun Jan 23 11:06:16 2011 From: paloff at ya.ru (Igor Korepanov) Date: Sun, 23 Jan 2011 14:06:16 +0300 Subject: [GAP Forum] ring theory In-Reply-To: References: <348001295673831@web13.yandex.ru> <94CCC25B-FCBA-41B8-9E61-7A2AC2955C0D@gmail.com> <516601295715077@web25.yandex.ru> Message-ID: <675311295780776@web39.yandex.ru> Dear Alexander, Thank you for addressing me by name (and not just "Dear Forum"). In return, I will refrain from attributing ironical epithets to your excellent work. > Thus again my request for any concrete need of such an element test (the use itself can be trivial, but the context shouldn't be) for rings. I was just showing GAP to a student and saying "see how beautiful it is! Let's see how it works with this and that...". Being partly of Ukrainian ancestry, I was of course wondering what Ukrainian comrades write, e.g. on page http://ukrgap.exponenta.ru/Examples/rings.htm . Aha, I said, they write: gap> M:=Ring(5,7); Integers And what if gap> r:=Ring(10,12); ? So, I typed that in the presence of my student, hoping that GAP understands me. And - oops! So, the first reason why GAP should know such things is simply for students - not to scare them away from GAP by such hardly explainable to them things. And we know that in order to win, we have the young generation on our side! The second reason is: if experts see no interest in some problem, then this problem is probably in reality the most interesting one. It always happens like this in pure art. So, perhaps, in some near future, the element test for rings will gain much popularity :) Remark: as for myself, I have just delivered a course in Finite Fields, using GAP, for engineering students this last semester which by no means makes me an expert in ring theory. I am also using GAP in my research, since last summer (see one of my previous posts). I would like to end this letter with expressing my pretty sincere gratitude to you and all GAP authors - you are doing a great job. Igor 23.01.2011, 06:51, "Alexander Hulpke" : > Dear Igor, > >> ?I think you must agree that, even in such trivial cases, there must be no such epic bugs as this one with rings. > > I would not consider this as a bug (and would be careful with the epic' attribute in any case). Of course this is not a hard'' problem, but simply one for which the computer is not well suited. > > I am not aware of an element test for infinite rings that will always terminate. As I wrote, I can imagine special methods for subrings of polynomial rings or subrings of the integers (or for element test of the generators), but at this point I see minimal gain in implementing this and am rather doubtful of the merits of devoting time on such particular features. Thus again my request for any concrete need of such an element test (the use itself can be trivial, but the context shouldn't be) for rings. > > Best, > > ??Alexander Hulpke > From bolbita at laposte.net Tue Jan 25 08:59:38 2011 From: bolbita at laposte.net (bolbita) Date: Tue, 25 Jan 2011 09:59:38 +0100 (CET) Subject: [GAP Forum] control the execution time of a function Message-ID: <20591070.34340.1295945978336.JavaMail.www@wwinf8302> Dear GAP Forum, I have little experience with GAP, and I wonder how can we control the execution time of a function. I dream about a function like UnderTimeControl := function (f, arg, maxtime) which would run the function f with arguments arg and a timer in parallel, and would return the result of f(arg) whenever its execution time is less than maxtime and would return fail otherwise. Thank you very much in advance. Georges. Une messagerie gratuite, garantie ? vie et des services en plus, ?a vous tente ? Je cr?e ma bo?te mail www.laposte.net From alexander.konovalov at gmail.com Wed Jan 26 14:33:56 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed, 26 Jan 2011 14:33:56 +0000 Subject: [GAP Forum] control the execution time of a function In-Reply-To: <20591070.34340.1295945978336.JavaMail.www@wwinf8302> References: <20591070.34340.1295945978336.JavaMail.www@wwinf8302> Message-ID: <12F4A2C9-4E12-4074-8BDD-3D870C7DEBF5@gmail.com> Dear Georges, On 25 Jan 2011, at 08:59, bolbita wrote: > Dear GAP Forum, > > I have little experience with GAP, and I wonder how can we control the execution time of a function. > I dream about a function like > UnderTimeControl := function (f, arg, maxtime) > which would run the function f with arguments arg and a timer in parallel, > and would return the result of f(arg) whenever its execution time is less than maxtime and would return fail > otherwise. The current version of GAP is single-threaded so it's not directly possible to have exactly the scenario you've described.However, there are several possible workarounds of various difficulty and flexibility: 1) If you are able to use the GAP package IO by Max Neunh?ffer ( http://www.gap-system.org/Packages/io.html ), then the following function suggested by Laurent Bartholdi works exactly as you've described: UnderTimeControl := function(f,args,maxtime) local pipe, pid, result; pipe := IO_pipe(); pid := IO_fork(); if pid=0 then pipe := IO_WrapFD(pipe.towrite,false,false); IO_Pickle(pipe,CallFuncList(f,args)); IO_Close(pipe); IO_kill(IO_getpid(),9); fi; pipe := IO_WrapFD(pipe.toread,false,false); result := IO_Select([pipe],[],[],[],QuoInt(maxtime,1000000),RemInt(maxtime,1000000)); if result=fail or result=0 then IO_kill(pid,9); return fail; fi; result := IO_Unpickle(pipe); IO_Close(pipe); return result; end; gap> UnderTimeControl(Factorial,[10],100); fail gap> UnderTimeControl(Factorial,[10],10000); 3628800 gap> UnderTimeControl(NrConjugacyClasses,[SmallGroup(512,13)],100000); fail gap> UnderTimeControl(NrConjugacyClasses,[SmallGroup(512,13)],1000000); 92 However, note that: - it forks another process, which may be potentially memory expensive; - IO_Pickle/IO_Unpickle may not support arbitrary data to pass them as arguments or results; - if things go wrong, i.e. an Error occurs, the user interface will be completely broken and you will have to restart GAP. Some other alternatives: 2) The function Runtime (see ?Runtime) returns the time spent by GAP in milliseconds as an integer. You may insert calls to it at some checkpoints in the code to analyse its result and take an action. Of course, it will not help if GAP spends too much time in some function call prior to that. 3) It's possible to call a remote procedure on the GAP server from the GAP client using the SCSCP package ( http://www.cs.st-andrews.ac.uk/~alexk/scscp.htm ) and specify the timeout (i.e. maxtime). This can be also done in parallel. 4) It's also possible to submit GAP jobs using various job submission systems (pbs, Condor system) and specify the maximum duration of the job, but this is non-interactive. Please do not hesitate to ask more details about these scenarios. However, it might be rather worth to tell more details about the actual computation which you would like to do in this way - it may happen that there is a better way of doing it in GAP without caring about a runtime limit. Best regards, Alexander ( with the help of Laurent Bartholdi ) From Bill.Allombert at math.u-bordeaux1.fr Wed Jan 26 17:19:01 2011 From: Bill.Allombert at math.u-bordeaux1.fr (Bill Allombert) Date: Wed, 26 Jan 2011 18:19:01 +0100 Subject: [GAP Forum] control the execution time of a function In-Reply-To: <12F4A2C9-4E12-4074-8BDD-3D870C7DEBF5@gmail.com> References: <20591070.34340.1295945978336.JavaMail.www@wwinf8302> <12F4A2C9-4E12-4074-8BDD-3D870C7DEBF5@gmail.com> Message-ID: <20110126171901.GC17754@yellowpig> On Wed, Jan 26, 2011 at 02:33:56PM +0000, Alexander Konovalov wrote: > Dear Georges, > > On 25 Jan 2011, at 08:59, bolbita wrote: > > > Dear GAP Forum, > > > > I have little experience with GAP, and I wonder how can we control the execution time of a function. > > I dream about a function like > > UnderTimeControl := function (f, arg, maxtime) > > which would run the function f with arguments arg and a timer in parallel, > > and would return the result of f(arg) whenever its execution time is less than maxtime and would return fail > > otherwise. > > The current version of GAP is single-threaded so it's not directly possible > to have exactly the scenario you've described.However, there are several > possible workarounds of various difficulty and flexibility: If that may help, this is how I implemented something similar in PARI/GP (which is also single-threaded): 1) add a signal handler for SIGALRM 2) call the C function alarm(maxtime); 3) evaluate f(arg). 4) if the signal handler is called, stop the evaluation and return fail. 5) if 3) complete, call alarm(0) to disable the alarm. Cheers, Bill. From sal at mcs.st-andrews.ac.uk Wed Jan 26 17:38:36 2011 From: sal at mcs.st-andrews.ac.uk (Stephen Linton) Date: Wed, 26 Jan 2011 17:38:36 +0000 Subject: [GAP Forum] control the execution time of a function In-Reply-To: <20110126171901.GC17754@yellowpig> References: <20591070.34340.1295945978336.JavaMail.www@wwinf8302> <12F4A2C9-4E12-4074-8BDD-3D870C7DEBF5@gmail.com> <20110126171901.GC17754@yellowpig> Message-ID: It would be relatively easy, even in single-threaded GAP to use SIGALRM to effectively deliver a control-C after a pre-determined time. Using some new machinery that will be in GAP 4.5, it would be possible to "catch" that interrupt and return fail or whatever. We will look into it. Steve On 26 Jan 2011, at 17:19, Bill Allombert wrote: > On Wed, Jan 26, 2011 at 02:33:56PM +0000, Alexander Konovalov wrote: >> Dear Georges, >> >> On 25 Jan 2011, at 08:59, bolbita wrote: >> >>> Dear GAP Forum, >>> >>> I have little experience with GAP, and I wonder how can we control the execution time of a function. >>> I dream about a function like >>> UnderTimeControl := function (f, arg, maxtime) >>> which would run the function f with arguments arg and a timer in parallel, >>> and would return the result of f(arg) whenever its execution time is less than maxtime and would return fail >>> otherwise. >> >> The current version of GAP is single-threaded so it's not directly possible >> to have exactly the scenario you've described.However, there are several >> possible workarounds of various difficulty and flexibility: > > If that may help, this is how I implemented something similar in PARI/GP > (which is also single-threaded): > > 1) add a signal handler for SIGALRM > 2) call the C function alarm(maxtime); > 3) evaluate f(arg). > 4) if the signal handler is called, stop the evaluation and return fail. > 5) if 3) complete, call alarm(0) to disable the alarm. > > Cheers, > Bill. > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From williamdemeo at gmail.com Wed Jan 26 21:35:14 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Wed, 26 Jan 2011 11:35:14 -1000 Subject: [GAP Forum] Basic question: picking out a certain subgroup of A_{31} Message-ID: Dear Forum, How do I get ahold of a subgroup of A_{31} that is isomorphic to SL(5,2). I know there's one in there, but I don't know how to get a handle on it. If I simply define a31 := AlternatingGroup(31); and K := SL(5,2); then, of course, IsSubgroup(a31,K) will return "false," since I don't have a particular SL(5,2) that sits inside A_{31}. Thanks in advance for your help, and I apologize if this a dumb question. -William From hulpke at math.colostate.edu Wed Jan 26 21:53:05 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed, 26 Jan 2011 14:53:05 -0700 Subject: [GAP Forum] Basic question: picking out a certain subgroup of A_{31} In-Reply-To: References: Message-ID: <6F7C85BF-26B3-4167-8E1E-02DF3B26BC22@math.colostate.edu> Dear Forum, On Jan 26, 2011, at 1/26/11 2:35, William DeMeo wrote: > How do I get ahold of a subgroup of A_{31} that is isomorphic to > SL(5,2). I know there's one in there, but I don't know how to get a > handle on it. Two ways: a) The reason that SL_5(2) lies in S_31 is because it is the action on the nonzero vectors. We can just do this: gap> G:=SL(5,2); SL(5,2) gap> vecs:=Filtered(Elements(GF(2)^5),x->not IsZero(x));; gap> Length(vecs); 31 gap> K:=Action(G,vecs,OnRight); Group([ (16,24)(17,25)(18,26)(19,27)(20,28)(21,29)(22,30)(23,31), (1,2,4,8,16)(3,6,12,24,17)(5,10,20,9,18)(7,14,28,25,19)(11,22,13,26,21)(15, 30,29,27,23) ]) b) (if building the action is too hard) Many of the small degree permutation representations of the simple groups are primitive and can be found in the primitive groups library: gap> Size(SL(5,2)); 9999360 gap> l:=AllPrimitiveGroups(NrMovedPoints,31,Size,9999360); [ L(5, 2) ] gap> K:=l[1]; L(5, 2) (of course if there were multiple candidates, or we were not sure, we'd have to confirm that it is the same group: gap> IsomorphismTypeInfoFiniteSimpleGroup(SL(5,2)); rec( name := "A(4,2) = L(5,2) ", parameter := [ 5, 2 ], series := "L" ) gap> IsomorphismTypeInfoFiniteSimpleGroup(K); rec( name := "A(4,2) = L(5,2) ", parameter := [ 5, 2 ], series := "L" ) so we're safe.) Best, 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 From williamdemeo at gmail.com Thu Jan 27 01:29:57 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Wed, 26 Jan 2011 15:29:57 -1000 Subject: [GAP Forum] Basic question: picking out a certain subgroup of A_{31} In-Reply-To: <6F7C85BF-26B3-4167-8E1E-02DF3B26BC22@math.colostate.edu> References: <6F7C85BF-26B3-4167-8E1E-02DF3B26BC22@math.colostate.edu> Message-ID: Thank you, Dr. Hulpke, for your exceedingly clear explanation. Option (a) is simple enough, but option (b) is interesting too. By the way, I asked the question because I wanted to see if XGAP could actually draw Feit's example of an M_7 lattice as an upper interval in the subgroup lattice of A_{31}, and I've now got all the vertices drawn except the six copies of SL(5,2). If interested, read on, otherwise, feel free to ignore... I believe Feit takes a Sylow-31 subgroup P of A_{31}, then looks at the normalizer N = N(P) and notices that |N| = 31.15 and that N contains a subgroup H of order 31.5. Then he asserts (with little justification) that there are two non-conjugate copies of SL(5,2) above H, call them K1 and K2. If you conjugate each of these by the (three) coset representatives of N/H, you get six of the coatoms of the M_7 interval. The seventh coatom is N. Now, thanks to your help, at least I can find a SL(5,2) subgroup of A_{31}. Unfortunately, it's not one of the SL(5,2)'s above H. (It's K in the attached diagram.) Anyway, I'm sure I can figure it out from here. Thanks again for your help!! -William On Wed, Jan 26, 2011 at 11:53 AM, Alexander Hulpke wrote: > > > Dear Forum, > > On Jan 26, 2011, at 1/26/11 2:35, William DeMeo wrote: >> How do I get ahold of a subgroup of A_{31} that is isomorphic to >> SL(5,2). ?I know there's one in there, but I don't know how to get a >> handle on it. > > Two ways: > > a) The reason that SL_5(2) lies in S_31 is because it is the action on the nonzero vectors. We can just do this: > > gap> G:=SL(5,2); > SL(5,2) > gap> vecs:=Filtered(Elements(GF(2)^5),x->not IsZero(x));; > gap> Length(vecs); > 31 > gap> K:=Action(G,vecs,OnRight); > Group([ (16,24)(17,25)(18,26)(19,27)(20,28)(21,29)(22,30)(23,31), > ?(1,2,4,8,16)(3,6,12,24,17)(5,10,20,9,18)(7,14,28,25,19)(11,22,13,26,21)(15, > ? ?30,29,27,23) ]) > > b) (if building the action is too hard) Many of the small degree permutation representations of the simple groups are primitive and can be found in the primitive groups library: > > gap> Size(SL(5,2)); > 9999360 > gap> l:=AllPrimitiveGroups(NrMovedPoints,31,Size,9999360); > [ L(5, 2) ] > gap> K:=l[1]; > L(5, 2) > ?(of course if there were multiple candidates, or we were not sure, we'd have to confirm that it is the same group: > > gap> IsomorphismTypeInfoFiniteSimpleGroup(SL(5,2)); > rec( name := "A(4,2) = L(5,2) ", parameter := [ 5, 2 ], series := "L" ) > gap> IsomorphismTypeInfoFiniteSimpleGroup(K); > rec( name := "A(4,2) = L(5,2) ", parameter := [ 5, 2 ], series := "L" ) > > so we're safe.) > > Best, > > ? 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 > > > > From a.abdollahi at math.ui.ac.ir Thu Jan 27 08:43:40 2011 From: a.abdollahi at math.ui.ac.ir (Alireza Abdollahi) Date: Thu, 27 Jan 2011 00:43:40 -0800 (PST) Subject: [GAP Forum] List of elements Message-ID: <127632.12338.qm@web35706.mail.mud.yahoo.com> Dear?Pubbers I??typed the following commands: gap> W:=WreathProduct(SymmetricGroup(3),CyclicGroup(4));; gap> ele:=Elements(W);; gap>x:=ele[4]; gap>y:=ele[228]; Here?are my questions: If I?end the above?GAP session and again (after some while!) open a new session and?repeat the commands above, should I get the same x and y as the? first time? if so, is this a general rule (at least for the above commands)? Actually, I would like to use the above form in a research article, so the?doubt is whether the above question has positive answer or not?! My experience show that we always get the same for x and y or some other element! Of course, I know that the best/worst way is to locate the elements x and y??in W by fixing a generating set for W?and then?I do not cite GAP, which is not fair!! Sorry in advance,?if my question is very?stupid; and thanks for any friendly help. All the Best Alireza Abdollahi ?Alireza Abdollahi Department of Mathematics University of Isfahan Isfahan 81746-73441,Iran a.abdollahi at math.ui.ac.ir abdollahi at member.ams.org http://sci.ui.ac.ir/~a.abdollahi From ahulpke at gmail.com Thu Jan 27 16:15:04 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Thu, 27 Jan 2011 09:15:04 -0700 Subject: [GAP Forum] List of elements In-Reply-To: <127632.12338.qm@web35706.mail.mud.yahoo.com> References: <127632.12338.qm@web35706.mail.mud.yahoo.com> Message-ID: <76B43CA8-3D89-4FC4-9FE7-A38B3727A6E9@gmail.com> Dear Gap-Forum On Jan 27, 2011, at 1:43 AM, Alireza Abdollahi wrote: > gap> ele:=Elements(W);; > gap>x:=ele[4]; > gap>y:=ele[228]; > > Here are my questions: > > should I get the same x and y as the first time? if so, is this a general rule > (at least for the above commands)? Elements' does the same as AsSSortedList', i.e. it returns a sorted list of elements. As comparison of permutations is stable, this list will always be the same, even if you change the generators of W. (In general, with other commands in GAP the same sequence of commands from the start in the same version of GAP on the same machine will always produce the same output, but this is not neccessarily guaranteed to stay stable over different versions.) Best, 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 From sandeepr.murthy at gmail.com Sat Jan 29 15:05:42 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Sat, 29 Jan 2011 15:05:42 +0000 Subject: [GAP Forum] Certain Subgroups of SL(3, q) of Order q^3 for small q Message-ID: Hello, If G = SL(3,q), the special linear group over the finite field F_q, then I am interested in the following subgroups: S = { set of all upper triangular matrices in G with 1s on the diagonal, and elements x,y,z above the diagonal}, T = { set of all lower triangular matrices in G with 1s on the diagonal, and elements x,y,z below the diagonal}. How can I define these subgroups in GAP for specific small values of q, like 2, 3, 4 etc.? Sincerely, Sandeep. From dima at ntu.edu.sg Sat Jan 29 15:39:13 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Sat, 29 Jan 2011 23:39:13 +0800 Subject: [GAP Forum] Certain Subgroups of SL(3, q) of Order q^3 for small q In-Reply-To: References: Message-ID: Dear Sandeep, Suppose F_q is k-fold extension of F_p, for p prime. Then, if x1,..,xk are generators of F_q over F_p, S is generated by matrices by 2k matrices, namely [[1 xj 0], [0 1 0], [0 0 1]], with j=1,...k, and [[1 0 0], [0 1 xj], [0 0 1]], with j=1,...k. and similarly for T (take the transposes of generators above). Hope this helps, Dmitrii On 29 January 2011 23:05, Sandeep Murthy wrote: > Hello, > > If G = SL(3,q), the special linear group over the finite field F_q, then > I am interested in the following subgroups: > > S = { set of all upper triangular matrices in G with 1s on the diagonal, and elements x,y,z above the diagonal}, > T = { set of all lower triangular matrices in G with 1s on the diagonal, and elements x,y,z below the diagonal}. > > How can I define these subgroups in GAP for specific small values of q, like 2, 3, 4 etc.? > > Sincerely, Sandeep. > > CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From krkini at ntu.edu.sg Mon Jan 31 03:45:56 2011 From: krkini at ntu.edu.sg (Keshav Rao Kini) Date: Mon, 31 Jan 2011 11:45:56 +0800 Subject: [GAP Forum] GAP IRC channel Message-ID: Hello, Does the GAP project have an official IRC channel somewhere? If not, I suspect it couldn't hurt to set up one, to provide another avenue for users to ask questions (or generally for pseudo-realtime GAP-related discussion, which as far as I know the forum doesn't have a means of doing at the moment). Many open source projects have IRC channels on irc.freenode.net, which is one possibility. If nobody has done so I'd be happy to set one up and maintain it, though as a GAP beginner I don't think I'm necessarily the best person for the job :) -Keshav Disclaimer: the boilerplate text at the foot of this email has been added automatically by my mail server. This was not done by my request (rather the opposite) so please disregard it. ________________________________ CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From yonikone at gmail.com Tue Feb 1 13:09:01 2011 From: yonikone at gmail.com ((((1/f))) .) Date: Tue, 1 Feb 2011 18:39:01 +0530 Subject: [GAP Forum] online Group Theory workshop ( for people with no math background) Message-ID: I didn't know any other online forum where this would be relevant, but if this is of any use to you or your students..... This is a 6-week workshop in the mathematics of symmetry, and no background in mathematics is needed at all: http://fadereu.posterous.com/knk101-workshop-the-complete-syllabus That's the complete syllabus, and all the details are on the site. I'm the convenor and you can reach me at fadebox at gmail.com if you have any queries. I'm also looking to engage groups of students at institutions and we can work on a suitable plan / schedule. warm regards, Rohit Gupta / aka fadereu ------------ (((1/f))) ------------- http://twitter.com/fadereu From rahul.kitture at gmail.com Tue Feb 1 13:50:30 2011 From: rahul.kitture at gmail.com (rahul kitture) Date: Tue, 1 Feb 2011 19:20:30 +0530 Subject: [GAP Forum] (no subject) Message-ID: Dear Sir, A small question regarding subgroup with generators When doing computations of groups on GAP, with the group given by generators and relations, how can we find subgroup generated by some elements of group? (i.e. how can we obtain subgroup generated by specific elements of group?) -- Rahul D. Kitture Junior Research Fellow, Bhaskaracharya Pratishthana (Research Institute for Matmematics) www.bprim.org Pune: 411 004 (India) From alexander.konovalov at gmail.com Tue Feb 1 21:23:08 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Tue, 1 Feb 2011 21:23:08 +0000 Subject: [GAP Forum] cycle index and Polya enumeration In-Reply-To: References: Message-ID: <2DFD2543-9C87-4E60-88B0-CB17364B1568@gmail.com> Dear Hebert, dear GAP Forum, GAP 4.4.12 already has the non-documented function "CycleIndex" which you may use. It will become documented in the next release of GAP 4.5 as follows: CycleIndex( g, Omega[, act] ) CycleIndex( G, Omega[, act] ) The cycle index of a permutation g acting on Omega is defined as z(g) = s_1^{c_1} s_2^{c_2} cdots s_n^{c_n} where c_k is the number of k-cycles in the cycle decomposition of g and the s_i are indeterminates. The cycle index of a group G is defined as Z(G) = ( sum_{g in G} z(g) ) / |G| . The indeterminates used by CycleIndex are the indeterminates 1 to n over the rationals. gap> g:=TransitiveGroup(6,8); S_4(6c) = 1/2[2^3]S(3) gap> CycleIndex(g); 1/24*x_1^6+1/8*x_1^2*x_2^2+1/4*x_1^2*x_4+1/4*x_2^3+1/3*x_3^2 Hope this helps, Alexander On 19 Dec 2010, at 12:22, Hebert P?rez-Ros?s wrote: > Dear all, > > Does anybody have a GAP function to compute the cycle index of a permutation > group, and perform Polya enumeration? > > Best regards, > > Hebert Perez-Roses > The University of Newcastle, Australia From alexander.konovalov at gmail.com Tue Feb 1 21:35:35 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Tue, 1 Feb 2011 21:35:35 +0000 Subject: [GAP Forum] Subgroups of fp groups (was:no subject) In-Reply-To: References: Message-ID: Dear Rahul, You need to call "Subgroup" (enter ?Subgroup in GAP to see the manual). For example, gap> F:=FreeGroup("a","b"); gap> AssignGeneratorVariables(F); #I Assigned the global variables [ a, b ] gap> G:=F/[a^4,b^2,b*a*b*a]; gap> g:=GeneratorsOfGroup(G); [ a, b ] gap> Subgroup(G,[g[1]*g[2]]); Group([ a*b ]) gap> Size(last); 2 gap> Subgroup(G,[g[1]]); Group([ a ]) gap> Size(last); 4 Note that variables a and b above are generators of the free group and not of the group G, so I can't use Subgroup(G,[a*b]) unless I redefine them. Hope this helps, Alexander On 1 Feb 2011, at 13:50, rahul kitture wrote: > Dear Sir, > > A small question regarding subgroup with generators > When doing computations of groups on GAP, with the group given by generators > and relations, how can we find subgroup generated by some elements of group? > (i.e. how can we obtain subgroup generated by specific elements of group?) > > > > > > -- > Rahul D. Kitture > Junior Research Fellow, > Bhaskaracharya Pratishthana > (Research Institute for Matmematics) > www.bprim.org > Pune: 411 004 (India) From shubh at iitg.ernet.in Wed Feb 2 06:10:06 2011 From: shubh at iitg.ernet.in (shubh at iitg.ernet.in) Date: Wed, 2 Feb 2011 11:40:06 +0530 (IST) Subject: [GAP Forum] GAP Installation Message-ID: <1505.172.16.69.134.1296627006.squirrel@webmail.iitg.ernet.in> Dear Sir, I am a new user of GAP. I learned to use GAP in a conference. Now I want to install GAP in my personal computer. Can you tell me from where (exact location on GAP site)I can download GAP software, and how to install. With regards, -\Shubh -- Shubh N. Singh Research Scholar Department of Mathematics IIT Guwahati - 781039 Email: shubh at iitg.ernet.in Mob. no.: +91-9864221370 From hebert.perez at gmail.com Wed Feb 2 06:20:34 2011 From: hebert.perez at gmail.com (=?ISO-8859-1?B?SGViZXJ0IFDpcmV6LVJvc+lz?=) Date: Wed, 2 Feb 2011 17:20:34 +1100 Subject: [GAP Forum] cycle index and Polya enumeration In-Reply-To: <2DFD2543-9C87-4E60-88B0-CB17364B1568@gmail.com> References: <2DFD2543-9C87-4E60-88B0-CB17364B1568@gmail.com> Message-ID: Yes, it's very helpful. Thanks. 2011/2/2 Alexander Konovalov > Dear Hebert, dear GAP Forum, > > GAP 4.4.12 already has the non-documented function "CycleIndex" > which you may use. It will become documented in the next release > of GAP 4.5 as follows: > > CycleIndex( g, Omega[, act] ) > CycleIndex( G, Omega[, act] ) > > The cycle index of a permutation g acting on Omega is defined as > > z(g) = s_1^{c_1} s_2^{c_2} cdots s_n^{c_n} > > where c_k is the number of k-cycles in the cycle decomposition > of g and the s_i are indeterminates. > > The cycle index of a group G is defined as > > Z(G) = ( sum_{g in G} z(g) ) / |G| . > > The indeterminates used by CycleIndex are the indeterminates 1 to n > over the rationals. > > gap> g:=TransitiveGroup(6,8); > S_4(6c) = 1/2[2^3]S(3) > gap> CycleIndex(g); > 1/24*x_1^6+1/8*x_1^2*x_2^2+1/4*x_1^2*x_4+1/4*x_2^3+1/3*x_3^2 > > Hope this helps, > Alexander > > > On 19 Dec 2010, at 12:22, Hebert P?rez-Ros?s wrote: > > > Dear all, > > > > Does anybody have a GAP function to compute the cycle index of a > permutation > > group, and perform Polya enumeration? > > > > Best regards, > > > > Hebert Perez-Roses > > The University of Newcastle, Australia > From alexander.konovalov at gmail.com Wed Feb 2 09:23:37 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed, 2 Feb 2011 09:23:37 +0000 Subject: [GAP Forum] GAP Installation In-Reply-To: <1505.172.16.69.134.1296627006.squirrel@webmail.iitg.ernet.in> References: <1505.172.16.69.134.1296627006.squirrel@webmail.iitg.ernet.in> Message-ID: Dear Shubh, You may install the computational algebra system GAP downloading archives listed at http://www.gap-system.org/Download/index.html following the installation instructions from the same page. If you are using Windows, an alternative installer is here: http://www.gap-system.org/ukrgap/wininst/wininst.htm Hope this helps, Alexander On 2 Feb 2011, at 06:10, shubh at iitg.ernet.in wrote: > Dear Sir, > I am a new user of GAP. I learned to use GAP in a conference. > Now I want to install GAP in my personal computer. > > Can you tell me from where (exact location on GAP site)I can download GAP > software, and how to install. > > > > With regards, > -\Shubh > > -- > Shubh N. Singh > Research Scholar > Department of Mathematics > IIT Guwahati - 781039 > Email: shubh at iitg.ernet.in > Mob. no.: +91-9864221370 From alexander.konovalov at gmail.com Wed Feb 2 14:41:26 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed, 2 Feb 2011 14:41:26 +0000 Subject: [GAP Forum] GAP IRC channel In-Reply-To: References: Message-ID: <29EA197C-9778-438F-96DF-A2FEDC0E63D5@gmail.com> Dear Keshav, Thank your for your request and willing to contribute to the GAP project. We will think of the suitability of an IRC channel and will contact you regarding this idea later. The GAP project does not have an official IRC channel, and the page http://www.gap-system.org/Contacts/contacts.html lists all currently used ways of communication for the user's feedback, support requests, possible cooperation and communication between users. It also gives some advice on how to decide what is more appropriate for the GAP Forum and what - for GAP Support. Best wishes, Alexander On 31 Jan 2011, at 03:45, Keshav Rao Kini wrote: > Hello, > > Does the GAP project have an official IRC channel somewhere? If not, I suspect it couldn't hurt to set up one, to provide another avenue for users to ask questions (or generally for pseudo-realtime GAP-related discussion, which as far as I know the forum doesn't have a means of doing at the moment). Many open source projects have IRC channels on irc.freenode.net, which is one possibility. If nobody has done so I'd be happy to set one up and maintain it, though as a GAP beginner I don't think I'm necessarily the best person for the job :) > > -Keshav From kksa at math.ku.dk Thu Feb 3 12:56:45 2011 From: kksa at math.ku.dk (Kasper Andersen) Date: Thu, 3 Feb 2011 13:56:45 +0100 (CET) Subject: [GAP Forum] Algorithmic question In-Reply-To: References: <6DC39AC6F57E4533968F9179BA12DF22@bham.ac.uk> Message-ID: Dear forum, This is strictly speaking not a GAP question but hopefully someone on the list knows something about this.... Suppose A is a subgroup of Z^n. The M=A\cap N_0^n is a finitely generated monoid. How does one test effectively decide whether M is a free monoid? One could of course first find a minimal generating set of M and check if this set is linearly independent -- however I dont know efficient algorithms for finding a minimal generating set. Furthermore one could hope that one could decide freeness without computing a minimal generating set.... thanks in advance, Kasper Andersen University of Copenhagen From dima at ntu.edu.sg Fri Feb 4 03:21:34 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Fri, 4 Feb 2011 11:21:34 +0800 Subject: [GAP Forum] Algorithmic question In-Reply-To: References: <6DC39AC6F57E4533968F9179BA12DF22@bham.ac.uk> Message-ID: Dear Kasper, as far as I can see, a necessary condition is that the cone C generated by M is simplicial (i.e. has exactly as many extreme rays as the dimension of the span of M in R^n, say n'), so one should be able to compute these rays efficiently, using linear programming (as you do not need to enumerate all the rays of C, which can be exponential in running time, but stop as soon as you have exactly n' rays, and no more) So if C is not simplcial, M is not free. If C is simplicial, then one has to find out whether the extreme rays of C generate M, or not. The latter is probably some kind of volume computation, which again can be done efficiently. Please let me know whether you need more details, Dmitrii On 3 February 2011 20:56, Kasper Andersen wrote: > Dear forum, > > This is strictly speaking not a GAP question but hopefully someone on the > list knows something about this.... > > Suppose A is a subgroup of Z^n. The M=A\cap N_0^n is a finitely generated > monoid. How does one test effectively decide whether M is a free monoid? > > One could of course first find a minimal generating set of M and check if > this set is linearly independent -- however I dont know efficient > algorithms for finding a minimal generating set. > > Furthermore one could hope that one could decide freeness without > computing a minimal generating set.... > > thanks in advance, > > Kasper Andersen > University of Copenhagen > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From csaba.schneider at gmail.com Fri Feb 4 12:03:15 2011 From: csaba.schneider at gmail.com (Csaba Schneider) Date: Fri, 4 Feb 2011 12:03:15 +0000 Subject: [GAP Forum] Groups and Semigroups conference in Lisbon Message-ID: Dear Colleagues Please find the second announcement of the conference "Groups and Semigroups: Interactions and Computations" to be held next July in Lisbon. For more information, consult the website: http://caul.cii.fc.ul.pt/GSConf2011. Best wishes Csaba Schneider. SECOND ANNOUNCEMENT OF THE CONFERENCE GROUPS AND SEMIGROUPS: INTERACTIONS AND COMPUTATIONS 25-29 JULY 2011 UNIVERSIDADE DE LISBOA, PORTUGAL http://caul.cii.fc.ul.pt/GSConf2011 SUMMARY The aim of this conference is to deepen the existing interactions between group theory and semigroup theory. The main themes of the conferenceinclude, not exclusively: the application of permutation group theory in the theory of transformation semigroups; computational techniques in group theory and semigroup theory; and combinatorial methods in group theory and semigroup theory. The conference will be organized by the Centro de ?lgebra da Universidade de Lisboa (CAUL), the Centro Internacional da Matem?tica (CIM), and the Departamento de Matem?tica de Faculdade de Ci?ncias da Universidade de Lisboa (DM-FCUL). INVITED SPEAKERS Carlos Andr?, University of Lisbon Peter Cameron, Queen Mary, University of London John Fountain, University of York Bettina Eick, Technical University of Braunschweig Robert Gray, University of Lisbon Zur Izhakian, Bar-Ilan University Olga Kharlampovich, McGill University Michael Kinyon, University of Denver Charles Leedham-Green, Queen Mary, University of London Alex Lubotzky, Hebrew University Peter Neumann, University of Oxford Cheryl Praeger, University of Western Australia ?kos Seress, Ohio State University and University of Western Australia Pedro Silva, University of Porto Mikhail Volkov, Ural State University Efim Zelmanov, University of California ORGANIZING COMMITTEE Gracinda Gomes (chair), CAUL, DM-FCUL Jo?o Ara?jo, CAUL, Universidade Aberta Victoria Gould, University of York Stephen Linton, University of St Andrews Eamonn O'Brien, University of Auckland Csaba Schneider, CAUL, DM-FCUL. The planned program includes 50 minutes lectures by the invited speakers and 20 minutes contributed talks by the participants. REGISTRATION If you wish to participate in the conference, please fill in the registration form (see below) and send it to conf2011 at cii.fc.ul.pt. For logistic reasons, the number of participants is limited, so please do register as soon as possible. The registration fee that covers the conference dinner and the conference trip is: 200 euros, until 31st March 2011; 225 euros, from 1st April 2011; 120 euros for postgraduate students; 100 euros for accompanying partners to participate in the dinner and the trip. The registration fee should be transferred to the following bank account: Centro Internacional de Matem?tica Av. Prof. Gama Pinto, 2 1649-003 Lisboa, Portugal Bank: Millennium BCP ? Santa Clara, Coimbra IBAN: PT50 0033000017280018083 12 BIC / SWIFT: BCOMPTPL Please don't forget to indicate the name of the conference (Groups and Semigroups 2011) and clearly identify the participant. Once the transfer is made, either email or fax us a copy of the bank transaction statement. Our email address is conf2011 at cii.fc.ul.pt and our fax number is +351 217954288. Please address the fax to the attention of Patricia Paraiba. ACCOMMODATION AND TRAVEL INFORMATION: We prebooked a number of rooms in Hotel Zurique VIP Executive Rua Ivone Silva n? 18 1050 - 124 Lisboa Tel: + 351 21 7814000 Fax: + 351 21 7814101 E-mail: res.zurique at viphotels.com Price for a single or double room is ?65 and ?70, respectively including breakfast. In order to make a booking contact the hotel directly through the contact information given above. In case you book your room by email or fax, please specify the following details: The name of the conference (Groups and Semigroups: Interactions and Computations) Your name Arrival and departure dates Room type (single/double) Expected arrival time in the hotel In addition let them know your credit card details (type, number, validity, security code) for a security deposit. These rooms are kept for us until 30 May, so please make your booking until that date. Cheaper option for students: We prebooked some rooms in the university college Col?gio Pio XII which are available for graduate students. These rooms cost 20 euros per night. Please let us know by 30 April if you'd like to stay in one of these rooms and we will make the final bookings. The rooms should be paid by you upon your arrival at the college. The contact details of Col?gio Pio XII are Col?gio Universit?rio PIO XII Avenida For?as Armadas 1600-083 Lisboa Phone: +351 217967146 Fax: +351 217967149 E-Mail: secretaria at colegiopio12.com Further travel information concerning your arrival in Lisbon is available on the conference website. More details will be added in the future. REGISTRATION FORM If you wish to participate, please fill it in and return it by June 1, 2011 to conf2011 at cii.fc.ul.pt. NAME: AFFILIATION: ADDRESS FOR CORRESPONDENCE: E-mail ADDRESS: PHONE/FAX: DO YOU WISH TO GIVE A SEMINAR? Yes/No IF YES, PLEASE SEND US THE TITLE and an ABSTRACT (deadline: March 31th, 2011) NAME OF ACCOMPANYING PARTNER (if participates in the social events) From hedtke at me.com Sun Feb 6 17:16:39 2011 From: hedtke at me.com (Ivo Hedtke) Date: Sun, 06 Feb 2011 18:16:39 +0100 Subject: [GAP Forum] x^y with Floats Message-ID: <758DA274-118E-47AF-BA2A-81D9EF4D0A24@me.com> Dear Forum, is there a possibility to compute x^y with Floats in GAP? I found LOG_FLOAT for example, but I didn't found something for x^y. Sincerely, Ivo From krkini at ntu.edu.sg Tue Feb 8 03:35:22 2011 From: krkini at ntu.edu.sg (Keshav Rao Kini) Date: Tue, 8 Feb 2011 11:35:22 +0800 Subject: [GAP Forum] Immutable lists and memory usage Message-ID: Hello, Here is the result of some experimentation I did: gap> x := [];; for i in [1..100] do Add(x, i); od; MemoryUsage(x); MakeImmutable(x);; MemoryUsage(x); ShrinkAllocationPlist(x); MemoryUsage(x); 512 512 416 I'm wondering why ShrinkAllocationPlist isn't called automatically by MakeImmutable, since once I use MakeImmutable() it should be impossible to extend x or even to shrink it, if I understand correctly... -Keshav Disclaimer: the boilerplate text at the foot of this email has been added automatically by my mail server. This was not done by my request (rather the opposite) so please disregard it. ________________________________ CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From dima at ntu.edu.sg Tue Feb 8 04:51:46 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Tue, 8 Feb 2011 12:51:46 +0800 Subject: [GAP Forum] Immutable lists and memory usage In-Reply-To: References: Message-ID: IMHO it's an efficiency decision: ShrinkAllocationPlist calls the GC, and might be (very) slow. On 8 February 2011 11:35, Keshav Rao Kini wrote: > Hello, > > Here is the result of some experimentation I did: > > gap> x := [];; for i in [1..100] do Add(x, i); od; MemoryUsage(x); MakeImmutable(x);; MemoryUsage(x); ShrinkAllocationPlist(x); MemoryUsage(x); > 512 > 512 > 416 > > I'm wondering why ShrinkAllocationPlist isn't called automatically by MakeImmutable, since once I use MakeImmutable() it should be impossible to extend x or even to shrink it, if I understand correctly... > > -Keshav > > Disclaimer: the boilerplate text at the foot of this email has been added automatically by my mail server. This was not done by my request (rather the opposite) so please disregard it. > > > ________________________________ > CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. > > Towards A Sustainable Earth: Print Only When Necessary > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. From krkini at ntu.edu.sg Tue Feb 8 06:30:05 2011 From: krkini at ntu.edu.sg (Keshav Rao Kini) Date: Tue, 8 Feb 2011 14:30:05 +0800 Subject: [GAP Forum] Immutable lists and memory usage In-Reply-To: References: Message-ID: I see, that makes sense. Thanks! -Keshav Disclaimer: the boilerplate text at the foot of this email has been added automatically by my mail server. This was not done by my request (rather the opposite) so please disregard it. 2011/2/8 Dmitrii V Pasechnik (Asst Prof) > IMHO it's an efficiency decision: > ShrinkAllocationPlist calls the GC, and might be (very) slow. > > On 8 February 2011 11:35, Keshav Rao Kini wrote: > > Hello, > > > > Here is the result of some experimentation I did: > > > > gap> x := [];; for i in [1..100] do Add(x, i); od; MemoryUsage(x); > MakeImmutable(x);; MemoryUsage(x); ShrinkAllocationPlist(x); MemoryUsage(x); > > 512 > > 512 > > 416 > > > > I'm wondering why ShrinkAllocationPlist isn't called automatically by > MakeImmutable, since once I use MakeImmutable() it should be impossible to > extend x or even to shrink it, if I understand correctly... > > > > -Keshav > > > > Disclaimer: the boilerplate text at the foot of this email has been added > automatically by my mail server. This was not done by my request (rather the > opposite) so please disregard it. > > > > > > ________________________________ > > CONFIDENTIALITY: This email is intended solely for the person(s) named > and may be confidential and/or privileged. If you are not the intended > recipient, please delete it, notify us and do not copy, use, or disclose its > content. Thank you. > > > > Towards A Sustainable Earth: Print Only When Necessary > > _______________________________________________ > > Forum mailing list > > Forum at mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum > > > > > > -- > Dmitrii Pasechnik > ----- > DISCLAIMER: Any text following this sentence does not constitute a > part of this message, and was added automatically during transmission. > From frank.luebeck at math.rwth-aachen.de Tue Feb 8 09:33:22 2011 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Tue, 08 Feb 2011 10:33:22 +0100 Subject: [GAP Forum] Immutable lists and memory usage In-Reply-To: References: Message-ID: <20110208093322.GA1782@beteigeuze> On Tue, Feb 08, 2011 at 11:35:22AM +0800, Keshav Rao Kini wrote: > Here is the result of some experimentation I did: > > gap> x := [];; for i in [1..100] do Add(x, i); od; MemoryUsage(x); MakeImmutable(x);; MemoryUsage(x); ShrinkAllocationPlist(x); MemoryUsage(x); > 512 > 512 > 416 > > I'm wondering why ShrinkAllocationPlist isn't called automatically by MakeImmutable, since once I use MakeImmutable() it should be impossible to extend x or even to shrink it, if I understand correctly... Dear Keshav, dear Forum, The function MakeImmutable is for expert usage only. The idea is that it is very cheap, it essentially just flips a bit in an object and its subobjects. It is on purpose that it does exactly what its name says and nothing else. When you add objects to a list and there is no space for it in the list object, then GAP enlarges the space for the list by about 25% of its current length (for efficiency reasons). So, the worst waste of memory you can have in an example as above is about 25% (probably negligible in most cases). If you care about this memory then ShrinkAllocationPlist is provided to collect it (can also be sensible for mutable plain lists). If you know the length of the lists you want to create in advance (this is often the case where MakeImmutable is used), you can be even more efficient by creating the empty list in the beginning with the correct amount of memory: gap> x := EmptyPlist(100);; for i in [1..100] do Add(x, i); od; MemoryUsage(x); MakeImmutable(x);; MemoryUsage(x); ShrinkAllocationPlist(x); MemoryUsage(x); 832 832 832 With best regards, Frank -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, /// \\\ 52062 Aachen, Germany \\\ /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De /// \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ From sal at cs.st-andrews.ac.uk Tue Feb 8 15:29:56 2011 From: sal at cs.st-andrews.ac.uk (Stephen Linton) Date: Tue, 8 Feb 2011 15:29:56 +0000 Subject: [GAP Forum] What systems are people compiling GAP on Message-ID: <0E0C7828-D403-4F9C-9D92-1A2A28AB5B10@cs.st-andrews.ac.uk> Dear GAP Forum, We are working towards the next release of GAP and it would be helpful for our testing and planning purposes to know what kinds of systems people are still using, and even more importantly compiling, GAP on. We know already about 32 and 64 bit Linux, MacOS X and Windows XP, Vista and 7 (with cygwin) on intel with gcc version 4. If you are using any operating system, processor or compiler beyond this set (or you would like to), could you please send an email to support at gap-system.org with the details of your system? Thank you The GAP Team From vplkakkar at gmail.com Fri Feb 11 13:55:23 2011 From: vplkakkar at gmail.com (vipul kakkar) Date: Fri, 11 Feb 2011 19:25:23 +0530 Subject: [GAP Forum] Right Multiplication Group of normalized right loop Message-ID: Dear GAP forum Let me first tell you the notations then i tell you what i need with gap to do.. Let g be a group, u be its subgroup and s be right transversal of u in g which always contains identity from trivial coset i.e. s is a nomalized right transversal. This will induce a normalized right loop structure on s. Now i have a gap program which calculate all the normalized right transversals of u in g. In addition i have two other programs "program2" and "program3" given as follows (i have not written any of one, i know little about gap) ---------------------------------------------------------------------------------- "program2" i:=1;; T:=[]; while i<=Length(s) do T[i]:=[]; i:=i+1; od; i:=1; while i<=Length(s) do for x in s[i] do for y in s[i] do for z in u do if y*x*z in s[i] then xoy:=y*x*z; fi; od; Add(T[i], xoy); od; od; i:=i+1; od; Print("Multiplication Table for Transversals \n"); i:=1; while i<=Length(s) do Print(T[i], "\n"); i:=i+1; od; b:=[1..Length(T)]; i:=1; while i<=Length(T) do b[i]:=[1..Length(rt)]; i:=i+1; od; i:=1; while i<=Length(T) do j:=1; while j<=Length(T[i]) do b[i][j]:=ShallowCopy(T[i][j]); j:=j+1; od;i:=i+1; od; --------------------------------------------------------------------------- "program3" map:=function(arg) local x,y,z; x:=1; z:=1; while x<=Length(rt) do z:=T[i][x]; y:=1; while y<=Length(T[i]) do if z=T[i][y] then T[i][y]:=x; fi; y:=y+1; oh od; x:=x+1; od; return(T[i]); end; Print("List of Canonical multiplication table in same order \n"); i:=1; while i<=Length(T) do map(T[i]); w:=Length(rt); sub:=[1..w]; j:=1; T[i]:=List([1..Length(T[i])/w],j->T[i]{(j-1)*w+sub}); Print(T[i],"\n"); i:=i+1; od; -------------------------------------- now "program2" calculate normalized right loop table in terms of elements of s and "program3" turn it into canonical table i.e. in terms of 1,2....... Now i want to calculate the Right Multiplication Group of normalized right loop, i.e. the group generated by the right translations, this is simply the group generated by the columns of canonical table when viewed as permutations. i do'nt have any idea to calculate this in gap. Kindly help me for this problem. with regards. vipul From bob.heffernan at gmail.com Sun Feb 13 06:40:56 2011 From: bob.heffernan at gmail.com (Robert Heffernan) Date: Sun, 13 Feb 2011 09:40:56 +0300 Subject: [GAP Forum] syntax highlighting in vim Message-ID: Hi all, Does anybody use Frank Lubeck's syntax highlighting file for vim when editing gap code? I have followed the instructions here: http://www-gap.dcs.st-and.ac.uk/ForumArchive/Gamble.1/Greg.1/Re__Edit.1/1.html and some things seem to work fine (automatic folding and completion) but there does not seem to be any highlighting going on. There are certainly several lines in the gap.vim file that seem to intend to change to colour etc. of various bits but it's not working. Does anybody else have this problem? Can anybody think of something that I might be doing wrong? Syntax highlighting works fine for other things (latex, for instance) so I don't think it's something wrong with my installation of vim. Thank you, Bob From dima at ntu.edu.sg Sun Feb 13 07:27:10 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Sun, 13 Feb 2011 15:27:10 +0800 Subject: [GAP Forum] syntax highlighting in vim In-Reply-To: References: Message-ID: It could be an incompatibility of versions - after all, the post you refer to was made in 2002. On 13 February 2011 14:40, Robert Heffernan wrote: > Hi all, > > Does anybody use Frank Lubeck's syntax highlighting file for vim when > editing gap code? > > I have followed the instructions here: > http://www-gap.dcs.st-and.ac.uk/ForumArchive/Gamble.1/Greg.1/Re__Edit.1/1.html > and some things seem to work fine (automatic folding and completion) > but there does not seem to be any highlighting going on. There are > certainly several lines in the gap.vim file that seem to intend to > change to colour etc. of various bits but it's not working. > > Does anybody else have this problem? Can anybody think of something > that I might be doing wrong? Syntax highlighting works fine for other > things (latex, for instance) so I don't think it's something wrong > with my installation of vim. > > Thank you, > Bob > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From bob.heffernan at gmail.com Sun Feb 13 07:54:14 2011 From: bob.heffernan at gmail.com (Robert Heffernan) Date: Sun, 13 Feb 2011 10:54:14 +0300 Subject: [GAP Forum] syntax highlighting in vim In-Reply-To: References: Message-ID: Hi all, For the record: it works if I move ~/.vim/gap.vim to ~/.vim/syntax/gap.vim and update ~/.vimrc accordingly. I guess vim expects syntax highlighting stuff to be in this folder. Thank you to those who responded to my question. Regards, Bob Heffernan From pooja at math.bgu.ac.il Sun Feb 13 10:16:50 2011 From: pooja at math.bgu.ac.il (Pooja Singla) Date: Sun, 13 Feb 2011 12:16:50 +0200 Subject: [GAP Forum] multiplication tables of double coset representatives Message-ID: Dear forum members, I would like to know if Gap has some package to answer the following question: Let G be a finite group with a fixed subgroup H. Let Ha_1H, Ha_2H,..., Ha_nH be the complete set of representatives of H\G/H. Then is it possible to determine the multiplication tables Ha_i H.Ha_j H in terms of H a_k H (1 \leq i,j,k \leq n)? Any help in this regard will be very useful. Thanks, Pooja. -- ------------------------------------------------------------------------------------------------------------------------------------------ Post Doctoral Fellow Tel No. +972-8-647-7883 Ben-Gurion University of the Negev, Fax No.+972-8-647-7648 Be'er Sheva, Israel-84105 ------------------------------------------------------------------------------------------------------------------------------------------ From Bill.Allombert at math.u-bordeaux1.fr Sun Feb 13 10:34:28 2011 From: Bill.Allombert at math.u-bordeaux1.fr (Bill Allombert) Date: Sun, 13 Feb 2011 11:34:28 +0100 Subject: [GAP Forum] syntax highlighting in vim In-Reply-To: References: Message-ID: <20110213103428.GA5035@yellowpig> On Sun, Feb 13, 2011 at 09:40:56AM +0300, Robert Heffernan wrote: > Hi all, > > Does anybody use Frank Lubeck's syntax highlighting file for vim when > editing gap code? I would suggest Frank to ask for his file to be included in the vim distribution. This is how we do it for PARI/GP and this way vim users automatically have the file gp.vim available, with the correct version. Cheers, Bill. From dima at ntu.edu.sg Sun Feb 13 10:55:29 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Sun, 13 Feb 2011 18:55:29 +0800 Subject: [GAP Forum] multiplication tables of double coset representatives In-Reply-To: References: Message-ID: Dear Pooja Singla, I would u talk about the equivalent setup of the algebra of orbitals of G in its action on the (say, left) cosets of H in G. You can use GRAPE (a GAP package) to compute the multiplication coefficients, or a (not yet official) GAP package cohcfg: http://www1.spms.ntu.edu.sg/~dima/software/cohcfg-a1.tgz (you need to install it by, say, unpacking into the pkg/ subdirectory of your GAP installation) It has functions to compute the multiplication coefficients (a.k.a. structure constants): #(here is an example for S_5 acting on pairs of {1..5}) gap> LoadPackage("cohcfg");; gap>g:=Action(SymmetricGroup(5),Orbit(SymmetricGroup(5),[1,2],OnSets),OnSets);; gap> A:=TwoOrbitNumbers(g);; # (here (1,2,3)=(k,i,j)) gap> StructureConstantTwoOrbitsAlgebra(A,1,2,3); 0 # computing the regular representation of the algebra, i.e. an #isomorphism to a certain algebra of nxn marices gap> RegularRepresentationMatrices(A); [ [ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ], [ [ 0, 6, 0 ], [ 1, 3, 2 ], [ 0, 4, 2 ] ], [ [ 0, 0, 3 ], [ 0, 2, 1 ], [ 1, 2, 0 ] ] ] (sorry, there is still no manual, and the function names are going to be changed, but the code is sufficiently documented, and you are welcome to ask more about its functionality -- it can do much more than just computing these multiplication coefficients) Hope this helps, Dmitrii http://www.ntu.edu.sg/home/dima/ On 13 February 2011 18:16, Pooja Singla wrote: > Dear forum members, > > I would like to know if Gap has some package to answer the following > question: > > Let G be a finite group with a fixed subgroup H. Let Ha_1H, Ha_2H,..., Ha_nH > > be the complete set of representatives of H\G/H. Then is it possible to > determine > the multiplication tables Ha_i H.Ha_j H in terms of H a_k H (1 \leq i,j,k > \leq n)? > > Any help in this regard will be very useful. > > Thanks, > Pooja. > > > > -- > > > ------------------------------------------------------------------------------------------------------------------------------------------ > Post Doctoral Fellow Tel No. > +972-8-647-7883 > Ben-Gurion University of the Negev, Fax > No.+972-8-647-7648 > Be'er Sheva, Israel-84105 > ------------------------------------------------------------------------------------------------------------------------------------------ > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From krkini at ntu.edu.sg Sun Feb 13 14:14:02 2011 From: krkini at ntu.edu.sg (Keshav Rao Kini) Date: Sun, 13 Feb 2011 22:14:02 +0800 Subject: [GAP Forum] syntax highlighting in vim In-Reply-To: <20110213103428.GA5035@yellowpig> References: <20110213103428.GA5035@yellowpig> Message-ID: Another (perhaps easier) option is to provide a directory in the GAP distribution that can be directly included by adding, say, "set runtimepath+=/opt/gap4r4/vim/" to one's ~/.vimrc file. This is how for example GNU LilyPond does it. -Keshav Disclaimer: the boilerplate text at the foot of this email has been added automatically by my mail server. This was not done by my request (rather the opposite) so please disregard it. 2011/2/13 Bill Allombert > On Sun, Feb 13, 2011 at 09:40:56AM +0300, Robert Heffernan wrote: > Hi all, > > Does anybody use Frank Lubeck's syntax highlighting file for vim when > editing gap code? I would suggest Frank to ask for his file to be included in the vim distribution. This is how we do it for PARI/GP and this way vim users automatically have the file gp.vim available, with the correct version. Cheers, Bill. _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum ________________________________ CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From wright at uoregon.edu Sun Feb 13 19:21:34 2011 From: wright at uoregon.edu (Charles Wright) Date: Sun, 13 Feb 2011 11:21:34 -0800 Subject: [GAP Forum] multiplication tables of double coset representatives In-Reply-To: References: Message-ID: <4D582F3E.5020706@uoregon.edu> Dear Poola Singla, For what it's worth, you might find some related (non-GAP) ideas in my 1969 article "On the Multiplication Group of a Loop", Illinois Journal of Mathematics, vol.13, No.4. Good luck, Charles Wright On 2/13/11 2:16 AM, Pooja Singla wrote: > Dear forum members, > > I would like to know if Gap has some package to answer the following > question: > > Let G be a finite group with a fixed subgroup H. Let Ha_1H, Ha_2H,..., Ha_nH > > be the complete set of representatives of H\G/H. Then is it possible to > determine > the multiplication tables Ha_i H.Ha_j H in terms of H a_k H (1 \leq i,j,k > \leq n)? > > Any help in this regard will be very useful. > > Thanks, > Pooja. > > > From frank.luebeck at math.rwth-aachen.de Sun Feb 13 23:15:40 2011 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Mon, 14 Feb 2011 00:15:40 +0100 Subject: [GAP Forum] syntax highlighting in vim In-Reply-To: References: Message-ID: <20110213231540.GA25253@beteigeuze> On Sun, Feb 13, 2011 at 09:40:56AM +0300, Robert Heffernan wrote: > Hi all, > > Does anybody use Frank Lubeck's syntax highlighting file for vim when > editing gap code? > > I have followed the instructions here: > http://www-gap.dcs.st-and.ac.uk/ForumArchive/Gamble.1/Greg.1/Re__Edit.1/1.html Dear Bob, dear Forum, This is a quite old mail, and you could also access this information in the file GAPROOT/etc/README.vim-utils of your GAP installation or by asking the GAP help: gap> ?vim > and some things seem to work fine (automatic folding and completion) > but there does not seem to be any highlighting going on. There are > certainly several lines in the gap.vim file that seem to intend to > change to colour etc. of various bits but it's not working. > > Does anybody else have this problem? Can anybody think of something > that I might be doing wrong? Syntax highlighting works fine for other > things (latex, for instance) so I don't think it's something wrong > with my installation of vim. You found the solution yourself. Indeed, the default configuration of vim has changed in some version, and now the 'gap.vim' file must be copied to: ~/.vim/syntax/gap.vim Thanks for the reminder, I will adjust the documentation for the next GAP release. Except for this small detail vim is very stable, and I didn't change anything in the vim-files for GAP for a long time. Bill Allombert suggested to include the files in the vim distribution. I didn't do this because there is already some other syntax file for files with .g extension. Best regards, Frank -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, /// \\\ 52062 Aachen, Germany \\\ /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De /// \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ From vbovdi at math.unideb.hu Thu Feb 17 21:30:51 2011 From: vbovdi at math.unideb.hu (vbovdi at math.unideb.hu) Date: Thu, 17 Feb 2011 22:30:51 +0100 (CET) Subject: [GAP Forum] semidirect products In-Reply-To: References: Message-ID: <1126.89.132.234.120.1297978251.squirrel@webmail.math.klte.hu> Dear Forum Members, Let A and B be finite 2-groups. I am interested in the isomorphism classes of the semidirect (or/and central) products of these groups. Do you know about a package which can aid this sort of calculation ? Thanks. Best regards, Victor Bovdi From sandeepr.murthy at gmail.com Sat Feb 19 14:16:43 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Sat, 19 Feb 2011 14:16:43 +0000 Subject: [GAP Forum] Double Semidirect Product Group Message-ID: Hi, I have written a GAP function that constructs double semidirect product groups of type ((C_l)^2 \rtimes_s C_m) \rtimes_t C_n where C_l, C_m, C_n are cyclic groups of orders l, m, n respectively, and C_m acts on (C_l)^2 via a nontrivial homomorphism s: C_m --> Aut((C_l)^2), and C_n acts on the semidirect product (C_l)^2 \rtimes_s C_m via a nontrivial homomorphism t: C_n --> Aut((C_l)^2 \rtimes_s C_m)). So for example for l = 5, m = 3, n = 2, it should give a semidirect product group of order 150, one of [150, 5], [150,6], [150,9] depending on the choices of homomorphisms. However, when I run it on GAP I get an error: Error, usage: Image(), Image(,), Image(,) called from Image( aut, pcgsG[i] ) called from SplitExtension( G, aut, N ) called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> Here is the code: DoubleSemidirectProductGroup := function( l, m, n ) local N1, AN1, oAN1, aN1, gcd, h, N2, AN2, oAN2, aN2, K1, k1, K2, k2; N1 := DirectProduct( CyclicGroup( l ), CyclicGroup( l ) ); AN1 := AutomorphismGroup( N1 ); oAN1 := Order( AN1 ); gcd := Gcd( m, oAN1 ); aN1 := Filtered( AN1, x -> Order( x ) = gcd )[1]; K1 := CyclicGroup( m ); k1 := Elements( K1 )[2]; h := GroupHomomorphismByImages( K1, AN1, [k1], [aN1] ); N2 := SemidirectProduct( N1, h, K1 ); AN2 := AutomorphismGroup( N2 ); oAN2 := Order( AN2 ); gcd := Gcd( n, oAN2 ); aN2 := Filtered( AN2, x -> Order( x ) = gcd )[1]; K2 := CyclicGroup( n ); k2 := Elements( K2 )[2]; h := GroupHomomorphismByImages( K2, AN2, [k2], [aN2] ); return SemidirectProduct( N2, h, K2 ); end; Could someone please point out where the error is? Sincerely, Sandeep. From sal at mcs.st-andrews.ac.uk Sat Feb 19 22:14:58 2011 From: sal at mcs.st-andrews.ac.uk (Stephen Linton) Date: Sat, 19 Feb 2011 22:14:58 +0000 Subject: [GAP Forum] Double Semidirect Product Group In-Reply-To: References: Message-ID: Dear GAP Forum: On 19 Feb 2011, at 14:16, Sandeep Murthy wrote: > Hi, > > I have written a GAP function that constructs double semidirect product groups of type > > ((C_l)^2 \rtimes_s C_m) \rtimes_t C_n > > where C_l, C_m, C_n are cyclic groups of orders l, m, n respectively, and C_m > acts on (C_l)^2 via a nontrivial homomorphism s: C_m --> Aut((C_l)^2), and > C_n acts on the semidirect product (C_l)^2 \rtimes_s C_m via a nontrivial > homomorphism t: C_n --> Aut((C_l)^2 \rtimes_s C_m)). So for example for > l = 5, m = 3, n = 2, it should give a semidirect product group of order 150, one of > [150, 5], [150,6], [150,9] depending on the choices of homomorphisms. > > However, when I run it on GAP I get an error: > > Error, usage: Image(), Image(,), Image(,) called from > Image( aut, pcgsG[i] ) called from > SplitExtension( G, aut, N ) called from > ( ) called from read-eval-loop > Entering break read-eval-print loop ... > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > brk> > The problem is simply that you have the arguments to SemidirectProduct in the wrong order. The first argument should be the acting group, and the third one the group acted on. The relevant part of the documentation is this: > SemidirectProduct( , , ) O constructs the semidirect product of with acting via . must be a homomorphism from into a group of automorphisms of . If is a group, must be a homomorphism from into a group of automorphisms of . Steve From alexander.konovalov at gmail.com Tue Feb 22 14:01:58 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Tue, 22 Feb 2011 14:01:58 +0000 Subject: [GAP Forum] x^y with Floats In-Reply-To: <758DA274-118E-47AF-BA2A-81D9EF4D0A24@me.com> References: <758DA274-118E-47AF-BA2A-81D9EF4D0A24@me.com> Message-ID: <04832F16-5B0B-4A70-8DAA-A1F8B01A7359@gmail.com> Dear Ivo, The GAP functionality for Floats is not documented and may be changed in the future. In GAP 4.4.12, to use x^y for floats, it's important to remember that x must be a float, otherwise an error will occur. To create floats, call Float with an integer to create a corresponding float, or with a string representation of a float, if it has a decimal point. For example: gap> Float("2.3")^3; 12.167 gap> Float("2.3")^Float("3.53"); 18.919 gap> Float(2)^Float("3.53"); 11.5514 gap> Float("2")^Float("3.53"); 11.5514 Hope this helps, Alexander On 6 Feb 2011, at 17:16, Ivo Hedtke wrote: > Dear Forum, > > is there a possibility to compute x^y with Floats in GAP? I found LOG_FLOAT for example, but I didn't found something for x^y. > > Sincerely, > Ivo > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From sandeepr.murthy at gmail.com Wed Feb 23 12:42:51 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Wed, 23 Feb 2011 12:42:51 +0000 Subject: [GAP Forum] Structure Description of Small Group [32,6] Message-ID: Hi, There is a small group with ID [32,6] and structure description: (C2 x C2) . (C4 x C2) I'm not sure what the dot represents. What is the nature of this group? Sincerely, Sandeep. From Bill.Allombert at math.u-bordeaux1.fr Wed Feb 23 13:49:20 2011 From: Bill.Allombert at math.u-bordeaux1.fr (Bill Allombert) Date: Wed, 23 Feb 2011 14:49:20 +0100 Subject: [GAP Forum] Structure Description of Small Group [32,6] In-Reply-To: References: Message-ID: <20110223134920.GJ3048@yellowpig> On Wed, Feb 23, 2011 at 12:42:51PM +0000, Sandeep Murthy wrote: > Hi, > > There is a small group with ID [32,6] and > structure description: > > (C2 x C2) . (C4 x C2) > > I'm not sure what the dot represents. According to the documentation: | C(G) . G/C(G) = G' . G/G' ; non-split extension ; (equal alternatives and ; trivial extensions omitted) > What is the nature of this group? There is an non-split exact sequence: 1->H->G->G/H->1 where H = (C2 x C2) and G/H = (C4 x C2). Cheers, Bill. From tshun at kurims.kyoto-u.ac.jp Mon Feb 28 11:34:01 2011 From: tshun at kurims.kyoto-u.ac.jp (Shunsuke Tsuchioka) Date: Mon, 28 Feb 2011 20:34:01 +0900 (JST) Subject: [GAP Forum] A bug in CharacterTable("2.A11.2") mod 3 Message-ID: <20110228.203401.68553085.tshun@kurims.kyoto-u.ac.jp> Hi, I believe I found a bug in CharacterTable. It is concluded that there exist 3-modular spin irreducible representations of dimension 1440-144=1296 of the Schur cover of the symmetric group of degree 11 in the paper: Morris, A. O.(4-WALA); Yaseen, A. K.(4-WALA) Decomposition matrices for spin characters of symmetric groups. Proc. Roy. Soc. Edinburgh Sect. A 108 (1988), no. 1-2, 145 However, in gap, the command: c:=CharacterTable("2.A11.2") mod 3; Display(c); displays the following infomation on the spin irreducible representations: X.28 32 -32 . . . . . -8 8 2 -2 4 -4 . . -1 1 . X.29 144 -144 . . . . . -16 16 -1 1 4 -4 . . 1 -1 . X.30 144 -144 . . . . . -16 16 -1 1 4 -4 . . 1 -1 . X.31 528 -528 . . . . . -12 12 -2 2 -4 4 . . . . . X.32 640 -640 . . . . . 20 -20 . . -4 4 . . 2 -2 . X.33 1440 -1440 . . . . . 20 -20 . . -2 2 . . -1 1 . X.34 1440 -1440 . . . . . 20 -20 . . -2 2 . . -1 1 . I believe X.33 and X.34 are not irreducible and contain X.29 and X.30 as their composition factors. Sincerely, Shunsuke Tsuchioka From lukas.maas at iem.uni-due.de Fri Mar 4 18:04:25 2011 From: lukas.maas at iem.uni-due.de (Lukas Maas) Date: Fri, 4 Mar 2011 19:04:25 +0100 Subject: [GAP Forum] A bug in CharacterTable("2.A11.2") mod 3 In-Reply-To: <20110228.203401.68553085.tshun@kurims.kyoto-u.ac.jp> References: <20110228.203401.68553085.tshun@kurims.kyoto-u.ac.jp> Message-ID: <827C9222-C16A-495B-8D12-2472869B6339@iem.uni-due.de> Dear All, the discrepancy that Shunsuke Tsuchioka noticed comes from a mistake in the paper by Morris and Yaseen. This was discussed by Thomas Breuer, Juergen Mueller and me some days ago, unfortunately in the wrong mailing list. So here is the full correspondence. Best wishes, Lukas On Feb 28, 2011, at 12:34 PM, Shunsuke Tsuchioka wrote: > Hi, > > I believe I found a bug in CharacterTable. > > It is concluded that there exist 3-modular spin > irreducible representations of dimension 1440-144=1296 > of the Schur cover of the symmetric group of degree 11 > in the paper: > > Morris, A. O.(4-WALA); Yaseen, A. K.(4-WALA) > Decomposition matrices for spin characters of symmetric groups. > Proc. Roy. Soc. Edinburgh Sect. A 108 (1988), no. 1-2, 145 > > However, in gap, the command: > > c:=CharacterTable("2.A11.2") mod 3; > Display(c); > > displays the following infomation > on the spin irreducible representations: > > X.28 32 -32 . . . . . -8 8 2 -2 4 -4 . . -1 1 . > X.29 144 -144 . . . . . -16 16 -1 1 4 -4 . . 1 -1 . > X.30 144 -144 . . . . . -16 16 -1 1 4 -4 . . 1 -1 . > X.31 528 -528 . . . . . -12 12 -2 2 -4 4 . . . . . > X.32 640 -640 . . . . . 20 -20 . . -4 4 . . 2 -2 . > X.33 1440 -1440 . . . . . 20 -20 . . -2 2 . . -1 1 . > X.34 1440 -1440 . . . . . 20 -20 . . -2 2 . . -1 1 . > > I believe X.33 and X.34 are not irreducible and > contain X.29 and X.30 as their composition factors. > > Sincerely, > Shunsuke Tsuchioka > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > On Feb 28, 2011, at 3:32 PM, Lukas Maas wrote: > Dear All, > > this is indeed a contradiction to the paper by Morris and Yaseen. > But, for instance, using the MeatAxe programs it can be proved computationally > that there is an 1440-dimensional irreducible 3-modular spin representation of Sym(11). > > I attached a GAP-readable file that contains two matrices a and b which are preimages > of (1,2) and (1,..,11) under the 32-dimensional basic spin representation m32 of Sym(11) over GF(3). > The tensor product of m32 with itself has two composition factors of dimension 45. > If m45 denotes one of them, then the tensor product of m45 with itself has a composition factor of dimension 131, > say m131, such that the wanted spin representation of dimension 1440 appears as composition factors of the tensor product of m32 with m131. > > Read("mat.g"); > Order(a); #4 > Order(b); #22 > > # find m45 in m32 x m32 > t1:= KroneckerProduct( a, a );; > t2:= KroneckerProduct( b, b );; > t:= GModuleByMats( [t1,t2], GF(3) ); > cf32x32:= MTX.CompositionFactors( t ); > pos:= Position( List(cf32x32,c->c.dimension), 45 ); > m45:= cf32x32[pos].generators; > > # find m131 in m45 x m45 > t1:= KroneckerProduct( m45[1], m45[1] );; > t2:= KroneckerProduct( m45[2], m45[2] );; > t:= GModuleByMats( [t1,t2], GF(3) ); > cf45x45:= MTX.CompositionFactors( t ); > pos:= Position( List(cf45x45,c->c.dimension), 131 ); > m131:= cf45x45[pos].generators; > > # find the pair of 1440-dim. spin rep's in m32 x m131 > t1:= KroneckerProduct( a, m131[1] );; > t2:= KroneckerProduct( b, m131[2] );; > t:= GModuleByMats( [t1,t2], GF(3) ); > cf32x131:= MTX.CompositionFactors( t ); > List( cf32x131, c-> c.dimension ); > #[ 1440, 640, 32, 1440, 640 ] > > Cheers, > Lukas > > On Feb 28, 2011, at 3:40 PM, Juergen Mueller wrote: > Dear All, > > in addition to Lukas's comment, I would just like to mention > that the mistake in the Morris-Yaseen paper (which indeed was > known for a while to the Modular Atlas community) is on > p.163, l.-7: In the decomposition of the tensor product > <7,4> x [9,2] it should correctly read b = 8 + 11x and c = 8 + 10x, > thus the argument there just breaks down. > > Best wishes, J"urgen M"uller > From williamdemeo at gmail.com Fri Mar 4 21:28:44 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Fri, 4 Mar 2011 11:28:44 -1000 Subject: [GAP Forum] A bug in CharacterTable("2.A11.2") mod 3 In-Reply-To: <827C9222-C16A-495B-8D12-2472869B6339@iem.uni-due.de> References: <20110228.203401.68553085.tshun@kurims.kyoto-u.ac.jp> <827C9222-C16A-495B-8D12-2472869B6339@iem.uni-due.de> Message-ID: Side-note/question: if we notice bugs of a theoretical nature, should they be posted to this forum rather than (or in addition to) the support at gap-system.org address? Incidentally, I noticed recently that the IntermediateSubgroups routine is not working properly for some cyclic groups, like C32 and C64, though I don't think this is due to a theoretical mistake, as I'm sure the programmers know what the subgroup lattices look like for these groups! :) Anyway, I submitted the bug to support at gap-system.org (didn't get a response). -William On Fri, Mar 4, 2011 at 8:04 AM, Lukas Maas wrote: > Dear All, > > the discrepancy that Shunsuke Tsuchioka noticed comes from a mistake in the paper by Morris and Yaseen. > This was discussed by Thomas Breuer, Juergen Mueller and me some days ago, > unfortunately in the wrong mailing list. So here is the full correspondence. > > Best wishes, > Lukas > > > On Feb 28, 2011, at 12:34 PM, Shunsuke Tsuchioka wrote: > >> Hi, >> >> I believe I found a bug in CharacterTable. >> >> It is concluded that there exist 3-modular spin >> irreducible representations of dimension 1440-144=1296 >> of the Schur cover of the symmetric group of degree 11 >> in the paper: >> >> Morris, A. O.(4-WALA); Yaseen, A. K.(4-WALA) >> Decomposition matrices for spin characters of symmetric groups. >> Proc. Roy. Soc. Edinburgh Sect. A 108 (1988), no. 1-2, 145 >> >> However, in gap, the command: >> >> c:=CharacterTable("2.A11.2") mod 3; >> Display(c); >> >> displays the following infomation >> on the spin irreducible representations: >> >> X.28 ? ? ?32 ? -32 ? . ?. ?. ?. ?. ?-8 ? 8 ?2 ?-2 ?4 ?-4 ?. ? . ?-1 ? 1 ? . >> X.29 ? ? 144 ?-144 ? . ?. ?. ?. ?. -16 ?16 -1 ? 1 ?4 ?-4 ?. ? . ? 1 ?-1 ? . >> X.30 ? ? 144 ?-144 ? . ?. ?. ?. ?. -16 ?16 -1 ? 1 ?4 ?-4 ?. ? . ? 1 ?-1 ? . >> X.31 ? ? 528 ?-528 ? . ?. ?. ?. ?. -12 ?12 -2 ? 2 -4 ? 4 ?. ? . ? . ? . ? . >> X.32 ? ? 640 ?-640 ? . ?. ?. ?. ?. ?20 -20 ?. ? . -4 ? 4 ?. ? . ? 2 ?-2 ? . >> X.33 ? ?1440 -1440 ? . ?. ?. ?. ?. ?20 -20 ?. ? . -2 ? 2 ?. ? . ?-1 ? 1 ? . >> X.34 ? ?1440 -1440 ? . ?. ?. ?. ?. ?20 -20 ?. ? . -2 ? 2 ?. ? . ?-1 ? 1 ? . >> >> I believe X.33 and X.34 are not irreducible and >> contain X.29 and X.30 as their composition factors. >> >> Sincerely, >> Shunsuke Tsuchioka >> >> >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > > > On Feb 28, 2011, at 3:32 PM, Lukas Maas wrote: > >> Dear All, >> >> this is indeed a contradiction to the paper by Morris and Yaseen. >> But, for instance, using the MeatAxe programs it can be proved computationally >> that there is an 1440-dimensional irreducible 3-modular spin representation of Sym(11). >> >> I attached a GAP-readable file that contains two matrices a and b which are preimages >> of (1,2) and (1,..,11) under the 32-dimensional basic spin representation m32 of Sym(11) over GF(3). >> The tensor product of m32 with itself has two composition factors of dimension 45. >> If m45 denotes one of them, then the tensor product of m45 with itself has a composition factor of dimension 131, >> say m131, such that the wanted spin representation of dimension 1440 appears as composition factors of the tensor product of m32 with m131. >> >> Read("mat.g"); >> Order(a); #4 >> Order(b); #22 >> >> # find m45 in m32 x m32 >> t1:= KroneckerProduct( a, a );; >> t2:= KroneckerProduct( b, b );; >> t:= GModuleByMats( [t1,t2], GF(3) ); >> cf32x32:= MTX.CompositionFactors( t ); >> pos:= Position( List(cf32x32,c->c.dimension), 45 ); >> m45:= cf32x32[pos].generators; >> >> # find m131 in m45 x m45 >> t1:= KroneckerProduct( m45[1], m45[1] );; >> t2:= KroneckerProduct( m45[2], m45[2] );; >> t:= GModuleByMats( [t1,t2], GF(3) ); >> cf45x45:= MTX.CompositionFactors( t ); >> pos:= Position( List(cf45x45,c->c.dimension), 131 ); >> m131:= cf45x45[pos].generators; >> >> # find the pair of 1440-dim. spin rep's in m32 x m131 >> t1:= KroneckerProduct( a, m131[1] );; >> t2:= KroneckerProduct( b, m131[2] );; >> t:= GModuleByMats( [t1,t2], GF(3) ); >> cf32x131:= MTX.CompositionFactors( t ); >> List( cf32x131, c-> c.dimension ); >> #[ 1440, 640, 32, 1440, 640 ] >> >> Cheers, >> Lukas >> >> > > On Feb 28, 2011, at 3:40 PM, Juergen Mueller wrote: > >> Dear All, >> >> in addition to Lukas's comment, I would just like to mention >> that the mistake in the Morris-Yaseen paper (which indeed was >> known for a while to the Modular Atlas community) is on >> p.163, l.-7: In the decomposition of the tensor product >> <7,4> x [9,2] it should correctly read b = 8 + 11x and c = 8 + 10x, >> thus the argument there just breaks down. >> >> Best wishes, J"urgen M"uller >> > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From nik9kr at gmail.com Wed Mar 9 13:18:16 2011 From: nik9kr at gmail.com (NIK NIK) Date: Wed, 9 Mar 2011 16:18:16 +0300 Subject: [GAP Forum] (no subject) Message-ID: Dear GAP Forum: I work with ?Automata? package and find interesting thing: gap> ab_star:=RationalExpression("(aUb)*"); (aUb)* gap> aut_star:=RatExpToNDAut( ab_star ); < non deterministic automaton on 2 letters with 3 states > gap> Display(aut_star); | 1 2 3 --------------------------- a | [ 1 ] [ 1 ] [ 1 ] b | [ 2 ] [ 2 ] [ 2 ] Initial state: [ 3 ] Accepting states: [ 1, 2, 3 ] gap> daut_star:=RatExpToAut( ab_star ); < deterministic automaton on 2 letters with 1 states > gap> Display(daut_star); | 1 -------- a | 1 b | 1 Initial state: [ 1 ] Accepting state: [ 1 ] gap> r_aut_star:=AutomatonToRatExp ( aut_star ); (aa*bUb)(aa*bUb)*(aa*U@)Uaa*U@ gap> r_daut_star:=AutomatonToRatExp ( daut_star ); (aUb)* Is something wrong with regular expression for nondet automaton? Could someone please point out where the error is? Sincerely, Nikolay Krayinyukov From sal at mcs.st-andrews.ac.uk Wed Mar 9 13:35:54 2011 From: sal at mcs.st-andrews.ac.uk (Stephen Linton) Date: Wed, 9 Mar 2011 13:35:54 +0000 Subject: [GAP Forum] (no subject) In-Reply-To: References: Message-ID: Dear Nikolay, I don't think the automata package is actually wrong here, although it is, perhaps not being as clever as it could be. The rather long regular expression you get from the non-deterministic automaton still describes the same language as (aUb)*, albeit in a rather clumsy way. Steve On 9 Mar 2011, at 13:18, NIK NIK wrote: > Dear GAP Forum: > > I work with ?Automata? package and find interesting thing: > > gap> ab_star:=RationalExpression("(aUb)*"); > (aUb)* > > gap> aut_star:=RatExpToNDAut( ab_star ); > < non deterministic automaton on 2 letters with 3 states > > gap> Display(aut_star); > | 1 2 3 > --------------------------- > a | [ 1 ] [ 1 ] [ 1 ] > b | [ 2 ] [ 2 ] [ 2 ] > Initial state: [ 3 ] > Accepting states: [ 1, 2, 3 ] > > gap> daut_star:=RatExpToAut( ab_star ); > < deterministic automaton on 2 letters with 1 states > > gap> Display(daut_star); > | 1 > -------- > a | 1 > b | 1 > Initial state: [ 1 ] > Accepting state: [ 1 ] > > gap> r_aut_star:=AutomatonToRatExp ( aut_star ); > (aa*bUb)(aa*bUb)*(aa*U@)Uaa*U@ > gap> r_daut_star:=AutomatonToRatExp ( daut_star ); > (aUb)* > > > Is something wrong with regular expression for nondet automaton? > > Could someone please point out where the error is? > > > Sincerely, > Nikolay Krayinyukov > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From j.taylor at abdn.ac.uk Thu Mar 10 10:43:42 2011 From: j.taylor at abdn.ac.uk (Jay Taylor) Date: Thu, 10 Mar 2011 11:43:42 +0100 Subject: [GAP Forum] Subgroups of Finitely Presented Groups Message-ID: Dear Forum, I have the following problem. I start with a free group F on a finite number of generators and then construct a finite finitely presented group H = F/R, for some relations R. I now define a subgroup S of H by giving a certain list of generators for S coming from H. When I call Elements(S) the elements are presented as words in the generators used to define S. However I would like to get GAP to express the elements of S as minimal length words in the original generators of F using the relations R. In other words I want to work with the image of S under an embedding of S into H. Is this possible? Thanks for any help anybody can give me. -Jay Using: GAP 4, version 4.4.12. From Bill.Allombert at math.u-bordeaux1.fr Thu Mar 10 14:38:45 2011 From: Bill.Allombert at math.u-bordeaux1.fr (Bill Allombert) Date: Thu, 10 Mar 2011 15:38:45 +0100 Subject: [GAP Forum] finitely generated groups of exponent 3 Message-ID: <20110310143845.GB26637@yellowpig> Dear GAP forum, I need to work with finitely generated groups of exponent 3 (which are finite by a theorem of Burnside) and I do not know how to define them in GAP. Cheers, Bill. From jack at ms.uky.edu Thu Mar 10 15:07:59 2011 From: jack at ms.uky.edu (Jack Schmidt) Date: Thu, 10 Mar 2011 10:07:59 -0500 Subject: [GAP Forum] finitely generated groups of exponent 3 In-Reply-To: <20110310143845.GB26637@yellowpig> References: <20110310143845.GB26637@yellowpig> Message-ID: Use the ANUPQ package for a quick solution: phi := PqEpimorphism( FreeGroup(4) : Prime:=3, Exponent:=3 ); Now Range(phi); is the free group of exponent 3 on 4 generators (with order 3^14). On 2011-03-10, at 09:38, Bill Allombert wrote: > Dear GAP forum, > > I need to work with finitely generated groups of exponent 3 (which are finite > by a theorem of Burnside) and I do not know how to define them in GAP. > > Cheers, > Bill. > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From jjm at mcs.st-and.ac.uk Mon Mar 14 09:29:07 2011 From: jjm at mcs.st-and.ac.uk (John McDermott) Date: Mon, 14 Mar 2011 09:29:07 +0000 Subject: [GAP Forum] Fwd: a question References: <616277.94918.qm@web112916.mail.gq1.yahoo.com> Message-ID: This question was accidentally sent to the GAP Forum mailing list owner, rather than the list itself. Replies to the original author and/or the list, please. John Begin forwarded message: > From: Zahra Gharib > Date: 13 March 2011 13:57:23 GMT > To: forum-owner at gap-system.org > Subject: a question > > Hello > I want a program in gap which given a group and compute its commutativity degree (that is, the probability that two elements of a finite group commute.) > > thanks a lot > Gharib > -- John McDermott Scientific Officer Centre for Interdisciplinary Research in Computational Algebra School of Computer Science University of St Andrews North Haugh, St Andrews, Fife KY16 9SX SCOTLAND (Room 330, Mathematical Institute) tel +44 1334 463813 mob +44 7941 507531 The University of St Andrews is committed to sustainable practices and the preservation of the environment. Please do not print this email unless absolutely necessary. The University of St Andrews is a charity registered in Scotland : No SC01353 From bob.heffernan at gmail.com Mon Mar 14 10:26:42 2011 From: bob.heffernan at gmail.com (Robert Heffernan) Date: Mon, 14 Mar 2011 13:26:42 +0300 Subject: [GAP Forum] Fwd: a question In-Reply-To: References: <616277.94918.qm@web112916.mail.gq1.yahoo.com> Message-ID: >> From: Zahra Gharib >> I want a program in gap which given a group and compute its commutativity degree (that is, the probability that two elements of a finite group commute.) If G is a finite group, then the probability that two elements selected at random (with replacement) is k/g where k is the number of conjugacy classes in G and g is the order of G. So, you could use something like gap> Pr := G -> NrConjugacyClasses(G) / Order(G); and then, for example: gap> Pr := G -> NrConjugacyClasses(G) / Order(G);; gap> Pr(SymmetricGroup(3)); 1/2 Regards, Bob Heffernan From ahulpke at gmail.com Tue Mar 15 00:08:39 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Tue, 15 Mar 2011 13:08:39 +1300 Subject: [GAP Forum] semidirect products In-Reply-To: <1126.89.132.234.120.1297978251.squirrel@webmail.math.klte.hu> References: <1126.89.132.234.120.1297978251.squirrel@webmail.math.klte.hu> Message-ID: Dear GAP-forum, Dear Victor Bovdi, > Let A and B be finite 2-groups. > I am interested in the isomorphism classes of the semidirect (or/and > central) products of these groups. > > Do you know about a package which can aid this sort of calculation ? There is no function that does these calculations directly -- you would have to go step-by-step in determining - Calculate Aut(N) (the package autpgrp will help) - Classify all homomorphisms from G to Aut(N) (there will be a function AllHomomorphismClasses' in GAP4 and i can send you code for this privately if you are interested). - Form the semidirect products using SemidirectProduct' - Test for isomorphism (the anupq' package can help here, as the extensions are p-groups) Best wishes, Alexander Hulpke (with help from Bettina Eick) -- 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 From vbovdi at math.unideb.hu Tue Mar 15 00:47:37 2011 From: vbovdi at math.unideb.hu (vbovdi at math.unideb.hu) Date: Tue, 15 Mar 2011 01:47:37 +0100 (CET) Subject: [GAP Forum] semidirect products In-Reply-To: References: <1126.89.132.234.120.1297978251.squirrel@webmail.math.klte.hu> Message-ID: <1161.89.132.234.120.1300150057.squirrel@webmail.math.klte.hu> Dear Alexander and Bettina, Thank you very much. Best regards, Victor Bovdi > Dear GAP-forum, Dear Victor Bovdi, > >> Let A and B be finite 2-groups. >> I am interested in the isomorphism classes of the semidirect (or/and >> central) products of these groups. >> >> Do you know about a package which can aid this sort of calculation ? > > There is no function that does these calculations directly -- you would > have to go step-by-step in determining > > - Calculate Aut(N) (the package autpgrp will help) > - Classify all homomorphisms from G to Aut(N) (there will be a function > AllHomomorphismClasses' in GAP4 and i can send you code for this > privately if you are interested). > - Form the semidirect products using SemidirectProduct' > - Test for isomorphism (the anupq' package can help here, as the > extensions are p-groups) > > Best wishes, > > Alexander Hulpke (with help from Bettina Eick) > > -- 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 > > > > From ahulpke at gmail.com Wed Mar 16 00:33:10 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Wed, 16 Mar 2011 13:33:10 +1300 Subject: [GAP Forum] Subgroups of Finitely Presented Groups In-Reply-To: References: Message-ID: <66FEE69F-F507-4ACE-BBF1-FABAAD99FE0A@gmail.com> Dear Forum, On Mar 10, 2011, at 11:43 PM, Jay Taylor wrote: > > I have the following problem. I start with a free group F on a finite number > of generators and then construct a finite finitely presented group H = F/R, > for some relations R. I now define a subgroup S of H by giving a certain > list of generators for S coming from H. When I call Elements(S) the elements > are presented as words in the generators used to define S. However I would > like to get GAP to express the elements of S as minimal length words in the > original generators of F using the relations R. In other words I want to > work with the image of S under an embedding of S into H. Is this possible? This is possible if the presentation for H is well-behaved (in the sense that a knuth-bendix completion will terminate). This is for example the case if H is small. Before defining eny products in H, call SetReducedMultiplication(H) This will force all elements of H to be represented in a minimal form wrt. a ShortLex ordering and thus represent the elements of S as a minimal length word in the generators of H. For example gap> F:=FreeGroup("a","b","c"); gap> AssignGeneratorVariables(F); #I Assigned the global variables [ a, b, c ] gap> rels:=[a^2,b^2,c^2,(a*b)^3]; [ a^2, b^2, c^2, a*b*a*b*a*b ] gap> H:=F/rels; gap> SetReducedMultiplication(H); gap> S:=Subgroup(H,[H.1^H.2,H.2]); Group([ a^-1*b^-1*a^-1, b ]) gap> Elements(S); [ , a^-1, b^-1, a^-1*b^-1, b^-1*a^-1, a^-1*b^-1*a^-1 ] Best, 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 From alexk at mcs.st-andrews.ac.uk Wed Mar 16 12:34:08 2011 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Wed, 16 Mar 2011 12:34:08 +0000 Subject: [GAP Forum] running GAP on Windows under Cygwin Message-ID: Dear GAP Forum, We are working towards the next release of GAP, and it would be useful for our testing and planning purposes to know if anyone is using Cygwin in order to compile and run GAP on Windows instead of running GAP Windows binaries which we provide as a part of the standard GAP distribution. If you are using Cygwin to run GAP on Windows, could you please send an email to support at gap-system.org with further details of your system? Thank you, The GAP Team From hn10 at uakron.edu Sat Mar 19 18:00:21 2011 From: hn10 at uakron.edu (Nguyen,Hung Ngoc) Date: Sat, 19 Mar 2011 14:00:21 -0400 Subject: [GAP Forum] Schur multiplier of GL(3,4)? Message-ID: Dear Forum, I am trying to compute the Schur multiplier of GL(3,4) and here is what I got: >G:=GeneralLinearGroup(3,4); [GL(3,4) >AbelianInvariantsMultiplier(G); [Error, the coset enumeration has defined more than 256000 cosets I just wonder if we can do it by using the ''cohomolo'' package and working under UNIX/LINUX systems? Thank you very much for your help, Hung. From D.F.Holt at warwick.ac.uk Sat Mar 19 18:49:53 2011 From: D.F.Holt at warwick.ac.uk (Derek Holt) Date: Sat, 19 Mar 2011 18:49:53 +0000 Subject: [GAP Forum] Schur multiplier of GL(3,4)? In-Reply-To: References: Message-ID: <20110319184953.GA8696@warwick.ac.uk> Dera Hung, Dear Forum, Yes, you can do it with cohomolo. cohomolo works only with permutation groups, and you have to do the calculation one prime at at a time. gap> LoadPackage("cohomolo"); true gap> G:=GL(3,4);; gap> P:=Image(IsomorphismPermGroup(G)); gap> C:=CHR(P,2);; SchurMultiplier(C); [ ] gap> C:=CHR(P,3);; SchurMultiplier(C); [ ] gap> C:=CHR(P,5);; SchurMultiplier(C); The Sylow p-subgroup of the group is cyclic - so the multiplier is trivial. [ ] gap> C:=CHR(P,7);; SchurMultiplier(C); The Sylow p-subgroup of the group is cyclic - so the multiplier is trivial. [ ] So the Schur multiplier of GL(3,4) is trivial. (SL(3,4) on the other hand has multiplier 4 X 4, but the outer automorphism of SL(3,4) of order 3 induces a fixed-point-free action on this group, and hence kills it in GL(3,4).) Derek. > Dear Forum, > > I am trying to compute the Schur multiplier of GL(3,4) and here is what I got: > > >G:=GeneralLinearGroup(3,4); > [GL(3,4) > >AbelianInvariantsMultiplier(G); > [Error, the coset enumeration has defined more than 256000 cosets > > I just wonder if we can do it by using the ''cohomolo'' package and working under UNIX/LINUX systems? > > Thank you very much for your help, > Hung. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From williamdemeo at gmail.com Sun Mar 20 09:38:42 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Sat, 19 Mar 2011 23:38:42 -1000 Subject: [GAP Forum] intransitive G-sets Message-ID: Dear Forum, I have a basic question about constructing instransitive G-sets (and their systems of imprimitivity) in GAP. I start with a transitive group, say G := TransitiveGroup(12,8); (the copy of S4 that acts transitively on 12 points). I compute the stabilizer of a point, say H := Stabilizer(G, 1); Then H = C2, and G acts transitively on the 12 cosets G/H, (and the systems of imprimitivity correspond to the subgroups of G above H). Now, with the same group G, take another subgroup, K < G, and consider the action on the cosets G/K. I would like to form the (intransitive) group action on the set G/H union G/K. That is, I now have two orbits, the original 12 cosets of H, and the cosets of K. I imagine there are a number of ways to do this in GAP, but I have very little experience using GAP to construct group actions, so any tips would be greatly appreciated. Should I be using SparseActionHomorphism? Should I use ExternalSet? Or should I just use some combination of FactorCosetAction and/or Action(G,RightTransversal(G,H),OnRight)? Thanks in advance for any help you can provide! Sincerely, William DeMeo P.S. More background on my problem in case you're curious (but feel free to ignore): Ultimately, I want to look at the lattice of all systems of imprimitivity (i.e. congruences) of such intransitive G-sets. Unfortunately, they don't correspond to the subgroups above some stabilizer (like we have in the transitive case), but I wonder if the following conjecture is true: If L is the congruence lattice of an (intransitive) group action, then there is some \emph{transitive} group action (presumably coming from a much larger group) with the same congruence lattice L. If anyone knows that this is true, please let me know. If you know that it is false, then you have solved the whole problem [1]. (P.P.S. All groups are finite.) [1] http://garden.irmacs.sfu.ca/?q=op/finite_congruence_lattice_problem From paloff at ya.ru Sun Mar 20 16:17:53 2011 From: paloff at ya.ru (Igor Korepanov) Date: Sun, 20 Mar 2011 19:17:53 +0300 Subject: [GAP Forum] can one define identifiers like f1, f2, f3 in an automatic way? Message-ID: <340921300637873@web64.yandex.ru> Dear Forum, When I worked in Maple, it was possible to define an identifier like f2 in such a way: first write n:=2; and then write f||n . That is, concatenate symbols to make an identifier for a variable or a function. Is something like that possible in GAP ? Best wishes, Igor From luca.giuzzi at gmail.com Sun Mar 20 19:39:26 2011 From: luca.giuzzi at gmail.com (Luca giuzzi) Date: Sun, 20 Mar 2011 20:39:26 +0100 Subject: [GAP Forum] can one define identifiers like f1, f2, f3 in an automatic way? Message-ID: <201103202039.27061.luca.giuzzi@gmail.com> I do not know if this is the most straightforward (or idiomatic) way to do it, but this seems to work as expected: for i in [1..10] do str:=Concatenation("f",String(i)," := ",String(i)," ; "); istr:=InputTextString(str); ReadAsFunction(istr)(); od; By the way, is there any other way to get something akin to eval() in gap? All the best, lg On Sunday, March 20, 2011 05:17:53 pm Igor Korepanov wrote: > Dear Forum, > > When I worked in Maple, it was possible to define an identifier like f2 > in such a way: first write n:=2; > and then write f||n . > > That is, concatenate symbols to make an identifier for a variable or a > function. > > Is something like that possible in GAP ? > > Best wishes, > > Igor > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From graham.ellis at nuigalway.ie Sun Mar 20 20:12:18 2011 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Sun, 20 Mar 2011 20:12:18 -0000 Subject: [GAP Forum] Schur multiplier of GL(3,4)? References: <20110319184953.GA8696@warwick.ac.uk> Message-ID: <47C2E007B3E98F4E8BBC7997F007CE1308BC3FFC@EVS1.ac.nuigalway.ie> Dear Hung, You could also compute the Schur multiplier (= second integral homology) of GL(3,4) using the HAP package. As computations tend to be quicker on permutations groups than on matrix groups, use the following commands. gap> G:=Image(IsomorphismPermGroup(GL(3,4)));; gap> GroupHomology(G,2); [ ] All the best, Graham School of Mathematics, Statistics and Applied Mathematics National University of Ireland, Galway http://hamilton.nuigalway.ie -----Original Message----- From: forum-bounces at gap-system.org on behalf of Derek Holt Sent: Sat 19/03/2011 18:49 To: Nguyen,Hung Ngoc Cc: forum at gap-system.org Subject: Re: [GAP Forum] Schur multiplier of GL(3,4)? Dera Hung, Dear Forum, Yes, you can do it with cohomolo. cohomolo works only with permutation groups, and you have to do the calculation one prime at at a time. gap> LoadPackage("cohomolo"); true gap> G:=GL(3,4);; gap> P:=Image(IsomorphismPermGroup(G)); gap> C:=CHR(P,2);; SchurMultiplier(C); [ ] gap> C:=CHR(P,3);; SchurMultiplier(C); [ ] gap> C:=CHR(P,5);; SchurMultiplier(C); The Sylow p-subgroup of the group is cyclic - so the multiplier is trivial. [ ] gap> C:=CHR(P,7);; SchurMultiplier(C); The Sylow p-subgroup of the group is cyclic - so the multiplier is trivial. [ ] So the Schur multiplier of GL(3,4) is trivial. (SL(3,4) on the other hand has multiplier 4 X 4, but the outer automorphism of SL(3,4) of order 3 induces a fixed-point-free action on this group, and hence kills it in GL(3,4).) Derek. > Dear Forum, > > I am trying to compute the Schur multiplier of GL(3,4) and here is what I got: > > >G:=GeneralLinearGroup(3,4); > [GL(3,4) > >AbelianInvariantsMultiplier(G); > [Error, the coset enumeration has defined more than 256000 cosets > > I just wonder if we can do it by using the ''cohomolo'' package and working under UNIX/LINUX systems? > > Thank you very much for your help, > Hung. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From ahulpke at gmail.com Sun Mar 20 21:33:51 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Mon, 21 Mar 2011 10:33:51 +1300 Subject: [GAP Forum] can one define identifiers like f1, f2, f3 in an automatic way? In-Reply-To: <340921300637873@web64.yandex.ru> References: <340921300637873@web64.yandex.ru> Message-ID: Dear Forum, On Mar 21, 2011, at 5:17 AM, Igor Korepanov wrote: > Dear Forum, > > When I worked in Maple, it was possible to define an identifier like f2 in such a way: first write > n:=2; > and then write f||n . > > That is, concatenate symbols to make an identifier for a variable or a function. > > Is something like that possible in GAP ? Assuming you want these variables to be global variables, the easiest way probably is ASS_GVAR(string,value) For example, you could use ASS_GVAR("PiAppox",355/113); or -- your example -- ASS_GVAR(Concatenation("f",String(3-1)), 12345 ); ASS_GVAR will overwrite variables without warning. there also is ISBOUND_GVAR(string) and UNBIND_GLOBAL(string) to test or remove boundedness. For generators of a free group or finitely presented group, there also is AssignGeneratorVariables'. (Luca Giuzzi's code of course also will work and is essentially the only way how one can do eval(..)' for arbitrary string expressions. Best, 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 From ahulpke at gmail.com Sun Mar 20 22:59:42 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Mon, 21 Mar 2011 11:59:42 +1300 Subject: [GAP Forum] intransitive G-sets In-Reply-To: References: Message-ID: <563CDB4F-2C5D-441F-9821-2F2F8ED29DC2@gmail.com> Dear GAP Forum, William DeMeo asked: > G acts transitively on the 12 cosets G/H, (and the > systems of imprimitivity correspond to the subgroups of G above H). > > Now, with the same group G, take another subgroup, K < G, and consider > the action on the cosets G/K. I would like to form the (intransitive) > group action on the set G/H union G/K. That is, I now have two > orbits, the original 12 cosets of H, and the cosets of K. In principle, GAP can calculate the permutation action on any intransitive domain. Thus, for example, if you take the disjoint union of cosets, you could simply calculate the permutation action: gap> G:=SymmetricGroup(4); Sym( [ 1 .. 4 ] ) gap> H:=Subgroup(G,[(1,2)]); Group([ (1,2) ]) gap> K:=Subgroup(G,[(1,2,3,4)]); Group([ (1,2,3,4) ]) gap> dom:=Concatenation(RightCosets(G,H),RightCosets(G,K)); [ RightCoset(Group( [ (1,2) ] ),()), RightCoset(Group( [ (1,2) ] ),(2,4)), RightCoset(Group( [ (1,2) ] ),(1,2,4)), RightCoset(Group( [ (1,2) ] ),(1,3)), .... gap> act:=Action(G,dom,OnRight); Group([ (1,10,5,9)(2,12,4,8)(3,11,6,7)(14,17,16,15), (2,3)(4,7)(5,8)(6,9)(10,11)(13,16)(14,18)(15,17) ]) gap> Orbits(act,MovedPoints(act)); [ [ 1, 10, 5, 11, 9, 8, 6, 2, 7, 12, 3, 4 ], [ 13, 16, 15, 14, 17, 18 ] ] Of course, when constructing a transitive action a convenient (and memory-saving!) shorthand is to act on the RightTransversal by right multiplication. This does not work here, as transversals are special objects and this speciality is destroyed by taking a union or concatenation. In this situation one would have to construct the transitive permutatioon actions (same as FactorCosetAction') first, and then embed in the direct product. > > P.S. > More background on my problem in case you're curious (but feel free to ignore): > > Ultimately, I want to look at the lattice of all systems of > imprimitivity (i.e. congruences) of such intransitive G-sets. Let me add a caveat here: I believe the imprimitivity tests in GAP aleways assume that the group acts transitively. So you would have to determine congruences for each orbit separately and then combine. Hope this helps, 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 From neunhoef at mcs.st-and.ac.uk Mon Mar 21 09:36:04 2011 From: neunhoef at mcs.st-and.ac.uk (Max Neunhoeffer) Date: Mon, 21 Mar 2011 09:36:04 +0000 Subject: [GAP Forum] can one define identifiers like f1, f2, f3 in an automatic way? In-Reply-To: References: <340921300637873@web64.yandex.ru> Message-ID: <20110321093604.GA19103@mcs.st-and.ac.uk> Dear Forum, dear Igor, there are actually officially documented functions ValueGlobal IsBoundGlobal UnbindGlobal Strangely, we are missing "AssignGlobal" which we probably should add for the next release. "BindGlobal" does work for this purpose but automatically write-protects the global variable. So as Alexander writes, in the released version of GAP one probably would use the (undocumented and internal) function ASS_GVAR. Of course, one could do BindGlobal(st,value); MakeReadWriteGVar(st); but this would be less efficient. Note also that there is the officially documented function EvalString which might be useful here. It evaluates a single expression given as a string and returns the result. Internally it currently creates an InputTextStream and runs "Read" on it. Finally, if you are happy to store your values in a record r you can do things like r.(st) := 17; If st is a string with value "abc", then this assigns 17 to the component r.abc Depending on your applications this might be a way to go which does not use the global namespace. Best regards, Max. -- Max Neunhoeffer http://www-groups.mcs.st-and.ac.uk/~neunhoef/ > > > > > > > > > > > May the Source be with you! < < < < < < < < < < < < The University of St Andrews is a registered Scottish charity: No SC013532 From williamdemeo at gmail.com Mon Mar 21 22:25:47 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Mon, 21 Mar 2011 12:25:47 -1000 Subject: [GAP Forum] intransitive G-sets In-Reply-To: <563CDB4F-2C5D-441F-9821-2F2F8ED29DC2@gmail.com> References: <563CDB4F-2C5D-441F-9821-2F2F8ED29DC2@gmail.com> Message-ID: Dear Dr. Hulpke, Thank you again for another excellent answer. It is all very clear, and very helpful. I just have a comment/question about your caveat. You wrote: > Let me add a caveat here: I believe the imprimitivity tests in GAP aleways > assume that the group acts transitively. So you would have to determine > congruences for each orbit separately and then combine. When you say "and then combine," did you have a strategy in mind, or did you just mean "and then you'll have to figure out how to combine"? This gets at the heart a basic question we're thinking about. When you combine, you should get a direct product of the congruences of the nontrivial subalgebras (orbits), and a partition lattice above that, plus some other stuff. The question is, what is the other stuff? (Perhaps with your deep knowledge of this area, you already know the answer; i.e. how to "combine" the block systems of the transitive subalgebras of an intransitive G-set.) Since GAP assumes transitivity when computing block systems, perhaps the best strategy for now is to use GAP to compute an operation table for the intransitive G-set, and then import this table into the universal algebra calculator (www.uacalc.org), which can compute the congruences. I'll try it today. Maybe future versions of GAP can include a Blocks function which works for intransitive actions -- or, better yet, a Con function for computing (and drawing with XGAP?) the lattice of all block systems of an intransitive G-set. I'd be happy to contribute to this effort, if you think people (besides me) might find it useful. Thanks again for all your help!! -William On Sun, Mar 20, 2011 at 12:59 PM, Alexander Hulpke wrote: > Dear GAP Forum, > > William DeMeo asked: >> ?G acts transitively on the 12 cosets G/H, (and the >> systems of imprimitivity correspond to the subgroups of G above H). >> >> Now, with the same group G, take another subgroup, K < G, and consider >> the action on the cosets G/K. ?I would like to form the (intransitive) >> group action on the set G/H union G/K. ?That is, I now have two >> orbits, the original 12 cosets of H, and the cosets of K. > > In principle, GAP can calculate the permutation action on any intransitive domain. Thus, for example, if you take the disjoint union of cosets, you could simply calculate the permutation action: > > gap> G:=SymmetricGroup(4); > Sym( [ 1 .. 4 ] ) > gap> H:=Subgroup(G,[(1,2)]); > Group([ (1,2) ]) > gap> K:=Subgroup(G,[(1,2,3,4)]); > Group([ (1,2,3,4) ]) > gap> dom:=Concatenation(RightCosets(G,H),RightCosets(G,K)); > [ RightCoset(Group( [ (1,2) ] ),()), RightCoset(Group( [ (1,2) ] ),(2,4)), > ?RightCoset(Group( [ (1,2) ] ),(1,2,4)), RightCoset(Group( [ (1,2) ] ),(1,3)), > ?.... > gap> act:=Action(G,dom,OnRight); > Group([ (1,10,5,9)(2,12,4,8)(3,11,6,7)(14,17,16,15), > ?(2,3)(4,7)(5,8)(6,9)(10,11)(13,16)(14,18)(15,17) ]) > gap> Orbits(act,MovedPoints(act)); > [ [ 1, 10, 5, 11, 9, 8, 6, 2, 7, 12, 3, 4 ], [ 13, 16, 15, 14, 17, 18 ] ] > > Of course, when constructing a transitive action a convenient (and memory-saving!) shorthand is to act on the RightTransversal by right multiplication. This does not work here, as transversals are special objects and this speciality is destroyed by taking a union or concatenation. In this situation one would have to construct the transitive permutatioon actions (same as FactorCosetAction') first, and then embed in the direct product. > >> >> P.S. >> More background on my problem in case you're curious (but feel free to ignore): >> >> Ultimately, I want to look at the lattice of all systems of >> imprimitivity (i.e. congruences) of such intransitive G-sets. > Let me add a caveat here: I believe the imprimitivity tests in GAP aleways assume that the group acts transitively. So you would have to determine congruences for each orbit separately and then combine. > > Hope this helps, > > ? 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 > > > > From paloff at ya.ru Tue Mar 22 05:35:05 2011 From: paloff at ya.ru (Igor Korepanov) Date: Tue, 22 Mar 2011 08:35:05 +0300 Subject: [GAP Forum] can one define identifiers like f1, f2, f3 in an automatic way? In-Reply-To: <20110321093604.GA19103@mcs.st-and.ac.uk> References: <340921300637873@web64.yandex.ru> <20110321093604.GA19103@mcs.st-and.ac.uk> Message-ID: <1090441300772105@web47.yandex.ru> Dear Luca Giuzzi, dear Alexander Hulpke, dear Max Neunhoeffer, thank you for your very useful answers about identifiers in GAP! Best wishes, Igor From williamdemeo at gmail.com Tue Mar 22 21:52:56 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Tue, 22 Mar 2011 11:52:56 -1000 Subject: [GAP Forum] labels in xgap Message-ID: Dear Forum, Is it possible to change the labels of vertices in a subgroup lattice drawn by XGAP using the command line (rather than using "Change Labels" in the "Poset" menu)? Here's an example: L:=GraphicSubgroupLattice(G1xG2); InsertVertex(L, HxK); # insert here some command to change vertex label to "HxK" InsertVertex(L, HxG2); # insert here some command to change vertex label to "HxG2" InsertVertex(L, G1xK); # insert here some command to change vertex label to "G1xK" intsubs:=IntermediateSubgroups(G1xG2, HxK); for j in [1..Size(intsubs.subgroups)] do InsertVertex(L,intsubs.subgroups[j]); od; After I execute the loop, it's hard to tell what's what unless I have already changed some labels with names like "HxK", "HxG2", etc. before the loop. Using the menu to do this each time is a bit tedious. (Also, it would be nice if I could use some stored list of short names -- maybe acquired from StructureDescription -- to insert labels inside the loop as well, but maybe that's asking too much... and perhaps such a labelling would be even harder to interpret than the default number labels; e.g. when the names are not unique.) Thanks in advance for any tips! -William From williamdemeo at gmail.com Wed Mar 23 01:55:36 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Tue, 22 Mar 2011 15:55:36 -1000 Subject: [GAP Forum] labels in xgap In-Reply-To: References: Message-ID: That's great, it works. Thank you! -William On Tue, Mar 22, 2011 at 3:37 PM, Russ Woodroofe wrote: > > > ? ? ? ?Dear William, > ? ? ? ?Here's a short sample, which relabels an inserted Sylow 2-subgroup of S_4 as P_2: > > G:=SymmetricGroup(4); > Sym( [ 1 .. 4 ] ) > > L:=GraphicSubgroupLattice(G); > > > H:=SylowSubgroup(G,2); > Group([ (1,2), (3,4), (1,3)(2,4) ]) > > ret:=InsertVertex(L, H); > [ , true ] > > Relabel(L, ret[1], "P_2"); > > ? ? ? ?I think you should be able to work this around to your own situation. > > ? ? ? ?The subgroup lattice library seems to internally use Relabel to label the vertices, and I don't see it pulling information from the subgroup itself -- though I didn't look terribly carefully. ?But the above sample should make relabeling things under program control not too inconvenient... > > ? ? ? ?Sincerely, > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--Russ Woodroofe > > PS: ?If you're using a Mac, let me recommend my native "Gap.app" front-end, which is a workalike for xgap. ?Available at > http://cocoagap.sourceforge.net/ > > > On Mar 22, 2011, at 4:52 PM, William DeMeo wrote: > >> Dear Forum, >> >> Is it possible to change the labels of vertices in a subgroup lattice >> drawn by XGAP using the command line (rather than using "Change >> Labels" in the "Poset" menu)? >> >> Here's an example: >> >> L:=GraphicSubgroupLattice(G1xG2); >> >> InsertVertex(L, HxK); >> # insert here some command to change vertex label to "HxK" >> >> InsertVertex(L, HxG2); >> # insert here some command to change vertex label to "HxG2" >> >> InsertVertex(L, G1xK); >> # insert here some command to change vertex label to "G1xK" >> >> intsubs:=IntermediateSubgroups(G1xG2, HxK); >> for j in [1..Size(intsubs.subgroups)] do >> ? InsertVertex(L,intsubs.subgroups[j]); >> od; >> >> After I execute the loop, it's hard to tell what's what unless I have >> already changed some labels with names like "HxK", "HxG2", etc. before >> the loop. ?Using the menu to do this each time is a bit tedious. >> >> (Also, it would be nice if I could use some stored list of short names >> -- maybe acquired from StructureDescription -- to insert labels inside >> the loop as well, but maybe that's asking too much... and perhaps such >> a labelling would be even harder to interpret than the default number >> labels; e.g. when the names are not unique.) >> >> Thanks in advance for any tips! >> >> -William >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum > > From saeidi.amin at gmail.com Wed Mar 23 12:18:04 2011 From: saeidi.amin at gmail.com (Amin Saeidi) Date: Wed, 23 Mar 2011 16:48:04 +0430 Subject: [GAP Forum] Hom ( H , K ) Message-ID: Dear Forum, Given two groups H and K, is it possible to find the set Hom(H,K) of all homomorphisms from H to K? Regards, Amin From Mathieu.Dutour at ens.fr Wed Mar 23 13:43:27 2011 From: Mathieu.Dutour at ens.fr (Mathieu Dutour) Date: Wed, 23 Mar 2011 14:43:27 +0100 Subject: [GAP Forum] Memory management with GAP Message-ID: <20110323134327.GA8792@orge.ens.fr> Dear all, I run into memory problem with GAP and I want to reduce memory expenses. And well I want to understand better how it works. Suppose we have MyFactorial:=function(n) local eList, i; eList:=[]; for i in [1..n] do eList[i]:=i; od; return Product(eList); end; Then I presume that after a call to "MyFactorial" that "eList" is freed after the call. Now suppose I wrote MyFunctions:=function(n) local eList, i, MyFactorial, MySum, a; for i in [1..n] do eList[i]:=i; od; a:=2; MyFactorial:=function() return Product(eList); end; MySum:=function() return Sum(eList); end; return rec(MyFactorial:=MyFactorial, MySum:=MySum); end; Then it is clear that when calling "MyFunctions", "eList" should not be freed. But is "a" freed? Now some general questions: ---Is there a way to know how much memory a variable occupies? The commands GasmanStatistics() is helpful but gives you only global information when what you want to know is more specific. Would it be possible to know how much memory a given variable uses? And the list of variables. ---It is said that the garbage collection of GAP is "very conservative" What does that really mean? ---In garbage collection, the problem is with cyclical links, a->b and b->a. Well I do not even know how to create such links, let alone cyclical in GAP. What command could lead to such cyclical links? Is there a way to know if such cyclical links are indeed present in the variables of the user? Best, Mathieu From russw at math.wustl.edu Wed Mar 23 01:38:32 2011 From: russw at math.wustl.edu (Russ Woodroofe) Date: Tue, 22 Mar 2011 20:38:32 -0500 Subject: [GAP Forum] labels in xgap In-Reply-To: References: Message-ID: <84F01182-558C-4827-8AD6-A65367ADEC24@math.wustl.edu> Dear William, Here's a short sample, which relabels an inserted Sylow 2-subgroup of S_4 as P_2: G:=SymmetricGroup(4); Sym( [ 1 .. 4 ] ) L:=GraphicSubgroupLattice(G); H:=SylowSubgroup(G,2); Group([ (1,2), (3,4), (1,3)(2,4) ]) ret:=InsertVertex(L, H); [ , true ] Relabel(L, ret[1], "P_2"); I think you should be able to work this around to your own situation. The subgroup lattice library seems to internally use Relabel to label the vertices, and I don't see it pulling information from the subgroup itself -- though I didn't look terribly carefully. But the above sample should make relabeling things under program control not too inconvenient... Sincerely, --Russ Woodroofe PS: If you're using a Mac, let me recommend my native "Gap.app" front-end, which is a workalike for xgap. Available at http://cocoagap.sourceforge.net/ On Mar 22, 2011, at 4:52 PM, William DeMeo wrote: > Dear Forum, > > Is it possible to change the labels of vertices in a subgroup lattice > drawn by XGAP using the command line (rather than using "Change > Labels" in the "Poset" menu)? > > Here's an example: > > L:=GraphicSubgroupLattice(G1xG2); > > InsertVertex(L, HxK); > # insert here some command to change vertex label to "HxK" > > InsertVertex(L, HxG2); > # insert here some command to change vertex label to "HxG2" > > InsertVertex(L, G1xK); > # insert here some command to change vertex label to "G1xK" > > intsubs:=IntermediateSubgroups(G1xG2, HxK); > for j in [1..Size(intsubs.subgroups)] do > InsertVertex(L,intsubs.subgroups[j]); > od; > > After I execute the loop, it's hard to tell what's what unless I have > already changed some labels with names like "HxK", "HxG2", etc. before > the loop. Using the menu to do this each time is a bit tedious. > > (Also, it would be nice if I could use some stored list of short names > -- maybe acquired from StructureDescription -- to insert labels inside > the loop as well, but maybe that's asking too much... and perhaps such > a labelling would be even harder to interpret than the default number > labels; e.g. when the names are not unique.) > > Thanks in advance for any tips! > > -William > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From sal at mcs.st-andrews.ac.uk Wed Mar 23 16:38:53 2011 From: sal at mcs.st-andrews.ac.uk (Stephen Linton) Date: Wed, 23 Mar 2011 16:38:53 +0000 Subject: [GAP Forum] Memory management with GAP In-Reply-To: <20110323134327.GA8792@orge.ens.fr> References: <20110323134327.GA8792@orge.ens.fr> Message-ID: Dear Mathieu, In your example, a is not freed. It could be in principle, but the current code doesn't do that. In fact, as you may know, the small integer a uses effectively no memory, but if the value of a were some large object, then it would be sensible to Unbind it before returning the record of functions. There is a function MemoryUsage() which returns an approximation to the memory used by an object and all its subobjects, but you should be aware that these subobjects are often shared, so that (a) the total memory usage of a lot of objects may be less than the totals for the individual objects and (b) when an object is freed some of its subobjects may remain in use by other objects, so not all the memory reported by MemoryUsage will be recovered. The "conservative" nature of the garbage collector refers to the fact that it may sometimes fail to free unreachable objects, because other data is "mistaken" for pointers to it. Generally, such objects get freed a few garbage collections late. A simple way to make a circular object in GAP is gap> a := []; [ ] gap> a[1] := a; [ ~ ] Here ~ indicates that the object at this position in the list is the topmost object being printed. A more elaborate version might be: gap> a := rec();; gap> b := rec(link := a);; gap> a.link := b;; which creates exactly the circular object you describe. However while these objects give problems for some GAP functions, they do not create problems for the garbage collector, which will correctly discard them if they are unreachable. Steve Linton On 23 Mar 2011, at 13:43, Mathieu Dutour wrote: > Dear all, > > I run into memory problem with GAP and I want to reduce memory > expenses. And well I want to understand better how it works. > [ ...] > Now suppose I wrote > MyFunctions:=function(n) > local eList, i, MyFactorial, MySum, a; > for i in [1..n] > do > eList[i]:=i; > od; > a:=2; > MyFactorial:=function() > return Product(eList); > end; > MySum:=function() > return Sum(eList); > end; > return rec(MyFactorial:=MyFactorial, > MySum:=MySum); > end; > Then it is clear that when calling "MyFunctions", "eList" should not > be freed. But is "a" freed? > > Now some general questions: > ---Is there a way to know how much memory a variable occupies? > The commands GasmanStatistics() is helpful but gives you only > global information when what you want to know is more specific. > Would it be possible to know how much memory a given variable > uses? And the list of variables. > ---It is said that the garbage collection of GAP is "very conservative" > What does that really mean? > ---In garbage collection, the problem is with cyclical links, > a->b and b->a. Well I do not even know how to create such links, > let alone cyclical in GAP. > What command could lead to such cyclical links? > Is there a way to know if such cyclical links are indeed present > in the variables of the user? > > Best, > > Mathieu > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From krkini at ntu.edu.sg Wed Mar 23 16:36:25 2011 From: krkini at ntu.edu.sg (Keshav Rao Kini) Date: Wed, 23 Mar 2011 09:36:25 -0700 Subject: [GAP Forum] Memory management with GAP In-Reply-To: <20110323134327.GA8792@orge.ens.fr> References: <20110323134327.GA8792@orge.ens.fr> Message-ID: Well, I'll answer what I can... 2011/3/23 Mathieu Dutour > ---Is there a way to know how much memory a variable occupies? > The commands GasmanStatistics() is helpful but gives you only > global information when what you want to know is more specific. > Would it be possible to know how much memory a given variable > uses? And the list of variables. You can use MemoryUsage to get the memory usage of an object (with some caveats - see the manual entry for details). NamesGVars will give you a list of all the global variable names currently known to the GAP interpreter. > ---It is said that the garbage collection of GAP is "very conservative" > What does that really mean? I assume this means that it tries to avoid garbage-collecting any objects until it is absolutely sure that there are no references to it, but I don't know the actual details. > ---In garbage collection, the problem is with cyclical links, > a->b and b->a. Well I do not even know how to create such links, > let alone cyclical in GAP. > What command could lead to such cyclical links? Well, one easy way is gap> a := [];; b := [a];; a[1] := b;; gap> a; b; [ [ ~ ] ] [ [ ~ ] ] gap> a[1] = b; b[1] = a; true true I guess this simple example is probably detectable to the garbage collector, but there of course may be more complicated ones. By the way, in the above, the notation "[ [ ~ ] ]" contains the symbol "~", which means that object itself, i.e. the object is a list containing a list containing the object itself. That's because a = b[1] = a[1][1]. -Keshav CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From ahulpke at gmail.com Wed Mar 23 19:54:32 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Thu, 24 Mar 2011 08:54:32 +1300 Subject: [GAP Forum] Hom ( H , K ) In-Reply-To: References: Message-ID: Dear Forum, Dear Amin Saeidi, > Given two groups H and K, is it possible to find the set Hom(H,K) of all > homomorphisms from H to K? It is and the next release will contain such functionality. If you need it now, please contact me privately and I can send you code for this. Regards, 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 From anvita21 at gmail.com Sat Mar 26 01:13:09 2011 From: anvita21 at gmail.com (Anvita) Date: Sat, 26 Mar 2011 07:13:09 +0600 Subject: [GAP Forum] Hermite form for sparse integral matrices Message-ID: Dear Forum, Is there a possibility to find in GAP the Hermite normal form (and the transformation matrix) for a large matrix over the integers with few nonzero entries (i.e. a sparse matrix)? The package "Gauss" seems to offer this functionality for fields and finite residue rings only. Anvita From paloff at ya.ru Sun Mar 27 14:23:21 2011 From: paloff at ya.ru (Igor Korepanov) Date: Sun, 27 Mar 2011 17:23:21 +0400 Subject: [GAP Forum] a multiplicative group generated by an indeterminate Message-ID: <668451301232201@web114.yandex.ru> Dear Forum, suppose a is an indeterminate over rationals and I want to create a group consisting of this a raised to all integer powers: gap> a := Indeterminate( Rationals,"a" ); a gap> g := Group( a ); #I default IsGeneratorsOfMagmaWithInverses' method returns true' for [ a ] gap> Now the question: does this mean that I should better do it another way? Or proceed bravely? Also, is there a way to define the group of all nonzero rationals other than GL(1,Rationals) ? Best, Igor From paloff at ya.ru Sun Mar 27 14:51:00 2011 From: paloff at ya.ru (Igor Korepanov) Date: Sun, 27 Mar 2011 17:51:00 +0400 Subject: [GAP Forum] a multiplicative group generated by an indeterminate In-Reply-To: <668451301232201@web114.yandex.ru> References: <668451301232201@web114.yandex.ru> Message-ID: <925541301233860@web48.yandex.ru> Sorry, GL(1,Rationals) appears not to work! 27.03.2011, 17:23, "Igor Korepanov" : > Dear Forum, > > suppose ?a ?is an indeterminate over rationals and I want to create a group consisting of this ?a ?raised to all integer powers: > > gap> a := Indeterminate( Rationals,"a" ); > a > gap> g := Group( a ); > #I ?default IsGeneratorsOfMagmaWithInverses' method returns true' for [ a ] > > gap> > > Now the question: does this mean that I should better do it another way? Or proceed bravely? > > Also, is there a way to define the group of all nonzero rationals other than ?GL(1,Rationals) ?? > > Best, > > Igor > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From ahulpke at gmail.com Tue Mar 29 01:08:43 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Tue, 29 Mar 2011 13:08:43 +1300 Subject: [GAP Forum] a multiplicative group generated by an indeterminate In-Reply-To: <668451301232201@web114.yandex.ru> References: <668451301232201@web114.yandex.ru> Message-ID: <6757849C-1DBF-4C11-ADC4-083B43B52F9D@gmail.com> Dear Forum, Dear Igor Korepanov, > suppose a is an indeterminate over rationals and I want to create a group consisting of this a raised to all integer powers: > > > gap> a := Indeterminate( Rationals,"a" ); > a > gap> g := Group( a ); > #I default IsGeneratorsOfMagmaWithInverses' method returns true' for [ a ] > > gap> > > > Now the question: does this mean that I should better do it another way? Or proceed bravely? The warning here is harmless -- it just means that GAP has not been told that this set will fulfill the group axioms and is cautious. However you will find very little (if any) functionality for the resulting group and will probably find it easier to work in the isomorphic FreeGroup(1) > > Also, is there a way to define the group of all nonzero rationals other than GL(1,Rationals) ? This will not work, nor am I aware of any other method. A fundamental issue with it is that this is not a finitely generated group. Best, 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 From williamdemeo at gmail.com Tue Mar 29 10:45:50 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Mon, 28 Mar 2011 23:45:50 -1000 Subject: [GAP Forum] projections of subgroups of product groups Message-ID: Dear Forum, This is probably a frequently asked and/or dumb question. If so, I apologize in advance, but I couldn't find the answer in the forum archives. I see how to use the Projection function to compute projections of a product group. Is it also possible to compute projections of a subgroup of a product group? Apparently this is not done by simply invoking the Projection function, as the following example shows: G := Group([(1,2,3,4),(1,2)]);; H := Subgroup(G, [(1,2)]); K := Subgroup(G, [(1,2,3,4)]); G1xG2 := DirectProduct(G, G); emb1 := Embedding(G1xG2, 1);; emb2 := Embedding(G1xG2, 2);; h := List(GeneratorsOfGroup(H), i->Image(emb1,i)); k := List(GeneratorsOfGroup(K), i->Image(emb2,i)); HxK := Group(Concatenation(h, k),());; Now Projection(G1xG2,1) and Projection(G1xG2,2) work as expected, but Projection(HxK,1) gives: Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for Projection' on 2 arguments called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue Of course, this is just a toy example -- we already know the projections of HxK! -- but I would like to somehow compute the projections of more general subgroups, as in intsub:=IntermediateSubgroups(G1xG2, HxK); S:=intsub.subgroups[1]; Projection(S, 1); # returns an error, as above. Thank you for any suggestions you can offer. -William P.S. An unrelated, less pressing question, which I've been unable to find in the manual or forum archives: Is there is command for changing the current working directory in GAP? From williamdemeo at gmail.com Tue Mar 29 11:02:02 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Tue, 29 Mar 2011 00:02:02 -1000 Subject: [GAP Forum] projections of subgroups of product groups In-Reply-To: References: Message-ID: P.P.S. I see why Projection(S,1) shouldn't work for an arbitrary subgroup S of a direct product, since projection is not generally a group homomorphism, and projections of S will not generally be subgroups of S. Still, we should be able to compute projections, even when S is not directly factorable, right? On Mon, Mar 28, 2011 at 11:45 PM, William DeMeo wrote: > Dear Forum, > > This is probably a frequently asked and/or dumb question. ?If so, I > apologize in advance, but I couldn't find the answer in the forum > archives. > > I see how to use the Projection function to compute projections of a > product group. ?Is it also possible to compute projections of a > subgroup of a product group? ?Apparently this is not done by simply > invoking the Projection function, as the following example shows: > > G := Group([(1,2,3,4),(1,2)]);; > H := Subgroup(G, [(1,2)]); > K := Subgroup(G, [(1,2,3,4)]); > G1xG2 := DirectProduct(G, G); > emb1 := Embedding(G1xG2, 1);; > emb2 := Embedding(G1xG2, 2);; > h := List(GeneratorsOfGroup(H), i->Image(emb1,i)); > k := List(GeneratorsOfGroup(K), i->Image(emb2,i)); > HxK := Group(Concatenation(h, k),());; > > Now Projection(G1xG2,1) and Projection(G1xG2,2) work as expected, but > Projection(HxK,1) gives: > > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for Projection' on 2 arguments called from > ( ) called from read-eval-loop > Entering break read-eval-print loop ... > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > > Of course, this is just a toy example -- we already know the > projections of HxK! -- but I would like to somehow compute the > projections of more general subgroups, as in > > intsub:=IntermediateSubgroups(G1xG2, HxK); > S:=intsub.subgroups[1]; > Projection(S, 1); ?# returns an error, as above. > > Thank you for any suggestions you can offer. > > -William > > P.S. ?An unrelated, less pressing question, which I've been unable to > find in the manual or forum archives: Is there is command for changing > the current working directory in GAP? > From hedtke at me.com Tue Mar 29 13:21:00 2011 From: hedtke at me.com (Ivo Hedtke) Date: Tue, 29 Mar 2011 14:21:00 +0200 Subject: [GAP Forum] First set in RightCosets Message-ID: <43CD8EE5-D35E-4F0F-B4C3-D5189C2704BC@me.com> Dear Forum, can I assume, that the first set in SG:=RightCosets(G,S) is the set S itself, or is it possible, that SG[1] is not S? Thank you, Ivo. From ahulpke at gmail.com Wed Mar 30 01:27:38 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Wed, 30 Mar 2011 13:27:38 +1300 Subject: [GAP Forum] projections of subgroups of product groups In-Reply-To: References: Message-ID: <17DC4998-2D62-48F5-A707-E7C939D80EB0@gmail.com> Dear forum, Dear William, > > I see how to use the Projection function to compute projections of a > product group. Is it also possible to compute projections of a > subgroup of a product group? Apparently this is not done by simply > invoking the Projection function, as the following example shows: > > G := Group([(1,2,3,4),(1,2)]);; > H := Subgroup(G, [(1,2)]); > K := Subgroup(G, [(1,2,3,4)]); > G1xG2 := DirectProduct(G, G); > emb1 := Embedding(G1xG2, 1);; > emb2 := Embedding(G1xG2, 2);; > h := List(GeneratorsOfGroup(H), i->Image(emb1,i)); > k := List(GeneratorsOfGroup(K), i->Image(emb2,i)); > HxK := Group(Concatenation(h, k),());; > > Now Projection(G1xG2,1) and Projection(G1xG2,2) work as expected, but > Projection(HxK,1) gives: > > Error, no method found! For debugging hints type ?Recovery from NoMethodFound Projection returns a stored projection function of a direct or semidirect product. It thus applies only to the full product. However, as it is a homomorphism, it of course can be applied to any subgroup of the product, so you could take for example proj:=Projection(G1xG2,1); Image(proj,HxK); If you want to restrict the projection to the subgroup (primarily of relevance for computing pre-images) you could use rest:=RestrictedMapping(proj,HxK); > Of course, this is just a toy example -- we already know the > projections of HxK! -- but I would like to somehow compute the > projections of more general subgroups, as in > > intsub:=IntermediateSubgroups(G1xG2, HxK); > S:=intsub.subgroups[1]; > Projection(S, 1); # returns an error, as above. Again here I would simply use the same projection proj' as long as it comes to computing images, or use the restricted mapping. > P.S. An unrelated, less pressing question, which I've been unable to > find in the manual or forum archives: Is there is command for changing > the current working directory in GAP? In the IO package there is IO_chdir if you are working under Unix. Best, 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 From williamdemeo at gmail.com Wed Mar 30 01:47:34 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Tue, 29 Mar 2011 14:47:34 -1000 Subject: [GAP Forum] projections of subgroups of product groups In-Reply-To: <17DC4998-2D62-48F5-A707-E7C939D80EB0@gmail.com> References: <17DC4998-2D62-48F5-A707-E7C939D80EB0@gmail.com> Message-ID: Perfect. Thank you! -wjd On Tue, Mar 29, 2011 at 2:27 PM, Alexander Hulpke wrote: > ?Dear forum, Dear William, > >> >> I see how to use the Projection function to compute projections of a >> product group. ?Is it also possible to compute projections of a >> subgroup of a product group? ?Apparently this is not done by simply >> invoking the Projection function, as the following example shows: >> >> G := Group([(1,2,3,4),(1,2)]);; >> H := Subgroup(G, [(1,2)]); >> K := Subgroup(G, [(1,2,3,4)]); >> G1xG2 := DirectProduct(G, G); >> emb1 := Embedding(G1xG2, 1);; >> emb2 := Embedding(G1xG2, 2);; >> h := List(GeneratorsOfGroup(H), i->Image(emb1,i)); >> k := List(GeneratorsOfGroup(K), i->Image(emb2,i)); >> HxK := Group(Concatenation(h, k),());; >> >> Now Projection(G1xG2,1) and Projection(G1xG2,2) work as expected, but >> Projection(HxK,1) gives: >> >> Error, no method found! For debugging hints type ?Recovery from NoMethodFound > > Projection returns a stored projection function of a direct or semidirect product. It thus applies only to the full product. > However, as it is a homomorphism, it of course can be applied to any subgroup of the product, so you could take for example > > proj:=Projection(G1xG2,1); > Image(proj,HxK); > > If you want to restrict the projection to the subgroup (primarily of relevance for computing pre-images) you could use > > rest:=RestrictedMapping(proj,HxK); > >> Of course, this is just a toy example -- we already know the >> projections of HxK! -- but I would like to somehow compute the >> projections of more general subgroups, as in >> >> intsub:=IntermediateSubgroups(G1xG2, HxK); >> S:=intsub.subgroups[1]; >> Projection(S, 1); ?# returns an error, as above. > > Again here I would simply use the same projection proj' as long as it comes to computing images, or use the restricted mapping. > >> P.S. ?An unrelated, less pressing question, which I've been unable to >> find in the manual or forum archives: Is there is command for changing >> the current working directory in GAP? > In the IO package there is IO_chdir if you are working under Unix. > > Best, > > ?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 > > > > From anja.heinisch at gmx.de Wed Mar 30 19:12:24 2011 From: anja.heinisch at gmx.de (Anja Heinisch) Date: Wed, 30 Mar 2011 20:12:24 +0200 Subject: [GAP Forum] Alnuth: FactorsPolynomialKant Message-ID: <4D937288.5050003@gmx.de> Dear GAP Forum, I want to factor polynomials over an algebraic field extension created by FieldByMatrices or FieldByPolynomial. There is a method FactorsPolynomialKant(L, poly) listed in the Alnuth package documentation, see http://www.gap-system.org/Manuals/pkg/alnuth/htm/CHAP002.htm. As far as I can see this doesn't seem to work properly, the example given there results in the following: gap> x := Indeterminate( Rationals, "x" );; gap> pol := 2*x^7+2*x^5+8*x^4+8*x^2; 2*x^7+2*x^5+8*x^4+8*x^2 gap> L := FieldByPolynomial( x^3-4 ); gap> y := Indeterminate( L, "y" );; gap> FactorsPolynomialKant( L, pol ); Function: number of arguments must be 1 (not 2) not in any function Entering break read-eval-print loop ... Looking in pkg/alnuth/gap/factors.gi, I found that there seems to be no function matching the suggested signature in the example (especially FactorsPolynomialKant only takes one argument ). If anyone had any ideas at all on how to solve this issue I'd be happy if you'd let me know. Thanks a lot, Anja From ahulpke at gmail.com Thu Mar 31 00:05:07 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Thu, 31 Mar 2011 12:05:07 +1300 Subject: [GAP Forum] Alnuth: FactorsPolynomialKant In-Reply-To: <4D937288.5050003@gmx.de> References: <4D937288.5050003@gmx.de> Message-ID: <4161841B-3ED8-4FA6-A92C-CE9395D3F22B@gmail.com> Dear Forum, Dear Anja Heinisch, I don't know about the KANT interface, but here is a way to do it in GAP: First note that the polynomial is reducible and get the interesting factors gap> Factors(pol); [ 2*x, x, x^2+1, x^3+4 ] gap> fp:=Filtered(Factors(pol),a->DegreeOfUnivariateLaurentPolynomial(a)>1); [ x^2+1, x^3+4 ] and that the polynomial for the next extension is still irreducible over the first (one could have seen this also from teh coprime degrees): gap> L1:=AlgebraicExtension(Rationals,fp[1]); gap> y:=X(L1,"y"); y gap> Factors(Value(fp[2],y)); [ y^3+!4 ] So now we want to construct a composite extension. For this we try the primitive element i+\sqrt[3]{-4}, the sum of roots of both factors: The A polynomial for this can be computed using resultants: gap> z:=X(Rationals,"z"); z gap> res:=Resultant(fp[1],Value(fp[2],z-x),x); z^6+3*z^4+8*z^3+3*z^2-24*z+17 Check that the resultant is irreducible, i.e. it really is a priomitive element (if not, use z-2*x above and so on): gap> Factors(res); [ z^6+3*z^4+8*z^3+3*z^2-24*z+17 ] Now factor over the extension: gap> L:=AlgebraicExtension(Rationals,res); gap> y:=X(L,"y"); y gap> Factors(Value(pol,y)); [ !2*y, y, y+(3/46*a^5+9/92*a^4+5/23*a^3+39/46*a^2+33/46*a-91/92), y+(-3/46*a^5-9/92*a^4-5/23*a^3-39/46*a^2-79/46*a+91/92), y+(-3/46*a^5-9/92*a^4-5/23*a^3-39/46*a^2-33/46*a+91/92), y^2+(3/46*a^5+9/92*a^4+5/23*a^3+39/46*a^2+79/46*a-91/92)*y+(9/46*a^5+1/23*a^\ 4+15/23*a^3+47/23*a^2+53/46*a-74/23) ] Here a' is a root of res'. Hope this helps, 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 From andreas at mcs.st-and.ac.uk Thu Mar 31 11:04:27 2011 From: andreas at mcs.st-and.ac.uk (andreas at mcs.st-and.ac.uk) Date: Thu, 31 Mar 2011 11:04:27 +0100 (BST) Subject: [GAP Forum] Alnuth: FactorsPolynomialKant In-Reply-To: <4D937288.5050003@gmx.de> References: <4D937288.5050003@gmx.de> Message-ID: Dear Anja, My apologies for the confusion. This is a mistake in the documentation. The function to use here is 'FactorsPolynomialAlgExt'. In the example from the documentation one gets: gap> FactorsPolynomialAlgExt( L, pol ); [ !2*y, y, y+a, y^2+!1, y^2+(-a)*y+a^2 ] The function 'FactorsPolynomialKant' takes as input a polynomial with coefficients in a proper extension of the Rationals. You can get the same result as above doing: gap> AlgExtEmbeddedPol(L,pol); !2*y^7+!2*y^5+!8*y^4+!8*y^2 gap> FactorsPolynomialKant(last); [ !2*y, y, y+a, y^2+!1, y^2+(-a)*y+a^2 ] The same works also without using the interface to KANT: gap> AlgExtEmbeddedPol(L,pol); !2*y^7+!2*y^5+!8*y^4+!8*y^2 gap> Factors(last); [ !2*y, y, y+a, y^2+(-a)*y+a^2, y^2+!1 ] For more difficult factorizations you will note that the algorithm implemented in KANT is more efficient than the method available in GAP. I'll correct the documentation in the next version of Alnuth. Thanks for pointing it out. Best wishes, Andreas > Dear GAP Forum, > > I want to factor polynomials over an algebraic field extension created > by FieldByMatrices or FieldByPolynomial. There is a method > FactorsPolynomialKant(L, poly) listed in the Alnuth package > documentation, see > http://www.gap-system.org/Manuals/pkg/alnuth/htm/CHAP002.htm. > As far as I can see this doesn't seem to work properly, the example > given there results in the following: > > gap> x := Indeterminate( Rationals, "x" );; > gap> pol := 2*x^7+2*x^5+8*x^4+8*x^2; > 2*x^7+2*x^5+8*x^4+8*x^2 > gap> L := FieldByPolynomial( x^3-4 ); > > gap> y := Indeterminate( L, "y" );; > gap> FactorsPolynomialKant( L, pol ); > Function: number of arguments must be 1 (not 2) > not in any function > Entering break read-eval-print loop ... > > Looking in pkg/alnuth/gap/factors.gi, I found that there seems to be no > function matching the suggested signature in the example (especially > FactorsPolynomialKant only takes one argument ). > > If anyone had any ideas at all on how to solve this issue I'd be happy > if you'd let me know. > > Thanks a lot, > Anja > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From paloff at ya.ru Sun Apr 3 14:20:36 2011 From: paloff at ya.ru (Igor Korepanov) Date: Sun, 03 Apr 2011 17:20:36 +0400 Subject: [GAP Forum] AddDictionary Message-ID: <1015191301836836@web75.yandex.ru> Dear GAP creators/maintainers, It somehow so happens that we are using the undocumented command AddDictionary, probably written by one of us from intuition and in analogy with other programming languages. Can you tell me whether this command is going to work the same way in your future release(s)? Best regards, Igor From ahulpke at gmail.com Mon Apr 4 03:04:30 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Mon, 4 Apr 2011 14:04:30 +1200 Subject: [GAP Forum] First set in RightCosets In-Reply-To: <43CD8EE5-D35E-4F0F-B4C3-D5189C2704BC@me.com> References: <43CD8EE5-D35E-4F0F-B4C3-D5189C2704BC@me.com> Message-ID: Dear Forum, Dear Ivo Hedtke, > can I assume, that the first set in SG:=RightCosets(G,S) is the set S itself, or is it possible, that SG[1] is not S? At this point this seems to be the case for all methods installed. However one of them is an Orbit' computation and Orbit' explicitly *disclaims* that any particular ordering will be returned. Thus I am rather reluctant to introduce such a condition for RightCosets (or RightTransversal'). Code that requires the position of the trivial coset would need to test first, I would use the following snippet: trivialcoset:=PositionProperty(SG,x->One(G) in x); # since it very often will be in the first position this does not take long. indicesother:=Difference([1..Length(SG)],[trivialcoset]); # index set for running over the other cosets. Best, 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 From ahulpke at gmail.com Mon Apr 4 03:07:27 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Mon, 4 Apr 2011 14:07:27 +1200 Subject: [GAP Forum] AddDictionary In-Reply-To: <1015191301836836@web75.yandex.ru> References: <1015191301836836@web75.yandex.ru> Message-ID: Dear Forum, Dear Igor Korepanov, On Apr 4, 2011, at 1:20 AM, Igor Korepanov wrote: > Dear GAP creators/maintainers, > > It somehow so happens that we are using the undocumented command AddDictionary, probably written by one of us from intuition and in analogy with other programming languages. Can you tell me whether this command is going to work the same way in your future release(s)? AddDictionary is documented in the manual and thus will work in an equivalent way in the future. (However we do not guarantee that the implementation (or its side-effects) will stay the same). Best, Alexander Hulpke From paloff at ya.ru Tue Apr 5 07:34:43 2011 From: paloff at ya.ru (Igor Korepanov) Date: Tue, 05 Apr 2011 10:34:43 +0400 Subject: [GAP Forum] method ... matches more than one declaration Message-ID: <211201301985283@web10.yandex.ru> Dear Forum, We are writing our new GAP package called PL, which stays for "piecewise-linear" topology and mathematical physics. As some functions already work, I think we will make it available for public (support and) critisism soon. However, when GAP reads our package, it writes out: #I method installed for UnderlyingField matches more than one declaration How can I fish out and fix this bug? Best wishes, Igor From alexander.konovalov at gmail.com Tue Apr 5 12:46:30 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Tue, 5 Apr 2011 12:46:30 +0100 Subject: [GAP Forum] method ... matches more than one declaration In-Reply-To: <211201301985283@web10.yandex.ru> References: <211201301985283@web10.yandex.ru> Message-ID: Dear Igor, On 5 Apr 2011, at 07:34, Igor Korepanov wrote: > Dear Forum, > > We are writing our new GAP package called PL, which stays for "piecewise-linear" topology and mathematical physics. As some functions already work, I think we will make it available for public (support and) critisism soon. > > However, when GAP reads our package, it writes out: > > #I method installed for UnderlyingField matches more than one declaration > > How can I fish out and fix this bug? There is a large chance that this is a problem with a different package - for example, I can reproduce it when I start GAP 4.4.12 with -A option (so no autoloaded packages are loaded), but without -r option (so it reads my .gaprc file and loads packages stated there). Could you try to start GAP with -r -A options and then do LoadPackage("PL"); to check if the problem persists? Best wishes, Alexander From paloff at ya.ru Tue Apr 5 13:01:27 2011 From: paloff at ya.ru (Igor Korepanov) Date: Tue, 05 Apr 2011 16:01:27 +0400 Subject: [GAP Forum] method ... matches more than one declaration In-Reply-To: References: <211201301985283@web10.yandex.ru> Message-ID: <433041302004888@web22.yandex.ru> Dear Alexander, Thank you for the prompt reaction to my message, and indeed, when I started GAP with gap -r -A -l ";/home/myhome/gap" (where the -l option was added because I prefer not to act as a superuser, leaving this privilege to my wife), and then wrote gap> LoadPackage("PL"); there was *no more* such problem. So, thank you again, and the question is: what will you recommend me to do next? Igor 05.04.2011, 15:46, "Alexander Konovalov" : > Dear Igor, > > On 5 Apr 2011, at 07:34, Igor Korepanov wrote: > >> ?Dear Forum, >> >> ?We are writing our new GAP package called PL, which stays for "piecewise-linear" topology and mathematical physics. As some functions already work, I think we will make it available for public (support and) critisism soon. >> >> ?However, when GAP reads our package, it writes out: >> >> ?#I ?method installed for UnderlyingField matches more than one declaration >> >> ?How can I fish out and fix this bug? > > There is a large chance that this is a problem with a different package - for example, > I can reproduce it when I start GAP 4.4.12 with -A option (so no autoloaded packages > are loaded), but without -r option (so it reads my .gaprc file and loads packages > stated there). > > Could you try to start GAP with -r -A options and then do > > LoadPackage("PL"); > > to check if the problem persists? > > Best wishes, > Alexander From alexander.konovalov at gmail.com Tue Apr 5 14:46:44 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Tue, 5 Apr 2011 14:46:44 +0100 Subject: [GAP Forum] method ... matches more than one declaration In-Reply-To: <433041302004888@web22.yandex.ru> References: <211201301985283@web10.yandex.ru> <433041302004888@web22.yandex.ru> Message-ID: Dear Igor, Thank you very much for notifying us about the intended package, and you are very welcome to present it for a wider audience. To decide what to do next when your package will be available, please see the page Submitting Contributions to GAP: http://www.gap-system.org/Contacts/submit.html Quoting that page, there are two options listed there: *** 1) Submitting Material for Formal Refereeing The author of a contribution that is intended for formal acceptance should begin the process by notifying the Chair of the GAP Council by emailing council at gap-system.org, providing full information where the complete material has been placed. 2) Submitting Deposited Contributions You are also invited to provide material that is not intended for formal refereeing. To tell us about such material, contact support at gap-system.org. (Packages can also be put into this category while refereeing is in process.) *** It is up to package authors to decide between these two options, and certainly it's possible to start with (2) and then decide to submit as in (1) at some stage later, or to submit the package for the refereeing as in (1) with or without depositing it simultaneously as in (2). Best wishes, Alexander On 5 Apr 2011, at 13:01, Igor Korepanov wrote: > Dear Alexander, > > Thank you for the prompt reaction to my message, > > and indeed, when I started GAP with > > gap -r -A -l ";/home/myhome/gap" > > (where the -l option was added because I prefer not to act as a superuser, leaving this privilege to my wife), and then wrote > > gap> LoadPackage("PL"); > > there was *no more* such problem. > > So, thank you again, and the question is: what will you recommend me to do next? > > Igor > > > > 05.04.2011, 15:46, "Alexander Konovalov" : >> Dear Igor, >> >> On 5 Apr 2011, at 07:34, Igor Korepanov wrote: >> >>> Dear Forum, >>> >>> We are writing our new GAP package called PL, which stays for "piecewise-linear" topology and mathematical physics. As some functions already work, I think we will make it available for public (support and) critisism soon. >>> >>> However, when GAP reads our package, it writes out: >>> >>> #I method installed for UnderlyingField matches more than one declaration >>> >>> How can I fish out and fix this bug? >> >> There is a large chance that this is a problem with a different package - for example, >> I can reproduce it when I start GAP 4.4.12 with -A option (so no autoloaded packages >> are loaded), but without -r option (so it reads my .gaprc file and loads packages >> stated there). >> >> Could you try to start GAP with -r -A options and then do >> >> LoadPackage("PL"); >> >> to check if the problem persists? >> >> Best wishes, >> Alexander From sal at cs.st-andrews.ac.uk Tue Apr 5 15:03:10 2011 From: sal at cs.st-andrews.ac.uk (Stephen Linton) Date: Tue, 5 Apr 2011 15:03:10 +0100 Subject: [GAP Forum] method ... matches more than one declaration In-Reply-To: References: <211201301985283@web10.yandex.ru> <433041302004888@web22.yandex.ru> Message-ID: <8697BC16-A919-4D01-B044-80CE57643A5B@cs.st-andrews.ac.uk> Dear Igor, Could you try starting GAP with the -D option (and without -A and -r). This will produce a lot of messages. Could you send us the 10 or so either side of the error message, please? Steve On 5 Apr 2011, at 14:46, Alexander Konovalov wrote: > Dear Igor, > > Thank you very much for notifying us about the intended package, and you are very > welcome to present it for a wider audience. > > To decide what to do next when your package will be available, please see the page > Submitting Contributions to GAP: http://www.gap-system.org/Contacts/submit.html > > Quoting that page, there are two options listed there: > > *** > > 1) Submitting Material for Formal Refereeing > > The author of a contribution that is intended for formal acceptance should begin the process by notifying the Chair of the GAP Council by emailing council at gap-system.org, providing full information where the complete material has been placed. > > 2) Submitting Deposited Contributions > > You are also invited to provide material that is not intended for formal refereeing. To tell us about such material, contact support at gap-system.org. (Packages can also be put into this category while refereeing is in process.) > > *** > > It is up to package authors to decide between these two options, and certainly it's possible to start with (2) and then decide to submit as in (1) at some stage later, or to submit the package for the refereeing as in (1) with or without depositing it simultaneously as in (2). > > Best wishes, > Alexander > > > On 5 Apr 2011, at 13:01, Igor Korepanov wrote: > >> Dear Alexander, >> >> Thank you for the prompt reaction to my message, >> >> and indeed, when I started GAP with >> >> gap -r -A -l ";/home/myhome/gap" >> >> (where the -l option was added because I prefer not to act as a superuser, leaving this privilege to my wife), and then wrote >> >> gap> LoadPackage("PL"); >> >> there was *no more* such problem. >> >> So, thank you again, and the question is: what will you recommend me to do next? >> >> Igor >> >> >> >> 05.04.2011, 15:46, "Alexander Konovalov" : >>> Dear Igor, >>> >>> On 5 Apr 2011, at 07:34, Igor Korepanov wrote: >>> >>>> Dear Forum, >>>> >>>> We are writing our new GAP package called PL, which stays for "piecewise-linear" topology and mathematical physics. As some functions already work, I think we will make it available for public (support and) critisism soon. >>>> >>>> However, when GAP reads our package, it writes out: >>>> >>>> #I method installed for UnderlyingField matches more than one declaration >>>> >>>> How can I fish out and fix this bug? >>> >>> There is a large chance that this is a problem with a different package - for example, >>> I can reproduce it when I start GAP 4.4.12 with -A option (so no autoloaded packages >>> are loaded), but without -r option (so it reads my .gaprc file and loads packages >>> stated there). >>> >>> Could you try to start GAP with -r -A options and then do >>> >>> LoadPackage("PL"); >>> >>> to check if the problem persists? >>> >>> Best wishes, >>> Alexander > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From paloff at ya.ru Tue Apr 5 15:16:35 2011 From: paloff at ya.ru (Igor Korepanov) Date: Tue, 05 Apr 2011 18:16:35 +0400 Subject: [GAP Forum] method ... matches more than one declaration In-Reply-To: <8697BC16-A919-4D01-B044-80CE57643A5B@cs.st-andrews.ac.uk> References: <211201301985283@web10.yandex.ru> <433041302004888@web22.yandex.ru> <8697BC16-A919-4D01-B044-80CE57643A5B@cs.st-andrews.ac.uk> Message-ID: <557051302012995@web141.yandex.ru> Dear Stephen, here it is. The phrase "We gonna eat your brain" is printed intentionally and must be regarded as sort of our internal humor, as is my login on my home computer and whatever other private things can be found here. bossik at Ghost ~$ gap -D -l ";/home/bossik/gap" #I READ_GAP_ROOT: loading 'lib/init.g' as GAP file #I READ_GAP_ROOT: loading 'lib/kernel.g' as GAP file #I READ_GAP_ROOT: loading 'lib/global.g' as GAP file #I READ_GAP_ROOT: loading 'lib/system.g' as GAP file ######### ###### ########### ### ############# ###### ############ #### ############## ######## ############# ##### ############### ######## ##### ###### ##### ###### # ######### ##### ##### ###### ###### ########## ##### ##### ####### ##### ##### #### ##### ###### ######## #### ##### ##### ############# ### #### ##### ####### #### #### ########### #### #### ##### ####### ##### ##### ###### #### #### ##### ####### ##### ##### ##### ############# ##### ##### ################ ##### ############# ###### ##### ################ ##### ############# ################ ################## ##### #### ############### ##### ##### ##### #### ############# ##### ##### ##### #### ######### ##### ##### ##### #### Information at: http://www.gap-system.org Try '?help' for help. See also '?copyright' and '?authors' Loading the library. Please be patient, this may take a while. #I READ_GAP_ROOT: loading 'lib/read1.g' as GAP file #I READ_GAP_ROOT: loading 'lib/filter.g' as GAP file #I READ_GAP_ROOT: loading 'lib/filter1.g' statically #I READ_GAP_ROOT: loading 'lib/oper.g' as GAP file #I READ_GAP_ROOT: loading 'lib/oper1.g' statically #I READ_GAP_ROOT: loading 'lib/type.g' as GAP file #I READ_GAP_ROOT: loading 'lib/type1.g' statically #I READ_GAP_ROOT: loading 'lib/methsel.g' as GAP file #I READ_GAP_ROOT: loading 'lib/methsel1.g' statically #I READ_GAP_ROOT: loading 'lib/methsel2.g' as GAP file #I READ_GAP_ROOT: loading 'lib/random.g' statically #I READ_GAP_ROOT: loading 'lib/function.g' as GAP file #I READ_GAP_ROOT: loading 'lib/object.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/variable.g' as GAP file #I READ_GAP_ROOT: loading 'lib/coll.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/list.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/wpobj.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/arith.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/ffe.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/domain.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/string.g' as GAP file #I READ_GAP_ROOT: loading 'lib/cyclotom.g' as GAP file #I READ_GAP_ROOT: loading 'lib/set.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/record.g' as GAP file #I READ_GAP_ROOT: loading 'lib/coll.gi' as GAP file #I READ_GAP_ROOT: loading 'lib/flag.g' as GAP file #I READ_GAP_ROOT: loading 'lib/boolean.g' as GAP file #I READ_GAP_ROOT: loading 'lib/ffe.g' as GAP file #I READ_GAP_ROOT: loading 'lib/arith.gi' as GAP file #I READ_GAP_ROOT: loading 'lib/list.g' as GAP file #I READ_GAP_ROOT: loading 'lib/wpobj.g' as GAP file #I READ_GAP_ROOT: loading 'lib/permutat.g' as GAP file #I READ_GAP_ROOT: loading 'lib/object.gi' as GAP file #I READ_GAP_ROOT: loading 'lib/listcoef.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/info.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/assert.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/files.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/streams.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/vecmat.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/vec8bit.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/mat8bit.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/global.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/info.gi' as GAP file #I READ_GAP_ROOT: loading 'lib/assert.gi' as GAP file #I READ_GAP_ROOT: loading 'lib/global.gi' as GAP file #I READ_GAP_ROOT: loading 'lib/random.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/options.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/options.gi' as GAP file #I READ_GAP_ROOT: loading 'lib/attr.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/attr.gi' as GAP file #I READ_GAP_ROOT: loading 'lib/float.g' as GAP file #I READ_GAP_ROOT: loading 'lib/read2.co' as GAP file #I completed lib/read2.g #I READ_GAP_ROOT: loading 'lib/read3.co' as GAP file #I completing '/usr/share/gap/lib/basis.gd' #I completing '/usr/share/gap/lib/oprt.gd' #I completing '/usr/share/gap/grp/classic.gd' #I completing '/usr/share/gap/lib/list.gi' #I completing '/usr/share/gap/lib/ctbl.gd' #I completing '/usr/share/gap/lib/random.gi' #I completed lib/read3.g #I READ_GAP_ROOT: loading 'lib/read4.co' as GAP file #I completing '/usr/share/gap/lib/reread.g' #I completed lib/read4.g #I READ_GAP_ROOT: loading 'lib/helpview.gi' as GAP file #I READ_GAP_ROOT: loading 'lib/read5.co' as GAP file #I completing '/usr/share/gap/lib/mapphomo.gd' #I completing '/usr/share/gap/lib/magma.gd' #I completing '/usr/share/gap/lib/basis.gi' #I completing '/usr/share/gap/lib/vspc.gi' #I completing '/usr/share/gap/lib/algebra.gi' #I completing '/usr/share/gap/lib/domain.gi' #I completing '/usr/share/gap/lib/idealalg.gi' #I completing '/usr/share/gap/lib/groebner.gi' #I completing '/usr/share/gap/lib/field.gi' #I completing '/usr/share/gap/lib/module.gi' #I completing '/usr/share/gap/lib/modfree.gi' #I completing '/usr/share/gap/lib/ffe.gi' #I completing '/usr/share/gap/lib/integer.gi' #I completing '/usr/share/gap/lib/ring.gi' #I completing '/usr/share/gap/lib/meataxe.gi' #I completing '/usr/share/gap/lib/meataxe.gd' #I completing '/usr/share/gap/lib/pcgs.gi' #I completing '/usr/share/gap/lib/grpnice.gd' #I completing '/usr/share/gap/lib/ghom.gd' #I completed lib/read5.g #I READ_GAP_ROOT: loading 'lib/read6.co' as GAP file #I completing '/usr/share/gap/lib/matrix.gi' #I completing '/usr/share/gap/lib/vecmat.gi' #I completed lib/read6.g #I READ_GAP_ROOT: loading 'lib/read7.co' as GAP file #I completed lib/read7.g #I READ_GAP_ROOT: loading 'lib/read8.co' as GAP file #I completed lib/read8.g #I READ_GAP_ROOT: loading 'lib/colorprompt.g' as GAP file #I completing '/usr/share/gap/lib/streams.gi' #I completing '/usr/share/gap/lib/files.gi' #I READ_GAP_ROOT: loading 'small/readsml.g' as GAP file #I READ_GAP_ROOT: loading 'small/small.gd' as GAP file #I READ_GAP_ROOT: loading 'small/small.gi' as GAP file #I READ_GAP_ROOT: loading 'small/smlgp1.g' as GAP file #I READ_GAP_ROOT: loading 'small/idgrp1.g' as GAP file #I READ_GAP_ROOT: loading 'small/smlinfo.gi' as GAP file #I READ_GAP_ROOT: loading 'small/small2/smlgp2.g' as GAP file #I READ_GAP_ROOT: loading 'small/small3/smlgp3.g' as GAP file #I READ_GAP_ROOT: loading 'small/small4/smlgp4.g' as GAP file #I READ_GAP_ROOT: loading 'small/small5/smlgp5.g' as GAP file #I READ_GAP_ROOT: loading 'small/small6/smlgp6.g' as GAP file #I READ_GAP_ROOT: loading 'small/small7/smlgp7.g' as GAP file #I READ_GAP_ROOT: loading 'small/small8/smlgp8.g' as GAP file #I READ_GAP_ROOT: loading 'small/small9/smlgp9.g' as GAP file #I READ_GAP_ROOT: loading 'small/small10/smlgp10.g' as GAP file #I READ_GAP_ROOT: loading 'small/id2/idgrp2.g' as GAP file #I READ_GAP_ROOT: loading 'small/id3/idgrp3.g' as GAP file #I READ_GAP_ROOT: loading 'small/id4/idgrp4.g' as GAP file #I READ_GAP_ROOT: loading 'small/id5/idgrp5.g' as GAP file #I READ_GAP_ROOT: loading 'small/id6/idgrp6.g' as GAP file #I READ_GAP_ROOT: loading 'small/id9/idgrp9.g' as GAP file #I READ_GAP_ROOT: loading 'small/id10/idgrp10.g' as GAP file #I READ_GAP_ROOT: loading 'trans/trans.gd' as GAP file #I READ_GAP_ROOT: loading 'trans/trans.grp' as GAP file #I READ_GAP_ROOT: loading 'trans/trans.gi' as GAP file #I READ_GAP_ROOT: loading 'lib/galois.gd' as GAP file #I READ_GAP_ROOT: loading 'lib/galois.gi' as GAP file #I READ_GAP_ROOT: loading 'prim/primitiv.gd' as GAP file #I READ_GAP_ROOT: loading 'prim/irredsol.gd' as GAP file #I READ_GAP_ROOT: loading 'prim/primitiv.grp' as GAP file #I READ_GAP_ROOT: loading 'prim/primitiv.gi' as GAP file #I READ_GAP_ROOT: loading 'prim/irredsol.grp' as GAP file #I READ_GAP_ROOT: loading 'prim/irredsol.gi' as GAP file #I READ_GAP_ROOT: loading 'prim/cohorts.grp' as GAP file #I completing '/usr/share/gap/lib/package.g' #I completing '/usr/share/gap/lib/string.gi' #I Read( "/usr/share/gap/pkg/tomlib/PackageInfo.g" ) #I Read( "/usr/share/gap/pkg/tomlib/PackageInfo.g" ) done #I Read( "/home/bossik/gap/pkg/PL/PackageInfo.g" ) #I Read( "/home/bossik/gap/pkg/PL/PackageInfo.g" ) done #I completing '/usr/share/gap/lib/helpbase.gi' ----------------------------------------------------------------------------- Loading PL 0.1 ----------------------------------------------------------------------------- #I READ_GAP_ROOT: loading 'lib/obsolete.g' as GAP file #I Read( "/home/bossik/gap/pkg/PL/init.g" ) #I Read( "/home/bossik/gap/pkg/PL/lib/polytopes.gd" ) #I Read( "/home/bossik/gap/pkg/PL/lib/combinatorics.gd" ) #I Read( "/home/bossik/gap/pkg/PL/lib/compbuild.gd" ) #I Read( "/home/bossik/gap/pkg/PL/lib/compcalc.gd" ) #I Read( "/home/bossik/gap/pkg/PL/lib/knots.gd" ) #I Read( "/home/bossik/gap/pkg/PL/init.g" ) done #I Read( "/home/bossik/gap/pkg/PL/read.g" ) #I Read( "/home/bossik/gap/pkg/PL/lib/polytopes.gi" ) We gonna eat your brain #I Read( "/home/bossik/gap/pkg/PL/lib/combinatorics.gi" ) #I Read( "/home/bossik/gap/pkg/PL/lib/compbuild.gi" ) #I Read( "/home/bossik/gap/pkg/PL/lib/compcalc.gi" ) #I Read( "/home/bossik/gap/pkg/PL/lib/knots.gi" ) #I Read( "/home/bossik/gap/pkg/PL/read.g" ) done #I READ_GAP_ROOT: loading 'lib/obsolete.g' as GAP file #I method installed for UnderlyingField matches more than one declaration #I method installed for UnderlyingField matches more than one declaration #I Read( "/usr/share/gap/pkg/tomlib/init.g" ) #I Read( "/usr/share/gap/pkg/tomlib/gap/tmadmin.tmd" ) #I Read( "/usr/share/gap/pkg/tomlib/gap/stdgen.gd" ) #I Read( "/usr/share/gap/pkg/tomlib/init.g" ) done #I Read( "/usr/share/gap/pkg/tomlib/read.g" ) #I Read( "/usr/share/gap/pkg/tomlib/gap/tmadmin.tmi" ) #I Read( "/usr/share/gap/pkg/tomlib/gap/tmstdrd.tom" ) #I Read( "/usr/share/gap/pkg/tomlib/gap/stdgen.gi" ) #I Read( "/usr/share/gap/pkg/tomlib/read.g" ) done GAP4, Version: 4.4.12 of 17-Dec-2008, x86_64-pc-linux-gnu-x86_64-pc-linux-gnu-\ gcc Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1, trans 1.0, prim 2.1 loaded. Packages: PL 0.1, TomLib 1.1.4 loaded. gap> Best, Igor 05.04.2011, 18:03, "Stephen Linton" ;: 05.04.2011, 18:03, "Stephen Linton" : > Dear Igor, > > Could you try starting GAP with the -D option (and without -A and -r). > This will produce a lot of messages. Could you send us the 10 or so either side of the error message, please? > > ????????Steve > > On 5 Apr 2011, at 14:46, Alexander Konovalov wrote: > >> ?Dear Igor, >> >> ?Thank you very much for notifying us about the intended package, and you are very >> ?welcome to present it for a wider audience. >> >> ?To decide what to do next when your package will be available, please see the page >> ?Submitting Contributions to GAP: http://www.gap-system.org/Contacts/submit.html >> >> ?Quoting that page, there are two options listed there: >> >> ?*** >> >> ?1) Submitting Material for Formal Refereeing >> >> ?The author of a contribution that is intended for formal acceptance should begin the process by notifying the Chair of the GAP Council by emailing council at gap-system.org, providing full information where the complete material has been placed. >> >> ?2) Submitting Deposited Contributions >> >> ?You are also invited to provide material that is not intended for formal refereeing. To tell us about such material, contact support at gap-system.org. (Packages can also be put into this category while refereeing is in process.) >> >> ?*** >> >> ?It is up to package authors to decide between these two options, and certainly it's possible to start with (2) and then decide to submit as in (1) at some stage later, or to submit the package for the refereeing as in (1) with or without depositing it simultaneously as in (2). >> >> ?Best wishes, >> ?Alexander >> >> ?On 5 Apr 2011, at 13:01, Igor Korepanov wrote: >>> ?Dear Alexander, >>> >>> ?Thank you for the prompt reaction to my message, >>> >>> ?and indeed, when I started GAP with >>> >>> ?gap -r -A -l ";/home/myhome/gap" >>> >>> ?(where the -l option was added because I prefer not to act as a superuser, leaving this privilege to my wife), and then wrote >>> >>> ?gap> LoadPackage("PL"); >>> >>> ?there was *no more* such problem. >>> >>> ?So, thank you again, and the question is: what will you recommend me to do next? >>> >>> ?Igor >>> >>> ?05.04.2011, 15:46, "Alexander Konovalov" ;: >>>> ?Dear Igor, >>>> >>>> ?On 5 Apr 2011, at 07:34, Igor Korepanov wrote: >>>>> ?Dear Forum, >>>>> >>>>> ?We are writing our new GAP package called PL, which stays for "piecewise-linear" topology and mathematical physics. As some functions already work, I think we will make it available for public (support and) critisism soon. >>>>> >>>>> ?However, when GAP reads our package, it writes out: >>>>> >>>>> ?#I ?method installed for UnderlyingField matches more than one declaration >>>>> >>>>> ?How can I fish out and fix this bug? >>>> ?There is a large chance that this is a problem with a different package - for example, >>>> ?I can reproduce it when I start GAP 4.4.12 with -A option (so no autoloaded packages >>>> ?are loaded), but without -r option (so it reads my .gaprc file and loads packages >>>> ?stated there). >>>> >>>> ?Could you try to start GAP with -r -A options and then do >>>> >>>> ?LoadPackage("PL"); >>>> >>>> ?to check if the problem persists? >>>> >>>> ?Best wishes, >>>> ?Alexander >> ?_______________________________________________ >> ?Forum mailing list >> ?Forum at mail.gap-system.org >> ?http://mail.gap-system.org/mailman/listinfo/forum From sarwarvu at gmail.com Wed Apr 6 10:36:31 2011 From: sarwarvu at gmail.com (Muhammad sarwar) Date: Wed, 6 Apr 2011 14:36:31 +0500 Subject: [GAP Forum] query Message-ID: Dear I want to form Galois group for the polynomial. I would like ask you ,which package will use to find the Galois group of the polynomial. regard Sarwar From andreas at mcs.st-and.ac.uk Wed Apr 6 16:25:19 2011 From: andreas at mcs.st-and.ac.uk (andreas at mcs.st-and.ac.uk) Date: Wed, 6 Apr 2011 16:25:19 +0100 (BST) Subject: [GAP Forum] query In-Reply-To: References: Message-ID: Dear Muhammad Sarwar, If you are just interested in the isomorphism type of the Galois group you should use 'GaloisType'. This command works for polynomials of degree at most 15. For Galois groups of small enough order you can try 'GaloisGroupsOnRoots' from the package 'RadiRoot' to get an idea of the action of the group on the roots of the polynomial. Best wishes, Andreas Distler > Dear > I want to form Galois group for the polynomial. I would like ask you > ,which > package will use to find the Galois group of the polynomial. > > > regard > Sarwar > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From paloff at ya.ru Thu Apr 7 10:20:09 2011 From: paloff at ya.ru (Igor Korepanov) Date: Thu, 07 Apr 2011 13:20:09 +0400 Subject: [GAP Forum] PL project Message-ID: <861031302168010@web116.yandex.ru> Dear Forum, Please see http://sourceforge.net/projects/plgap/ for our package PL for calculations in piecewise-linear topology and mathematical physics. And do join us and become co-authors! Igor From paloff at ya.ru Thu Apr 7 12:41:30 2011 From: paloff at ya.ru (Igor Korepanov) Date: Thu, 07 Apr 2011 15:41:30 +0400 Subject: [GAP Forum] PL project In-Reply-To: <861031302168010@web116.yandex.ru> References: <861031302168010@web116.yandex.ru> Message-ID: <12841302176490@web131.yandex.ru> Addition: as this is just the beginning of the project, some - or rather many - things are still to be done. For instance, the README file. At this very moment, you can read the file doc/manual.pdf for some instructions. Also, we did not test how it might interfere with other packages. 07.04.2011, 15:37, "Igor Korepanov" : > Dear Forum, > > Please see http://sourceforge.net/projects/plgap/ for our package PL for calculations in piecewise-linear topology and mathematical physics. > > And do join us and become co-authors! > > Igor > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From A.Egri-Nagy at herts.ac.uk Sun Apr 10 10:58:27 2011 From: A.Egri-Nagy at herts.ac.uk (Attila Egri-Nagy) Date: Sun, 10 Apr 2011 11:58:27 +0200 Subject: [GAP Forum] A^3 Abstract Algebra and Algorithms Conference, Aug. 14-17, Eger, Hungary In-Reply-To: References: Message-ID: Dear Forum, This conference may be of interest. There are GAP related tutorials planned in the program. best regards, attila egri-nagy --------------------------------------------------------------------------------------------------------------------------------- First Announcement A^3 ABSTRACT ?ALGEBRA AND ALGORITHMS ? Aug. 14-17, Eger, Hungary ? http://a3.ektf.hu The A^3 international meeting is aimed at mathematicians and computer scientists interested in Abstract Algebra. Though this part of Mathematics has many different branches, still the unique style of algebraic thinking is recognizable and retained in all kind of algebraic research. The meeting will utilize this common language to bring together algebraists working in different research directions and to facilitate conversations and discussions between researchers. The meeting also puts some emphasis on the computational aspects of abstract algebra. Topics include, but not limited to: ? ?groups and semigroups ? ?rings and algebras ? ?fields, modules, vector spaces ? ?universal algebra, category theory ? ?abstract algebraic algorithms Location Eger is a charming little town in Northern-East Hungary, east of the M?tra mountains and south of the B?kk mountains. It is famous for its historical buildings including a castle and a turkish minaret, thermal baths and wine. The meeting is hosted by the Eszterh?zy K?roly College and the venue is right behind the castle. Invited Speakers Ted Hurley (National University of Ireland, Galway, Ireland) David Lewis (University College Dublin, Ireland) Yuanlin Li (Brock University, Ontario, Canada) James D. Mitchell (University of St. Andrews, UK) Chrystopher Nehaniv (University of Hertfordshire, UK) P?ter P?l P?lfy (Alfr?d R?nyi Institute of Mathematics, Hungarian Academy of Sciences, Hungary) More information: http://a3.ektf.hu From ayoubbasheer at gmail.com Fri Apr 15 19:24:31 2011 From: ayoubbasheer at gmail.com (ayoubac basheer) Date: Fri, 15 Apr 2011 20:24:31 +0200 Subject: [GAP Forum] Displaying a character table of a group G Message-ID: Dear all The below two elements a and b (6x6 matrices over GF(4)) are generators of a group G of order 1 002 700 800 and has 165 conjugacy classes. I am trying to display the character table of G, but the machine I use keeps telling me "exceeded permitted memory ........" and it breaks without showing me the character table of G. Can anyone helps by attaching me on ( ayoubbasheer at gmail.com ) the character of G in a word file. --------------------------------------------------------------------------------------------------------------------------------------------- a:= [[Z(4)^0, 0*Z(4), 0*Z(4), 0*Z(4), 0*Z(4), 0*Z(4)], [Z(4)^1, Z(4)^1, Z(4)^1, Z(4)^2, Z(4)^1, 0*Z(4)], [Z(4)^1, Z(4)^0, Z(4)^0, Z(4)^2, 0*Z(4), 0*Z(4)], [0*Z(4), Z(4)^2, Z(4)^1, Z(4)^2, Z(4)^2, 0*Z(4)], [0*Z(4), Z(4)^1, Z(4)^0, 0*Z(4), Z(4)^2, 0*Z(4)], [Z(4)^0, Z(4)^1, Z(4)^0, Z(4)^0, 0*Z(4), Z(4)^0]]; b:= [[Z(4)^0, 0*Z(4), 0*Z(4), 0*Z(4), 0*Z(4), 0*Z(4)], [Z(4)^0, Z(4)^1, Z(4)^0, Z(4)^0, Z(4)^1, 0*Z(4)], [Z(4)^0, Z(4)^2, 0*Z(4), Z(4)^0, 0*Z(4), 0*Z(4)], [Z(4)^2, Z(4)^1, Z(4)^1, Z(4)^2, Z(4)^0, 0*Z(4)], [Z(4)^0, Z(4)^1, Z(4)^1, Z(4)^0, Z(4)^2, 0*Z(4)], [Z(4)^2, 0*Z(4), Z(4)^0, 0*Z(4), 0*Z(4), Z(4)^0]]; ----------------------------------------------------------------------------------------------------------------------------------------- gap> G:= Group(a,b); gap> ct:= CharacterTable(G); gap> Display(ct); Kind regards Ayoub Basheer From ahulpke at gmail.com Sun Apr 17 09:51:58 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Sun, 17 Apr 2011 20:51:58 +1200 Subject: [GAP Forum] Displaying a character table of a group G In-Reply-To: References: Message-ID: Dear Forum, Dear Ayoub Basheer, Since your group is a matrix group, at the moment the best way to proceed is to use IsomorphismPermGroup to convert to a permutation group, followed by SmallerDegreePermutationRepresentation to try to reduce the permutation degree. (This is substantial work trying to do so, but will help for the actual calculation, as it is very costly.) Still the character table calculation takes about 2.5GB of workspace. I therefore wrote the result to a file http://files.me.com/hulpke/98q36g which you can read into GAP and which defines an object A with the desired character table. (In case anyone cares, the group is of structure 2^(1+1+8) : Sp_4(4) , it is likely that some thought (versus brute force computation) would get the table by hand.) I hope this is of help. Best, 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 From vplkakkar at gmail.com Mon Apr 18 07:26:30 2011 From: vplkakkar at gmail.com (vipul kakkar) Date: Mon, 18 Apr 2011 11:56:30 +0530 Subject: [GAP Forum] To use more memory for GAP Message-ID: Hi!! I am using GAP on Windows OS. For large calculation i want to use "-o" to enhance its allotted memory but i don't know how to use it for GAP in Window OS. Kindly help me regarding this problem. Thanks From paloff at ya.ru Mon Apr 18 08:21:32 2011 From: paloff at ya.ru (Igor Korepanov) Date: Mon, 18 Apr 2011 11:21:32 +0400 Subject: [GAP Forum] Grassmann algebras in GAP? Message-ID: <306411303111293@web143.yandex.ru> Dear Forum, what is heard about Grassmann algebras in GAP? And Berezin integral? Is anybody interested in this? Best wishes, Igor From zeinab_foruzanfar at iust.ac.ir Mon Apr 18 09:42:18 2011 From: zeinab_foruzanfar at iust.ac.ir (zeinab foruzanfar) Date: Mon, 18 Apr 2011 12:12:18 +0330 Subject: [GAP Forum] (no subject) Message-ID: Dear Gap When we have elements of a finite group of G and theirs order ,how can we show finite group of G as a freegroup? Thanks for your attention From sam_8096 at yahoo.com Mon Apr 18 19:56:26 2011 From: sam_8096 at yahoo.com (Sam Taylor) Date: Mon, 18 Apr 2011 11:56:26 -0700 (PDT) Subject: [GAP Forum] (no subject) Message-ID: <630710.2353.qm@web114306.mail.gq1.yahoo.com> Dear Sir/Madam,?I have seen the centralizer of an element of a group in the group.Can GAP calculate the centralizer of a group G in a group H. Fro example can GAP calculate the centralizer of MathieuGroup(9); in PGL(2,7);?ThanksRegards From ahulpke at gmail.com Tue Apr 19 02:15:28 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Tue, 19 Apr 2011 13:15:28 +1200 Subject: [GAP Forum] (no subject) In-Reply-To: <630710.2353.qm@web114306.mail.gq1.yahoo.com> References: <630710.2353.qm@web114306.mail.gq1.yahoo.com> Message-ID: <79E51575-12E5-4C0A-B27B-D088DEF42ACE@gmail.com> Dear Forum, On Apr 19, 2011, at 6:56 AM, Sam Taylor wrote: > Dear Sir/Madam, I have seen the centralizer of an element of a group in the group.Can GAP calculate the centralizer of a group G in a group H. Fro example can GAP calculate the centralizer of MathieuGroup(9); in PGL(2,7); ThanksRegards Centralizer(H,G) will do as desired. Incidentally, this information is available in the manual, for example by looking up Centralizer' in the index http://www.gap-system.org/Manuals/doc/htm/theindex.htm Regards, 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 From ahulpke at gmail.com Tue Apr 19 04:15:39 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Tue, 19 Apr 2011 15:15:39 +1200 Subject: [GAP Forum] (no subject) In-Reply-To: References: Message-ID: <48D15404-93B1-4F90-8F5A-2BEFA37287BE@gmail.com> Dear Gap Forum, On Apr 18, 2011, at 8:42 PM, zeinab foruzanfar wrote: > Dear Gap > When we have elements of a finite group of G and theirs order ,how can we show finite group of G as a > freegroup? I presume you wanted to ask about expressing G as quotient of a free group. phi:=IsomorphismFpGroup(G); F:=Image(phi); returns a finitely presented group, FreeGeneratorsOfFpGroup(F) returns the corresponding free generators and RelatorsOfFpGroup(F) the relators. Regards, 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 From vplkakkar at gmail.com Tue Apr 19 08:03:52 2011 From: vplkakkar at gmail.com (vipul kakkar) Date: Tue, 19 Apr 2011 12:33:52 +0530 Subject: [GAP Forum] To save output Message-ID: Dear GAP Forum, Is there any method in GAP that the output I am getting through some program of GAP can be saved in some other file e.g. text file so that it can be utilized for future computations. Thanks. Vipul From jbohanon2 at gmail.com Tue Apr 19 13:30:25 2011 From: jbohanon2 at gmail.com (Joe Bohanon) Date: Tue, 19 Apr 2011 08:30:25 -0400 Subject: [GAP Forum] To save output In-Reply-To: References: Message-ID: See the commands near the end of this page: http://www.gap-system.org/Manuals/doc/htm/ref/CHAP009.htm I think OutputLogTo is the one you want. Joe On Tue, Apr 19, 2011 at 3:03 AM, vipul kakkar wrote: > Dear GAP Forum, > > Is there any method in GAP that the output I am getting through some > program > of GAP can be saved in some other file e.g. text file so that it can be > utilized for future computations. > > Thanks. > > Vipul > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From Gordon.Royle at uwa.edu.au Tue Apr 19 13:40:51 2011 From: Gordon.Royle at uwa.edu.au (Gordon Royle) Date: Tue, 19 Apr 2011 20:40:51 +0800 Subject: [GAP Forum] Installing "io" package on Mac OS X Message-ID: <93D868C4-2D91-4CFC-9CCA-C1DEF2FEC90D@uwa.edu.au> Trying to install the io package following the instructions... ./configure works fine make produces the following output ../../bin/i686-apple-darwin10.4.0-gcc/gac -d -p "-I/Users/gordon/MacSoftware/gap4r4/pkg/io/bin/i686-apple-darwin10.4.0-gcc" -o bin/i686-apple-darwin10.4.0-gcc/io.so src/io.c gcc -fPIC -I/Users/gordon/MacSoftware/gap4r4/pkg/io/bin/i686-apple-darwin10.4.0-gcc -o /tmp/gac75083/75083_io.o -I/Users/gordon/MacSoftware/gap4r4/bin/i686-apple-darwin10.4.0-gcc/../.. -I/Users/gordon/MacSoftware/gap4r4/bin/i686-apple-darwin10.4.0-gcc -DCONFIG_H -c src/io.c ld -bundle -bundle_loader /Users/gordon/MacSoftware/gap4r4/bin/i686-apple-darwin10.4.0-gcc/gap -lc -lm -o bin/i686-apple-darwin10.4.0-gcc/io.so /tmp/gac75083/75083_io.o ld: symbol dyld_stub_binding_helper not defined (usually in crt1.o/dylib1.o/bundle1.o) for inferred architecture x86_64 rm -f /tmp/gac75083/75083_io.o What does "dyld_stub_binding_helper not defined" mean? And how can I fix it? Thanks Gordon From dima at ntu.edu.sg Tue Apr 19 15:41:21 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Tue, 19 Apr 2011 22:41:21 +0800 Subject: [GAP Forum] Installing "io" package on Mac OS X In-Reply-To: <93D868C4-2D91-4CFC-9CCA-C1DEF2FEC90D@uwa.edu.au> References: <93D868C4-2D91-4CFC-9CCA-C1DEF2FEC90D@uwa.edu.au> Message-ID: Gordon, it looks like a bug I reported here at least twice :?) Basically, you need to link against bundle1.o i.e. edit the gac shell script (in Users/gordon/MacSoftware/gap4r4/pkg/io/bin/i686-apple-darwin10.4.0-gcc?) so that the line c_dyn_linking=.... looks like c_dyn_linking="-bundle -bundle_loader ${gap_bin}/gap -lc -lm -lbundle1.o" Hope this helps, Dima On 19 April 2011 20:40, Gordon Royle wrote: > Trying to install the io package following the instructions... > > ./configure works fine > > make produces the following output > > ../../bin/i686-apple-darwin10.4.0-gcc/gac -d -p "-I/Users/gordon/MacSoftware/gap4r4/pkg/io/bin/i686-apple-darwin10.4.0-gcc" -o bin/i686-apple-darwin10.4.0-gcc/io.so src/io.c > gcc -fPIC -I/Users/gordon/MacSoftware/gap4r4/pkg/io/bin/i686-apple-darwin10.4.0-gcc -o /tmp/gac75083/75083_io.o -I/Users/gordon/MacSoftware/gap4r4/bin/i686-apple-darwin10.4.0-gcc/../.. -I/Users/gordon/MacSoftware/gap4r4/bin/i686-apple-darwin10.4.0-gcc -DCONFIG_H -c src/io.c > ld -bundle -bundle_loader /Users/gordon/MacSoftware/gap4r4/bin/i686-apple-darwin10.4.0-gcc/gap -lc -lm -o bin/i686-apple-darwin10.4.0-gcc/io.so /tmp/gac75083/75083_io.o > ld: symbol dyld_stub_binding_helper not defined (usually in crt1.o/dylib1.o/bundle1.o) for inferred architecture x86_64 > rm -f /tmp/gac75083/75083_io.o > > > > What does "dyld_stub_binding_helper not defined" mean? > > And how can I fix it? > > Thanks > > Gordon > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From zeinab_foruzanfar at iust.ac.ir Wed Apr 20 05:10:10 2011 From: zeinab_foruzanfar at iust.ac.ir (zeinab foruzanfar) Date: Wed, 20 Apr 2011 07:40:10 +0330 Subject: [GAP Forum] (no subject) Message-ID: Dear Gap I am a question? Let we have SmallGroup(order,n),how we can show finite group of SmallGroup(order,n) in the form of For example finite group of SmallGroup(70,2). Thanks for your attention From vplkakkar at gmail.com Thu Apr 21 07:27:15 2011 From: vplkakkar at gmail.com (vipul kakkar) Date: Thu, 21 Apr 2011 11:57:15 +0530 Subject: [GAP Forum] To save output In-Reply-To: References: Message-ID: Thank you Prof Sambale and Prof Bohanon On Tue, Apr 19, 2011 at 6:00 PM, Joe Bohanon wrote: > See the commands near the end of this page: > > http://www.gap-system.org/Manuals/doc/htm/ref/CHAP009.htm > > I think OutputLogTo is the one you want. > > Joe > > On Tue, Apr 19, 2011 at 3:03 AM, vipul kakkar wrote: > >> Dear GAP Forum, >> >> Is there any method in GAP that the output I am getting through some >> program >> of GAP can be saved in some other file e.g. text file so that it can be >> utilized for future computations. >> >> Thanks. >> >> Vipul >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > > From neunhoef at mcs.st-and.ac.uk Thu Apr 21 15:55:42 2011 From: neunhoef at mcs.st-and.ac.uk (Max Neunhoeffer) Date: Thu, 21 Apr 2011 15:55:42 +0100 Subject: [GAP Forum] Installing "io" package on Mac OS X In-Reply-To: <93D868C4-2D91-4CFC-9CCA-C1DEF2FEC90D@uwa.edu.au> References: <93D868C4-2D91-4CFC-9CCA-C1DEF2FEC90D@uwa.edu.au> Message-ID: <20110421145542.GA13833@mcs.st-and.ac.uk> Dear Forum, this problem has already been fixed in the development version of GAP. The following fix for GAP 4.4.12 seems to work on all versions of MacOSX (contrary to the one suggested by Dima): After GAP itself was built, edit gap4r4/bin/i686-apple-darwin10.4.0-gcc/gac (or similar, depending on your version of OSX) in line 78 from c_dyn_linker="ld" to c_dyn_linker="gcc" Then try ./configure ; make in gap4r4/pkg/io again. Best regards, Max. On Tue, Apr 19, 2011 at 08:40:51PM +0800, Gordon Royle wrote: > Trying to install the io package following the instructions... > > ./configure works fine > > make produces the following output > > ../../bin/i686-apple-darwin10.4.0-gcc/gac -d -p "-I/Users/gordon/MacSoftware/gap4r4/pkg/io/bin/i686-apple-darwin10.4.0-gcc" -o bin/i686-apple-darwin10.4.0-gcc/io.so src/io.c > gcc -fPIC -I/Users/gordon/MacSoftware/gap4r4/pkg/io/bin/i686-apple-darwin10.4.0-gcc -o /tmp/gac75083/75083_io.o -I/Users/gordon/MacSoftware/gap4r4/bin/i686-apple-darwin10.4.0-gcc/../.. -I/Users/gordon/MacSoftware/gap4r4/bin/i686-apple-darwin10.4.0-gcc -DCONFIG_H -c src/io.c > ld -bundle -bundle_loader /Users/gordon/MacSoftware/gap4r4/bin/i686-apple-darwin10.4.0-gcc/gap -lc -lm -o bin/i686-apple-darwin10.4.0-gcc/io.so /tmp/gac75083/75083_io.o > ld: symbol dyld_stub_binding_helper not defined (usually in crt1.o/dylib1.o/bundle1.o) for inferred architecture x86_64 > rm -f /tmp/gac75083/75083_io.o > > > > What does "dyld_stub_binding_helper not defined" mean? > > And how can I fix it? > > Thanks > > Gordon > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Max Neunhoeffer http://www-groups.mcs.st-and.ac.uk/~neunhoef/ > > > > > > > > > > > May the Source be with you! < < < < < < < < < < < < The University of St Andrews is a registered Scottish charity: No SC013532 From sandeepr.murthy at gmail.com Sat Apr 23 12:59:18 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Sat, 23 Apr 2011 12:59:18 +0100 Subject: [GAP Forum] Nongenerating elements of a group Message-ID: <7BDB57F8-567B-4457-A138-C15DDBEB8D55@gmail.com> Dear Forum. I have two questions. 1. What are the differences between the functions GeneratorsSmallest( group ) and MinimalGeneratingSet( group ) ? They seem to do the same thing. 2. Is there a function for testing whether a given element of a group is a nongenerating element? Thanks in advance. Sincerely, Sandeep. From stefan at mcs.st-and.ac.uk Sat Apr 23 13:42:47 2011 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Sat, 23 Apr 2011 13:42:47 +0100 (BST) Subject: [GAP Forum] Nongenerating elements of a group In-Reply-To: <7BDB57F8-567B-4457-A138-C15DDBEB8D55@gmail.com> References: <7BDB57F8-567B-4457-A138-C15DDBEB8D55@gmail.com> Message-ID: Dear Forum, Sandeep Murthy asked: > I have two questions. > > 1. What are the differences between the functions > GeneratorsSmallest( group ) and MinimalGeneratingSet( group ) ? > They seem to do the same thing. The function GeneratorsSmallest' returns the lexicographically smallest set of generators of a group, while the function MinimalGeneratingSet' returns a generating set of minimal possible length. Thus, the set of generators returned by the former function may have not the smallest possible number of elements, while the set of generators returned by the latter function may be not the lexicographically smallest set of generators. -- See the documentation, i.e. ?GeneratorsSmallest and ?MinimalGeneratingSet. For example we have: gap> GeneratorsSmallest(SymmetricGroup(4)); [ (3,4), (2,3), (1,2) ] gap> MinimalGeneratingSet(SymmetricGroup(4)); [ (2,4,3), (1,4,2,3) ] > 2. Is there a function for testing whether a given element of a > group is a nongenerating element? You want to test membership in the Frattini subgroup? -- This can be done as follows: if G is your group and g is your given element, check g in FrattiniSubgroup(G);'. Hope this helps, Stefan Kohl ------------------------------------------------------------------- Dr. Stefan Kohl Current address: Universiteti "Ismail Qemali" Vlore Lagjja: Pavaresia Vlore / Albania Web: http://www.gap-system.org/DevelopersPages/StefanKohl/ ------------------------------------------------------------------- From parivashnosratpoor at yahoo.com Sat Apr 23 15:43:07 2011 From: parivashnosratpoor at yahoo.com (parivash nosratpoor) Date: Sat, 23 Apr 2011 07:43:07 -0700 (PDT) Subject: [GAP Forum] question Message-ID: <586206.35514.qm@web37904.mail.mud.yahoo.com> Dear Gap Forum: How you introduce Twice Chevalley group 2E6(2) in Gap progeram? Tank you P.Nosratpour From ahulpke at gmail.com Tue Apr 26 06:21:49 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Tue, 26 Apr 2011 17:21:49 +1200 Subject: [GAP Forum] question In-Reply-To: <586206.35514.qm@web37904.mail.mud.yahoo.com> References: <586206.35514.qm@web37904.mail.mud.yahoo.com> Message-ID: Dear GAP Forum, On Apr 24, 2011, at 2:43 AM, parivash nosratpoor wrote: > Dear Gap Forum: > How you introduce Twice Chevalley group 2E6(2) in Gap progeram? For many of the simple groups the ATLAS web pages (here: http://brauer.maths.qmul.ac.uk/Atlas/v3/exc/TE62/ ) and in particular the atlasrep' package are your friends: LoadPackage("atlasrep"); g:=AtlasGroup("2E6(2)"); This is however a rather large matrix group and GAPs default functions are likely to choke on it. We thus need to help the system with finding a permutation representation of minimal degree 3968055 The following vector was computed as fixed-vector of an involution centralizer for an element in class 2A (found as power of a random element in class 22, since for this order all 11th powers must lie in class 2A), using Bray's method. (If you have other representations, youd have to do this yourself) v:=[ 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0 ]*Z(2); Now we can act: orb:=Orbit(g,v);; p:=Action(g,orb); #isomorphic permutation group SetSize(p,Size(g)); # help GAP with computing a stabilizer chain Creating a stabilizer chain for p now takes about 2.5GB of workspace. Now (with further workspace) you could perform more involved calculations in this group. Hope this helps, 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 From paloff at ya.ru Sun May 1 15:13:40 2011 From: paloff at ya.ru (Igor Korepanov) Date: Sun, 01 May 2011 18:13:40 +0400 Subject: [GAP Forum] again Grassmann algebras and Berezin integral Message-ID: <358701304259220@web54.yandex.ru> Dear Forum, Some days ago, I asked whether anybogy was interested in writing/using code for Grassmann algebras and Berezin integral in GAP. It was a pity that, apparently, nobody was. Anyhow, I am reporting that I already have some working functions in my package PL. And they already allowed me, together with GAP as a whole, to discover something new in my fermionic TQFT's. Remark: Berezin integral is a pretty finite-dimensional thing, see Wikipedia for instance. With my best wishes for the 1st of May (International Day of Solidarity of Working People, isn't it?), Igor From alexander.konovalov at gmail.com Wed May 4 21:53:37 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed, 4 May 2011 21:53:37 +0100 Subject: [GAP Forum] Beta release of GAP 4.5 for package authors Message-ID: Dear GAP Forum, we are distributing the announcement below which is primarily addressed to package authors (existing or prospective), but certainly constitutes an interest for a wider audience of GAP users. If you have a GAP package in preparation or if you would like to have a preview of the new version of GAP, you are welcome to download, install and test the beta release of GAP 4.5. Please be aware of the following WARNING: this is a beta version which still contains some work in progress and also contains some bugs which will be fixed in the coming official release, so usual care should be taken, as reasonably expected while working with a beta version of any software. Best wishes, Alexander Konovalov * * * * * * * * * * * * * * * * * * * * * * * * * * ANNOUNCEMENT of the Beta release of GAP 4.5 for package authors Dear GAP Forum, There have been many changes in the development version of GAP during the more than two years since the release of GAP 4.4.12. Some major developments that were started earlier are now ready for release and it's now high time for the GAP 4.5 release, which we plan to have later in 2011. We have already prepared a first beta version of GAP 4.5, named GAP 4.5.1, which is available in the archive ftp://ftp.gap-system.org/pub/gap/gap45/beta/gap4r5p1_2011_04_15-00_10.zip in order to allow authors of GAP 4 packages to test their packages with the new features and prepare them for the first official release of GAP 4.5. We have already tested most of the current versions of GAP packages with the beta-release of GAP 4.5, and did not find any serious problems. Thus, we hope that for most packages the change will go smoothly. While the transition to GAP 4.5 will not break existing GAP code we encouraged package authors to make some adjustments in the setup and the documentation of packages to use some of the new features of the GAP 4.5 package interface. If you are currently working on a new GAP package which you plan to release soon, or if you are simply interested in a preview of a new version of GAP, you are welcome to download, install and test GAP 4.5.1. You will notice that its archive is not quite the same as the GAP 4.4 archives. For the general release of GAP 4.5 (and subsequent updates) we plan the main form of distribution of GAP to be a single dated archive file including current versions of all packages. Some of the packages that are loaded at the beginning of the GAP session currently produce errors; these may be ignored at the moment unless you need those particular packages, and should be eventually eliminated after relevant package updates. This archive does not include binaries so you will need to compile the GAP kernel yourself. There are now additional configure options available to specify the usage of the external GMP and readline libraries and the build mode, which are documented in the Chapter "Installing GAP" of the Reference manual, available also at ftp://ftp.gap-system.org/pub/gap/gap45/beta/install.pdf To run GAP under Windows, you may either compile it yourself with Cygwin or download Windows binaries in the archive http://www.cs.st-andrews.ac.uk/~alexk/gap/gap4r5p1winbin.zip It has two subdirectories, "gap4r5/bin" and "gap4r5/terminfo". You should unpack it from the same place where you've previously unpacked 4.5.1 so the content of 'bin' will go to the existing 'gap4r5/bin' directory and a new subdirectory 'terminfo' will be created in 'gap4r5'. In addition, the file http://www.cs.st-andrews.ac.uk/~alexk/gap/gap45beta.txt contains further notes for package authors about building GAP 4.5 beta with GMP on Mac OS X and may be extended with other relevant information in the future. The document ftp://ftp.gap-system.org/pub/gap/gap45/beta/gap45beta.pdf contains, in addition to the information included in this message, a more detailed announcement of GAP 4.5.1 with a brief overview of main changes in GAP 4.5 from the package author's perspective, descriptions of known problems that we observed while testing current packages with GAP 4.5, and some further guidelines. For your convenience, the text of the announcement is duplicated in the temporary preface of the reference manual for GAP 4.5.1, from where you may follow hyperlinks to appropriate manual sections. We welcome all feedback to support at gap-system.org including comments, suggestions, bug reports and manual corrections. Best wishes, the GAP development team From sam_8096 at yahoo.com Sat May 7 15:24:15 2011 From: sam_8096 at yahoo.com (sam_8096 at yahoo.com) Date: Sat, 07 May 2011 14:24:15 -0000 Subject: [GAP Forum] invite_subject Message-ID: <20110507142415.1466.56707@www.12like.com> Hallo, Dear Natalika, Thanks for your e mail. Bye bye. From sararadfarss at gmail.com Sun May 8 15:11:28 2011 From: sararadfarss at gmail.com (Sara Radfar) Date: Sun, 8 May 2011 07:11:28 -0700 Subject: [GAP Forum] Order Element Message-ID: Dear all I have a question about order element a group if possible help me: How we can find the set order element a group?.For example we know the set of the order elements group A_5 is {1,2,3,5}.Thanks, With Best Regards, Sara From ahulpke at gmail.com Sun May 8 15:25:44 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Sun, 8 May 2011 08:25:44 -0600 Subject: [GAP Forum] Order Element In-Reply-To: References: Message-ID: <1A7E4C56-CDF6-4891-B6D2-703A1DE41FA5@gmail.com> On May 8, 2011, at 8:11 AM, Sara Radfar wrote: > Dear all > > I have a question about order element a group if possible help me: > How we can find the set order element a group?.For example we know the > set of the order elements group A_5 is {1,2,3,5}.Thanks, Define AllElementOrders := G->Set(List(ConjugacyClasses(G),x->Order(Representative(x)))); Then AllElementOrders(G) returns what you want. Best, Alexander Hulpke From ljj198123 at 126.com Wed May 11 15:07:32 2011 From: ljj198123 at 126.com (=?GBK?B?wfW9qL78?=) Date: Wed, 11 May 2011 22:07:32 +0800 (CST) Subject: [GAP Forum] A question about Omega Message-ID: <5cae2572.ba83.12fdf624fe2.Coremail.ljj198123@126.com> Deat GAP Forum, For a p-group$G$. The attibute "Omega(G,p)"(37.14) can be used when$G$is abelian. Let$G$be a finite non-abelian p-group. Is there a method to get the subgroup that is generated by all elements of$G$of order p? Best Wishes Jianjun Liu From dungdailoan at gmail.com Wed May 11 15:14:57 2011 From: dungdailoan at gmail.com (Dung Duong) Date: Wed, 11 May 2011 16:14:57 +0200 Subject: [GAP Forum] About Normalizer Message-ID: Dear GAP Forum, I am totally new with GAP and I have a problem as below : I have a group G:=AutomorphismGroup(PSL(2,9)). One of its Maximal subgroup is$M =N_G(D_8)$. And I would like to computthe order of this group. So I did as follows : > G:=AutomorphismGroup(PSL(2,9)); > H:=DihedralGroup(8); > Normalizer(G,H); But it does not work. I think that somehow I need to "embed" H as a subgroup of G. But I dont know how. Please tell me how I can do. Thanks in advance. Best regards, Dung Duong From jbohanon2 at gmail.com Wed May 11 22:47:05 2011 From: jbohanon2 at gmail.com (Joe Bohanon) Date: Wed, 11 May 2011 17:47:05 -0400 Subject: [GAP Forum] About Normalizer In-Reply-To: References: Message-ID: In this case, PSL(2,9) is small enough to just construct the entire lattice, so you could do: gap> Filtered(List(ConjugacyClassesSubgroups(G),Representative),i->Size(i)=8 and IsDihedralGroup(i)); [ Group([ (3,4)(5,8)(6,9)(7,10), (3,6,4,9)(5,7,8,10), (1,2)(5,10)(6,9)(7,8) ]) ] gap> Normalizer(G,last[1]); Group([ (3,4)(5,8)(6,9)(7,10), (3,6,4,9)(5,7,8,10), (1,2)(5,10)(6,9)(7,8) ]) Now, let's say you have a bigger group for which this is not possible. Given your setup, you can run: List(IsomorphicSubgroups(G,H),Image); to get all of the subgroups you want. Isomorphic subgroups returns isomorphisms, so you could also start with a representation of H that you like, and run it on that. For several large simple groups there's also a table of marks library that has things like subgroup lattices and maximal subgroups already stored. For a group where you can still get conjugacy classes, you can also just take random pairs of involutions (actually, you'd just fix one from a conjugacy class and randomize the other one), until their product has order 4. There are ways to still get this to work in groups too big for ConjugacyClasses to successfully run given your memory assuming you can still find (pseudo)-random elements. Of course, you can tweak all this to your needs for other subgroups. Joe On Wed, May 11, 2011 at 10:14 AM, Dung Duong wrote: > Dear GAP Forum, > > I am totally new with GAP and I have a problem as below : > > I have a group G:=AutomorphismGroup(PSL(2,9)). One of its Maximal subgroup > is$M =N_G(D_8)$. And I would like to computthe order of this group. So I > did as follows : > > > G:=AutomorphismGroup(PSL(2,9)); > > H:=DihedralGroup(8); > > Normalizer(G,H); > > But it does not work. I think that somehow I need to "embed" H as a > subgroup > of G. But I dont know how. > > Please tell me how I can do. > > Thanks in advance. > > Best regards, > > Dung Duong > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From stefan at mcs.st-and.ac.uk Thu May 12 09:28:18 2011 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Thu, 12 May 2011 09:28:18 +0100 (BST) Subject: [GAP Forum] About Normalizer In-Reply-To: References: Message-ID: Dear Forum, Dung Duong asked: > I have a group G:=AutomorphismGroup(PSL(2,9)). One of its Maximal subgroup > is$M =N_G(D_8)$. And I would like to compute the order of this group. So I > did as follows : > > > G:=AutomorphismGroup(PSL(2,9)); > > H:=DihedralGroup(8); > > Normalizer(G,H); > > But it does not work. I think that somehow I need to "embed" H as a subgroup > of G. But I dont know how. > > Please tell me how I can do. You can proceed as follows: 1. Enter your groups: gap> G := AutomorphismGroup(PSL(2,9)); gap> H := DihedralGroup(IsPermGroup,8); Group([ (1,2,3,4), (2,4) ]) 2. Switch to an isomorphic permutation group, as computations in permutation groups are faster: gap> phi := IsomorphismPermGroup(G); MappingByFunction( , Group( [ (3,9,4,6)(5,10,8,7), (1,2,4)(5,6,8)(7,9,10), (1,2)(3,10,6,5,4,7,9,8), (1,2)(5,8)(7,10) ]), function( auto ) ... end, function( elm ) ... end ) gap> Gp := Image(phi); Group([ (3,9,4,6)(5,10,8,7), (1,2,4)(5,6,8)(7,9,10), (1,2)(3,10,6,5,4,7,9,8), (1,2)(5,8)(7,10) ]) 3. Compute all embeddings of H into G up to conjugacy: gap> embs := IsomorphicSubgroups(Gp,H); [ [ (1,3), (1,4)(2,3) ] -> [ (1,4)(2,10)(3,9)(5,6)(7,8), (1,4)(2,8)(3,6)(5,10)(7,9) ], [ (1,3), (1,4)(2,3) ] -> [ (1,4)(2,8)(3,6)(5,10)(7,9), (1,4)(6,8)(9,10) ], [ (1,3), (1,4)(2,3) ] -> [ (1,2)(3,4)(5,7)(8,10), (2,3)(5,7)(6,8)(9,10) ], [ (1,3), (1,4)(2,3) ] -> [ (2,5)(3,10)(4,6)(7,9), (1,4)(6,8)(9,10) ], [ (1,3), (1,4)(2,3) ] -> [ (1,8)(3,10)(7,9), (1,4)(6,8)(9,10) ] ] 4. Compute the corresponding normalizers and find out which of them are maximal subgroups of G: gap> norms := List(embs,emb->Normalizer(Gp,Image(emb))); [ Group([ (2,7,3,5)(6,9,8,10), (2,3)(5,7)(6,8)(9,10), (1,4)(2,10)(3,9)(5,6)(7,8), (1,4)(5,7)(6,10)(8,9), (5,7)(6,9)(8,10) ]), Group([ (2,8,3,6)(5,10,7,9), (2,3)(5,7)(6,8)(9,10), (1,4)(2,8)(3,6)(5,10)(7,9), (2,5,3,7)(6,10,8,9) ]), Group([ (2,3)(5,7)(6,8)(9,10), (1,3)(2,4)(5,7)(6,9), (1,2)(3,4)(5,7)(8,10), (2,3)(6,10)(8,9), (1,6,2,10,4,9,3,8) ]), Group([ (1,4)(6,8)(9,10), (1,8)(3,7)(4,6)(9,10), (2,5)(3,10)(4,6)(7,9), (1,8)(3,10)(7,9) ]), Group([ (1,4)(6,8)(9,10), (3,9)(4,6)(7,10), (1,8)(3,10)(7,9), (1,3,6,9,8,7,4,10), (2,5)(3,10)(4,6)(7,9) ]) ] gap> maxes := MaximalSubgroupClassReps(Gp); [ Group([ (5,7)(6,9)(8,10), (3,4)(5,8)(6,9)(7,10), (3,6,4,9)(5,7,8,10), (3,5,4,8)(6,10,9,7), (1,2)(5,8)(7,10) ]), Group([ (1,2)(3,5)(4,8)(6,10)(7,9), (1,5,9,6,8)(2,3,7,10,4), (3,4)(5,8)(6,9)(7,10), (3,7,4,10)(5,9,8,6) ]), Group([ (2,9,6)(3,8,10)(4,7,5), (5,7)(6,9)(8,10), (2,8,5)(3,7,6)(4,9,10), (3,4)(5,10)(7,8), (3,9,4,6)(5,10,8,7), (3,5,4,8)(6,10,9,7) ]), Group([ (1,8)(3,7)(4,6)(9,10), (1,4,3,6,5)(2,9,8,10,7), (5,7)(6,9)(8,10) ]), Group([ (1,8)(3,7)(4,6)(9,10), (1,4,3,6,5)(2,9,8,10,7), (3,5,4,8)(6,10,9,7) ]), Group([ (1,8)(3,7)(4,6)(9,10), (1,4,3,6,5)(2,9,8,10,7), (3,5,6,7,4,8,9,10) ]) ] gap> Mp := Filtered(norms,N->ForAny(maxes,M->IsConjugate(Gp,N,M))); [ Group([ (2,7,3,5)(6,9,8,10), (2,3)(5,7)(6,8)(9,10), (1,4)(2,10)(3,9)(5,6)(7,8), (1,4)(5,7)(6,10)(8,9), (5,7)(6,9)(8,10) ]), Group([ (2,3)(5,7)(6,8)(9,10), (1,3)(2,4)(5,7)(6,9), (1,2)(3,4)(5,7)(8,10), (2,3)(6,10)(8,9), (1,6,2,10,4,9,3,8) ]), Group([ (1,4)(6,8)(9,10), (3,9)(4,6)(7,10), (1,8)(3,10)(7,9), (1,3,6,9,8,7,4,10), (2,5)(3,10)(4,6)(7,9) ]) ] gap> List(Mp,IdGroup); # there are 3, but they are isomorphic [ [ 32, 43 ], [ 32, 43 ], [ 32, 43 ] ] 5. Go back to G by taking preimages under the isomorphism to the permutation group: gap> M := PreImage(phi,Mp[1]); gap> GeneratorsOfGroup(M); [ ^(2,7,3,5)(6,9,8,10), ^(2,3)(5,7)(6,8)(9,10), ^(1,4)(2,10)(3,9)(5,6)(7,8), ^(1,4)(5,7)(6,10)(8,9), ^(5,7)(6,9)(8,10) ] gap> StructureDescription(M); "(C2 x D8) : C2" Hope this helps, Stefan Kohl ------------------------------------------------------------------- Dr. Stefan Kohl Current address: Universiteti "Ismail Qemali" Vlore Lagjja: Pavaresia Vlore / Albania Web: http://www.gap-system.org/DevelopersPages/StefanKohl/ ------------------------------------------------------------------- From marek at mitros.org Fri May 13 19:27:11 2011 From: marek at mitros.org (Marek Mitros) Date: Fri, 13 May 2011 20:27:11 +0200 Subject: [GAP Forum] Convert MAGMA code to GAP Message-ID: Hi All, Does anybody knows about conversion of MAGMA code to GAP ? I found following MAGMA program http://web.mat.bham.ac.uk/B.Fairbairn/MainProgramme.txt which represent .0 Conway Group. I would like to test it but I do not have access to MAGMA. Translating by hand could be time consuming as it is more than 1000 lines. Besides I do not know all MAGMA syntax e.g. m24:=sub; defines probably subgroup of g. I observed that in MAGMA function can return more than one variable e.g. id,pos:=identify(cross); Regards, Marek From vplkakkar at gmail.com Mon May 16 07:53:17 2011 From: vplkakkar at gmail.com (vipul kakkar) Date: Mon, 16 May 2011 12:23:17 +0530 Subject: [GAP Forum] computing orbit Message-ID: Dear all Can I do following in GAP and how: Let G be a group and X be a set on which G acts, I want to calculate number of orbits . for example : Let G be any(finite) group and X the set of all subgroups of G and G acts on X by conjugation and I want to compute number of orbit w.r.t this action. Thanks From williamdemeo at gmail.com Mon May 16 11:02:10 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Mon, 16 May 2011 00:02:10 -1000 Subject: [GAP Forum] computing orbit In-Reply-To: References: Message-ID: Dear Vipul, For the specific action you describe (conjugation action on the set of subgroups), the short answer is to just count the number of conjugacy classes of subgroups. For example: gap> g:=AlternatingGroup(4);; gap> cc:=ConjugacyClassesSubgroups(g);; gap> Size(cc); 5 (N.B. This count includes the "trivial" classes ()^G and G^G.) If you want, you can ask GAP to describe the structure of representatives of these conjugacy classes of subgroups: gap> List(cc, x->StructureDescription(Representative(x))); [ "1", "C2", "C3", "C2 x C2", "A4" ] I'm sure it's also possible to compute the number of orbits of subgroups under conjugation action by actually defining the action group and using the Orbits command. Maybe someone else will reply and describe that. As for the action of a group on the set of cosets of a subgroup, of course, this always results in a single orbit, so maybe isn't the action you're interested in... unless you consider this action on blocks of imprimitivity, in which case you do have orbits (the systems of imprimitivity). Here's an example: gap> G:=SymmetricGroup(4);; gap> cc:=ConjugacyClassesSubgroups(G);; gap> H:=Representative(cc[3]); # Group([ (3,4) ]) gap> act:=Action(G,RightCosets(G,H),OnRight); gap> blks:=AllBlocks(act); [ [ 1, 2, 3 ], [ 1, 4, 10 ], [ 1, 5, 9, 11 ], [ 1, 9 ] ] To see the full orbits (systems of imprimitivity), use gap> Orbit(act,blks[1],OnSets); [ [ 1, 2, 3 ], [ 7, 8, 9 ], [ 10, 11, 12 ], [ 4, 5, 6 ] ] gap> Orbit(act,blks[2],OnSets); [ [ 1, 4, 10 ], [ 2, 5, 8 ], [ 6, 9, 12 ], [ 3, 7, 11 ] ] etc. Hope that helps! -William On Sun, May 15, 2011 at 8:53 PM, vipul kakkar wrote: > Dear all > Can I do following in GAP and how: > > Let G be a group and X be a set on which G acts, I want to calculate number > of orbits . > for example : Let G be any(finite) group and X the set of all subgroups of G > and G acts on X by conjugation and I want to compute number of orbit w.r.t > this action. > > Thanks > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From tshun at kurims.kyoto-u.ac.jp Mon May 23 13:51:19 2011 From: tshun at kurims.kyoto-u.ac.jp (Shunsuke Tsuchioka) Date: Mon, 23 May 2011 21:51:19 +0900 (JST) Subject: [GAP Forum] Computation of Character Table Message-ID: <20110523.215119.68556815.tshun@kurims.kyoto-u.ac.jp> Hi, I want to get a character table of a group of order 57600. Let$g$be a Schur Cover of the symmetric group of degree 10 and$h: g \twoheadrightarrow S_{10}$be a natural surjection. A wreath product$W:=S_{5}\wr S_{2}$is naturally identified with a subgroup of$S_{10}$. I want to get the character table of the preimage subgroup$h^{-1}(W)$of$g$. As shown below, it seems intractable by a naive approach. Is there some technique which reduce the necessary calculation in GAP? I also want to compute the pre-image subgroup of WreathProduct(Normalizer(SymmetricGroup(5),SylowSubgroup(SymmetricGroup(5),5)),SymmetricGroup(2)); via$h$in$g$which has cardinarity 1600. Sincerely, Shunsuke f:=FreeGroup(10); g:=f/[f.1^2*f.10^(-1),f.2^2*f.10^(-1),f.3^2*f.10^(-1),f.4^2*f.10^(-1),f.5^2*f.10 ^(-1),f.6^2*f.10^(-1),f.7^2*f.10^(-1),f.8^2*f.10^(-1),f.9^2*f.10^(-1),(f.1*f.2)^ 3*f.10^(-1),(f.2*f.3)^3*f.10^(-1),(f.3*f.4)^3*f.10^(-1),(f.4*f.5)^3*f.10^(-1),(f .5*f.6)^3*f.10^(-1),(f.6*f.7)^3*f.10^(-1),(f.7*f.8)^3*f.10^(-1),(f.8*f.9)^3*f.10 ^(-1),(f.1*f.3)^2*f.10^(-1),(f.1*f.4)^2*f.10^(-1),(f.1*f.5)^2*f.10^(-1),(f.1*f.6 )^2*f.10^(-1),(f.1*f.7)^2*f.10^(-1),(f.1*f.8)^2*f.10^(-1),(f.1*f.9)^2*f.10^(-1), (f.2*f.4)^2*f.10^(-1),(f.2*f.5)^2*f.10^(-1),(f.2*f.6)^2*f.10^(-1),(f.2*f.7)^2*f. 10^(-1),(f.2*f.8)^2*f.10^(-1),(f.2*f.9)^2*f.10^(-1),(f.3*f.5)^2*f.10^(-1),(f.3*f .6)^2*f.10^(-1),(f.3*f.7)^2*f.10^(-1),(f.3*f.8)^2*f.10^(-1),(f.3*f.9)^2*f.10^(-1 ),(f.4*f.6)^2*f.10^(-1),(f.4*f.7)^2*f.10^(-1),(f.4*f.8)^2*f.10^(-1),(f.4*f.9)^2* f.10^(-1),(f.5*f.7)^2*f.10^(-1),(f.5*f.8)^2*f.10^(-1),(f.5*f.9)^2*f.10^(-1),(f.6 *f.8)^2*f.10^(-1),(f.6*f.9)^2*f.10^(-1),(f.7*f.9)^2*f.10^(-1),f.10*f.10]; imgs:=[(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),()]; h:=GroupHomomorphismByImages(g,SymmetricGroup(10),GeneratorsOfGroup(g),imgs); W:=WreathProduct(SymmetricGroup(5),SymmetricGroup(2)); Pr:=PreImage(h,W); gap> Size(Pr); #I Coset table calculation failed -- trying with bigger table limit #I Coset table calculation failed -- trying with bigger table limit #I Coset table calculation failed -- trying with bigger table limit 57600 gap> c:=CharacterTable(Pr); From hulpke at math.colostate.edu Mon May 23 17:00:37 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Mon, 23 May 2011 10:00:37 -0600 Subject: [GAP Forum] Computation of Character Table In-Reply-To: <20110523.215119.68556815.tshun@kurims.kyoto-u.ac.jp> References: <20110523.215119.68556815.tshun@kurims.kyoto-u.ac.jp> Message-ID: <402F795A-D47C-4FE5-B561-CDDBC9629859@math.colostate.edu> Dear Forum, Dear Shunsuke Tsuchioka, > I want to get a character table of a group of order 57600. > > Let$g$be a Schur Cover of the symmetric group of degree 10 > and$h: g \twoheadrightarrow S_{10}$be a natural surjection. > A wreath product$W:=S_{5}\wr S_{2}$is naturally identified > with a subgroup of$S_{10}$. I want to get the character table > of the preimage subgroup$h^{-1}(W)$of$g$. > As shown below, it seems intractable by a naive approach. You're almost there. The problem is that more involved calculations tend to be inefficient for finitely presented groups. (This is a fundamental issue with such groups, not just a lack of methods.) Thus the best way to proceed is to convert to a permutation group, via converting Pr first to a finitely presented group on its own: hom:=IsomorphismFpGroup(Pr); iso:=IsomorphismPermGroup(Image(hom)); P:=Image(iso); At this point, the built-in permutation degree reduction in 4.4 does not seem to work well (the next release will be much better in this area). A naive approach is to act on the cosets of a random cyclic subgroup repeat u:=Subgroup(P,[Random(P)]);until 1=Size(Core(P,u)); Q:=FactorCosetAction(P,u); R:=Image(Q); Now CharacterTable(R); will work quickly. Best, 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 From tshun at kurims.kyoto-u.ac.jp Tue May 24 10:56:43 2011 From: tshun at kurims.kyoto-u.ac.jp (Shunsuke Tsuchioka) Date: Tue, 24 May 2011 18:56:43 +0900 (JST) Subject: [GAP Forum] Computation of Character Table In-Reply-To: <402F795A-D47C-4FE5-B561-CDDBC9629859@math.colostate.edu> References: <20110523.215119.68556815.tshun@kurims.kyoto-u.ac.jp> <402F795A-D47C-4FE5-B561-CDDBC9629859@math.colostate.edu> Message-ID: <20110524.185643.68557853.tshun@kurims.kyoto-u.ac.jp> Dear Alexander Hulpke, Although the command "Q:=FactorCosetAction(P,u);" takes some time, your method works fine and I could get the character table of "Pr". Thank you very much for answering. Your answer is both educational and instructive. Best, Shunsuke P.S. I could also get the character table of PreImage(h,WreathProduct(Normalizer(SymmetricGroup(5),SylowSubgroup(SymmetricGroup(5),5)),SymmetricGroup(2))); by your method. Thank you again. From: Alexander Hulpke Subject: Re: [GAP Forum] Computation of Character Table Date: Mon, 23 May 2011 10:00:37 -0600 > hom:=IsomorphismFpGroup(Pr); > iso:=IsomorphismPermGroup(Image(hom)); > P:=Image(iso); > > At this point, the built-in permutation degree reduction in 4.4 does not seem to work well (the next release will be much better in this area). A naive approach is to act on the cosets of a random cyclic subgroup > > repeat u:=Subgroup(P,[Random(P)]);until 1=Size(Core(P,u)); > Q:=FactorCosetAction(P,u); > R:=Image(Q); > > Now > CharacterTable(R); > will work quickly. > > Best, > > 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 > > > From darthandrus at gmail.com Fri May 27 21:02:58 2011 From: darthandrus at gmail.com (Ivan Andrus) Date: Fri, 27 May 2011 22:02:58 +0200 Subject: [GAP Forum] Equivalent of Doxygen for GAP Message-ID: I have some gap files with functions that I have written. They are not part of any package, nor I suspect will they ever be. I would like to add some doxygen-style documentation and have it picked up by the GAP help system. I have seen several gap files with documentation that looks something like: #################################################### ## #C SomeFunction( arg1, ) . . . . . . . . . . Short description ## ## Some long documentation describing what it's meant to do, ## limits, caveats, or whatever I have looked at the GAPDoc package which I thought might be involved but it seems to be completely different. I have been completely unable to find documentation for either the format (e.g. what does the C mean), or how to get it into GAP's help system. What is the best/easiest way to deal with such doxygen-style documentation? -Ivan From krkini at ntu.edu.sg Sat May 28 06:52:59 2011 From: krkini at ntu.edu.sg (Keshav Rao Kini) Date: Sat, 28 May 2011 13:52:59 +0800 Subject: [GAP Forum] Equivalent of Doxygen for GAP In-Reply-To: References: Message-ID: Hi Ivan, Regarding the "C", I notice that there is a line in Frank L?beck's vim syntax file for GAP code which reads "syn match gapFunLine '^#[FVOMPCAW] .*$' contained", so I guess FVOMPCAW are the possible values of that letter. What they mean, I don't know... Similar patterns also appear in the GAP source code (i.e. the C code in the src/ directory), so it looks to me like it might just be a style convention of the GAP authors. There is something kind of like docstrings mentioned in Chapter 4 of the GAPDoc-1.3 manual, but it's not automatically generated, and it has an XML-ish syntax rather than being plaintext like Doxygen or similar systems. I'm not sure if there's something else I haven't discovered. -Keshav Disclaimer: the boilerplate text at the foot of this email has been added automatically by my mail server. This was not done by my request (rather the opposite) so please disregard it. 2011/5/28 Ivan Andrus : > I have some gap files with functions that I have written. They are not part of any package, nor I suspect will they ever be. I would like to add some doxygen-style documentation and have it picked up by the GAP help system. I have seen several gap files with documentation that looks something like: > > #################################################### > ## > #C SomeFunction( arg1, ) . . . . . . . . . . Short description > ## > ## Some long documentation describing what it's meant to do, > ## limits, caveats, or whatever > > I have looked at the GAPDoc package which I thought might be involved but it seems to be completely different. I have been completely unable to find documentation for either the format (e.g. what does the C mean), or how to get it into GAP's help system. > > What is the best/easiest way to deal with such doxygen-style documentation? > > -Ivan > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From darthandrus at gmail.com Sat May 28 16:42:19 2011 From: darthandrus at gmail.com (Ivan Andrus) Date: Sat, 28 May 2011 17:42:19 +0200 Subject: [GAP Forum] Equivalent of Doxygen for GAP In-Reply-To: References: Message-ID: <2315CCD2-4565-4E9F-BD1F-7241E56EF2AE@gmail.com> On May 28, 2011, at 7:52 AM, Keshav Rao Kini wrote: > Hi Ivan, > > Regarding the "C", I notice that there is a line in Frank L?beck's vim > syntax file for GAP code which reads "syn match gapFunLine > '^#[FVOMPCAW] .*$' contained", so I guess FVOMPCAW are the possible > values of that letter. What they mean, I don't know... Similar > patterns also appear in the GAP source code (i.e. the C code in the > src/ directory), so it looks to me like it might just be a style > convention of the GAP authors. I have seen those as well. A quick grep through .g .gi and .gd files finds the following letters are all used: ABDEFHIMNOPRTVWXY The purpose of some of them is fairly easy to guess, for example Y must be for copyright information. I find it hard to believe that it's merely a style convention (though of course it's possible) with no automated way to get information back out of it. So if there isn't a way to create documentation from it, I may have to write one. :-) I am a huge fan of having documentation as close to the code as possible. > There is something kind of like docstrings mentioned in Chapter 4 of > the GAPDoc-1.3 manual, but it's not automatically generated, and it > has an XML-ish syntax rather than being plaintext like Doxygen or > similar systems. I'm not sure if there's something else I haven't > discovered. Moreover, the examples I have looked at in code do not seem to use the xml syntax of GAPDoc. -Ivan > -Keshav > > Disclaimer: the boilerplate text at the foot of this email has been > added automatically by my mail server. This was not done by my request > (rather the opposite) so please disregard it. > > > 2011/5/28 Ivan Andrus : >> I have some gap files with functions that I have written. They are not part of any package, nor I suspect will they ever be. I would like to add some doxygen-style documentation and have it picked up by the GAP help system. I have seen several gap files with documentation that looks something like: >> >> #################################################### >> ## >> #C SomeFunction( arg1, ) . . . . . . . . . . Short description >> ## >> ## Some long documentation describing what it's meant to do, >> ## limits, caveats, or whatever >> >> I have looked at the GAPDoc package which I thought might be involved but it seems to be completely different. I have been completely unable to find documentation for either the format (e.g. what does the C mean), or how to get it into GAP's help system. >> >> What is the best/easiest way to deal with such doxygen-style documentation? >> >> -Ivan >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum From martin.schoenert at web.de Sat May 28 19:55:19 2011 From: martin.schoenert at web.de (Martin Schoenert) Date: Sat, 28 May 2011 20:55:19 +0200 Subject: [GAP Forum] Equivalent of Doxygen for GAP In-Reply-To: <2315CCD2-4565-4E9F-BD1F-7241E56EF2AE@gmail.com> References: <2315CCD2-4565-4E9F-BD1F-7241E56EF2AE@gmail.com> Message-ID: <1F8A00EB-F557-4C02-9113-809A804C4CD9@web.de> Hello everybody, It was just a convention. I know that for certain, because I was the one who started it. Initially I used it in the C source files. So there was no idea to generate documentation from those comments (because there never was documentation of the kernel apart from the comments). The whole purpose was really to be able to extract the meta information (name and version of a module, functions and variables contained, etc.) with a simple grep command. Later I also used it for the GAP library files. I did write an AWK script (what else ;-) to extract those comments for the documentation. But we realized that we made so many changes to the documentation (e.g. adding tutorial chapters for which there was no corresponding source file, adding longish examples which would have made the source files harder to read, etc.) that it seemed easier to separate source and documentation. YMMV of course. Initially only few letters where used. I think I recall F for functions, V for variables, A for file meta information, H for history, Y for copyright. Over the years many more letters were added of course. regards, martin Am 28.05.2011 um 17:42 schrieb Ivan Andrus : > On May 28, 2011, at 7:52 AM, Keshav Rao Kini wrote: > >> Hi Ivan, >> >> Regarding the "C", I notice that there is a line in Frank L?beck's vim >> syntax file for GAP code which reads "syn match gapFunLine >> '^#[FVOMPCAW] .*$' contained", so I guess FVOMPCAW are the possible >> values of that letter. What they mean, I don't know... Similar >> patterns also appear in the GAP source code (i.e. the C code in the >> src/ directory), so it looks to me like it might just be a style >> convention of the GAP authors. > > I have seen those as well. A quick grep through .g .gi and .gd files finds the following letters are all used: > ABDEFHIMNOPRTVWXY > > The purpose of some of them is fairly easy to guess, for example Y must be for copyright information. > > I find it hard to believe that it's merely a style convention (though of course it's possible) with no automated way to get information back out of it. So if there isn't a way to create documentation from it, I may have to write one. :-) I am a huge fan of having documentation as close to the code as possible. > >> There is something kind of like docstrings mentioned in Chapter 4 of >> the GAPDoc-1.3 manual, but it's not automatically generated, and it >> has an XML-ish syntax rather than being plaintext like Doxygen or >> similar systems. I'm not sure if there's something else I haven't >> discovered. > > Moreover, the examples I have looked at in code do not seem to use the xml syntax of GAPDoc. > > -Ivan > >> -Keshav >> >> Disclaimer: the boilerplate text at the foot of this email has been >> added automatically by my mail server. This was not done by my request >> (rather the opposite) so please disregard it. >> >> >> 2011/5/28 Ivan Andrus : >>> I have some gap files with functions that I have written. They are not part of any package, nor I suspect will they ever be. I would like to add some doxygen-style documentation and have it picked up by the GAP help system. I have seen several gap files with documentation that looks something like: >>> >>> #################################################### >>> ## >>> #C SomeFunction( arg1, ) . . . . . . . . . . Short description >>> ## >>> ## Some long documentation describing what it's meant to do, >>> ## limits, caveats, or whatever >>> >>> I have looked at the GAPDoc package which I thought might be involved but it seems to be completely different. I have been completely unable to find documentation for either the format (e.g. what does the C mean), or how to get it into GAP's help system. >>> >>> What is the best/easiest way to deal with such doxygen-style documentation? >>> >>> -Ivan >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From darthandrus at gmail.com Sat May 28 22:05:25 2011 From: darthandrus at gmail.com (Ivan Andrus) Date: Sat, 28 May 2011 23:05:25 +0200 Subject: [GAP Forum] Equivalent of Doxygen for GAP In-Reply-To: <1F8A00EB-F557-4C02-9113-809A804C4CD9@web.de> References: <2315CCD2-4565-4E9F-BD1F-7241E56EF2AE@gmail.com> <1F8A00EB-F557-4C02-9113-809A804C4CD9@web.de> Message-ID: <57C6EFD7-62A7-412B-9D4E-CEFDE7A57FB4@gmail.com> Oh, okay. Well I guess that settles that. Do you still have the awk script easily accessible, or should I whip something up in perl (that's what else :-) for my own use? Or perhaps I'll go with the GAPDoc approach for my own files. Hmm. Now I have to decide what sort of support I should add to gap-mode.el. -Ivan On May 28, 2011, at 8:55 PM, Martin Schoenert wrote: > Hello everybody, > > It was just a convention. I know that for certain, > because I was the one who started it. > > Initially I used it in the C source files. So there > was no idea to generate documentation from > those comments (because there never was > documentation of the kernel apart from the > comments). The whole purpose was really > to be able to extract the meta information > (name and version of a module, functions and > variables contained, etc.) with a simple grep > command. > > Later I also used it for the GAP library files. > I did write an AWK script (what else ;-) to > extract those comments for the documentation. > But we realized that we made so many > changes to the documentation (e.g. adding > tutorial chapters for which there was no > corresponding source file, adding longish > examples which would have made the source > files harder to read, etc.) that it seemed easier > to separate source and documentation. > > YMMV of course. > > Initially only few letters where used. > I think I recall > F for functions, > V for variables, > A for file meta information, > H for history, > Y for copyright. > Over the years many more letters were > added of course. > > regards, martin > > Am 28.05.2011 um 17:42 schrieb Ivan Andrus : > >> On May 28, 2011, at 7:52 AM, Keshav Rao Kini wrote: >> >>> Hi Ivan, >>> >>> Regarding the "C", I notice that there is a line in Frank L?beck's vim >>> syntax file for GAP code which reads "syn match gapFunLine >>> '^#[FVOMPCAW] .*$' contained", so I guess FVOMPCAW are the possible >>> values of that letter. What they mean, I don't know... Similar >>> patterns also appear in the GAP source code (i.e. the C code in the >>> src/ directory), so it looks to me like it might just be a style >>> convention of the GAP authors. >> >> I have seen those as well. A quick grep through .g .gi and .gd files finds the following letters are all used: >> ABDEFHIMNOPRTVWXY >> >> The purpose of some of them is fairly easy to guess, for example Y must be for copyright information. >> >> I find it hard to believe that it's merely a style convention (though of course it's possible) with no automated way to get information back out of it. So if there isn't a way to create documentation from it, I may have to write one. :-) I am a huge fan of having documentation as close to the code as possible. >> >>> There is something kind of like docstrings mentioned in Chapter 4 of >>> the GAPDoc-1.3 manual, but it's not automatically generated, and it >>> has an XML-ish syntax rather than being plaintext like Doxygen or >>> similar systems. I'm not sure if there's something else I haven't >>> discovered. >> >> Moreover, the examples I have looked at in code do not seem to use the xml syntax of GAPDoc. >> >> -Ivan >> >>> -Keshav >>> >>> Disclaimer: the boilerplate text at the foot of this email has been >>> added automatically by my mail server. This was not done by my request >>> (rather the opposite) so please disregard it. >>> >>> >>> 2011/5/28 Ivan Andrus : >>>> I have some gap files with functions that I have written. They are not part of any package, nor I suspect will they ever be. I would like to add some doxygen-style documentation and have it picked up by the GAP help system. I have seen several gap files with documentation that looks something like: >>>> >>>> #################################################### >>>> ## >>>> #C SomeFunction( arg1, ) . . . . . . . . . . Short description >>>> ## >>>> ## Some long documentation describing what it's meant to do, >>>> ## limits, caveats, or whatever >>>> >>>> I have looked at the GAPDoc package which I thought might be involved but it seems to be completely different. I have been completely unable to find documentation for either the format (e.g. what does the C mean), or how to get it into GAP's help system. >>>> >>>> What is the best/easiest way to deal with such doxygen-style documentation? >>>> >>>> -Ivan >>>> _______________________________________________ >>>> Forum mailing list >>>> Forum at mail.gap-system.org >>>> http://mail.gap-system.org/mailman/listinfo/forum >> >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum From mazaher1212 at gmail.com Wed Jun 1 06:59:18 2011 From: mazaher1212 at gmail.com (mazaher rahimi) Date: Tue, 31 May 2011 22:59:18 -0700 Subject: [GAP Forum] help Message-ID: Dear gap forum How we can introduce the following group :$G=D\times H$where$D$is dihedral group of order 42 and$H$is a semidirect product of vector space$V$of dimension 3 over$GF(2)$by a subgroup of order 21 from$GL(3,2)$acting on$V$naturally.Thanks Best Regards Mazaher From sal at cs.st-andrews.ac.uk Wed Jun 1 09:43:35 2011 From: sal at cs.st-andrews.ac.uk (Stephen Linton) Date: Wed, 1 Jun 2011 09:43:35 +0100 Subject: [GAP Forum] help In-Reply-To: <41adfd204aa54641a34991df5c80f804@UOS-DUN-CAS1.st-andrews.ac.uk> References: <41adfd204aa54641a34991df5c80f804@UOS-DUN-CAS1.st-andrews.ac.uk> Message-ID: <84F54567-0132-49E5-9426-161B6ED9703C@cs.st-andrews.ac.uk> Dear GAP Forum, On 1 Jun 2011, at 06:59, mazaher rahimi wrote: > How we can introduce the following group : >$G=D\times H$where$D$is dihedral group of order 42 and$H$is a > semidirect product of vector space$V$of dimension 3 over$GF(2)$by > a subgroup of order 21 from$GL(3,2)$acting on$V$naturally.Thanks > There are many ways of obtaining groups isomorphic to your G. A very straightforward way, that depends on no special knowledge about the groups concerned is shown below: gap> d := DihedralGroup(42); gap> v := ElementaryAbelianGroup(8); gap> a := AutomorphismGroup(v); gap> ccs := ConjugacyClassesSubgroups(a); [ Group( IdentityMapping( Group( [ f1, f2, f3 ] ) ) )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f2, f3 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f2, f1*f2*f3, f3 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f2, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f3, f2 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f2, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f3, f2, f3 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f2, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f3, f3, f2 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f2, f1*f2*f3, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f2, f3 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f2, f2*f3, f1*f3 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f2, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f3, f2 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f1*f2, f1*f3 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f2, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f3, f2 ], Pcgs([ f1, f2, f3 ]) -> [ f2, f1*f2, f1*f3 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f2, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f3, f2, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2, f3, f2*f3 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f2, f2*f3, f1*f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2, f1*f3, f3 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f2, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f3, f2 ], Pcgs([ f1, f2, f3 ]) -> [ f2, f1*f2, f1*f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f1*f2, f1*f3 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f1*f2*f3, f2, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f3, f2, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2, f3, f2*f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2, f2*f3, f3 ] ] )^G, Group( [ Pcgs([ f1, f2, f3 ]) -> [ f1*f2, f2, f3 ], Pcgs([ f1, f2, f3 ]) -> [ f3, f1, f2 ] ] )^G ] gap> Filtered(ccs, c -> Size(Representative(c)) = 21); [ Group( [ Pcgs([ f1, f2, f3 ]) -> [ f2, f2*f3, f1*f3 ], Pcgs([ f1, f2, f3 ]) -> [ f1*f2, f1*f3, f3 ] ] )^G ] gap> k := Representative(last[1]); gap> h := SemidirectProduct(k,v); gap> g := DirectProduct(d,h); gap> Steve Linton From mazurov at math.nsc.ru Wed Jun 1 12:43:54 2011 From: mazurov at math.nsc.ru (Victor D. Mazurov) Date: Wed, 1 Jun 2011 18:43:54 +0700 Subject: [GAP Forum] Fp group Message-ID: Dear GAP forum, Suppose that GAP shows (using coset enumeration algorithm) that a group$G=$where$F$is a finitely generated free group and$R$is a finite set of words in$F$is finite. Let$w\in F$such that the image of$w$in$G$is 1. How one can find (using GAP) some$r_1,...,r_m\in (R\cup R^{-1})$and$t_1,...,t_m\in F$such that$w=r_1^{t_1}\cdots r_m^{t_m}$? Best wishes, V.D. Mazurov -- Victor Danilovich Mazurov Institute of Mathematics Novosibirsk 630090 Russia From mbg.nimda at gmail.com Wed Jun 1 13:43:06 2011 From: mbg.nimda at gmail.com (mbg nimda) Date: Wed, 1 Jun 2011 14:43:06 +0200 Subject: [GAP Forum] Construction of a group unsing a multiplication table. Message-ID: Dear Forum Members, I start with a group N, e.g. N=SL(2,25). Now for a suitable element g in N and a suitable automorphism t I define a multiplication rule mult on the cartesian product car:=[-1,1] x N by: (-1, n) * (-1,m) = ( 1, g*n^t*m) (-1, n) * (1,m) = (-1, n*m) (1, n)* (-1,m) = (-1, n^t*m) (1,n)*(1,m) = (1, n*m) For smaller groups I use the following: 1) First I construct a multiplication table using PermList: mtab:=List(car,x->List(car, y->Position(car, mult(x,y)))); 2) M:=MagmaByMultiplicationTable(mtab); 3) G:=AsGroup(M); But this obviously doesn't work for larger groups, so instead I use the following: makegroup:=function(car) local Gr,gens,x; gens:=[];Gr:=(()); Gr:=Group(());gens:=[]; for x in car do Display(x); x:=List(car, y->Position(car, mult(x,y))); x:=PermList(x); if x in Gr then continue; fi; Add(gens,x); Gr:=Group(gens); if Size(Gr)>=Size(N)*2 then break; fi; od; return(Gr); end; But in this case the size of N is too big to even construct one generator. Is there any suggestion? I dont even have to know the group itself, but only its structure. Marc Bogaerts From sal at cs.st-andrews.ac.uk Wed Jun 1 14:10:44 2011 From: sal at cs.st-andrews.ac.uk (Stephen Linton) Date: Wed, 1 Jun 2011 14:10:44 +0100 Subject: [GAP Forum] Construction of a group unsing a multiplication table. In-Reply-To: <761a72a3039f4cf48d92ebffaf262af2@UOS-DUN-CAS1.st-andrews.ac.uk> References: <761a72a3039f4cf48d92ebffaf262af2@UOS-DUN-CAS1.st-andrews.ac.uk> Message-ID: Dear GAP Forum, Marc Bogaerts asked about realising a particular group construction in GAP> If I read the description correctly, this group is generated by N and i = (-1,1_N) with the following rules n*i = i*n^t i^2 = g One approach that would work to build this in GAP for a pretty good range of groups would be make N as a finitely-presented group N = and then simply add i as an additional generator G = GAP should be able to study this group for a pretty decent range of sizes of N. The starting point is IsomorphismFpGroup. An alternative approach would be to use the technique described in section 4.12 of the reference manual to implement your elements directly. Steve On 1 Jun 2011, at 13:43, mbg nimda wrote: > Dear Forum Members, > > I start with a group N, e.g. N=SL(2,25). Now for a suitable element g in N > and a suitable automorphism t I define a multiplication rule mult on the > cartesian product car:=[-1,1] x N by: > (-1, n) * (-1,m) = ( 1, g*n^t*m) > (-1, n) * (1,m) = (-1, n*m) > (1, n)* (-1,m) = (-1, n^t*m) > (1,n)*(1,m) = (1, n*m) > For smaller groups I use the following: > 1) First I construct a multiplication table using PermList: > mtab:=List(car,x->List(car, y->Position(car, mult(x,y)))); > 2) M:=MagmaByMultiplicationTable(mtab); > 3) G:=AsGroup(M); > But this obviously doesn't work for larger groups, so instead I use the > following: > > > makegroup:=function(car) > local Gr,gens,x; > gens:=[];Gr:=(()); > Gr:=Group(());gens:=[]; > for x in car do > Display(x); > x:=List(car, y->Position(car, mult(x,y))); > x:=PermList(x); > if x in Gr then continue; fi; > Add(gens,x); Gr:=Group(gens); > if Size(Gr)>=Size(N)*2 then break; fi; > od; > return(Gr); > end; > > > But in this case the size of N is too big to even construct one generator. > Is there any suggestion? > > I dont even have to know the group itself, but only its structure. > > > > Marc Bogaerts > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From havas at itee.uq.edu.au Wed Jun 1 14:12:15 2011 From: havas at itee.uq.edu.au (GH UQ) Date: Wed, 1 Jun 2011 23:12:15 +1000 (EST) Subject: [GAP Forum] Fp group In-Reply-To: References: Message-ID: On Wed, 1 Jun 2011, Victor D. Mazurov wrote: > Suppose that GAP shows (using coset enumeration algorithm) that a group >$G=$where$F$is a finitely generated free group and$R$is a finite > set of words in$F$is finite. Let$w\in F$such that the image of$w$in >$G$is 1. How one can find (using GAP) some$r_1,...,r_m\in (R\cup R^{-1})$> and$t_1,...,t_m\in F$such that$w=r_1^{t_1}\cdots r_m^{t_m}$? Best wishes, > V.D. Mazurov > In 2006 Dale Sutherland developed a Gap package for PEACE (proof extraction after coset enumeration) which can do this. PEACE is described in "On proofs in finitely presented groups" by George Havas and Colin Ramsay, Groups St Andrews 2005, Volume II, London Mathematical Society Lecture Note Series 340, Cambridge University Press (2007), 475-485. Applications of PEACE appear in various places including: Dale's PhD Thesis (St Andrews, 2006); "The Fa,b,c conjecture is true, II" by George Havas, Edmund F. Robertson and Dale C. Sutherland, Journal of Algebra 300 (2006), 57-72; "Andrews-Curtis and Todd-Coxeter proof words" by George Havas and Colin Ramsay, Groups St Andrews 2001 in Oxford, Volume I, London Mathematical Society Lecture Note Series 304, Cambridge University Press (2003) 232-237. The GAP package has not been generally released (as far as I know). I have a stand-alone version which I am happy to consider trying to use to solve specific problems, if desired. Best wishes... George Havas http://www.itee.uq.edu.au/~havas From mazurov at math.nsc.ru Thu Jun 2 02:18:34 2011 From: mazurov at math.nsc.ru (Victor D. Mazurov) Date: Thu, 2 Jun 2011 08:18:34 +0700 Subject: [GAP Forum] Fp group In-Reply-To: References: Message-ID: Dear George, Thank you very much. One of examples is F:=FreeGroup(3);x:=F.1;y:=F.2;z:=F.3;a:=x*y;b:=x*z;c:=y*z; R:=[x^2,y^2,z^2,a^4,b^4,c^4, (a^2*z)^4,(b^2*y)^4,(c^2*x)^4, (a^2*b^2)^4,(a^2*c^2)^4,(b^2*c^2)^4,(x*y*z*y)^4,(x*z*y*z)^4,(z*x*y*x)^4]; G:=F/R; w:=(x*y*z*x*z*y*x*y*z*x*z)^2; Best wishes, Victor. 2011/6/1 GH UQ > On Wed, 1 Jun 2011, Victor D. Mazurov wrote: > > > Suppose that GAP shows (using coset enumeration algorithm) that a group > >$G=$where$F$is a finitely generated free group and$R$is a > finite > > set of words in$F$is finite. Let$w\in F$such that the image of$w$> in > >$G$is 1. How one can find (using GAP) some$r_1,...,r_m\in (R\cup > R^{-1})$> > and$t_1,...,t_m\in F$such that$w=r_1^{t_1}\cdots r_m^{t_m}$? Best > wishes, > > V.D. Mazurov > > > In 2006 Dale Sutherland developed a Gap package for PEACE (proof > extraction after coset enumeration) which can do this. PEACE is described > in "On proofs in finitely presented groups" by George Havas and Colin > Ramsay, Groups St Andrews 2005, Volume II, London Mathematical Society > Lecture Note Series 340, Cambridge University Press (2007), 475-485. > > Applications of PEACE appear in various places including: > Dale's PhD Thesis (St Andrews, 2006); > "The Fa,b,c conjecture is true, II" by George Havas, Edmund F. Robertson > and Dale C. Sutherland, Journal of Algebra 300 (2006), 57-72; > "Andrews-Curtis and Todd-Coxeter proof words" by George Havas and Colin > Ramsay, Groups St Andrews 2001 in Oxford, Volume I, London Mathematical > Society Lecture Note Series 304, Cambridge University Press (2003) > 232-237. > > The GAP package has not been generally released (as far as I know). > I have a stand-alone version which I am happy to consider trying to > use to solve specific problems, if desired. > > Best wishes... George Havas http://www.itee.uq.edu.au/~havas > -- Victor Danilovich Mazurov Institute of Mathematics Novosibirsk 630090 Russia From graham.ellis at nuigalway.ie Thu Jun 2 13:34:09 2011 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Thu, 2 Jun 2011 13:34:09 +0100 Subject: [GAP Forum] Three PhD studentships at Galway's de Brun Centre References: Message-ID: <47C2E007B3E98F4E8BBC7997F007CE130EE16832@EVS1.ac.nuigalway.ie> The de Brun Centre ( http://hamilton.nuigalway.ie/DeBrunCentre/ ) at NUI Galway's School of Maths, Stats & Applied Maths has recently been awarded three 4-year University PhD studentships. A list of potential supervisors can be found on our web pages. Anyone interested in one of these studentships should e-mail graham.ellis at nuigalway.ie . NUI Galway has also recently announced 30 slightly more lucrative (and more competitive) PhD studentships in a range of areas with a closing date of June 19. See http://www.nuigalway.ie/about-us/news-and-events/hardiman-scholarships/index.html for details. It would make sense for those interested in a Maths PhD to apply for both types of funding. Graham School of Mathematics, Statistics and Applied Mathematics National University of Ireland, Galway http://hamilton.nuigalway.ie From pgarg1990 at gmail.com Mon Jun 6 06:39:29 2011 From: pgarg1990 at gmail.com (Piyush garg) Date: Mon, 6 Jun 2011 15:39:29 +1000 Subject: [GAP Forum] Generating Set for Special Linear Groups Message-ID: hii, I am using GAP for the very first time and facing problem in computing the generating set for the Special Linear Groups : SL(n,q) , defined over the finite fields. I have to find the generating set for the Special Linear group with given values of 'n' and 'q'. I was to able to do this for SL(2,13) by using g:=SL(2,13); GeneratorsSmallest(g); but when i made use of MinimalGeneratingSet(g); it showed an error : Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 2nd choice method found for IndependentGeneratorsOfAbelianGroup' o n 1 arguments called from IndependentGeneratorsOfAbelianGroup( G ) called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue and on using SmallGeneratingSet(g); it showed the following error : Variable : must have a value Can anyone please help out with the Minimal Generating Set thing and how to remove the error. Thanking you, Piyush garg. From pbrooksb at bucknell.edu Mon Jun 6 06:58:28 2011 From: pbrooksb at bucknell.edu (Peter Brooksbank) Date: Mon, 6 Jun 2011 17:58:28 +1200 Subject: [GAP Forum] Generating Set for Special Linear Groups In-Reply-To: References: Message-ID: Dear Piyush, I am not sure why this creates an error in GAP - perhaps someone else can speak to that - but if all you want is a generating set for SL(n,q) you can do the following: G := SL (2, 13); gens := GeneratorsOfGroup (G); This will return the generators that GAP uses to construct the group G. For the groups SL(n,q) my guess is that the list returned will always be the smallest possible (namely 2) if that is important to you. Best, Peter On Mon, Jun 6, 2011 at 5:39 PM, Piyush garg wrote: > hii, > > I am using GAP for the very first time and facing problem in computing the > generating set for the Special Linear Groups : SL(n,q) , defined over the > finite fields. > > I have to find the generating set for the Special Linear group with given > values of 'n' and 'q'. > I was to able to do this for SL(2,13) by using > g:=SL(2,13); > GeneratorsSmallest(g); > > but when i made use of MinimalGeneratingSet(g); it showed an error : > > Error, no method found! For debugging hints type ?Recovery from > NoMethodFound > Error, no 2nd choice method found for IndependentGeneratorsOfAbelianGroup' > o > n 1 arguments called from > IndependentGeneratorsOfAbelianGroup( G ) called from > ( ) called from read-eval-loop > Entering break read-eval-print loop ... > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > > and on using SmallGeneratingSet(g); it showed the following error : > > Variable : must have a value > > Can anyone please help out with the Minimal Generating Set thing and how to > remove the error. > > Thanking you, > Piyush garg. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From sal at cs.st-andrews.ac.uk Mon Jun 6 10:51:56 2011 From: sal at cs.st-andrews.ac.uk (Stephen Linton) Date: Mon, 6 Jun 2011 10:51:56 +0100 Subject: [GAP Forum] Generating Set for Special Linear Groups In-Reply-To: <173fecde447f44f684112d84d1f7e634@UOS-DUN-CAS5.st-andrews.ac.uk> References: <173fecde447f44f684112d84d1f7e634@UOS-DUN-CAS5.st-andrews.ac.uk> Message-ID: <97C1B49C-8CD2-4295-B998-5BB2D43AC745@cs.st-andrews.ac.uk> Dear GAP Forum, As Peter has already reported, if you simply want a generating set then GeneratorsOfGroup is the appropriate function. As you will see from the documentation (try ?GeneratorsSmallest for instance), the functions you called: GeneratorsSmallest and MinimalGeneratingSet make much stronger promises about the result, which GAP has to do much more work to achieve. An intermediate choice is SmallGeneratingSet, which tries heuristically to reduce the size of the set it returns, but makes no firm promises. The error message from MinimalGeneratingSet is confusing, but, in fact GAP has no way to compute this function for general groups. In the next release you will get the rather more helpful error message: Error, MinimalGeneratingSet' currently assumes that the group must be solvable. In general, try SmallGeneratingSet' instead, which returns a generating set that is small but not of guarateed smallest cardinality It is also possible, looking at the error message that you have mixed up g and G. Remember that GAP is case-sensitive. Yours Steve Linton On 6 Jun 2011, at 06:39, Piyush garg wrote: > > I am using GAP for the very first time and facing problem in computing the > generating set for the Special Linear Groups : SL(n,q) , defined over the > finite fields. > > I have to find the generating set for the Special Linear group with given > values of 'n' and 'q'. > I was to able to do this for SL(2,13) by using > g:=SL(2,13); > GeneratorsSmallest(g); > > but when i made use of MinimalGeneratingSet(g); it showed an error : > > Error, no method found! For debugging hints type ?Recovery from > NoMethodFound > Error, no 2nd choice method found for IndependentGeneratorsOfAbelianGroup' > o > n 1 arguments called from > IndependentGeneratorsOfAbelianGroup( G ) called from > ( ) called from read-eval-loop > Entering break read-eval-print loop ... > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > > and on using SmallGeneratingSet(g); it showed the following error : > > Variable : must have a value > > Can anyone please help out with the Minimal Generating Set thing and how to > remove the error. > > Thanking you, > Piyush garg. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From pgarg1990 at gmail.com Tue Jun 7 01:56:02 2011 From: pgarg1990 at gmail.com (Piyush garg) Date: Tue, 7 Jun 2011 10:56:02 +1000 Subject: [GAP Forum] Generating Set for Special Linear Groups In-Reply-To: <97C1B49C-8CD2-4295-B998-5BB2D43AC745@cs.st-andrews.ac.uk> References: <173fecde447f44f684112d84d1f7e634@UOS-DUN-CAS5.st-andrews.ac.uk> <97C1B49C-8CD2-4295-B998-5BB2D43AC745@cs.st-andrews.ac.uk> Message-ID: Dear GAP Forum, I am very tahnkful to Peter, Stefan and Steve for helping me out. Now I am able to do this through GeneratorsOfGroup and SmallGeneratingSet , but I am still getting the error message for MinimalGeneratingSet (thats ok, i will keep it on hold for moment). I have two more doubts : ## How to get the matrices from the output generated by GeneratorsOfGroup for the Special Linear Group; like for SL(2,17) : s:=SL(2,17); gens:=GeneratorsOfGroup(s); [ [ [ Z(17), 0*Z(17)], [ 0*Z(17), Z(17)^15 ] ], [ [ Z(17)^8, Z(17)^0], [Z(17)^8, 0*Z(17)] ] ] this is the output we are getting, now hwo to get the matrices from it which can generate the whole set of SL(2,17) ?? (with the elements' values from 0 to 16.) ## How can we store this output of matrices in a file and make use of them in Matlab program ?? like storing the matrices now generated in a 3d-array and then later using them in Matlab. Thank you again for helping me out. Regards, Piyush Garg. On Mon, Jun 6, 2011 at 7:51 PM, Stephen Linton wrote: > Dear GAP Forum, > > As Peter has already reported, if you simply want a generating set then > GeneratorsOfGroup is the appropriate function. > As you will see from the documentation (try ?GeneratorsSmallest for > instance), the functions you called: GeneratorsSmallest and > MinimalGeneratingSet > make much stronger promises about the result, which GAP has to do much more > work to achieve. > > An intermediate choice is SmallGeneratingSet, which tries heuristically to > reduce the size of the set it returns, but makes no firm promises. > > The error message from MinimalGeneratingSet is confusing, but, in fact GAP > has no way to compute this function for general groups. In the next release > you will get the rather more helpful error message: > > Error, MinimalGeneratingSet' currently assumes that the group must be > solvable. > In general, try SmallGeneratingSet' instead, which returns a generating > set that is small but not of guarateed smallest cardinality > > It is also possible, looking at the error message that you have mixed up g > and G. Remember that GAP is case-sensitive. > > Yours > > Steve Linton From petRUShkin at yandex.ru Tue Jun 7 11:23:58 2011 From: petRUShkin at yandex.ru (=?koi8-r?B?7cHL08nN?=) Date: Tue, 07 Jun 2011 14:23:58 +0400 Subject: [GAP Forum] Fwd: GAP support for VIM text editor Message-ID: <83061307442239@web22.yandex.ru> Hello! I use VIM and GAP together. I extracted VIM plugin from gap sources, cleared old code, rearranged files and fix syntax highlighting. So now you can use it or you can fork it if you want. GAP support for VIM available here:?https://github.com/petRUShka/vim-gap I recommended to use?pathogen for organized such plugins:?http://tammersaleh.com/posts/the-modern-vim-config-with-pathogen From max at quendi.de Tue Jun 7 12:26:38 2011 From: max at quendi.de (Max Horn) Date: Tue, 7 Jun 2011 13:26:38 +0200 Subject: [GAP Forum] Generating Set for Special Linear Groups In-Reply-To: References: <173fecde447f44f684112d84d1f7e634@UOS-DUN-CAS5.st-andrews.ac.uk> <97C1B49C-8CD2-4295-B998-5BB2D43AC745@cs.st-andrews.ac.uk> Message-ID: <05A4A74E-6981-4C07-BBAB-41F1609FFC58@quendi.de> Dear Piyush, Am 07.06.2011 um 02:56 schrieb Piyush garg: > Dear GAP Forum, [...] > I have two more doubts : > ## How to get the matrices from the output generated by GeneratorsOfGroup > for the Special Linear Group; like for SL(2,17) : > s:=SL(2,17); > gens:=GeneratorsOfGroup(s); > [ [ [ Z(17), 0*Z(17)], [ 0*Z(17), Z(17)^15 ] ], > [ [ Z(17)^8, Z(17)^0], [Z(17)^8, 0*Z(17)] ] ] > > this is the output we are getting, now hwo to get the matrices from it which > can generate the whole set of SL(2,17) ?? (with the elements' values from 0 > to 16.) Note the output already does consist of two matrices which generate SL(2,17). However, based on what you say last, it seems you want matrices in a special presentation, identifying the field F_17 with certain residues in Z/17Z. A very simple way to do this is to use Display: gap> Display(gens[1]); 3 . . 6 gap> Display(gens[2]); 16 1 16 . But you seem to need a bit more: > > ## How can we store this output of matrices in a file and make use of > them in Matlab program ?? > like storing the matrices now generated in a 3d-array and then later using > them in Matlab. I don't know matlab very well, so I can't say what format for matrices it expects, but I can tell you how to convert eh list of matrices GAP gives you into a list of *integer* matrices, which, viewed modulo 17, generate SL(2,17). For a single element, the Int() function does the job: gap> Int(Z(17)); 3 To apply it to all coefficients of each generator you computed above, you could use for example this: gap> List(gens,g->List(g,row->List(row,Int))); [ [ [ 3, 0 ], [ 0, 6 ] ], [ [ 16, 1 ], [ 16, 0 ] ] ] This program iterates over all elements g in gens; for each of the g, it iterates over all rows; and for each element of a row, it calls the "Int" function. You could also write this with a loop, of course, and then adapt the output as you need. Finally, you can store things into a file in GAP by using the PrintTo and AppendTo functions. I suggest you look them up in the GAP reference manual. Cheers, Max From sararadfarss at gmail.com Tue Jun 7 17:40:53 2011 From: sararadfarss at gmail.com (Sara Radfar) Date: Tue, 7 Jun 2011 09:40:53 -0700 Subject: [GAP Forum] Extension Message-ID: Dear members I need extension group PSL(3,4) by Z_2, i,e PSL(3,4).2 or M_24.2, where M_24 is Mathieu group. How we can introduce this group?.Thanks, Best regards, From sal at cs.st-andrews.ac.uk Tue Jun 7 07:39:30 2011 From: sal at cs.st-andrews.ac.uk (Stephen Linton) Date: Tue, 7 Jun 2011 07:39:30 +0100 Subject: [GAP Forum] Generating Set for Special Linear Groups In-Reply-To: <3fbb5133b9b94832bbdb2f7c76b45ef0@UOS-DUN-CAS5.st-andrews.ac.uk> References: <173fecde447f44f684112d84d1f7e634@UOS-DUN-CAS5.st-andrews.ac.uk> <97C1B49C-8CD2-4295-B998-5BB2D43AC745@cs.st-andrews.ac.uk> <3fbb5133b9b94832bbdb2f7c76b45ef0@UOS-DUN-CAS5.st-andrews.ac.uk> Message-ID: <71586363-2255-408E-8EBB-7F13AA226E95@cs.st-andrews.ac.uk> Dear GAP Forum, On 7 Jun 2011, at 01:56, Piyush garg wrote: > I am very tahnkful to Peter, Stefan and Steve for helping me out. > Now I am able to do this through GeneratorsOfGroup and SmallGeneratingSet , > but I am still getting the error message for MinimalGeneratingSet (thats ok, > i will keep it on hold for moment). As I said, the next version will give a better error message, but we don't have a way to compute a minimal cardinality generating set efficiently for non-solvable groups. > > I have two more doubts : > ## How to get the matrices from the output generated by GeneratorsOfGroup > for the Special Linear Group; like for SL(2,17) : > s:=SL(2,17); > gens:=GeneratorsOfGroup(s); > [ [ [ Z(17), 0*Z(17)], [ 0*Z(17), Z(17)^15 ] ], > [ [ Z(17)^8, Z(17)^0], [Z(17)^8, 0*Z(17)] ] ] > > this is the output we are getting, now hwo to get the matrices from it which > can generate the whole set of SL(2,17) ?? (with the elements' values from 0 > to 16.) > Well, this is two matrices that generate the whole of SL(2,17), but not represented in the way you want. You can visualize them in the form you want using Display gap> Display(gens[1]); 3 . . 6 gap> Display(gens[2]); 16 1 16 . where the . represents zero, Alternatively you need to use the IntFFE function to convert elements of the Galois field of order 17 into integers. Because you have list of matrices -- ie a list of lists of lists, you do it as follows: gap> intgens := List(gens, m -> List(m, r-> List(r, IntFFE))); [ [ [ 3, 0 ], [ 0, 6 ] ], [ [ 16, 1 ], [ 16, 0 ] ] ] I don't know if this is appropriate format for matlab, but if it is, you can write it to a file by gap> PrintTo( "sl17gens", intgens); If you have further problems, I'd suggest asking on the GAP support mailing list, rather than the forum. We will report back here any advice of wider interest Yours Steve Linton > ## How can we store this output of matrices in a file and make use of > them in Matlab program ?? > like storing the matrices now generated in a 3d-array and then later using > them in Matlab. > > Thank you again for helping me out. > > Regards, > Piyush Garg. > > > On Mon, Jun 6, 2011 at 7:51 PM, Stephen Linton wrote: > >> Dear GAP Forum, >> >> As Peter has already reported, if you simply want a generating set then >> GeneratorsOfGroup is the appropriate function. >> As you will see from the documentation (try ?GeneratorsSmallest for >> instance), the functions you called: GeneratorsSmallest and >> MinimalGeneratingSet >> make much stronger promises about the result, which GAP has to do much more >> work to achieve. >> >> An intermediate choice is SmallGeneratingSet, which tries heuristically to >> reduce the size of the set it returns, but makes no firm promises. >> >> The error message from MinimalGeneratingSet is confusing, but, in fact GAP >> has no way to compute this function for general groups. In the next release >> you will get the rather more helpful error message: >> >> Error, MinimalGeneratingSet' currently assumes that the group must be >> solvable. >> In general, try SmallGeneratingSet' instead, which returns a generating >> set that is small but not of guarateed smallest cardinality >> >> It is also possible, looking at the error message that you have mixed up g >> and G. Remember that GAP is case-sensitive. >> >> Yours >> >> Steve Linton > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From sararadfarss at gmail.com Wed Jun 8 05:27:06 2011 From: sararadfarss at gmail.com (Sara Radfar) Date: Tue, 7 Jun 2011 21:27:06 -0700 Subject: [GAP Forum] Extension Message-ID: Dear members I need know how introduce extension a group such G by Z_n .For example how intruduce Mathieu group M_12 by Z_2 i,e, G=M_12.2.Thanks, Best wishes From petRUShkin at yandex.ru Wed Jun 8 13:53:05 2011 From: petRUShkin at yandex.ru (=?koi8-r?B?7cHL08nN?=) Date: Wed, 08 Jun 2011 16:53:05 +0400 Subject: [GAP Forum] Construct list of subgroups fixed size Message-ID: <453441307537585@web8.yandex.ru> Hello! I have a big group G (size is 5^6*2 > 30000). I wanted to construct a list of subgroups but failed because of leak of memory. It is necessary for me to construct all subgroups of fixed size. For example 125. Is it real or not? -- Maxim. From burkhard at hoefling.name Wed Jun 8 15:31:41 2011 From: burkhard at hoefling.name (=?iso-8859-1?Q?Burkhard_H=F6fling?=) Date: Wed, 8 Jun 2011 16:31:41 +0200 Subject: [GAP Forum] Construct list of subgroups fixed size In-Reply-To: <453441307537585@web8.yandex.ru> References: <453441307537585@web8.yandex.ru> Message-ID: On 2011-06-08, at 14:53 , ?????? wrote: > Hello! > > I have a big group G (size is 5^6*2 > 30000). I wanted to construct a list of subgroups but failed because of leak of memory. Since your group G is solvable, you should preferably work in an isomorphic pc group (via IsomorphismPcGroup'). You can then use SubgroupsSolvableGroup' to compute the subgroups (up to conjugacy). In order to compute only the subgroups of a given order (up to conjugacy), you can use SubgroupsSolvableGroup' together with ExactSizeConsiderFunction'. All these functions are explained in the GAP manual. Note that you may still run out of memory, since the Sylow 5-subgroup may contain lots of subgroups. If this doesn't work for you, it would be best if you could send the GAP code to construct your group. Cheers Burkhard. From hulpke at math.colostate.edu Wed Jun 8 16:55:53 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed, 8 Jun 2011 09:55:53 -0600 Subject: [GAP Forum] Extension In-Reply-To: References: Message-ID: <0EC5D947-17AE-4313-9400-47B07F7F1CE4@math.colostate.edu> Dear Forum, Dear Sara Radfar, > I need know how introduce extension a group such G by Z_n .For example > how intruduce Mathieu group M_12 by Z_2 i,e, G=M_12.2.Thanks, In general this depends on the group in question and their representation on the computer. (There also is the question of specifying the extension, as there are often multiple ones). Given your examples, I suspect you are particularly interested in the case that G is a simple group. In this case the extension (unless its a direct product, or has parts that act trivially) will embed into the automorphism group of$G$. Thus, for example for M12: g:=MathieuGroup(12); au:=AutomorphismGroup(g); phi:=IsomorphismPermGroup(au); a:=Image(phi); s:=Subgroup(a,List(InnerAutomorphismsAutomorphismGroup(au),x->Image(phi,x))); (or simply: s:=Socle(a)); Now s is M12 embeded into the automorphism group as group of permutations. In this case [a:s]=2, so this is the only such extension. Otherwise you'd have to look for subgroups of a/s of order n. Best, 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 From petRUShkin at yandex.ru Thu Jun 9 14:24:19 2011 From: petRUShkin at yandex.ru (=?koi8-r?B?7cHL08nN?=) Date: Thu, 09 Jun 2011 17:24:19 +0400 Subject: [GAP Forum] Load gap file and immediately exit dispitte on errors and breaking loop Message-ID: <109831307625859@web21.yandex.ru> I try to make gap syntax checker for VIM. And it is necessary for me to exit from GAP after load the file. I tried to use such call: echo "quit;" | gap -T -q -b error.g And GAP didn't exit from breaking loop. I found not so good solution like this cat error.g | gap -T -b -q because if it success gap return any output. -- ??????. From Bill.Allombert at math.u-bordeaux1.fr Thu Jun 9 14:57:06 2011 From: Bill.Allombert at math.u-bordeaux1.fr (Bill Allombert) Date: Thu, 9 Jun 2011 15:57:06 +0200 Subject: [GAP Forum] Load gap file and immediately exit dispitte on errors and breaking loop In-Reply-To: <109831307625859@web21.yandex.ru> References: <109831307625859@web21.yandex.ru> Message-ID: <20110609135706.GE17273@yellowpig> On Thu, Jun 09, 2011 at 05:24:19PM +0400, ?????? wrote: > I try to make gap syntax checker for VIM. And it is necessary for me to exit from GAP after load the file. > > I tried to use such call: > > echo "quit;" | gap -T -q -b error.g > > And GAP didn't exit from breaking loop. Maybe try gap -T -q -b error.g < /dev/null Cheers, Bill. From petRUShkin at yandex.ru Fri Jun 10 13:24:43 2011 From: petRUShkin at yandex.ru (=?koi8-r?B?7cHL08nN?=) Date: Fri, 10 Jun 2011 16:24:43 +0400 Subject: [GAP Forum] Fwd: GAP support for VIM text editor In-Reply-To: <83061307442239@web22.yandex.ru> References: <83061307442239@web22.yandex.ru> Message-ID: <547371307708683@web33.yandex.ru> Hello again. I added syntax checker on fly functionality to vim-gap plugin. You can use it with VIM at https://github.com/petRUShka/vim-gap (I added installation instructions) 07.06.2011, 14:23, "??????" : > Hello! > > I use VIM and GAP together. I extracted VIM plugin from gap sources, cleared old code, rearranged files and fix syntax highlighting. So now you can use it or you can fork it if you want. > > GAP support for VIM available here:?https://github.com/petRUShka/vim-gap > > I recommended to use?pathogen for organized such plugins:?http://tammersaleh.com/posts/the-modern-vim-config-with-pathogen > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- ??????. From Bill.Allombert at math.u-bordeaux1.fr Fri Jun 10 18:29:44 2011 From: Bill.Allombert at math.u-bordeaux1.fr (Bill Allombert) Date: Fri, 10 Jun 2011 19:29:44 +0200 Subject: [GAP Forum] Fwd: GAP support for VIM text editor In-Reply-To: <547371307708683@web33.yandex.ru> References: <83061307442239@web22.yandex.ru> <547371307708683@web33.yandex.ru> Message-ID: <20110610172944.GD469@yellowpig> On Fri, Jun 10, 2011 at 04:24:43PM +0400, ?????? wrote: > Hello again. > > I added syntax checker on fly functionality to vim-gap plugin. You can use it with VIM at https://github.com/petRUShka/vim-gap (I added installation instructions) Hello, Did you consider submitting your plugin for inclusion in vim ? Cheers, Bill. PS: there seems to be a slight typo in syntax_checkers/gap.vim: "bail if the user doesnt have ruby installed ruby instead of GAP. From krkini at ntu.edu.sg Fri Jun 10 19:17:25 2011 From: krkini at ntu.edu.sg (Keshav Rao Kini) Date: Fri, 10 Jun 2011 11:17:25 -0700 Subject: [GAP Forum] Fwd: GAP support for VIM text editor In-Reply-To: <20110610172944.GD469@yellowpig> References: <83061307442239@web22.yandex.ru> <547371307708683@web33.yandex.ru> <20110610172944.GD469@yellowpig> Message-ID: Says Frank L?beck, the author of the vim scripts in the GAP distribution: 2011/2/13 Frank L?beck : > Bill Allombert suggested to include the files in the vim distribution. > I didn't do this because there is already some other syntax file for > files with .g extension. -Keshav Disclaimer: the boilerplate text at the foot of this email has been added automatically by my mail server. This was not done by my request (rather the opposite) so please disregard it. 2011/6/10 Bill Allombert : > On Fri, Jun 10, 2011 at 04:24:43PM +0400, ?????? wrote: >> Hello again. >> >> I added syntax checker on fly functionality to vim-gap plugin. You can use it with VIM at https://github.com/petRUShka/vim-gap (I added installation instructions) > > Hello, > > Did you consider submitting your plugin for inclusion in vim ? > > Cheers, > Bill. > > PS: there seems to be a slight typo in syntax_checkers/gap.vim: > "bail if the user doesnt have ruby installed > ruby instead of GAP. > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From petrushkin at yandex.ru Sun Jun 12 15:40:56 2011 From: petrushkin at yandex.ru (Maxim) Date: Sun, 12 Jun 2011 18:40:56 +0400 Subject: [GAP Forum] Fwd: GAP support for VIM text editor In-Reply-To: <20110610172944.GD469@yellowpig> References: <83061307442239@web22.yandex.ru> <547371307708683@web33.yandex.ru> <20110610172944.GD469@yellowpig> Message-ID: Hello. What's wrong with separate plugin? I think it is ok. For example vim-ruby (highlighting and etc) and support for other languages are plugins. P.S. I will fix comment, thanks :) Bill Allombert ?????(?) ? ????? ?????? Fri, 10 Jun 2011 21:29:44 +0400: > On Fri, Jun 10, 2011 at 04:24:43PM +0400, ?????? wrote: >> Hello again. >> >> I added syntax checker on fly functionality to vim-gap plugin. You can >> use it with VIM at https://github.com/petRUShka/vim-gap (I added >> installation instructions) > > Hello, > > Did you consider submitting your plugin for inclusion in vim ? > > Cheers, > Bill. > > PS: there seems to be a slight typo in syntax_checkers/gap.vim: > "bail if the user doesnt have ruby installed > ruby instead of GAP. > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- ?????? From a.abdollahi at math.ui.ac.ir Sun Jun 12 16:34:55 2011 From: a.abdollahi at math.ui.ac.ir (Alireza Abdollahi) Date: Sun, 12 Jun 2011 08:34:55 -0700 (PDT) Subject: [GAP Forum] International Journal of Group Theory: Call for papers Message-ID: <422584.60703.qm@web35703.mail.mud.yahoo.com> ???????????????????????????????????????????????????????????????????????????????????????? International Journal?of?Group Theory? ???????????????????????????????????????????????????????????????????????????? Call?for?Papers ???????????????????????????????????????????????????????????????????http://www.theoryofgroups.ir/ ? ??????????????????????????????????????????????????????????????? ============================== =========================== Dear Colleagues, ? The International Journal of Group Theory (IJGT) is a publication of the University of Isfahan in English. IJGT is an international mathematical journal founded in 2011. It carries original research articles in the field of group theory. IJGT aims to reflect the latest developments in group theory and promote international academic exchanges. IJGT is an international open access journal. There is no publication charge. All accepted papers will? publish on the journal web page in the Articles? in Press" section? and anyone can access to them free of any charge. After printing, all papers will publish on the?journal web and can be accessed?free of any charge.? See the?Editorial Board here: http://www.theoryofgroups.ir/journal/editorial.board Visit the Journal web page here:???????http://www.theoryofgroups.ir/ ? Best Regards Alireza Abdollahi Editor-in-Chief of IJGT ? Alireza Abdollahi Department of Mathematics University of Isfahan Isfahan 81746-73441,Iran a.abdollahi at math.ui.ac.ir abdollahi at member.ams.org http://sci.ui.ac.ir/~a.abdollahi From L.H.Soicher at qmul.ac.uk Mon Jun 13 10:58:53 2011 From: L.H.Soicher at qmul.ac.uk (Leonard Soicher) Date: Mon, 13 Jun 2011 10:58:53 +0100 Subject: [GAP Forum] On GRAPE for GAP 4.5/removal of old functions Message-ID: <20110613095853.GA5486@maths.qmul.ac.uk> Dear GAP-Forum, I am preparing a new version of GRAPE which will (hopefully) be finished in time for release with GAP 4.5. One major step (forward?) should be the ability to interface with nauty on a computer running Windows. This has been made possible due to the hard work of Alexander Hulpke. In addition, I'd like to remove some old undocumented functionality requiring external binaries (this functionality is now largely provided by inbuilt GAP/GRAPE functions). Please let me know at once if you use either of the functions Enum or EnumColadj in GRAPE, as I plan to remove these functions, and their associated external programs from the next release of GRAPE. Regards, Leonard Soicher From dave.knott at gmail.com Fri Jun 10 13:20:51 2011 From: dave.knott at gmail.com (Dave Knott) Date: Fri, 10 Jun 2011 08:20:51 -0400 Subject: [GAP Forum] Molien Series in GAP Message-ID: Hi there. I am a new GAP user and have failed to understand the process for computing the Molien series of the "natural" representation of a group in GAP. I have read the previous posts on this topic but cannot generalize them to my problem. How do I compute the Molien series of a group with respect to its natural permutation matrix representation? Thanks so much, very stuck on this question David Knott From oyvind.solberg at math.ntnu.no Fri Jun 10 13:27:34 2011 From: oyvind.solberg at math.ntnu.no (=?iso-8859-1?Q?=D8yvind?= Solberg) Date: Fri, 10 Jun 2011 14:27:34 +0200 Subject: [GAP Forum] PreImageRepresentative and CanonicalBasis Message-ID: <20110610122734.GA10693@euler.math.ntnu.no> We are interested in the following question. Let D=(d_1,d_2,...,d_r) be a partition of n where d_i> 0 and let K be a field. We say a vector v=(v_1,v_2,...,v_n) in K^n is D-partitioned if there is j, 1<= j <= r such that the only nonzero v_i's occur in positions d_1+d_2+---+d_(j-1)+1 to d_1+d_2+---+d_j. E.g. if D=(2,1,3) then (7,6,0,0,0,0) and (0,0,4,0,0,0) and (0,0,0,4,5,0) are all D-partitioned whereas (7,0,3,0,0,0) and (0,4,0,0,5,0) are not D-partitioned. Let W be a subspace of K^n:=FullRowSpace(K,n) generated by D-partitioned vectors and let p:=NaturalHomomorphismBySubspace(V,W) be the canonical surjection. Now let B:=CanonicalBasis(Range(p)) and then call PreImagesRepresentative to the elements of B. Our question is, must these preimages in V be D-partitioned? (In a few examples, this seems to be the case. Best regards, Oeyvind Solberg. From mazaher1212 at gmail.com Wed Jun 15 09:30:16 2011 From: mazaher1212 at gmail.com (mazaher rahimi) Date: Wed, 15 Jun 2011 01:30:16 -0700 Subject: [GAP Forum] (no subject) Message-ID: Dear members I am working on the group GO^-_4(4), but I couldn't introduce it to GAP .If possible tell me how we can introduce it to GAP . Best wishes Mazaher From pbrooksb at bucknell.edu Wed Jun 15 10:08:59 2011 From: pbrooksb at bucknell.edu (Peter Brooksbank) Date: Wed, 15 Jun 2011 21:08:59 +1200 Subject: [GAP Forum] (no subject) In-Reply-To: References: Message-ID: Dear Mazaher, Use the "GO" constructor, as follows: gap> G := GO (-1, 4, 4); Best Wishes, Peter On Wed, Jun 15, 2011 at 8:30 PM, mazaher rahimi wrote: > Dear members > > I am working on the group GO^-_4(4), but I couldn't introduce it to > GAP .If possible tell me how we can introduce it to GAP . > > Best wishes > Mazaher > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From L.H.Soicher at qmul.ac.uk Wed Jun 15 11:07:14 2011 From: L.H.Soicher at qmul.ac.uk (Leonard Soicher) Date: Wed, 15 Jun 2011 11:07:14 +0100 Subject: [GAP Forum] Independent sets/complete subgraphs in GRAPE In-Reply-To: <129094.49396.qm@web161713.mail.bf1.yahoo.com> References: <20110613095853.GA5486@maths.qmul.ac.uk> <129094.49396.qm@web161713.mail.bf1.yahoo.com> Message-ID: <20110615100714.GB25515@maths.qmul.ac.uk> Dear Reza Orfi, Dear GAP-Forum, Let gamma be a simple graph, and delta the complement graph of gamma. Then X is an independent set of gamma if and only if X is a clique of delta (that is, the subgraph induced on X is a complete graph). Thus, finding and classifying independent sets in gamma is equivalent to finding and classifying complete subgraphs of delta, and for this you can use the functions CompleteSubgraphs and CompleteSubgraphsOfGivenSize in GRAPE. Please read their documentation carefully. Note that a *maximal* complete subgraph K of delta is one which is not properly contained in another complete subgraph of delta, although there may be complete subgraphs of delta larger than K. Should you wish to find a *maximum* complete subgraph of delta (that is, one of maximum size, and corresponding to a maximum independent set of gamma), then you could apply the function CompleteSubgraphsOfGivenSize (and binary search) to find the largest k such that delta has a complete subgraph of size k. Before any searching for any complete subgraphs of delta it is usually a good idea to make sure that delta.group is the full automorphism group of delta. This can be done by the statement: delta:=NewGroupGraph(AutomorphismGroup(delta),delta); To determine whether delta has a complete subgraph of size k, and to produce one if so, the function call would be: CompleteSubgraphsOfGivenSize(delta,k,0); Now suppose m is the size of a maximum complete subgraph of delta. Then in particular, all complete subgraphs of delta of size m are maximal, so you could classify the maximum complete subgraphs of delta, up to the action of delta.group, using the function call: CompleteSubgraphsOfGivenSize(delta,m,2,true); Hope all this is helpful, Leonard Soicher On Tue, Jun 14, 2011 at 07:37:06AM -0700, Reza Orfi wrote: > Dear Prof. ?Leonard Soicher > I have a question . > Is there any way to commpute the maximal independent sets > in GAP ? > There is a function in GRAPE to commpue independent set ( IndependentSet(gamma)). > But this function return a (hopefully large) independent set of the graph gamma. > ? > Best regards > ??????? Reza Orfi > ? > ? > --- On Mon, 6/13/11, Leonard Soicher wrote: > > > From: Leonard Soicher > Subject: [GAP Forum] On GRAPE for GAP 4.5/removal of old functions > To: forum at gap-system.org > Date: Monday, June 13, 2011, 4:58 AM > > > Dear GAP-Forum, > > I am preparing a new version of GRAPE which will (hopefully) be finished > in time for release with GAP 4.5. One major step (forward?) should be > the ability to interface with nauty on a computer running Windows. This > has been made possible due to the hard work of Alexander Hulpke. > > In addition, I'd like to remove some old undocumented functionality > requiring external binaries (this functionality is now largely provided > by inbuilt GAP/GRAPE functions). Please let me know at once if you use > either of the functions Enum? or EnumColadj in GRAPE, as I plan to remove > these functions, and their associated external programs from the next > release of GRAPE. > > Regards, > Leonard Soicher > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From hulpke at me.com Sun Jun 19 19:20:26 2011 From: hulpke at me.com (Alexander Hulpke) Date: Sun, 19 Jun 2011 12:20:26 -0600 Subject: [GAP Forum] PreImageRepresentative and CanonicalBasis In-Reply-To: <20110610122734.GA10693@euler.math.ntnu.no> References: <20110610122734.GA10693@euler.math.ntnu.no> Message-ID: Dear Forum, On Jun 10, 2011, at 6:27 AM, ?yvind Solberg wrote: > We are interested in the following question. Let D=(d_1,d_2,...,d_r) > be a partition of n where d_i> 0 and let K be a field. We say a > vector v=(v_1,v_2,...,v_n) in K^n is D-partitioned if there is j, 1<= > j <= r such that the only nonzero v_i's occur in positions > d_1+d_2+---+d_(j-1)+1 to d_1+d_2+---+d_j. E.g. if D=(2,1,3) then > (7,6,0,0,0,0) and (0,0,4,0,0,0) and (0,0,0,4,5,0) are all > D-partitioned whereas (7,0,3,0,0,0) and (0,4,0,0,5,0) are not > D-partitioned. > > Let W be a subspace of K^n:=FullRowSpace(K,n) generated by > D-partitioned vectors and let p:=NaturalHomomorphismBySubspace(V,W) be > the canonical surjection. > > Now let B:=CanonicalBasis(Range(p)) and then call > PreImagesRepresentative to the elements of B. Our question is, must > these preimages in V be D-partitioned? (In a few examples, this seems > to be the case. I think what is happening is that the homomorphism extends a basis of W to one of V by adding basis vectors from V. Usually this is the standard basis. Then a basis for V/W is formed correspondingly to the newly added basis vectors. Pre-Images of these basis vectors then are the elements added from the basis of V, i.e. typically elements from the standard basis which of course are D-partitioned. However I would not want to guarantee this behaviour, in particular if V was created somehow with a different basis. Also I could imagine NaturalHomomorphism BySubspace at some point changing its method for efficiency. Instead, I think the following would be cleaner (and then is guaranteed to work -- essentially this is building the homomorphism with the properties as above): Extend the basis for W to a basis for V using D-partitioned vectors, e.. vectors from the standard basis. Let C be this extended basis Let Q=Field^(dim V-dim W) and B the canonical basis of Q. Use p:=LeftModuleHomomorphismByMatrix(C,mat,B) with the first dim W rows of mat zero and the last dim Q rows an identity Best, 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 From A.Egri-Nagy at herts.ac.uk Tue Jun 21 15:28:42 2011 From: A.Egri-Nagy at herts.ac.uk (Attila Egri-Nagy) Date: Tue, 21 Jun 2011 16:28:42 +0200 Subject: [GAP Forum] A^3 conference extended submission deadline Message-ID: Dear GAP Users, We extended the abstract submission deadline for the A^3 algebraic conference (with GAP related talks). The new date is: 30th June. Please circulate! Thank you very much! Best Regards, Attila Egri-Nagy --------------------------------------------------------------------------------------------------------- A^3 ABSTRACT ?ALGEBRA AND ALGORITHMS ? Aug. 14-17, Eger, Hungary ? http://a3.ektf.hu The A^3 international meeting is aimed at mathematicians and computer scientists interested in Abstract Algebra. Though this part of Mathematics has many different branches, still the unique style of algebraic thinking is recognizable and retained in all kind of algebraic research. The meeting will utilize this common language to bring together algebraists working in different research directions and to facilitate conversations and discussions between researchers. The meeting also puts some emphasis on the computational aspects of abstract algebra. Topics include, but not limited to: ? ?groups and semigroups ? ?rings and algebras ? ?fields, modules, vector spaces ? ?universal algebra, category theory ? ?abstract algebraic algorithms Location Eger is a charming little town in Northern-East Hungary, east of the M?tra mountains and south of the B?kk mountains. It is famous for its historical buildings including a castle and a turkish minaret, thermal baths and wine. The meeting is hosted by the Eszterh?zy K?roly College and the venue is right behind the castle. (Partial) List of Participants Victor Bovdi (University of Debrecen, Hungary) Ted Hurley (National University of Ireland, Galway, Ireland) David Lewis (University College Dublin, Ireland) Yuanlin Li (Brock University, Ontario, Canada) James D. Mitchell (University of St. Andrews, UK) Chrystopher Nehaniv (University of Hertfordshire, UK) P?ter P?l P?lfy (Alfr?d R?nyi Institute of Mathematics, Hungarian Academy of Sciences, Hungary) Csaba Schneider (University of Lisbon, Portugal) Mohamed A. Salim (UAE University, Al Ain, UAE) Murat Alp (Ni?de University, Turkey) Mamoon Al-Deeb (Al-Hussein Bin Talal University, Jordan) Olga Cerbu (State University of Moldova, Moldova) Attila Mar?ti (Alfred Renyi Institute of Mathematics, Hungary) Orest Artemowicz (Cracow University of Technology, Poland) Andreas Kendziorra (University College Dublin, Ireland) Jan Zemlicka (Charles University in Prague, Czech Republic) Aleksander Ivanov (University of Wroclaw, Poland) Ghadiri Herati (Yazd University, Iran) Ferenc M?ty?s (Eszterh?zy K?roly College, Hungary) K?lm?n Liptai (Eszterh?zy K?roly College, Hungary) Csaba Bir? (Eszterh?zy K?roly College, Hungary) From darthandrus at gmail.com Mon Jul 11 14:20:53 2011 From: darthandrus at gmail.com (Ivan Andrus) Date: Mon, 11 Jul 2011 15:20:53 +0200 Subject: [GAP Forum] Automatically truncating long output Message-ID: I find that I often accidentally ask GAP to print a large structure (usually by forgetting the second semicolon) and I have to wait for 30 seconds or a minute for it to complete. I know that I can interrupt it with Control-C, but this often leaves the prompt indented and doesn't work well running under emacs. Is there a setting, or some function that I can override to cause GAP to print, say 10 lines, and then prompt if I want to continue (or something similar)? -Ivan From nikolova20032003 at yahoo.com Tue Jul 12 22:50:54 2011 From: nikolova20032003 at yahoo.com (Daniela Nikolova) Date: Tue, 12 Jul 2011 14:50:54 -0700 (PDT) Subject: [GAP Forum] How to run GAP on Wiondows 7? Message-ID: <1310507454.98143.YahooMailClassic@web111712.mail.gq1.yahoo.com> Hello, ?? I would like to know where to find a compatible version of GAP that would run on the Windows 7 64-bit operating system. ?? Thank you, ?? Daniela Assoc. Prof. Dr. Daniela Nikolova-Popova Institute of Mathematics and Informatics, Bulgarian Academy of Sciences & Florida Atlantic University, USA cell: +1 954 404 3140 office: +1 561 297 1342 home: + 359 2 9444 944. From alexander.konovalov at gmail.com Tue Jul 12 23:19:05 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Tue, 12 Jul 2011 23:19:05 +0100 Subject: [GAP Forum] How to run GAP on Windows 7? In-Reply-To: <1310507454.98143.YahooMailClassic@web111712.mail.gq1.yahoo.com> References: <1310507454.98143.YahooMailClassic@web111712.mail.gq1.yahoo.com> Message-ID: <28BFD15D-DBAA-4F4C-9D41-9ECCB4D7953A@gmail.com> Dear Daniela, so far we have no reports of GAP 4.4.12 not running in this configuration. To install it, you may try my Experimental GAP Installer for Windows: http://www.gap-system.org/ukrgap/wininst/wininst.htm (note that you have to download two executables to install both the core system and recent packages). Please let me know if you will have any problems with running GAP there. Best regards, Alexander On 12 Jul 2011, at 22:50, Daniela Nikolova wrote: > Hello, > I would like to know where to find a compatible version of GAP that would run on the > Windows 7 64-bit > operating system. > Thank you, > Daniela > > Assoc. Prof. Dr. Daniela Nikolova-Popova > Institute of Mathematics and Informatics, Bulgarian Academy of Sciences > & > Florida Atlantic University, USA > > cell: +1 954 404 3140 > office: +1 561 297 1342 > home: + 359 2 9444 944. > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From jbohanon2 at gmail.com Tue Jul 12 23:23:31 2011 From: jbohanon2 at gmail.com (Joe Bohanon) Date: Tue, 12 Jul 2011 18:23:31 -0400 Subject: [GAP Forum] How to run GAP on Windows 7? In-Reply-To: <28BFD15D-DBAA-4F4C-9D41-9ECCB4D7953A@gmail.com> References: <1310507454.98143.YahooMailClassic@web111712.mail.gq1.yahoo.com> <28BFD15D-DBAA-4F4C-9D41-9ECCB4D7953A@gmail.com> Message-ID: GGAP is a nice GUI interface that works just like Maple or Mathematica would. http://ggap.sourceforge.net/ Joe On Tue, Jul 12, 2011 at 6:19 PM, Alexander Konovalov < alexander.konovalov at gmail.com> wrote: > Dear Daniela, > > so far we have no reports of GAP 4.4.12 not running in this configuration. > > To install it, you may try my Experimental GAP Installer for Windows: > > http://www.gap-system.org/ukrgap/wininst/wininst.htm > > (note that you have to download two executables to install both the core > system and recent packages). > > Please let me know if you will have any problems with running GAP there. > > Best regards, > Alexander > > > On 12 Jul 2011, at 22:50, Daniela Nikolova wrote: > > > Hello, > > I would like to know where to find a compatible version of GAP that > would run on the > > Windows 7 64-bit > > operating system. > > Thank you, > > Daniela > > > > Assoc. Prof. Dr. Daniela Nikolova-Popova > > Institute of Mathematics and Informatics, Bulgarian Academy of Sciences > > & > > Florida Atlantic University, USA > > > > cell: +1 954 404 3140 > > office: +1 561 297 1342 > > home: + 359 2 9444 944. > > > > _______________________________________________ > > Forum mailing list > > Forum at mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From ljj198123 at 126.com Wed Jul 13 15:28:08 2011 From: ljj198123 at 126.com (=?GBK?B?wfW9qL78?=) Date: Wed, 13 Jul 2011 22:28:08 +0800 (CST) Subject: [GAP Forum] About permutable Message-ID: Dear forum, A subgroup H of a finite group G is said to be permutable if HK=KH for every subgroup K of G. I would like to know whether all subgroups of a group G are permutable. Is there a method to get it in GAP? Best Wishes Jianjun Liu From bsambale at gmx.de Wed Jul 13 16:48:57 2011 From: bsambale at gmx.de (Benjamin Sambale) Date: Wed, 13 Jul 2011 17:48:57 +0200 Subject: [GAP Forum] About permutable In-Reply-To: References: Message-ID: <4E1DBE69.5010602@gmx.de> Dear Jianjun, you may try this code (no warranty): prod:=function(x,y) return x*y; end; IsPermutable:=function(G,H) local g; if IsNormal(G,H) then return true; fi; if ForAll(Set(G),g->SetX(H,Group(g),prod)=SetX(Group(g),H,prod)) then return true; else return false; fi; end; AllSgPermutable:=function(G) if not IsNilpotentGroup(G) then return false; fi; if ForAll(List(ConjugacyClassesSubgroups(G),Representative),H->IsPermutable(G,H)) then return true; else return false; fi; end; Here observe that it is only necessary to test permutability with cyclic subgroups. Moreover, if all subgroups are permutable in a finite group G, then G must be nilpotent, since two different Sylow p-subgroups (for the same prime p) are certainly not permutable. Best wishes, Benjamin Sambale Am 13.07.2011 16:28, schrieb ???: > Dear forum, > > A subgroup H of a finite group G is said to be permutable if HK=KH for every subgroup K of G. > > I would like to know whether all subgroups of a group G are permutable. > Is there a method to get it in GAP? > > Best Wishes > Jianjun Liu > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > * Englisch - erkannt * Englisch * Deutsch * Englisch * Deutsch From resteban at mat.upv.es Wed Jul 13 18:48:55 2011 From: resteban at mat.upv.es (Ramon Esteban-Romero) Date: Wed, 13 Jul 2011 19:48:55 +0200 Subject: [GAP Forum] About permutable In-Reply-To: References: Message-ID: <20110713174855.GA11844@mat.upv.es> Dear Jianjun, dear forum, Adolfo Ballester-Bolinches and I are preparing a GAP package to check permutability of subgroups in finite groups and to decide whether a finite has all subnormal subgroups normal or permutable, among other things. According to a result of Iwasawa, these groups are nilpotent and have a Sylow p-subgroup P which satisfies one of the following two conditions: - P is a direct product of a quaternion group of order 8 and an elementary abelian 2-group, or - P has an abelian normal subgroup A and an element b such that$P=A\langle b\rangleand there exists a natural number s, which is greater than 1 if p=2, such that a^b=a^{1+p^s} for all a in A. The package includes functions which perform this test. The package is almost finished, we are making the final revision of the package and the documentation. We hope to submit it soon to be refereed. We can send you a preliminary version of the package if you want. With best wishes, -- Ramon Clau p?blica PGP/Llave p?blica PGP/Clef publique PGP/PGP public key: http://www.rediris.es/cert/servicios/keyserver/ http://personales.upv.es/~resteban/resteban.asc Tel?fon/tel?fono/t?l?phone/phone: (+34)963877007 ext. 76676 * ??? [110713 19:29]: > Dear forum, > > A subgroup H of a finite group G is said to be permutable if HK=KH for every subgroup K of G. > > I would like to know whether all subgroups of a group G are permutable. > Is there a method to get it in GAP? > > Best Wishes > Jianjun Liu > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From noreply at badoo.com Thu Jul 14 19:43:07 2011 From: noreply at badoo.com (Badoo) Date: Thu, 14 Jul 2011 18:43:07 +0000 Subject: [GAP Forum] =?utf-8?b?0KMg0LLQsNGBINC90L7QstC+0LUg0YHQvtC+0LE=?= =?utf-8?b?0YnQtdC90LjQtSDQvdCwIEJhZG9vISDQn9C+0YHQvNC+0YLRgNC10YI=?= =?utf-8?b?0Ywg0LXQs9C+INGB0LXQudGH0LDRgS4uLg==?= Message-ID: Nik ??????? ??? ??? ?????????... ?????????? ????? ????????? ? ??? ??????????? ????? ????? ?????? ???, ? ?? ??????? ??????? ?? ? ????? ??????. ???????? ?? ????????? ????? ????? ??????, ????????? ??????? ??????????? ?????? ???????????. ????? ?????????, ??? ??? ????????, ?????? ????????? ?? ??????: http://eu1.badoo.com/0246866383/in/s0PbzRbDYqg/?lang_id=2&m=21&mid=4e1f38b000000000000200000b61df6c ??? ????????? ?? ????????? ????????? ??? ??????: Mamo (Melitene, ??????) Iylia (????????, ??????) ????? (????????, ??????) http://eu1.badoo.com/0246866383/in/s0PbzRbDYqg/?lang_id=2&m=21&mid=4e1f38b000000000000200000b61df6c ???? ?????? ?? ????????, ?????????? ?? ? ???????? ? ???????? ?????? ????????. ??? ?????? ???????? ?????? ???????? ????????? ?? Nik. ???? ?? ???????? ????????? ?? ??????, ??????????, ?????????????? ???. ????? ????????? ????? ??? ????? ??????? ?? ???????. ?????! ??????? Badoo ?? ???????? ??? ??????, ?????? ??? ???????????? Badoo ??????? ??? ??? ????????? ?? Badoo. ??? ?? ??????? ??????, ??? ??? ?????? ?? ???? ?? ????????????? ? ?? ????????. ???? ?? ?????? ?? ?????? ???????? ????????? ?? Badoo, ??????????, ???????? ???: http://eu1.badoo.com/impersonation.phtml?lang_id=2&mail_code=21&email=forum%40mail.gap-system.org&secret=&invite_id=83143&user_id=246866383&m=21&mid=4e1f38b000000000000200000b61df6c From ashkanramiz at yahoo.com Thu Jul 14 21:02:39 2011 From: ashkanramiz at yahoo.com (Ashkan Ramiz) Date: Thu, 14 Jul 2011 13:02:39 -0700 (PDT) Subject: [GAP Forum] Help In-Reply-To: <1310631465.22004.YahooMailNeo@web121210.mail.ne1.yahoo.com> References: <1310631465.22004.YahooMailNeo@web121210.mail.ne1.yahoo.com> Message-ID: <1310673759.86112.YahooMailNeo@web121217.mail.ne1.yahoo.com> Any body don't know how we can write group?2F_4(2)^'in Gap? From: Ashkan Ramiz To: "forum at gap-system.org" Sent: Thursday, July 14, 2011 1:17 AM Subject: Help Dear members, ? I have a question on group 2F_4(2)^'. Is there a method for write this group in Gap? ? All the Best? From bsambale at gmx.de Fri Jul 15 07:59:38 2011 From: bsambale at gmx.de (Benjamin Sambale) Date: Fri, 15 Jul 2011 08:59:38 +0200 Subject: [GAP Forum] Help In-Reply-To: <1310673759.86112.YahooMailNeo@web121217.mail.ne1.yahoo.com> References: <1310631465.22004.YahooMailNeo@web121210.mail.ne1.yahoo.com> <1310673759.86112.YahooMailNeo@web121217.mail.ne1.yahoo.com> Message-ID: <4E1FE55A.1050202@gmx.de> LoadPackage("atlasrep"); G:=AtlasGroup("2F4(2)'"); Am 14.07.2011 22:02, schrieb Ashkan Ramiz: > Any body don't know how we can write group 2F_4(2)^'in Gap? > > > From: Ashkan Ramiz > To: "forum at gap-system.org" > Sent: Thursday, July 14, 2011 1:17 AM > Subject: Help > > > Dear members, > > I have a question on group 2F_4(2)^'. Is there a method for write this group in Gap? > > All the Best > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From nikolova20032003 at yahoo.com Fri Jul 15 20:24:09 2011 From: nikolova20032003 at yahoo.com (Daniela Nikolova) Date: Fri, 15 Jul 2011 12:24:09 -0700 (PDT) Subject: [GAP Forum] How to increase memory? Message-ID: <1310757849.28177.YahooMailClassic@web111717.mail.gq1.yahoo.com> Hi folks! ?? I've just got GAP installed on my new computer under Windows 7, 4GB memory. I can still not get the maximal subgroups of S_12 - not enough memory! Please advise me how I can increase the memory. I understand that's possible under UNIX. ?? Thanks, ?? Daniela Assoc. Prof. Dr. Daniela Nikolova-Popova Institute of Mathematics and Informatics, Bulgarian Academy of Sciences & Florida Atlantic University, USA cell: +1 954 404 3140 office: +1 561 297 1342 home: + 359 2 9444 944. From jbohanon2 at gmail.com Fri Jul 15 22:16:05 2011 From: jbohanon2 at gmail.com (Joe Bohanon) Date: Fri, 15 Jul 2011 17:16:05 -0400 Subject: [GAP Forum] How to increase memory? In-Reply-To: <1310757849.28177.YahooMailClassic@web111717.mail.gq1.yahoo.com> References: <1310757849.28177.YahooMailClassic@web111717.mail.gq1.yahoo.com> Message-ID: To answer how to increase memory, I'm not 100% sure how to do it in Windows if you're using GGAP, but in UNIX you just add, for instance, "-o 1G" to the command you use to start GAP. On to the bigger question of getting maximal subgroups of S12, using the standard algorithms that GAP has is going to make it quite a challenge. To get maximal subgroups, most of the time GAP will construct the entire subgroup lattice, then work out the inclusions. I should also point out that you might want to run ConjugacyClassesMaximalSubgroups instead of just MaximalSubgroups just to make your output smaller. However, if you need them all, once you get the output of the former, list the classes by the function Elements and then concatenate. The biggest problem here is that S12 is a very, very large group. One of the first functions that GAP will run on this group is Zuppos, which computes conjugacy classes of cyclic subgroups of prime power order. For me, this stalls very badly on S12 (and might not even complete). For the GAP solution, you are in luck as S12 is included in the extended table of marks library available here: http://www.math.rwth-aachen.de/~Thomas.Breuer/tomlib/ Download the file into the pkg directory and extract. Then in GAP run: gap> tom:=TableOfMarks("S12"); TableOfMarks( "S12" ) gap> max:=List(List(MaximalSubgroupsTom(tom)[1]),i->RepresentativeTom(tom,i)); [ , , , , , , , , , , Group([ (1,7)(2,10)(3,11)(4,5)(6,8)(9,12), (1,10,4,6,7,9)(2,3,5,8,12,11), (3,6,12,11,7)(4,8,9,5,10), (2,5,3,8,4,9,11,6,12,10,7), (3,4,12,9,7,10,6,8,11,5) ]) ] This gives you conjugacy classes. If you want all of the maximal subgroups, do: gap> G:=UnderlyingGroup(tom); Group([ (1,2), (2,3,4,5,6,7,8,9,10,11,12) ]) gap> allmax:=Concatenation(List(max,i->Elements(ConjugacyClassSubgroups(G,i)))); I'll warn you that one of these classes has size 362880 so this is going to be big. There are a few other ways to get at this, but it involves using the O'Nan Scott theorem. You basically use that (or the ATLAS) to determine the structure of the maximal subgroups and since many of them have a prescribed format you can construct them yourself. Joe On Fri, Jul 15, 2011 at 3:24 PM, Daniela Nikolova < nikolova20032003 at yahoo.com> wrote: > Hi folks! > I've just got GAP installed on my new computer under Windows 7, 4GB > memory. I can still not get the maximal subgroups of S_12 - not enough > memory! Please advise me how I can increase the memory. I understand that's > possible under UNIX. > Thanks, > Daniela > > Assoc. Prof. Dr. Daniela Nikolova-Popova > Institute of Mathematics and Informatics, Bulgarian Academy of Sciences > & > Florida Atlantic University, USA > > cell: +1 954 404 3140 > office: +1 561 297 1342 > home: + 359 2 9444 944. > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From hulpke at me.com Sat Jul 16 10:01:54 2011 From: hulpke at me.com (Alexander Hulpke) Date: Sat, 16 Jul 2011 11:01:54 +0200 Subject: [GAP Forum] How to increase memory? In-Reply-To: References: <1310757849.28177.YahooMailClassic@web111717.mail.gq1.yahoo.com> Message-ID: Dear Forum, Just in addition to Joe Bohanon's email: If you get an error message exceeded memory'' and enter the break loop (respectively, exit it in the ggap shell) you can continue with return;', respectively just start the calculation again witrh double the permited memory limit. There also is a hard limit (error message cannot extend memory'') due to the cygwin environment we're using -- see the section memory issues' at http://www.gap-system.org/Download/WinInst.html > On to the bigger question of getting maximal subgroups of S12, using the > standard algorithms that GAP has is going to make it quite a challenge. To The maximal subgroups for Sn and An, n<=50 are predefined in the library (using the result via the O'Nan-Scott theorem): gap> g:=SymmetricGroup(12); Sym( [ 1 .. 12 ] ) gap> MaximalSubgroupClassReps(g); [ Alt( [ 1 .. 12 ] ), Group([ (1,2,3,4,5,6,7), (1,2), (8,9,10,11,12), (8,9) ]) , Group([ (1,2,3,4,5,6,7,8), (1,2), (9,10,11,12), (9,10) ]), Group([ (1,2,3,4,5,6,7,8,9), (1,2), (10,11,12), (10,11) ]), Group([ (1,2,3,4,5,6,7,8,9,10), (1,2), (11,12) ]), Group([ (1,2,3,4,5,6,7,8,9,10,11), (1,2) ]), , , , Group([ (1,2,3,4,5,6), (1,2), (7,8,9,10,11,12), (7,8), (1,7)(2,8)(3,9)(4,10)(5,11)(6,12) ]), PGL(2, 11) ] Best, 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 From mana_tari at yahoo.com Mon Jul 18 06:37:41 2011 From: mana_tari at yahoo.com (mana Tari) Date: Mon, 18 Jul 2011 06:37:41 +0100 (BST) Subject: [GAP Forum] Help In-Reply-To: <1310884356.34802.YahooMailNeo@web132409.mail.ird.yahoo.com> References: <1310884356.34802.YahooMailNeo@web132409.mail.ird.yahoo.com> Message-ID: <1310967461.52638.YahooMailNeo@web132410.mail.ird.yahoo.com> Dear all, ? I sent the following email to Gap forum, but didn't receive any answer. Anybody can help? ? All the Best, Mana From: mana Tari To: "forum at gap-system.org" Sent: Saturday, 16 July 2011, 23:32:36 Subject: Help Dear gap forum, I work by Gap 4.4.10. I can?LoadPackage("atlasrep"), but when write?AtlasGroup("J1"),?get an error. How should rectify this error? With Best Regards; Mana From justin at mac.com Mon Jul 18 08:52:49 2011 From: justin at mac.com (Justin C. Walker) Date: Mon, 18 Jul 2011 00:52:49 -0700 Subject: [GAP Forum] Help In-Reply-To: <1310967461.52638.YahooMailNeo@web132410.mail.ird.yahoo.com> References: <1310884356.34802.YahooMailNeo@web132409.mail.ird.yahoo.com> <1310967461.52638.YahooMailNeo@web132410.mail.ird.yahoo.com> Message-ID: <4026229F-CF41-4781-BF30-28E7059D8450@mac.com> Dear Mana and Forum, On Jul 17, 2011, at 22:37 , mana Tari wrote: > Dear all, > > I sent the following email to Gap forum, but didn't receive any answer. Anybody can help? It helps to know several things before we can answer your question: the version of GAP you are using; the OS and its version; and the error message you saw. Without this, we have to rely on crystal balls and guesswork, both notoriously inefficient. FWIW, what you wrote works with no problems for me, with GAP 4.4.12 and Mac OS X, 10.6.8. HTH Justin -- Justin C. Walker Curmudgeon at Large Director Institute for the Enhancement of the Director's Income -- Build a man a fire and he'll be warm for a night. Set a man on fire and he'll be warm for the rest of his life. From ayoubbasheer at gmail.com Tue Jul 19 20:37:06 2011 From: ayoubbasheer at gmail.com (ayoubac basheer) Date: Tue, 19 Jul 2011 21:37:06 +0200 Subject: [GAP Forum] Finding Subgroups of a given group and given index Message-ID: Dear GAP Forum Is there any command in GAP to get a subgroup H of a given group G with given index m? For example let G be a group of order say 432. How can we find those subgroups of G of index 16. Thanks Ayoub From hedtke at me.com Tue Jul 19 20:43:07 2011 From: hedtke at me.com (Ivo Hedtke) Date: Tue, 19 Jul 2011 21:43:07 +0200 Subject: [GAP Forum] Finding Subgroups of a given group and given index In-Reply-To: References: Message-ID: Hi Ayoub, you can use the "Subgroups" command from the SONATA-Library and Filter the subgroups with the correct index: gap> G:=SmallGroup(432,1); gap> 432/16; 27 gap> S:=Filtered(Subgroups(G), i-> Size(i)=27);; Now S contains a list of all Subgroups of G with Index 16. Ivo. Am 19.07.2011 um 21:37 schrieb ayoubac basheer: > Dear GAP Forum > > Is there any command in GAP to get a subgroup H of a given group G with > given index m? For example let G be a group of order say 432. How can we > find those subgroups of G of index 16. > > Thanks > > Ayoub > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From colva at mcs.st-and.ac.uk Thu Jul 21 11:26:05 2011 From: colva at mcs.st-and.ac.uk (Colva Roney-Dougal) Date: Thu, 21 Jul 2011 11:26:05 +0100 Subject: [GAP Forum] 3 year Postdoc at St Andrews Message-ID: <79C62A6C-6BD4-4364-B4C0-07C6F9A345E9@mcs.st-and.ac.uk> Dear All Applications are invited for a three year postdoctoral research position in the Centre for Interdisciplinary Research in Computational Algebra (CIRCA) at the University of St Andrews, Scotland, to work on an EPSRC-funded project ?Solving word problems via generalisations of small cancellation?. CIRCA is a thriving interdisciplinary research centre, spanning the Schools of Mathematics and Statistics and of Computer Science, with 20 staff members and around ?3.25 million in current research grants. The successful applicant will be based in the School of Mathematics and Statistics, and will also be a member of the Algebra and Combinatorics research group, which was singled out in the recent International Review of Mathematics as one of the top centres in the UK for research in group theory. The successful applicant will work with Colva Roney-Dougal, Steve Linton, Max Neunhoeffer and Richard Parker to develop, analyse and implement a new class of algorithms to solve the word problem in both finitely presented groups and other algebraic structures, which are based on new geometric and combinatorial methods. This will involve participating in both theoretical and computational research, including the production of high quality international journal articles and a suite of software. Further information about the project is available at: http://www-groups.mcs.st-and.ac.uk/~colva/CaseForSupport.pdf or by emailing Colva Roney-Dougal. The deadline for receipt of applications is the 15th of August, and interviews will be held in the week beginning the 5th of September. The post will ideally commence on 1st October 2011, but a later start date could be negotiated. Please apply online at: https://www.vacancies.st-andrews.ac.uk/welcome.aspx Best wishes Colva The University of St Andrews is a charity registered in Scotland : No SC013532 From vblanco at ugr.es Mon Jul 25 10:53:45 2011 From: vblanco at ugr.es (Victor Blanco) Date: Mon, 25 Jul 2011 11:53:45 +0200 Subject: [GAP Forum] PhD and PostDoc positions in "New Challenges in Combinatorial Maths." Message-ID: <4E2D3D29.9070907@ugr.es> Dear all, A PhD scholarship and a Post Doc position are available at the Research Group "New Challenges in Combinatorial Mathematics" (http://grupo.us.es/fqm331/ ) at the Universidad de Sevilla, Spain. Our project is supported by the Andalusian Government and it is formed by 21 researchers from several universities and different areas: Computational Algebra, Applied Mathematics, Operational Research, Optimization and Applied Economics, and our main goal is to tackle discrete mathematics problems by using non-standard approaches as well as applying Discrete Maths for solving real life problems, mainly in logistic, location, routing or game theory. More information about our research can be found in http://grupo.us.es/fqm331/. The position is intended for graduates (or PhD, for the postdoc position) in Maths or Computer Science interested in modeling or optimization. Applications must be submitted via http://www.juntadeandalucia.es/innovacioncienciayempresa/oficinavirtual where further details can be found (in Spanish). The deadline for the application is July 29th, 2011. Please write to Prof. Justo Puerto (puerto at us.es) for further information. -------------------------------------------------------------- Victor Blanco Departamento de Algebra Facultad de Ciencias Universidad de Granada email:vblanco at ugr.es web:www.ugr.es/~vblanco skype: victor.blanco.izquierdo --------------------------------------------------------------- If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is. (J. Von Neumann) --------------------------------------------------------------- From k.mackenzie at sheffield.ac.uk Wed Jul 27 16:27:39 2011 From: k.mackenzie at sheffield.ac.uk (KCHM) Date: Wed, 27 Jul 2011 16:27:39 +0100 Subject: [GAP Forum] Basic question, order of fpgroup In-Reply-To: References: Message-ID: <20110727152739.GA3548@sheffield.ac.uk> I have used GAP in a small way off and on for several years but still regard myself as a novice. I am having trouble with the code below and wonder if I am just making some elementary mistake. If some experienced person could glance at it for me, I'll be very grateful. >>>>>>>>>>>>> f:=FreeGroup(4);; G:=f/[f.1^2,f.2^2,f.3^2,f.4^2, (f.1*f.2)^3,(f.1*f.3)^3,(f.1*f.4)^3,(f.2*f.3)^3,(f.2*f.4)^3,(f.3*f.4)^3, (f.1*f.2*f.1*f.3)^4,(f.1*f.2*f.1*f.4)^4, (f.1*f.3*f.1*f.4)^4,(f.1*f.3*f.1*f.2)^4, (f.1*f.4*f.1*f.2)^4,(f.1*f.4*f.1*f.3)^4, (f.2*f.3*f.2*f.4)^4,(f.2*f.3*f.2*f.1)^4, (f.2*f.4*f.2*f.1)^4,(f.2*f.4*f.2*f.3)^4, (f.2*f.1*f.2*f.3)^4,(f.2*f.1*f.2*f.4)^4, (f.3*f.4*f.3*f.2)^4,(f.3*f.4*f.3*f.1)^4, (f.3*f.1*f.3*f.2)^4,(f.3*f.1*f.3*f.4)^4, (f.3*f.2*f.3*f.1)^4,(f.3*f.2*f.3*f.4)^4, (f.4*f.1*f.4*f.2)^4,(f.4*f.1*f.4*f.3)^4, (f.4*f.2*f.4*f.1)^4,(f.4*f.2*f.4*f.3)^4, (f.4*f.3*f.4*f.2)^4,(f.4*f.3*f.4*f.1)^4]; <<<<<<<<<<< (If the fourth powers were squares, this would be the symmetric group S_5. I have tried with just a minimal set of relations.) To start I want the order of G. With Size(G);' Order(G);' IsFinite(G);' I just get several (8 or 9) iterations of #I Coset table calculation failed -- trying with bigger table limit and then exceeded the permitted memory (-o' command line option) at prev[2 * limit] := 2 * limit - 1; called from TCENUM.CosetTableFromGensAndRels( fgens, grels, fsgens ) called from CosetTableFromGensAndRels( fgens, grels, List( trial, UnderlyingElement ) ) called from Attempt( gens ) called from FinIndexCyclicSubgroupGenerator( G, infinity ) called from Size( C ) called from ... Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> I've run this on two machines, with gap -0 2G, and get similar nonresults. The machines are 3.2GHz with 4GB memory running Ubuntu 10.04. and Gap 4.4.12 of 17-Dec-2008. Am I just making some silly error? Or should I run this on a much more powerful machine? Thanks, Kirill M From vipul at math.uchicago.edu Wed Jul 27 16:45:42 2011 From: vipul at math.uchicago.edu (Vipul Naik) Date: Wed, 27 Jul 2011 10:45:42 -0500 Subject: [GAP Forum] Basic question, order of fpgroup In-Reply-To: <20110727152739.GA3548@sheffield.ac.uk> References: <20110727152739.GA3548@sheffield.ac.uk> Message-ID: <20110727154542.GA25703@math.uchicago.edu> If you put commutation relations between the pairs that are separated by more than 1, it should work. Add the relations Comm(f.1,f.3), Comm(f.2,f.4), and Comm(f.1,f.4). You can remove all the fourth power relations. Here's the code: f := FreeGroup(4);; G := f/[f.1^2,f.2^2,f.3^2,f.4^2,(f.1*f.2)^3,(f.2*f.3)^3,(f.3*f.4)^3,Comm(f.1,f.3),Comm(f.2,f.4),Comm(f.1,f.4)]; Vipul * Quoting KCHM who at 2011-07-27 16:27:39+0000 (Wed) wrote > I have used GAP in a small way off and on for several years but still regard > myself as a novice. I am having trouble with the code below and wonder if I > am just making some elementary mistake. If some experienced person could > glance at it for me, I'll be very grateful. > > >>>>>>>>>>>>> > > f:=FreeGroup(4);; > G:=f/[f.1^2,f.2^2,f.3^2,f.4^2, > (f.1*f.2)^3,(f.1*f.3)^3,(f.1*f.4)^3,(f.2*f.3)^3,(f.2*f.4)^3,(f.3*f.4)^3, > (f.1*f.2*f.1*f.3)^4,(f.1*f.2*f.1*f.4)^4, > (f.1*f.3*f.1*f.4)^4,(f.1*f.3*f.1*f.2)^4, > (f.1*f.4*f.1*f.2)^4,(f.1*f.4*f.1*f.3)^4, > (f.2*f.3*f.2*f.4)^4,(f.2*f.3*f.2*f.1)^4, > (f.2*f.4*f.2*f.1)^4,(f.2*f.4*f.2*f.3)^4, > (f.2*f.1*f.2*f.3)^4,(f.2*f.1*f.2*f.4)^4, > (f.3*f.4*f.3*f.2)^4,(f.3*f.4*f.3*f.1)^4, > (f.3*f.1*f.3*f.2)^4,(f.3*f.1*f.3*f.4)^4, > (f.3*f.2*f.3*f.1)^4,(f.3*f.2*f.3*f.4)^4, > (f.4*f.1*f.4*f.2)^4,(f.4*f.1*f.4*f.3)^4, > (f.4*f.2*f.4*f.1)^4,(f.4*f.2*f.4*f.3)^4, > (f.4*f.3*f.4*f.2)^4,(f.4*f.3*f.4*f.1)^4]; > > <<<<<<<<<<< > > (If the fourth powers were squares, this would be the symmetric group S_5. > I have tried with just a minimal set of relations.) > > To start I want the order of G. With Size(G);' Order(G);' IsFinite(G);' > I just get several (8 or 9) iterations of > > #I Coset table calculation failed -- trying with bigger table limit > > and then > > exceeded the permitted memory (-o' command line option) at > prev[2 * limit] := 2 * limit - 1; > called from > TCENUM.CosetTableFromGensAndRels( fgens, grels, fsgens ) called from > CosetTableFromGensAndRels( fgens, grels, List( trial, UnderlyingElement ) ) called from > Attempt( gens ) called from > FinIndexCyclicSubgroupGenerator( G, infinity ) called from > Size( C ) called from > ... > Entering break read-eval-print loop ... > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > brk> > > I've run this on two machines, with gap -0 2G, and get similar nonresults. > The machines are 3.2GHz with 4GB memory running Ubuntu 10.04. and > Gap 4.4.12 of 17-Dec-2008. > > Am I just making some silly error? Or should I run this on a much more > powerful machine? > > Thanks, Kirill M > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From vipul at math.uchicago.edu Wed Jul 27 16:47:17 2011 From: vipul at math.uchicago.edu (Vipul Naik) Date: Wed, 27 Jul 2011 10:47:17 -0500 Subject: [GAP Forum] Basic question, order of fpgroup In-Reply-To: <20110727154542.GA25703@math.uchicago.edu> References: <20110727152739.GA3548@sheffield.ac.uk> <20110727154542.GA25703@math.uchicago.edu> Message-ID: <20110727154716.GB25703@math.uchicago.edu> As you may already know, the presentation I've given is the Coxeter presentation for the symmetric group. Vipul * Quoting Vipul Naik who at 2011-07-27 10:45:42+0000 (Wed) wrote > If you put commutation relations between the pairs that are separated > by more than 1, it should work. Add the relations Comm(f.1,f.3), > Comm(f.2,f.4), and Comm(f.1,f.4). You can remove all the fourth power > relations. > > Here's the code: > > f := FreeGroup(4);; > G := f/[f.1^2,f.2^2,f.3^2,f.4^2,(f.1*f.2)^3,(f.2*f.3)^3,(f.3*f.4)^3,Comm(f.1,f.3),Comm(f.2,f.4),Comm(f.1,f.4)]; > > Vipul > > * Quoting KCHM who at 2011-07-27 16:27:39+0000 (Wed) wrote > > I have used GAP in a small way off and on for several years but still regard > > myself as a novice. I am having trouble with the code below and wonder if I > > am just making some elementary mistake. If some experienced person could > > glance at it for me, I'll be very grateful. > > > > >>>>>>>>>>>>> > > > > f:=FreeGroup(4);; > > G:=f/[f.1^2,f.2^2,f.3^2,f.4^2, > > (f.1*f.2)^3,(f.1*f.3)^3,(f.1*f.4)^3,(f.2*f.3)^3,(f.2*f.4)^3,(f.3*f.4)^3, > > (f.1*f.2*f.1*f.3)^4,(f.1*f.2*f.1*f.4)^4, > > (f.1*f.3*f.1*f.4)^4,(f.1*f.3*f.1*f.2)^4, > > (f.1*f.4*f.1*f.2)^4,(f.1*f.4*f.1*f.3)^4, > > (f.2*f.3*f.2*f.4)^4,(f.2*f.3*f.2*f.1)^4, > > (f.2*f.4*f.2*f.1)^4,(f.2*f.4*f.2*f.3)^4, > > (f.2*f.1*f.2*f.3)^4,(f.2*f.1*f.2*f.4)^4, > > (f.3*f.4*f.3*f.2)^4,(f.3*f.4*f.3*f.1)^4, > > (f.3*f.1*f.3*f.2)^4,(f.3*f.1*f.3*f.4)^4, > > (f.3*f.2*f.3*f.1)^4,(f.3*f.2*f.3*f.4)^4, > > (f.4*f.1*f.4*f.2)^4,(f.4*f.1*f.4*f.3)^4, > > (f.4*f.2*f.4*f.1)^4,(f.4*f.2*f.4*f.3)^4, > > (f.4*f.3*f.4*f.2)^4,(f.4*f.3*f.4*f.1)^4]; > > > > <<<<<<<<<<< > > > > (If the fourth powers were squares, this would be the symmetric group S_5. > > I have tried with just a minimal set of relations.) > > > > To start I want the order of G. With Size(G);' Order(G);' IsFinite(G);' > > I just get several (8 or 9) iterations of > > > > #I Coset table calculation failed -- trying with bigger table limit > > > > and then > > > > exceeded the permitted memory (-o' command line option) at > > prev[2 * limit] := 2 * limit - 1; > > called from > > TCENUM.CosetTableFromGensAndRels( fgens, grels, fsgens ) called from > > CosetTableFromGensAndRels( fgens, grels, List( trial, UnderlyingElement ) ) called from > > Attempt( gens ) called from > > FinIndexCyclicSubgroupGenerator( G, infinity ) called from > > Size( C ) called from > > ... > > Entering break read-eval-print loop ... > > you can 'quit;' to quit to outer loop, or > > you can 'return;' to continue > > brk> > > > > I've run this on two machines, with gap -0 2G, and get similar nonresults. > > The machines are 3.2GHz with 4GB memory running Ubuntu 10.04. and > > Gap 4.4.12 of 17-Dec-2008. > > > > Am I just making some silly error? Or should I run this on a much more > > powerful machine? > > > > Thanks, Kirill M > > > > _______________________________________________ > > Forum mailing list > > Forum at mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum From stefan at mcs.st-and.ac.uk Wed Jul 27 17:22:07 2011 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Wed, 27 Jul 2011 17:22:07 +0100 (BST) Subject: [GAP Forum] Basic question, order of fpgroup In-Reply-To: <20110727152739.GA3548@sheffield.ac.uk> References: <20110727152739.GA3548@sheffield.ac.uk> Message-ID: Dear Forum, Kirill Mackenzie asked: [ ... ] > f:=FreeGroup(4);; > G:=f/[f.1^2,f.2^2,f.3^2,f.4^2, > (f.1*f.2)^3,(f.1*f.3)^3,(f.1*f.4)^3,(f.2*f.3)^3,(f.2*f.4)^3,(f.3*f.4)^3, > (f.1*f.2*f.1*f.3)^4,(f.1*f.2*f.1*f.4)^4, > (f.1*f.3*f.1*f.4)^4,(f.1*f.3*f.1*f.2)^4, > (f.1*f.4*f.1*f.2)^4,(f.1*f.4*f.1*f.3)^4, > (f.2*f.3*f.2*f.4)^4,(f.2*f.3*f.2*f.1)^4, > (f.2*f.4*f.2*f.1)^4,(f.2*f.4*f.2*f.3)^4, > (f.2*f.1*f.2*f.3)^4,(f.2*f.1*f.2*f.4)^4, > (f.3*f.4*f.3*f.2)^4,(f.3*f.4*f.3*f.1)^4, > (f.3*f.1*f.3*f.2)^4,(f.3*f.1*f.3*f.4)^4, > (f.3*f.2*f.3*f.1)^4,(f.3*f.2*f.3*f.4)^4, > (f.4*f.1*f.4*f.2)^4,(f.4*f.1*f.4*f.3)^4, > (f.4*f.2*f.4*f.1)^4,(f.4*f.2*f.4*f.3)^4, > (f.4*f.3*f.4*f.2)^4,(f.4*f.3*f.4*f.1)^4]; > To start I want the order of G. With Size(G);' Order(G);' IsFinite(G);' > I just get several (8 or 9) iterations of > > #I Coset table calculation failed -- trying with bigger table limit > > and then > > exceeded the permitted memory (-o' command line option) at A common strategy to decide finiteness of an fp group which is 'often' successful is to search for low-index subgroups which have the infinite cyclic group as an homomorphic image, i.e. which have 0 among their abelian invariants: gap> low := LowIndexSubgroupsFpGroup(G,20);; gap> Set(List(low,AbelianInvariants)); [ [ ], [ 0, 0, 0, 2 ], [ 0, 0, 2, 2 ], [ 2 ], [ 2, 2 ], [ 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 3 ], [ 2, 2, 2, 2, 4 ], [ 2, 2, 2, 4 ], [ 2, 2, 4 ], [ 2, 2, 8 ], [ 2, 4, 4, 4 ], [ 3 ] ] >From this you see that your group G has such subgroups, thus it is infinite. Further you can compute finite quotients of your group by letting it act by multiplication from the right on the right cosets of a subgroup. -- For example: gap> quots := List(low,H->Action(G,RightCosets(G,H),OnRight));; gap> List(quots,Size); [ 1, 120, 1920, 1920, 2432902008176640000, 1920, 1920, 1920, 2432902008176640000, 1920, 1920, 2432902008176640000, 1920, 1920, 1920, 1920, 1920, 1920, 2432902008176640000, 1920, 1920, 2432902008176640000, 1920, 1920, 1920, 1920, 120, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 1920, 1920, 1920, 1920, 1920, 3840, 3840, 2432902008176640000, 3840, 3840, 3840, 3840, 3840, 120, 1920, 1920, 1920, 1920, 120, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 120, 2, 120, 120, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 120, 3840, 95040, 3840, 3840, 239500800, 3840, 3840, 95040, 3840, 3840, 3840, 3840, 95040, 3840, 239500800, 239500800, 3840, 95040, 3840, 95040, 3840, 239500800, 3840, 95040, 120 ] For example you see that your group has a quotient which is isomorphic to the Mathieu group M12: gap> List(Filtered(quots,IsSimple),StructureDescription); [ "C2", "M12", "A12", "M12", "M12", "A12", "A12", "M12", "M12", "A12", "M12" ] Hope this helps, Stefan Kohl --------------------------------------------------------------------------- http://www.gap-system.org/DevelopersPages/StefanKohl/ --------------------------------------------------------------------------- From k.mackenzie at sheffield.ac.uk Wed Jul 27 17:59:56 2011 From: k.mackenzie at sheffield.ac.uk (K C H Mackenzie) Date: Wed, 27 Jul 2011 17:59:56 +0100 Subject: [GAP Forum] Basic question, order of fpgroup In-Reply-To: References: <20110727152739.GA3548@sheffield.ac.uk> Message-ID: Dear Stefan, Thanks very much. That's very helpful. That it's infinite is very surprising. I believed G to be an extension of S_5 by a finite product of cyclic groups of order 2. I need to think a lot more about this. Best, Kirill On 27 July 2011 17:22, Stefan Kohl wrote: > Dear Forum, > > Kirill Mackenzie asked: > > [ ... ] > > > f:=FreeGroup(4);; > > G:=f/[f.1^2,f.2^2,f.3^2,f.4^2, > > (f.1*f.2)^3,(f.1*f.3)^3,(f.1*f.4)^3,(f.2*f.3)^3,(f.2*f.4)^3,(f.3*f.4)^3, > > (f.1*f.2*f.1*f.3)^4,(f.1*f.2*f.1*f.4)^4, > > (f.1*f.3*f.1*f.4)^4,(f.1*f.3*f.1*f.2)^4, > > (f.1*f.4*f.1*f.2)^4,(f.1*f.4*f.1*f.3)^4, > > (f.2*f.3*f.2*f.4)^4,(f.2*f.3*f.2*f.1)^4, > > (f.2*f.4*f.2*f.1)^4,(f.2*f.4*f.2*f.3)^4, > > (f.2*f.1*f.2*f.3)^4,(f.2*f.1*f.2*f.4)^4, > > (f.3*f.4*f.3*f.2)^4,(f.3*f.4*f.3*f.1)^4, > > (f.3*f.1*f.3*f.2)^4,(f.3*f.1*f.3*f.4)^4, > > (f.3*f.2*f.3*f.1)^4,(f.3*f.2*f.3*f.4)^4, > > (f.4*f.1*f.4*f.2)^4,(f.4*f.1*f.4*f.3)^4, > > (f.4*f.2*f.4*f.1)^4,(f.4*f.2*f.4*f.3)^4, > > (f.4*f.3*f.4*f.2)^4,(f.4*f.3*f.4*f.1)^4]; > > > To start I want the order of G. With Size(G);' Order(G);' > IsFinite(G);' > > I just get several (8 or 9) iterations of > > > > #I Coset table calculation failed -- trying with bigger table limit > > > > and then > > > > exceeded the permitted memory (-o' command line option) at > > A common strategy to decide finiteness of an fp group which is > 'often' successful is to search for low-index subgroups which > have the infinite cyclic group as an homomorphic image, i.e. > which have 0 among their abelian invariants: > > gap> low := LowIndexSubgroupsFpGroup(G,20);; > gap> Set(List(low,AbelianInvariants)); > [ [ ], [ 0, 0, 0, 2 ], [ 0, 0, 2, 2 ], [ 2 ], [ 2, 2 ], [ 2, 2, 2, 2 ], > [ 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 3 ], [ 2, 2, 2, 2, 4 ], [ 2, 2, 2, 4 ], > [ 2, 2, 4 ], [ 2, 2, 8 ], [ 2, 4, 4, 4 ], [ 3 ] ] > > >From this you see that your group G has such subgroups, > thus it is infinite. > > Further you can compute finite quotients of your group > by letting it act by multiplication from the right on the > right cosets of a subgroup. -- For example: > > gap> quots := List(low,H->Action(G,RightCosets(G,H),OnRight));; > gap> List(quots,Size); > [ 1, 120, 1920, 1920, 2432902008176640000, 1920, 1920, 1920, > 2432902008176640000, 1920, 1920, 2432902008176640000, 1920, 1920, 1920, > 1920, 1920, 1920, 2432902008176640000, 1920, 1920, 2432902008176640000, > 1920, 1920, 1920, 1920, 120, 3840, 3840, 3840, 3840, 3840, 3840, 3840, > 1920, 1920, 1920, 1920, 1920, 3840, 3840, 2432902008176640000, 3840, 3840, > 3840, 3840, 3840, 120, 1920, 1920, 1920, 1920, 120, 3840, 3840, 3840, > 3840, > 3840, 3840, 3840, 120, 2, 120, 120, 3840, 3840, 3840, 3840, 3840, 3840, > 3840, 120, 3840, 95040, 3840, 3840, 239500800, 3840, 3840, 95040, 3840, > 3840, 3840, 3840, 95040, 3840, 239500800, 239500800, 3840, 95040, 3840, > 95040, 3840, 239500800, 3840, 95040, 120 ] > > For example you see that your group has a quotient which is > isomorphic to the Mathieu group M12: > > gap> List(Filtered(quots,IsSimple),StructureDescription); > [ "C2", "M12", "A12", "M12", "M12", "A12", "A12", "M12", "M12", "A12", > "M12" ] > > Hope this helps, > > Stefan Kohl > > --------------------------------------------------------------------------- > http://www.gap-system.org/DevelopersPages/StefanKohl/ > --------------------------------------------------------------------------- > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From vbovdi at science.unideb.hu Fri Jul 29 16:22:57 2011 From: vbovdi at science.unideb.hu (vbovdi at science.unideb.hu) Date: Fri, 29 Jul 2011 17:22:57 +0200 Subject: [GAP Forum] UT(n,F_2): identification Message-ID: Let us take the groups of upper triangular matrices UT(n,F_2) over the field F_2 (of two elements), where n is in the range (say) 3...13. Can anybody identify these groups as "abstract" (or as "matrix") groups in GAP? Thanks you in advance, Victor Bovdi http://www.math.klte.hu/algebra/bodiva.htm From torquil at gmail.com Sun Jul 31 11:29:31 2011 From: torquil at gmail.com (=?ISO-8859-1?Q?Torquil_Macdonald_S=F8rensen?=) Date: Sun, 31 Jul 2011 12:29:31 +0200 Subject: [GAP Forum] GBNP SGrobnerTrace memory usage Message-ID: <4E352E8B.2060209@gmail.com> Hi! I have a GAP script that uses GBNP (latest GAP and GBNP on Ubuntu 10.04). My goal is to use the function SGrobnerTrace, but due to memory limitations I'm only able to use the SGrobner function. Using SGrobner, the script can be run on as little as 2kb of memory (i.e. it returns successfully with the -o 2k command line option), after around 100ms of time. However, using SGrobnerTrace instead, not even 7GB of memory is enough (using -o 7G). The computer in question has 8GB of RAM. The only difference is that SGrobnerTrace has been used instead of SGrobner on the final line in the script. So my questions is: what is the expected memory increase when switching from SGrobner to SGrobnerTrace? Or is is not possible to say in general? A memory consumption increase from 2KB to >7GB seems almost unbelievable to me... :-) Thanks in advance! Best regards Torquil S?rensen From wmao at caltech.edu Wed Aug 3 01:51:30 2011 From: wmao at caltech.edu (Wei Mao) Date: Tue, 2 Aug 2011 17:51:30 -0700 Subject: [GAP Forum] Subgroup lattice of direct products of nonsolvable groups? Message-ID: Dear forum, Currently the methods for LatticeSubgroups() work best with solvable groups, for nonsolvable ones the cyclic extension method has to be used, in conjunction with a perfect group library. For large nonsolvable groups the method always complains that the perfect residuum is too large. The nonsolvable groups I am interested in are PGL(2,q)^n, i.e. the direct products of n copies of PGL(2,q), which have PSL(2,q)^n as the perfect residuums. For this specific type of groups, do we have nice ways of obtaining the subgroup lattice? One result that may be used is the Goursat's lemma, which states that the subdirect product of two groups can be described as a fiber product and vice versa. Is this a feasible direction for an algorithm? Best, Wei From alexander.konovalov at gmail.com Wed Aug 3 12:29:57 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed, 3 Aug 2011 12:29:57 +0100 Subject: [GAP Forum] Summer school "Advanced techniques in computer algebra systems development" Message-ID: <3AD0E03E-04E5-4D6F-9D9D-140AA63C1380@gmail.com> [Apologies if you receive multiple copies of this message] Summer school "Advanced techniques in computer algebra systems development" August 29th - September 2nd, 2011, University of St Andrews, Scotland http://www.symbolic-computation.org/SICSA2011 The summer school "Advanced techniques in computer algebra systems development" is organised by the Centre of Interdisciplinary Research in Computational Algebra of the University of St Andrews on August 29th - September 2nd, 2011. It is supported by the Scottish Informatics and Computer Science Alliance (SICSA) and the EU FP6 project "SCIEnce - Symbolic Computation Infrastructure for Europe". Continuing a series of five RISC/SCIEnce training schools in symbolic computation organised in RISC-Linz in 2007-2010, the 2011 school is dedicated to three central themes which are important not only in computer algebra systems, bus also in other scientific software: parallel computations, memory management, and interfaces between systems. The school will comprise of main lectures given by the invited speakers and of experience sessions where school participants will be able to share their experience. Each of the three days of the school will be centered around one of the thematic areas for the convenience of those interested in a single day participation and/or non-residential registration. Schedule - August 29th: Arrival day - August 30th: Interfaces - August 31st: Memory management - September 1st: Parallelisaton - September 2nd: Departure day Main speakers - John Abbott (Genova) - Reimer Behrends (St Andrews) - Alexandre Borovik (Manchester) - Mickael Gastineau (Paris) - Max Horn (Braunschweig) - Peter Horn (Kassel) - Richard Jones (Kent) - Alexander Konovalov (St Andrews) - Steve Linton (St Andrews) - Alexander Voss (St Andrews) Experience Sessions If you would like to give a short talk, there will be an opportunity to do this at one of the experience sessions. Participants are encouraged to tell, for example, more details about the internals of the computer algebra system they are involved in. Details about their approaches to parallelisation, memory management and interfaces to other systems are particularly welcomed. Please send us the title and a short abstract of your talk to consider its inclusion into the school programme. Registration The participation costs are as follows: ?300 - full registration, including the registration fee, 4 nights accommodation, coffee breaks and meals during your stay. ?150 - non-residential registration, including the registration fee, coffee breaks and lunches during the school days. ?50 - single day registration (available for one or two days), including the registration fee, coffee breaks and lunch. For PhD students studying in Scotland SICSA participation is free of charge. We regret that there is no support available for other attendees. Deadlines: - for the full registration: August 14th 2011 - for the non-residential and single day registration: August 21st 2011 To register, follow the instructions in the "Registration" section here: http://www.symbolic-computation.org/SICSA2011 For further information, please contact: * Alexander Konovalov: alexk at mcs.st-andrews.ac.uk * Chris Brown: chrisb at cs.st-andrews.ac.uk * Vladimir Janjic: jv at cs.st-andrews.ac.uk From legall at is.s.u-tokyo.ac.jp Thu Aug 4 06:32:07 2011 From: legall at is.s.u-tokyo.ac.jp (Francois Le Gall) Date: Thu, 4 Aug 2011 14:32:07 +0900 Subject: [GAP Forum] Group representations over finite fields Message-ID: <9A830E39-8310-4CB6-89E5-90072C572E32@is.s.u-tokyo.ac.jp> Dear Forum, I am currently investigating the dimensions of the irreducible representations of a (small) finite group G over the finite field GF(p) when p does not divide the order of G, along with their multiplicities in the regular representation of G. This is the first time I use GAP for representation theory over finite fields, and I would be very happy to know if there is a simple way to obtain this information. I read the MeatAxe documentation and tried the following commands R:=RegularModule(G,GF(p)); MTX.CollectedFactors(R[2]); but I suspect that this is different from what I am looking for (specifically, for G:=AbelianGroup([8,4]) and p:=3, each call to MTX.CollectedFactors(R[2]) seems to give a different answer). Thank you in advance. Sincerely, Francois Le Gall From juergen.mueller at math.rwth-aachen.de Thu Aug 4 13:45:46 2011 From: juergen.mueller at math.rwth-aachen.de (Juergen Mueller) Date: Thu, 04 Aug 2011 14:45:46 +0200 Subject: [GAP Forum] Group representations over finite fields In-Reply-To: <9A830E39-8310-4CB6-89E5-90072C572E32@is.s.u-tokyo.ac.jp> References: <9A830E39-8310-4CB6-89E5-90072C572E32@is.s.u-tokyo.ac.jp> Message-ID: <20110804124546.GA31150@unuk.math.rwth-aachen.de> Dear Francois, in principle, this is the right way. Alone, the MeatAxe routines you are invoking are randomized, so that you get *essentially* the same answer each time, that is up to order of the constituents and up to equivalence. Still, as you are interested in representation degrees and multiplicities in the non-modular situation, you can reduce to computing the ordinary character table of G, and just have to deal with Galois descent to the (possibly non-splitting) prime field. This should, for medium-sized and maybe even for smallish groups be much faster than computing the irreducible representations explicitly. Hope that helps. If you need more specific help please do not hesitate to ask again. Best wishes, J"urgen M"uller On Thu, Aug 04, 2011 at 02:32:07PM +0900, Francois Le Gall wrote: > Dear Forum, > > I am currently investigating the dimensions of the irreducible representations of a (small) finite group G over the finite field GF(p) when p does not divide the order of G, along with their multiplicities in the regular representation of G. This is the first time I use GAP for representation theory over finite fields, and I would be very happy to know if there is a simple way to obtain this information. > > I read the MeatAxe documentation and tried the following commands > > R:=RegularModule(G,GF(p)); > MTX.CollectedFactors(R[2]); > > but I suspect that this is different from what I am looking for (specifically, for G:=AbelianGroup([8,4]) and p:=3, each call to MTX.CollectedFactors(R[2]) seems to give a different answer). > > Thank you in advance. > > Sincerely, > > Francois Le Gall > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From legall at is.s.u-tokyo.ac.jp Fri Aug 5 09:19:53 2011 From: legall at is.s.u-tokyo.ac.jp (Francois Le Gall) Date: Fri, 5 Aug 2011 17:19:53 +0900 Subject: [GAP Forum] Group representations over finite fields In-Reply-To: <20110804124546.GA31150@unuk.math.rwth-aachen.de> References: <9A830E39-8310-4CB6-89E5-90072C572E32@is.s.u-tokyo.ac.jp> <20110804124546.GA31150@unuk.math.rwth-aachen.de> Message-ID: <83CF3BD7-6DB7-4FFF-BB42-792C41988D6D@is.s.u-tokyo.ac.jp> Dear Juergen, Dear Forum, Thank you very much for the very helpful explanations! I will try to work out the details of the reduction from the ordinary character tables you suggested. I now understand that MeatAxe procedures are randomized. There is nevertheless something that I feel very strange. When I run (using GAP 4.4.12 on Mac OS X 10.6.8) several times the following commands G:=AbelianGroup([8,4]); R:=RegularModule(G,GF(3)); F:=MTX.CollectedFactors(R[2]); I obtain five kinds of outputs: (a) 4 irreducibles of dimension 1 (each with multiplicity 1) + 14 irreducibles of dimension 2 (each with multiplicity 1) (b) 4 irreducibles of dimension 1 (each with multiplicity 1) + 13 irreducibles of dimension 2 (each with multiplicity 1) + 1 irreducibles of dimension 2 (with multiplicity 2) (c) 4 irreducibles of dimension 1 (each with multiplicity 1) + 12 irreducibles of dimension 2 (each with multiplicity 1) + 2 irreducibles of dimension 2 (each with multiplicity 2) (d) 4 irreducibles of dimension 1 (each with multiplicity 1) + 11 irreducibles of dimension 2 (each with multiplicity 1) + 3 irreducibles of dimension 2 (each with multiplicity 2) (e) 4 irreducibles of dimension 1 (each with multiplicity 1) + 9 irreducibles of dimension 2 (each with multiplicity 1) + 5 irreducibles of dimension 2 (each with multiplicity 2) Outputs (b) to (e) seem wrong (specifically, the sum of the products of dimensions by multiplicities does not match the order of the group). Does this mean that the command MTX.CollectedFactors outputs, with some probability, wrong multiplicities? Best regards, Francois Le Gall From dima at ntu.edu.sg Fri Aug 5 11:44:03 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Fri, 5 Aug 2011 18:44:03 +0800 Subject: [GAP Forum] Group representations over finite fields In-Reply-To: <83CF3BD7-6DB7-4FFF-BB42-792C41988D6D@is.s.u-tokyo.ac.jp> References: <9A830E39-8310-4CB6-89E5-90072C572E32@is.s.u-tokyo.ac.jp> <20110804124546.GA31150@unuk.math.rwth-aachen.de> <83CF3BD7-6DB7-4FFF-BB42-792C41988D6D@is.s.u-tokyo.ac.jp> Message-ID: By the way, I tried this on a 64-bit (Intel) Linux, and also had diverging results over several tries. On 5 August 2011 16:19, Francois Le Gall wrote: > Dear Juergen, Dear Forum, > > Thank you very much for the very helpful explanations! > I will try to work out the details of the reduction from the ordinary character tables you suggested. > > I now understand that MeatAxe procedures are randomized. There is nevertheless something that I feel very strange. > When I run (using GAP 4.4.12 on Mac OS X 10.6.8) several times the following commands > > G:=AbelianGroup([8,4]); > R:=RegularModule(G,GF(3)); > F:=MTX.CollectedFactors(R[2]); > > I obtain five kinds of outputs: > > (a) 4 irreducibles of dimension 1 (each with multiplicity 1) + 14 irreducibles of dimension 2 (each with multiplicity 1) > (b) 4 irreducibles of dimension 1 (each with multiplicity 1) + 13 irreducibles of dimension 2 (each with multiplicity 1) + 1 irreducibles of dimension 2 (with multiplicity 2) > (c) 4 irreducibles of dimension 1 (each with multiplicity 1) + 12 irreducibles of dimension 2 (each with multiplicity 1) + 2 irreducibles of dimension 2 (each with multiplicity 2) > (d) 4 irreducibles of dimension 1 (each with multiplicity 1) + 11 irreducibles of dimension 2 (each with multiplicity 1) + 3 irreducibles of dimension 2 (each with multiplicity 2) > (e) 4 irreducibles of dimension 1 (each with multiplicity 1) + 9 irreducibles of dimension 2 (each with multiplicity 1) + 5 irreducibles of dimension 2 (each with multiplicity 2) > > Outputs (b) to (e) seem wrong (specifically, the sum of the products of dimensions by multiplicities does not match the order of the group). Does this mean that the command > MTX.CollectedFactors outputs, with some probability, wrong multiplicities? > > Best regards, > > Francois Le Gall > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From hulpke at me.com Fri Aug 5 17:28:44 2011 From: hulpke at me.com (Alexander Hulpke) Date: Fri, 05 Aug 2011 18:28:44 +0200 Subject: [GAP Forum] Group representations over finite fields In-Reply-To: <83CF3BD7-6DB7-4FFF-BB42-792C41988D6D@is.s.u-tokyo.ac.jp> References: <9A830E39-8310-4CB6-89E5-90072C572E32@is.s.u-tokyo.ac.jp> <20110804124546.GA31150@unuk.math.rwth-aachen.de> <83CF3BD7-6DB7-4FFF-BB42-792C41988D6D@is.s.u-tokyo.ac.jp> Message-ID: <8B6B617C-AF51-4B70-8E22-443760373F1F@me.com> Dear Forum, Dear Franciois Le Gall, This is a known bug that will be fixed in the next release. It is limited to CollectedFactors (none of the other meataxe functions, and thus no other GAP functionality is affected) and most times only will have produced overcounts, but in rare cases might have missed irreducible factors. What happened is that if a small submodule is found (dimension <1/10 total, GAP tries to factor out not only this module, but all isomorphic submodules, using Homomorphisms'. However the length of the list returned by homomorphisms is not the number of isomorphic composition factors, in particualr if there are module automorphisms. Apologies for the problem! Alexander Hulpke On Aug 5, 2011, at 10:19 AM, Francois Le Gall wrote: > Dear Juergen, Dear Forum, > > Thank you very much for the very helpful explanations! > I will try to work out the details of the reduction from the ordinary character tables you suggested. > > I now understand that MeatAxe procedures are randomized. There is nevertheless something that I feel very strange. > When I run (using GAP 4.4.12 on Mac OS X 10.6.8) several times the following commands > > G:=AbelianGroup([8,4]); > R:=RegularModule(G,GF(3)); > F:=MTX.CollectedFactors(R[2]); > > I obtain five kinds of outputs: > > (a) 4 irreducibles of dimension 1 (each with multiplicity 1) + 14 irreducibles of dimension 2 (each with multiplicity 1) > (b) 4 irreducibles of dimension 1 (each with multiplicity 1) + 13 irreducibles of dimension 2 (each with multiplicity 1) + 1 irreducibles of dimension 2 (with multiplicity 2) > (c) 4 irreducibles of dimension 1 (each with multiplicity 1) + 12 irreducibles of dimension 2 (each with multiplicity 1) + 2 irreducibles of dimension 2 (each with multiplicity 2) > (d) 4 irreducibles of dimension 1 (each with multiplicity 1) + 11 irreducibles of dimension 2 (each with multiplicity 1) + 3 irreducibles of dimension 2 (each with multiplicity 2) > (e) 4 irreducibles of dimension 1 (each with multiplicity 1) + 9 irreducibles of dimension 2 (each with multiplicity 1) + 5 irreducibles of dimension 2 (each with multiplicity 2) > > Outputs (b) to (e) seem wrong (specifically, the sum of the products of dimensions by multiplicities does not match the order of the group). Does this mean that the command > MTX.CollectedFactors outputs, with some probability, wrong multiplicities? > > Best regards, > > Francois Le Gall > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From sargrigory at ya.ru Wed Aug 10 08:37:51 2011 From: sargrigory at ya.ru (Grigory Sarnitskiy) Date: Wed, 10 Aug 2011 11:37:51 +0400 Subject: [GAP Forum] GAP's type hierarchy Message-ID: <231211312961871@web11.yandex.ru> Hello! I've never used GAP but I heard it's uses some kind of hierarchy to represent mathematical structures. I'm trying to collect information of such hierarchies in various computer algebra system's and languages. I would like to find a graph representing the GAP's hierarchy. For example Axiom's graph of its math categories is http://ubuntuone.com/p/19TT/ (although it is not complete and categories' names are abbreviated) and the graph of Haskell's basic algebra library is http://ubuntuone.com/p/19TS/. And does anybody knows the same thing for MAGMA? MAGMA is not very open and I couldn't find a mailing list or a forum for its users to ask the question. From cameobg at gmail.com Fri Aug 12 11:00:44 2011 From: cameobg at gmail.com (Cameo Cosmetics BG) Date: Fri, 12 Aug 2011 13:00:44 +0300 Subject: [GAP Forum] Intersection and compliment of a vector space Message-ID: Dear forum members, I am working with subspaces of GF(2)^72 and I need to find the subspace which is the intersection of two such subspaces V, W and the compliment of V with regard of that intersection. I have checked the manual but cannot find direct functions. Thank you and best wishes N. Yankov From max at quendi.de Fri Aug 12 13:06:21 2011 From: max at quendi.de (Max Horn) Date: Fri, 12 Aug 2011 14:06:21 +0200 Subject: [GAP Forum] Intersection and compliment of a vector space In-Reply-To: References: Message-ID: <16D3F9AF-F48F-43F3-B18A-9697E2AEDF92@quendi.de> Am 12.08.2011 um 12:00 schrieb Cameo Cosmetics BG: > Dear forum members, > > I am working with subspaces of GF(2)^72 and I need to find the > subspace which is the intersection of two such subspaces V, W > and the compliment of V with regard of that intersection. I have > checked the manual but cannot find direct functions. For the intersection you can use the "Intersection" command. Example: gap> spc:=GF(2)^72;; gap> V:=Subspace(spc, List([1..50], i->Random(spc)));; Dimension(V); 50 gap> W:=Subspace(spc, List([1..50], i->Random(spc)));; Dimension(W); 50 gap> U:=Intersection(V,W); (Of course this last dimension will vary, as W and U are random). For the complement: There are in general of course many complements to the intersection U of V and W inside V. Here is one way to get one of them, using basic linear algebra (continuing the example from above); it's main merit being that the code is short. gap> B:=SemiEchelonBasis(U);; gap> Ucomp:=Subspace(spc,List(Basis(V), v->SiftedVector(B,v))); gap> Dimension(Ucomp); 22 gap> Dimension(U); 28 Cheers, Max From generalrao at hotmail.com Tue Aug 16 08:22:28 2011 From: generalrao at hotmail.com (=?gb2312?B?yMS54w==?=) Date: Tue, 16 Aug 2011 15:22:28 +0800 Subject: [GAP Forum] Cayley sum graph Message-ID: Dear forum, I am new in GAP. Maybe this is just a very simple question. Cayley sum graph Cay^+(G,S) is a graph on an abelian group G and two vertices are adjacent iff their sum lies in S. I am trying to draw Cay^+(Z_2\timesZ_6,{(0,1),(1,2),(1,3)}) and do the following in GAP: >G:=AbelianGroup([2,6]); >gen:=GeneratorsOfGroup(G); >S:=[gen[2],gen[1]*gen[2]^2,gen[1],gen[1]*gen[2]^3]; >Graph(Group(()),Elements(G),OnPoints, function(x,y) return x*y in S; end, true); This returns an error. I guess the problem is how to refer the elements of a group to the vertex set. In addition, I also want to test if this graph is hamiltonian or not. But I couldn't find a direct function for this. Does anyone know about this? Thanks very much, Grant From sal at cs.st-andrews.ac.uk Tue Aug 16 08:55:45 2011 From: sal at cs.st-andrews.ac.uk (Stephen Linton) Date: Tue, 16 Aug 2011 08:55:45 +0100 Subject: [GAP Forum] {Spam?} Cayley sum graph In-Reply-To: <2dac1d64a12342818bdf369ec4a07179@UOS-DUN-CAS3.st-andrews.ac.uk> References: <2dac1d64a12342818bdf369ec4a07179@UOS-DUN-CAS3.st-andrews.ac.uk> Message-ID: <11D8BE0C-59E0-4434-AA1E-C497B77085E0@cs.st-andrews.ac.uk> Dear GAP Forum, The immediate problem with the example below is the OnPoints action, which doesn't know how to conjugate an element of G by a permutation. You can OnPoints by function(x,g) return x; end since you actually have no action (of the trivial group), which will allow you to construct the graph. However, there are neither facilities for drawing the graph, nor for checking Hamiltonicity, in GAP, since the GRAPE package which provides out Graph functionality has other purposes, so I'm not sure how far this will get you. Yours Steve Linton On 16 Aug 2011, at 08:22, ? wrote: > > Dear forum, > > I am new in GAP. Maybe this is just a very simple question. > > Cayley sum graph Cay^+(G,S) is a graph on an abelian group G and two vertices are adjacent iff their sum lies in S. > > I am trying to draw Cay^+(Z_2\timesZ_6,{(0,1),(1,2),(1,3)}) and do the following in GAP: > >> G:=AbelianGroup([2,6]); >> gen:=GeneratorsOfGroup(G); >> S:=[gen[2],gen[1]*gen[2]^2,gen[1],gen[1]*gen[2]^3]; >> Graph(Group(()),Elements(G),OnPoints, function(x,y) return x*y in S; end, true); > > This returns an error. I guess the problem is how to refer the elements of a group to the vertex set. > > In addition, I also want to test if this graph is hamiltonian or not. But I couldn't find a direct function for this. Does anyone know about this? > > > Thanks very much, > Grant > > > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From dima at ntu.edu.sg Tue Aug 16 09:09:12 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Tue, 16 Aug 2011 08:09:12 +0000 Subject: [GAP Forum] Cayley sum graph In-Reply-To: References: Message-ID: Dear all, 2011/8/16 ?? : > > Dear forum, > > I am new in GAP. Maybe this is just a very simple question. > > Cayley sum graph Cay^+(G,S) is a graph on an abelian group G and two vertices are adjacent iff their sum lies in S. > > I am trying to draw Cay^+(Z_2\timesZ_6,{(0,1),(1,2),(1,3)}) and do the following in GAP: > >>G:=AbelianGroup([2,6]); >>gen:=GeneratorsOfGroup(G); >>S:=[gen[2],gen[1]*gen[2]^2,gen[1],gen[1]*gen[2]^3]; >>Graph(Group(()),Elements(G),OnPoints, function(x,y) return x*y in S; end, true); > > This returns an error. I guess the problem is how to refer the elements of a group to the vertex set. you need to do Graph(G,Elements(G),OnPoints, function(x,y) return x*y in S; end, true); (assuming you did LoadPackage("grape");) HTH, Dmitrii > > In addition, I also want to test if this graph is hamiltonian or not. But I couldn't find a direct function for this. Does anyone know about this? > > > Thanks very much, > Grant > > > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dmitrii Pasechnik ----- DISCLAIMER: Any text following this sentence does not constitute a part of this message, and was added automatically during transmission. CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From bsambale at gmx.de Fri Aug 19 11:10:37 2011 From: bsambale at gmx.de (Benjamin Sambale) Date: Fri, 19 Aug 2011 12:10:37 +0200 Subject: [GAP Forum] Display of matrices Message-ID: <4E4E369D.1030400@gmx.de> Dear Forum, I have two related easy questions concerning the Display command for matrices. The first one: I like the output of Display([[1,0],[0,1]]*Z(2)) much more then the output of Display([[1,0],[0,1]]). Especially that dots substitute zeros. However, I really want to work with integral matrices and not matrices over finite fields. Is it possible to change this behavior of "Display"? The second one: I also want to consider "large" matrices with say 100 rows. Here I don't want that the Display command breaks lines. Instead I want to scroll through the output. This is very useful in order to recognize patterns. Since this question might also depend on the operating system, I have to say that I use Arch Linux and bash as shell. Increasing the COLUMNS variable doesn't change anything. Any ideas? Thank you very much, Benjamin * Englisch - erkannt * Englisch * Deutsch * Englisch * Deutsch From hedtke at me.com Fri Aug 19 12:38:36 2011 From: hedtke at me.com (Ivo Hedtke) Date: Fri, 19 Aug 2011 13:38:36 +0200 Subject: [GAP Forum] Display of matrices In-Reply-To: <4E4E369D.1030400@gmx.de> References: <4E4E369D.1030400@gmx.de> Message-ID: <8FE2B609-7D17-466C-8B88-98C142218D0A@me.com> Hi Benjamin, Am 19.08.2011 um 12:10 schrieb Benjamin Sambale: > The second one: I also want to consider "large" matrices with say 100 rows. Here I don't want that the Display command breaks lines. Instead I want to scroll through the output. This is very useful in order to recognize patterns. Since this question might also depend on the operating system, I have to say that I use Arch Linux and bash as shell. Increasing the COLUMNS variable doesn't change anything. Any ideas? I use "gap -x 200" to allow a line length of 200 characters. Maybe this helps. If this don't work in a terminal, it will work if you write the output of gap into a file. Then you can scroll in that text file. Ivo. From sam at Math.RWTH-Aachen.De Fri Aug 19 18:23:28 2011 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Fri, 19 Aug 2011 19:23:28 +0200 Subject: [GAP Forum] Display of matrices In-Reply-To: <4E4E369D.1030400@gmx.de> References: <4E4E369D.1030400@gmx.de> Message-ID: <20110819172209.GC25800@gemma.math.rwth-aachen.de> Dear GAP Forum, Benjamin Sambale wrote: > I have two related easy questions concerning the Display command for > matrices. > > The first one: I like the output of Display([[1,0],[0,1]]*Z(2)) much > more then the output of Display([[1,0],[0,1]]). Especially that dots > substitute zeros. However, I really want to work with integral > matrices and not matrices over finite fields. Is it possible to > change this behavior of "Display"? > > The second one: I also want to consider "large" matrices with say > 100 rows. Here I don't want that the Display command breaks lines. > Instead I want to scroll through the output. This is very useful in > order to recognize patterns. Since this question might also depend > on the operating system, I have to say that I use Arch Linux and > bash as shell. Increasing the COLUMNS variable doesn't change > anything. Any ideas? As for the second question, I would recommend the Browse package. The GAP code appended below can be used for scrolling through integer matrices, where each zero is shown as a dot. After loading the Browse package and reading the appended GAP code, you can enter the following. m:= RandomMat( 100, 100 );; # Create a matrix that exceeds the screen. Browse( m ); Then the topleft part of the matrix is shown on the screen, with row labels shown on the left and column labels shown at the top. Using the arrow keys (or the udlr keys) one can scroll by one row or column, using the UDLR keys one can scroll by one page. Enter ? for an overview of supported key strokes. One returns to the GAP prompt by entering Q. All the best, Thomas ---------------------------------------------------------------------------- InstallMethod( Browse, [ IsTable ], function( table ) local m, n, conv, r; m:= Length( table ); n:= Maximum( List( table, Length ) ); conv:= function( entry ) if entry = 0 then return "."; else return String( entry ); fi; end; r:= rec( work:= rec( align:= "c", main:= List( table, row -> List( row, conv ) ), labelsRow:= List( [ 1 .. m ], i -> [ String( i ) ] ), labelsCol:= [ List( [ 1 .. n ], String ) ], sepLabelsCol:= [ "", "-" ], sepLabelsRow:= [ "", " | " ], ) ); NCurses.BrowseGeneric( r ); end ); From bsambale at gmx.de Fri Aug 19 19:12:16 2011 From: bsambale at gmx.de (Benjamin Sambale) Date: Fri, 19 Aug 2011 20:12:16 +0200 Subject: [GAP Forum] Display of matrices In-Reply-To: <20110819172209.GC25800@gemma.math.rwth-aachen.de> References: <4E4E369D.1030400@gmx.de> <20110819172209.GC25800@gemma.math.rwth-aachen.de> Message-ID: <4E4EA780.9050206@gmx.de> Thank you, Ivo and Thomas! Thomas's solution answers both of my questions, so I'm happy with it. However, in my opinion the behavior of "Display" is somehow strange, but anyway... Best wishes, Benjamin Am 19.08.2011 19:23, schrieb Thomas Breuer: > Dear GAP Forum, > > Benjamin Sambale wrote: > >> I have two related easy questions concerning the Display command for >> matrices. >> >> The first one: I like the output of Display([[1,0],[0,1]]*Z(2)) much >> more then the output of Display([[1,0],[0,1]]). Especially that dots >> substitute zeros. However, I really want to work with integral >> matrices and not matrices over finite fields. Is it possible to >> change this behavior of "Display"? >> >> The second one: I also want to consider "large" matrices with say >> 100 rows. Here I don't want that the Display command breaks lines. >> Instead I want to scroll through the output. This is very useful in >> order to recognize patterns. Since this question might also depend >> on the operating system, I have to say that I use Arch Linux and >> bash as shell. Increasing the COLUMNS variable doesn't change >> anything. Any ideas? > As for the second question, > I would recommend the Browse package. > The GAP code appended below can be used for scrolling through > integer matrices, where each zero is shown as a dot. > > After loading the Browse package and reading the appended GAP code, > you can enter the following. > > m:= RandomMat( 100, 100 );; # Create a matrix that exceeds the screen. > Browse( m ); > > Then the topleft part of the matrix is shown on the screen, > with row labels shown on the left and column labels shown at the top. > Using the arrow keys (or the udlr keys) one can scroll by one row or column, > using the UDLR keys one can scroll by one page. > Enter ? for an overview of supported key strokes. > One returns to the GAP prompt by entering Q. > > All the best, > Thomas > > ---------------------------------------------------------------------------- > > InstallMethod( Browse, [ IsTable ], > function( table ) > local m, n, conv, r; > > m:= Length( table ); > n:= Maximum( List( table, Length ) ); > > conv:= function( entry ) > if entry = 0 then > return "."; > else > return String( entry ); > fi; > end; > > r:= rec( work:= rec( > align:= "c", > main:= List( table, row -> List( row, conv ) ), > labelsRow:= List( [ 1 .. m ], i -> [ String( i ) ] ), > labelsCol:= [ List( [ 1 .. n ], String ) ], > sepLabelsCol:= [ "", "-" ], > sepLabelsRow:= [ "", " | " ], > ) ); > > NCurses.BrowseGeneric( r ); > end ); > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > * Englisch - erkannt * Englisch * Deutsch * Englisch * Deutsch From graham.gerrard at gmail.com Fri Aug 19 13:07:51 2011 From: graham.gerrard at gmail.com (Graham Gerrard) Date: Fri, 19 Aug 2011 13:07:51 +0100 Subject: [GAP Forum] Creating example scripts Message-ID: I would like to execute a small script as if I has typed each command interactively. Is there an easy way to do this? Graham From alexander.konovalov at gmail.com Wed Aug 24 20:39:04 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed, 24 Aug 2011 20:39:04 +0100 Subject: [GAP Forum] Creating example scripts In-Reply-To: References: Message-ID: On 19 Aug 2011, at 13:07, Graham Gerrard wrote: > I would like to execute a small script as if I has typed each command > interactively. Is there an easy way to do this? > > Graham > ______________________________________________ Dear Graham, dear Forum, Basically, there are three alternatives. Let's assume the name of the file is "script.g". The first approach is to use Read("script.g"); If I understood the question correctly, this may be not quite what you need since there will be no prompts, inputs and outputs displayed, except results of explicit Print and Info statements. If you need to see the GAP session with prompts, inputs and outputs, you may try the demonstration mode: ReadLib("demo.g"); Demonstration("script.g"); This will display the full input and output, but you will have to type space after each command manually. Alternatively, if you want to get the full GAP session at once saved into a text file, then add the line LogTo("out.txt"); in the beginning of script.g and then run gap -T -r -A -b < script.g Then the full input and output will be contained in out.txt. At the end, GAP quits. Hope that at least one of these options does what you want. Best wishes, Alexander From alexander.konovalov at gmail.com Wed Aug 24 20:59:01 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed, 24 Aug 2011 20:59:01 +0100 Subject: [GAP Forum] A question about Omega In-Reply-To: <5cae2572.ba83.12fdf624fe2.Coremail.ljj198123@126.com> References: <5cae2572.ba83.12fdf624fe2.Coremail.ljj198123@126.com> Message-ID: <02419BAE-F013-4283-A621-B537793FC2B5@gmail.com> On 11 May 2011, at 15:07, ??? wrote: > Deat GAP Forum, > > For a p-groupG$. The attibute "Omega(G,p)"(37.14) can be used when >$G$is abelian. > Let$G$be a finite non-abelian p-group. > Is there a method to get the subgroup that is generated by all elements of >$G$of order p? > > Best Wishes > Jianjun Liu Dear Jianjun Liu, dear Forum, There is no efficient general implementation but of course a naive approach may work dependently on the order and the representation of the group: compute conjugacy classes of elements, take a union of those of elements of order$p$and generate a subgroup. Of course, it will have highly superfluous number of generators, but still you may be able to do operate with it and refine its generators to get rid of redundancies: gap> G:=SmallGroup(512,213); gap> IsAbelian(G); false gap> cc:=Filtered(ConjugacyClasses(G),c->Order(Representative(c))=2); [ f9^G, f8^G, f8*f9^G, f7^G, f7*f8^G, f4^G, f4*f8^G, f3*f5*f6^G, f3*f5*f6*f8^G ] gap> g:=Union(cc); [ f4, f7, f8, f9, f4*f7, f4*f8, f4*f9, f7*f8, f7*f9, f8*f9, f3*f5*f6, f4*f7*f8, f4*f7*f9, f4*f8*f9, f7*f8*f9, f3*f5*f6*f7, f3*f5*f6*f8, f3*f5*f6*f9, f4*f7*f8*f9, f3*f5*f6*f7*f8, f3*f5*f6*f7*f9, f3*f5*f6*f8*f9, f3*f5*f6*f7*f8*f9 ] gap> H:=Subgroup(G,g); gap> Size(H); 32 gap> IdGroup(H); [ 32, 46 ] gap> MinimalGeneratingSet(H); [ f4, f7, f8, f3*f5*f6 ] gap> StructureDescription(H); "C2 x C2 x D8" Hope this helps, Alexander From alexk at mcs.st-andrews.ac.uk Wed Aug 24 21:07:38 2011 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Wed, 24 Aug 2011 21:07:38 +0100 Subject: [GAP Forum] (no subject) In-Reply-To: References: Message-ID: <562FF580-7EAC-4D8D-9EB1-BAFB4E9DCDA1@mcs.st-andrews.ac.uk> Dear Zeinab, dear Forum, On 20 Apr 2011, at 05:10, zeinab foruzanfar wrote: > Dear Gap > I am a question? > Let we have SmallGroup(order,n),how we can show finite group of SmallGroup(order,n) in the form of > > For example finite group of SmallGroup(70,2). > Thanks for your attention You may convert it to the finitely presented group and then use RelatorsOfFpGroup: gap> G:=SmallGroup(70,2); gap> H:=Image(IsomorphismFpGroup(G)); gap> RelatorsOfFpGroup(H); [ F1^2, F2^-1*F1^-1*F2*F1, F3^-1*F1^-1*F3*F1*F3^-5, F2^5, F3^-1*F2^-1*F3*F2, F3^7 ] Note also the usage of SimplifiedFpGroup which tries to simplify its argument via Tietze transformations. gap> G:=SmallGroup(8,3); gap> H:=Image(IsomorphismFpGroup(G)); gap> RelatorsOfFpGroup(K); [ F2^-1*F1^-1*F2*F1, F1^8, F2^8 ] gap> RelatorsOfFpGroup(H); [ F1^2, F2^-1*F1^-1*F2*F1*F3^-1, F3^-1*F1^-1*F3*F1, F2^2, F3^-1*F2^-1*F3*F2, F3^2 ] gap> K:=SimplifiedFpGroup(H); gap> RelatorsOfFpGroup(H); [ F1^2, F2^-1*F1^-1*F2*F1*F3^-1, F3^-1*F1^-1*F3*F1, F2^2, F3^-1*F2^-1*F3*F2, F3^2 ] Hope this helps, Alexander From alexander.konovalov at gmail.com Wed Aug 24 21:15:03 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed, 24 Aug 2011 21:15:03 +0100 Subject: [GAP Forum] To use more memory for GAP In-Reply-To: References: Message-ID: Dear Vipul, dear Forum, On 18 Apr 2011, at 07:26, vipul kakkar wrote: > Hi!! > > I am using GAP on Windows OS. For large calculation i want to use "-o" to > enhance its allotted memory but i don't know how to use it for GAP in Window > OS. > Kindly help me regarding this problem. > > Thanks It's not clear which version of Windows was in question, but indeed we discovered some problems with the usemem.bat solution we offered earlier - it doesn't work under Windows7. Hopefully these are now resolved. The page http://www.gap-system.org/Download/WinInst.html has updated instructions and a link to my page http://www.cs.st-andrews.ac.uk/~alexk/gap/win7mem/ where I explained how to allow GAP workspaces up to 1GB instead of the 384 MB of memory which is the default limit set by the current Cygwin version. So far it worked for me for GAP 4.5 beta on a 32-bit Windows7 with a proper Cygwin installation, and for GAP 4.4.12 on a Windows Vista machine without Cygwin. Though there is no guarantee yet that it works on other machines, you're welcome to try if you have an experience of editing the Windows registry. Best wishes, Alexander From alexk at mcs.st-andrews.ac.uk Wed Aug 24 21:44:38 2011 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Wed, 24 Aug 2011 21:44:38 +0100 Subject: [GAP Forum] (no subject) In-Reply-To: <562FF580-7EAC-4D8D-9EB1-BAFB4E9DCDA1@mcs.st-andrews.ac.uk> References: <562FF580-7EAC-4D8D-9EB1-BAFB4E9DCDA1@mcs.st-andrews.ac.uk> Message-ID: <9F3FE733-AB1F-48DE-AF42-3B557261243D@mcs.st-andrews.ac.uk> On 24 Aug 2011, at 21:07, Alexander Konovalov wrote: > Dear Zeinab, dear Forum, > > On 20 Apr 2011, at 05:10, zeinab foruzanfar wrote: > >> Dear Gap >> I am a question? >> Let we have SmallGroup(order,n),how we can show finite group of SmallGroup(order,n) in the form of >> >> For example finite group of SmallGroup(70,2). >> Thanks for your attention > > You may convert it to the finitely presented group and then use RelatorsOfFpGroup: > > gap> G:=SmallGroup(70,2); > > gap> H:=Image(IsomorphismFpGroup(G)); > > gap> RelatorsOfFpGroup(H); > [ F1^2, F2^-1*F1^-1*F2*F1, F3^-1*F1^-1*F3*F1*F3^-5, F2^5, F3^-1*F2^-1*F3*F2, F3^7 ] > > Note also the usage of SimplifiedFpGroup which tries to simplify its argument via > Tietze transformations. > > gap> G:=SmallGroup(8,3); > > gap> H:=Image(IsomorphismFpGroup(G)); > > gap> RelatorsOfFpGroup(K); > [ F2^-1*F1^-1*F2*F1, F1^8, F2^8 ] > gap> RelatorsOfFpGroup(H); > [ F1^2, F2^-1*F1^-1*F2*F1*F3^-1, F3^-1*F1^-1*F3*F1, F2^2, F3^-1*F2^-1*F3*F2, F3^2 ] > gap> K:=SimplifiedFpGroup(H); > > gap> RelatorsOfFpGroup(H); > [ F1^2, F2^-1*F1^-1*F2*F1*F3^-1, F3^-1*F1^-1*F3*F1, F2^2, F3^-1*F2^-1*F3*F2, F3^2 ] > Scrolling trough the command line history lead to a typo. Certainly, as just pointed out to me by Stefan, the last two lines in the example meant to be gap> RelatorsOfFpGroup(K); [ F1^2, F2^2, F2*F1*F2*F1*F2*F1*F2*F1 ] Alexander From sandeepr.murthy at gmail.com Mon Aug 29 00:52:01 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Mon, 29 Aug 2011 00:52:01 +0100 Subject: [GAP Forum] Subgroups of prime power elements Message-ID: <2A9AAEFE-C28F-40A3-BEF5-80FC204A2AC6@gmail.com> Dear Forum members, if G is a p-group, could I please know what commands I must use to define the subgroup of G generated by all p^th powers of elements of G, and also the subgroup of G generated by all elements of order p? More generally, how can one define in G the subgroup generated by p^k th powers of its elements, and the subgroup generated by its elements of order p^k? For my purposes, the groups G I am studying are nonabelian 2-groups. Sincerely, Sandeep. From jbohanon2 at gmail.com Mon Aug 29 05:09:55 2011 From: jbohanon2 at gmail.com (Joe Bohanon) Date: Mon, 29 Aug 2011 00:09:55 -0400 Subject: [GAP Forum] Subgroups of prime power elements In-Reply-To: <2A9AAEFE-C28F-40A3-BEF5-80FC204A2AC6@gmail.com> References: <2A9AAEFE-C28F-40A3-BEF5-80FC204A2AC6@gmail.com> Message-ID: You want Agemo(G,p^k) Joe On Sun, Aug 28, 2011 at 7:52 PM, Sandeep Murthy wrote: > Dear Forum members, > > if G is a p-group, could I please know what commands I must use to > define the subgroup of G generated by all p^th powers of elements of > G, and also the subgroup of G generated by all elements of order p? > More generally, how can one define in G the subgroup generated by > p^k th powers of its elements, and the subgroup generated by its > elements of order p^k? > > For my purposes, the groups G I am studying are nonabelian > 2-groups. > > Sincerely, Sandeep. > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From nehamakhijani at gmail.com Tue Aug 30 09:24:23 2011 From: nehamakhijani at gmail.com (Neha Makhijani) Date: Tue, 30 Aug 2011 13:54:23 +0530 Subject: [GAP Forum] Query regarding the wedderga package Message-ID: Hi, I was willing to know the theory behind wedderga that helps me get wedderburn decomposition of finite group algebras. In my attempt to search out for the same, I was able to find a research paper by Osnel Broche and Angel del Rio. But, it says that the paper is meant for "Abelian-by-Supersolvable" groups. Now, I am interested in doing the same for the alternating group A5 which is not Abelian-by-Supersolvable. Could you please guide me as to how wedderga gives me the decompostion for FA5(char F>5). Regards, Neha From J.Howie at ma.hw.ac.uk Wed Aug 31 12:45:49 2011 From: J.Howie at ma.hw.ac.uk (Jim Howie) Date: Wed, 31 Aug 2011 12:45:49 +0100 Subject: [GAP Forum] Two lectureships in Mathematics In-Reply-To: References: Message-ID: <4E5E1EED.9000100@ma.hw.ac.uk> Dear Colleagues, Apologies for multiple mailings. Attached is an advert for two lectureships in mathematics at Heriot-Watt University. Please forward to any likely candidates. Thanks and best wishes, Jim Howie -- Heriot-Watt University is a Scottish charity registered under charity number SC000278. From J.Howie at ma.hw.ac.uk Wed Aug 31 13:35:09 2011 From: J.Howie at ma.hw.ac.uk (Jim Howie) Date: Wed, 31 Aug 2011 13:35:09 +0100 Subject: [GAP Forum] Two lectureships in Mathematics In-Reply-To: <4E5E1EED.9000100@ma.hw.ac.uk> References: <4E5E1EED.9000100@ma.hw.ac.uk> Message-ID: <4E5E2A7D.9070403@ma.hw.ac.uk> Advert content now included below. Jim On 31/08/11 12:45, Jim Howie wrote: > Dear Colleagues, > > Apologies for multiple mailings. Attached is an advert for two > lectureships in mathematics at Heriot-Watt University. > Please forward to any likely candidates. > > Thanks and best wishes, > > Jim Howie ------------------------------------------------------ School of Mathematical and Computer Sciences Maxwell Institute for Mathematical Sciences Two Lectureships in Mathematics Salary: ?29,099 - ?35,788 or ?36,862 - ?44,016 Applications are invited for the post of Lecturer in Mathematics. Candidates should have a strong track record in some branch of mathematics that will contribute to the dynamic mathematics research environment within the Maxwell Institute, and be able to engage in our undergraduate and postgraduate teaching programmes. The position is available from January 2012, or a mutually agreed date thereafter. Informal enquiries about this position may be made to the head of department, Professor Jim Howie (tel +44 (0) 131 451 3240, email J.Howie at hw.ac.uk) Download an application pack from our website www.hw.ac.uk/jobs or contact the Human Resources Office, Heriot-Watt University Edinburgh EH14 4AS tel 0131-451-3022 (24 hours) email hr at hw.ac.uk quoting Ref 102/11/J Closing date: Closing date: 30 September 2011. -- Heriot-Watt University is a Scottish charity registered under charity number SC000278. From paloff at ya.ru Wed Aug 31 15:24:12 2011 From: paloff at ya.ru (Igor Korepanov) Date: Wed, 31 Aug 2011 18:24:12 +0400 Subject: [GAP Forum] Pfaffian? Message-ID: <18681314800652@web84.yandex.ru> Dear Forum, does GAP calculate a Pfaffian? And with the right sign? And for a big antisymmetric matrix with indeterminates? I will be grateful for any advice. Currently, I found the letter http://mail.gap-system.org/pipermail/forum/2006/001324.html from Mathieu Dutour Sikiric whom I am sending a personal copy of this letter. Igor From Mathieu.Dutour at ens.fr Wed Aug 31 17:02:41 2011 From: Mathieu.Dutour at ens.fr (Mathieu Dutour) Date: Wed, 31 Aug 2011 18:02:41 +0200 Subject: [GAP Forum] Pfaffian? In-Reply-To: <18681314800652@web84.yandex.ru> References: <18681314800652@web84.yandex.ru> Message-ID: <20110831160241.GA22398@orge.ens.fr> Right now, no as far as I know. But meanwhile, there is a way to compute polynomially by some analog of the row column operations for the determinant. See below some code: # operation Li <--> Lj and Ci <--> Cj if ThePerm=(i,j) PermutationRowColumn:=function(TheMat, ThePerm) local NewMat, i; NewMat:=[]; for i in [1..Length(TheMat)] do Add(NewMat, Permuted(TheMat[i], ThePerm)); od; return Permuted(NewMat, ThePerm); end; # operations, Lj <- alpha*Lj and Cj<-alpha*Cj RowColumnMultiplication:=function(TheMat, j, alpha) local NewMat, i; NewMat:=[]; for i in [1..Length(TheMat)] do if i<>j then Add(NewMat, TheMat[i]); else Add(NewMat, alpha*TheMat[i]); fi; od; for i in [1..Length(TheMat)] do NewMat[i][j]:=alpha*NewMat[i][j]; od; return NewMat; end; # operations, Li<- Li+alpha Lj # operations, Ci<- Ci+alpha Ci AdditionRowColumn:=function(TheMat, i, j, alpha) local NewMat, k; NewMat:=[]; for k in [1..Length(TheMat)] do if k=i then Add(NewMat, TheMat[i]+alpha*TheMat[j]); else Add(NewMat, TheMat[k]); fi; od; for k in [1..Length(NewMat)] do NewMat[k][i]:=NewMat[k][i]+alpha*NewMat[k][j]; od; return NewMat; end; Pfaffian:=function(MatInput) local i, m, p, piv, zero, pfaff, j, k, sgn, row, row2, mult, mult2, result, AntiSymMat; AntiSymMat:=StructuralCopy(MatInput); m:=Length(AntiSymMat); if m mod 2=1 then return 0; fi; p:=m/2; zero:=Zero(AntiSymMat[1][1]); pfaff:=1; sgn:=1; for k in [1..p] do j:=2*k; while j<=m and AntiSymMat[2*k-1][j]=zero do j:=j+1; od; if j>m then return zero; fi; if j<> 2*k then AntiSymMat:=PermutationRowColumn(AntiSymMat, (j,2*k)); sgn:=-sgn; fi; row:=AntiSymMat[2*k]; piv:=row[2*k-1]; for j in [2*k+1..m] do row2:=AntiSymMat[j]; mult:=-row2[2*k-1]; # AntiSymMat:=RowColumnMultiplication(AntiSymMat, j, piv); # AntiSymMat:=AdditionRowColumn(AntiSymMat, j, 2*k, mult); # row2:=AntiSymMat[j]; mult2:=row2[2*k]/piv; AntiSymMat:=AdditionRowColumn(AntiSymMat, j, 2*k-1, mult2); # AntiSymMat:=RowColumnMultiplication(AntiSymMat, j, Inverse(pfaff)); od; pfaff:=-piv; od; result:=pfaff; for k in [1..p-1] do result:=result/AntiSymMat[2*k-1][2*k]; od; return sgn*result; end; On Wed, Aug 31, 2011 at 06:24:12PM +0400, Igor Korepanov wrote: >> Dear Forum, >> >> does GAP calculate a Pfaffian? And with the right sign? And for a big antisymmetric matrix with indeterminates? >> >> I will be grateful for any advice. >> >> Currently, I found the letter >> http://mail.gap-system.org/pipermail/forum/2006/001324.html >> from Mathieu Dutour Sikiric whom I am sending a personal copy of this letter. >> >> Igor From paloff at ya.ru Wed Aug 31 17:58:12 2011 From: paloff at ya.ru (Igor Korepanov) Date: Wed, 31 Aug 2011 20:58:12 +0400 Subject: [GAP Forum] Pfaffian? In-Reply-To: <18681314800652@web84.yandex.ru> References: <18681314800652@web84.yandex.ru> Message-ID: <63771314809892@web22.yandex.ru> Dear Forum, dear Mathieu, Great! It seems to work excellent! Mathieu: What are my right for using this? Is this code going to be included in some GAP package? Can I include it (also) in my package PL (which is still in its "pre-alpha" stage, but the work will hopefully go faster soon when a graduate student of mine grows a bit more mature :) ), with a proper indication who its author is? Igor 31.08.2011, 20:02, "Mathieu Dutour" : > Right now, no as far as I know. > > But meanwhile, there is a way to compute polynomially by some > analog of the row column operations for the determinant. > > See below some code: > # operation Li <--> Lj and Ci <--> Cj if ThePerm=(i,j) > PermutationRowColumn:=function(TheMat, ThePerm) > local NewMat, i; > NewMat:=[]; > for i in [1..Length(TheMat)] > do > Add(NewMat, Permuted(TheMat[i], ThePerm)); > od; > return Permuted(NewMat, ThePerm); > end; > > # operations, Lj <- alpha*Lj and Cj<-alpha*Cj > RowColumnMultiplication:=function(TheMat, j, alpha) > local NewMat, i; > NewMat:=[]; > for i in [1..Length(TheMat)] > do > if i<>j then > Add(NewMat, TheMat[i]); > else > Add(NewMat, alpha*TheMat[i]); > fi; > od; > for i in [1..Length(TheMat)] > do > NewMat[i][j]:=alpha*NewMat[i][j]; > od; > return NewMat; > end; > > # operations, Li<- Li+alpha Lj > # operations, Ci<- Ci+alpha Ci > AdditionRowColumn:=function(TheMat, i, j, alpha) > local NewMat, k; > NewMat:=[]; > for k in [1..Length(TheMat)] > do > if k=i then > Add(NewMat, TheMat[i]+alpha*TheMat[j]); > else > Add(NewMat, TheMat[k]); > fi; > od; > for k in [1..Length(NewMat)] > do > NewMat[k][i]:=NewMat[k][i]+alpha*NewMat[k][j]; > od; > return NewMat; > end; > > Pfaffian:=function(MatInput) > local i, m, p, piv, zero, pfaff, j, k, sgn, row, row2, mult, mult2, result, AntiSymMat; > AntiSymMat:=StructuralCopy(MatInput); > m:=Length(AntiSymMat); > if m mod 2=1 then > return 0; > fi; > p:=m/2; > zero:=Zero(AntiSymMat[1][1]); > pfaff:=1; > sgn:=1; > for k in [1..p] > do > j:=2*k; > while j<=m and AntiSymMat[2*k-1][j]=zero > do > j:=j+1; > od; > if j>m then > return zero; > fi; > if j<> 2*k then > AntiSymMat:=PermutationRowColumn(AntiSymMat, (j,2*k)); > sgn:=-sgn; > fi; > row:=AntiSymMat[2*k]; > piv:=row[2*k-1]; > for j in [2*k+1..m] > do > row2:=AntiSymMat[j]; > mult:=-row2[2*k-1]; > # > AntiSymMat:=RowColumnMultiplication(AntiSymMat, j, piv); > # > AntiSymMat:=AdditionRowColumn(AntiSymMat, j, 2*k, mult); > # > row2:=AntiSymMat[j]; > mult2:=row2[2*k]/piv; > AntiSymMat:=AdditionRowColumn(AntiSymMat, j, 2*k-1, mult2); > # > AntiSymMat:=RowColumnMultiplication(AntiSymMat, j, Inverse(pfaff)); > od; > pfaff:=-piv; > od; > result:=pfaff; > for k in [1..p-1] > do > result:=result/AntiSymMat[2*k-1][2*k]; > od; > return sgn*result; > end; > > On Wed, Aug 31, 2011 at 06:24:12PM +0400, Igor Korepanov wrote: > >> Dear Forum, >> >> does GAP calculate a Pfaffian? And with the right sign? And for a big antisymmetric matrix with indeterminates? >> >> I will be grateful for any advice. >> >> Currently, I found the letter >> http://mail.gap-system.org/pipermail/forum/2006/001324.html >> from Mathieu Dutour Sikiric whom I am sending a personal copy of this letter. >> >> Igor From Mathieu.Dutour at ens.fr Wed Aug 31 18:40:10 2011 From: Mathieu.Dutour at ens.fr (Mathieu Dutour) Date: Wed, 31 Aug 2011 19:40:10 +0200 Subject: [GAP Forum] Pfaffian? In-Reply-To: <65001314809431@web11.yandex.ru> References: <18681314800652@web84.yandex.ru> <65001314809431@web11.yandex.ru> Message-ID: <20110831174010.GA23218@orge.ens.fr> Free to use of course, just keep me informed. It is part of my package plangraph from http://www.liga.ens.fr/~dutour/PlanGraph/index.html It may be included in GAP in the future but that is relatively unlikely since none of what it does is groundbreaking, there is no manual and there are some designs errors. The idea was to enumerate perfect matching of some surfaces. There is a theory giving formulas for the number of perfect matching as a sum of 4^g pfaffians. But since I never understood how it works the project never took off the ground. Mathieu >> Dear Forum, dear Mathieu, >> >> Great! It seems to work excellent! >> >> Mathieu: What are my right for using this? Is this code going >> to be included in some GAP package? Can I include it (also) in >> my package PL (which is still in its "pre-alpha" stage, but the >> work will hopefully go faster soon when a graduate student of >> mine grows a bit more mature :) ), with a proper indication >> who its author is? >> >> Igor >> >> >> >> 31.08.2011, 20:02, "Mathieu Dutour" : >> > Right now, no as far as I know. >> > >> > But meanwhile, there is a way to compute polynomially by some >> > analog of the row column operations for the determinant. >> > >> > See below some code: >> > # operation Li <--> Lj and Ci <--> Cj if ThePerm=(i,j) >> > PermutationRowColumn:=function(TheMat, ThePerm) >> > local NewMat, i; >> > NewMat:=[]; >> > for i in [1..Length(TheMat)] >> > do >> > Add(NewMat, Permuted(TheMat[i], ThePerm)); >> > od; >> > return Permuted(NewMat, ThePerm); >> > end; >> > >> > # operations, Lj <- alpha*Lj and Cj<-alpha*Cj >> > RowColumnMultiplication:=function(TheMat, j, alpha) >> > local NewMat, i; >> > NewMat:=[]; >> > for i in [1..Length(TheMat)] >> > do >> > if i<>j then >> > Add(NewMat, TheMat[i]); >> > else >> > Add(NewMat, alpha*TheMat[i]); >> > fi; >> > od; >> > for i in [1..Length(TheMat)] >> > do >> > NewMat[i][j]:=alpha*NewMat[i][j]; >> > od; >> > return NewMat; >> > end; >> > >> > # operations, Li<- Li+alpha Lj >> > # operations, Ci<- Ci+alpha Ci >> > AdditionRowColumn:=function(TheMat, i, j, alpha) >> > local NewMat, k; >> > NewMat:=[]; >> > for k in [1..Length(TheMat)] >> > do >> > if k=i then >> > Add(NewMat, TheMat[i]+alpha*TheMat[j]); >> > else >> > Add(NewMat, TheMat[k]); >> > fi; >> > od; >> > for k in [1..Length(NewMat)] >> > do >> > NewMat[k][i]:=NewMat[k][i]+alpha*NewMat[k][j]; >> > od; >> > return NewMat; >> > end; >> > >> > Pfaffian:=function(MatInput) >> > local i, m, p, piv, zero, pfaff, j, k, sgn, row, row2, mult, mult2, result, AntiSymMat; >> > AntiSymMat:=StructuralCopy(MatInput); >> > m:=Length(AntiSymMat); >> > if m mod 2=1 then >> > return 0; >> > fi; >> > p:=m/2; >> > zero:=Zero(AntiSymMat[1][1]); >> > pfaff:=1; >> > sgn:=1; >> > for k in [1..p] >> > do >> > j:=2*k; >> > while j<=m and AntiSymMat[2*k-1][j]=zero >> > do >> > j:=j+1; >> > od; >> > if j>m then >> > return zero; >> > fi; >> > if j<> 2*k then >> > AntiSymMat:=PermutationRowColumn(AntiSymMat, (j,2*k)); >> > sgn:=-sgn; >> > fi; >> > row:=AntiSymMat[2*k]; >> > piv:=row[2*k-1]; >> > for j in [2*k+1..m] >> > do >> > row2:=AntiSymMat[j]; >> > mult:=-row2[2*k-1]; >> > # >> > AntiSymMat:=RowColumnMultiplication(AntiSymMat, j, piv); >> > # >> > AntiSymMat:=AdditionRowColumn(AntiSymMat, j, 2*k, mult); >> > # >> > row2:=AntiSymMat[j]; >> > mult2:=row2[2*k]/piv; >> > AntiSymMat:=AdditionRowColumn(AntiSymMat, j, 2*k-1, mult2); >> > # >> > AntiSymMat:=RowColumnMultiplication(AntiSymMat, j, Inverse(pfaff)); >> > od; >> > pfaff:=-piv; >> > od; >> > result:=pfaff; >> > for k in [1..p-1] >> > do >> > result:=result/AntiSymMat[2*k-1][2*k]; >> > od; >> > return sgn*result; >> > end; >> > >> > On Wed, Aug 31, 2011 at 06:24:12PM +0400, Igor Korepanov wrote: >> > >> >>> Dear Forum, >> >>> >> >>> does GAP calculate a Pfaffian? And with the right sign? And for a big antisymmetric matrix with indeterminates? >> >>> >> >>> I will be grateful for any advice. >> >>> >> >>> Currently, I found the letter >> >>> http://mail.gap-system.org/pipermail/forum/2006/001324.html >> >>> from Mathieu Dutour Sikiric whom I am sending a personal copy of this letter. >> >>> >> >>> Igor From adelrio at um.es Thu Sep 1 11:19:59 2011 From: adelrio at um.es (Angel del Rio Mateos) Date: Thu, 01 Sep 2011 12:19:59 +0200 Subject: [GAP Forum] Query regarding the wedderga package Message-ID: <4E5F5C4F.3090204@um.es> Dear Neha Makhijani, The theory behind wedderga and details about implementation of wedderga is explained in the following papers: I can provide copies of all of them if you are interested. The thesis of Aurora Olivieri (in Spanish) and Gabriela Olteanu (in English) can be useful too. 1) Aurora Olivieri, ?. del R?o y Juan Jacobo Sim?n On monomial characters and central idempotents of rational group algebras Communications in Algebra, 32 (2004), no. 4, 1531-1550 This was the first paper where we explained a character-free method to calculate Wedderburn decomposition and idempotents of rational group algebras which only applies for some finite groups that latter we decided to call strongly monomial. In this paper we prove that every abelian-by-supersolvable group is strongly monomial. 2) Aurora Olivieri y ?. del R?o An algorithm to compute the primitive central idempotents and the Wedderburn decomposition of a rational group algebra Journal of Symbolic Computations, 35 (2003) 673-687 This paper explains the implementation of the first version of wedderga. At this moment it only applies for rational group algebras of strongly monomial groups. 3) Osnel Broche Cristo y ?. del R?o Wedderburn decomposition of finite group algebras Finite Fields and Their Applications 13 (2007) 71-79 In this paper we show how to extends the results of 1) to group algebras of strongly monomial groups with coefficients in finite fields. The second version of wedderga includes an implementation for this case. 4) G. Olteanu, Computing the Wedderburn decomposition of group algebras by the Brauer--Witt theorem, Math. Comp. 76 (2007), no. 258, 1073--1087. This paper extended the method above to arbitrary groups. 5) Gabriela Olteanu y ?. del R?o An algorithm to compute the Wedderburn decomposition of semisimple group algebras implemented in the GAP package wedderga Journal of Symbolic Computation 44 (2009) 507--516. doi:10.1016/j.jsc.2007.07.019 In this paper we explained the final implementation of wedderga which applies to semisimple group algebras over fields which are either finite or abelian extensions of the rationals. -- ?ngel del R?o Mateos Dep. Matem?ticas, Univ. Murcia 30100 Murcia, Spain Phone: +34 868 88 3537 Fax: +34 868 88 4182 http://www.um.es/adelrio/ From yannis_michos at yahoo.co.uk Tue Sep 13 12:49:35 2011 From: yannis_michos at yahoo.co.uk (Yannis Michos) Date: Tue, 13 Sep 2011 12:49:35 +0100 (BST) Subject: [GAP Forum] Formal power series over GF(2) Message-ID: <1315914575.1081.YahooMailNeo@web27208.mail.ukl.yahoo.com> ?Dear Forum ?Suppose that I have a univariate$F(t) = {\sum}_{n \geq 0} a_{n} t^{n}$or a bivariate$G(s,t) = {\sum}_{n,k \geq 0} a_{n,k} s^{n}t^{k}$generating function on one variable t or two variables s, t respectively, with all coeffiecients$a_{n}$or$a_{n,k}$on the field GF(2) of two numbers or, which is actually my case, on the ring GF(2)[X_{1}, X_{2}, ..., X_{m}] on$m$commuting intederminates. Is there a Gap enviroment and immediate command or algorithm to compute$a_{n}$or$a_{n,k}$, i.e., [t^{n}]F(t) or [s^{n}t^{k}]G(s,t), if we know F or G? ? ?Example: The generating function of Pascal's triangle, taken modulo 2, is G(s, t) = 1/[1 + (1+t)s]. Suppose I want the binomial coefficient C(3,8) mod 2, i.e., the term [s^{3}t^{8}]G(s,t). Can I get it immediately using a Gap command? From fadebox at gmail.com Wed Sep 14 09:54:59 2011 From: fadebox at gmail.com (((1/f))) Date: Wed, 14 Sep 2011 14:24:59 +0530 Subject: [GAP Forum] NumbersString function fails Message-ID: Hi, I'm a new user of GAP 4 on linux flavor BackTrack4. According to the RSA section in the Number Theory chapter of Alex Hulpke's 2011 version of the HowtoGap: *"The following functions can make it easier to use this for encoding actual messages:* *NumbersString(string ,modulus ) takes a string string and transcribes it into a sequence of* *numbers, none exceeding modulus , using the encoding A = 11, B = 12 etc. (If a di?erent encoding* *is desired, it can be provided in an optional third argument as a string with each letter in the* *position of its number.)* * * * The corresponding reverse command StringNumbers(l ,modulus ) takes a list of numbers l* *and returns the string."* The following GAP command is not working for me. For any predefined value of m. gap> message:=NumbersString("THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG",m); Any help will be deeply appreciated. regards, Rohit Gupta -- http://twitter.com/fadesingh* * From ahulpke at gmail.com Wed Sep 14 16:27:35 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Wed, 14 Sep 2011 09:27:35 -0600 Subject: [GAP Forum] NumbersString function fails In-Reply-To: References: Message-ID: Dear Rohit Gupta, > According to the RSA section in the Number Theory chapter of Alex Hulpke's > 2011 version > of the HowtoGap: *"The following functions can make it easier to use this > for encoding actual messages:* > *NumbersString(string ,modulus ) takes a string string and transcribes it This is one of the functions which (as described in the preface of the manual) will be available only in the 4.5 release of GAP. Regards, Alexander Hulpke From ahulpke at gmail.com Wed Sep 14 16:50:05 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Wed, 14 Sep 2011 09:50:05 -0600 Subject: [GAP Forum] [GAP Support] Formal power series over GF(2) In-Reply-To: <1315914575.1081.YahooMailNeo@web27208.mail.ukl.yahoo.com> References: <1315914575.1081.YahooMailNeo@web27208.mail.ukl.yahoo.com> Message-ID: Dear Forum, Dear Yannis Michos, To my knowledge there is no functionality for power series manipulation in GAP, though I think I have seen such packages for other systems. (Since one is likely to want analytic functionality four manipulating power series in closed form, GAP might not be the best base for such an implementation.) Best, Alexander Hulpke From fadebox at gmail.com Thu Sep 15 04:43:02 2011 From: fadebox at gmail.com (((1/f))) Date: Thu, 15 Sep 2011 09:13:02 +0530 Subject: [GAP Forum] NumbersString function fails In-Reply-To: References: Message-ID: Thank you, Alex. It is a lovely manual, by the way. From zahra.sheikhaleslami at gmail.com Mon Sep 26 12:30:16 2011 From: zahra.sheikhaleslami at gmail.com (zahra sheikhaleslami) Date: Mon, 26 Sep 2011 11:30:16 +0000 (UTC) Subject: [GAP Forum] Invitation to connect on LinkedIn Message-ID: <975554436.1377867.1317036616422.JavaMail.app@ela4-app0135.prod> I'd like to add you to my professional network on LinkedIn. - zahra zahra sheikhaleslami student at urmia university Iran Confirm that you know zahra sheikhaleslami: https://www.linkedin.com/e/7twrqs-gt1dlh43-1r/isd/4348948108/7LekRzjN/?hs=false&tok=3Ts92xGTmiY4U1 -- You are receiving Invitation to Connect emails. Click to unsubscribe: http://www.linkedin.com/e/7twrqs-gt1dlh43-1r/kxWSPPQn1Bk6B_fNFP5PecDCMmxZByj--gSblhW/goo/forum%40mail%2Egap-system%2Eorg/20061/I1505703125_1/?hs=false&tok=1_oh3wQXeiY4U1 (c) 2011 LinkedIn Corporation. 2029 Stierlin Ct, Mountain View, CA 94043, USA. From zahra.sheikhaleslami at gmail.com Mon Sep 26 12:30:57 2011 From: zahra.sheikhaleslami at gmail.com (zahra sheikhaleslami) Date: Mon, 26 Sep 2011 11:30:57 +0000 (UTC) Subject: [GAP Forum] Invitation to connect on LinkedIn Message-ID: <1752362392.1416795.1317036657136.JavaMail.app@ela4-app0129.prod> I'd like to add you to my professional network on LinkedIn. - zahra zahra sheikhaleslami student at urmia university Iran Confirm that you know zahra sheikhaleslami: https://www.linkedin.com/e/m6t9ff-gt1dmcj2-6n/isd/4348958721/I2TlaBq2/?hs=false&tok=0EQBR_NuCiY4U1 -- You are receiving Invitation to Connect emails. Click to unsubscribe: http://www.linkedin.com/e/m6t9ff-gt1dmcj2-6n/yyKiECF05t8gMi_bE2jdiMBKEidJE6s_/goo/forum%40gap-system%2Eorg/20061/I1505706830_1/?hs=false&tok=35xtWPckKiY4U1 (c) 2011 LinkedIn Corporation. 2029 Stierlin Ct, Mountain View, CA 94043, USA. From mhorn at tu-bs.de Tue Sep 27 17:02:58 2011 From: mhorn at tu-bs.de (Max Horn) Date: Tue, 27 Sep 2011 18:02:58 +0200 Subject: [GAP Forum] Using singular from GAP Message-ID: <57BDFF88-9F80-4FA9-B635-304FD1580011@tu-bs.de> Dear all, I was wondering what the "best" way (or just a "good" way) is for using Singular (and esp. the "letterplace" extension) from within my GAP code. I need to enter relations in a module, and then read the resulting Groebner basis back into GAP. I need to use different coefficient rings; and I will at times want to compute a GB, then add some more relations, compute a new GB, add some more relations etc. until the GB does not grow anymore. I am aware of the following possibilities, but can't compare them well, and maybe there are more. * the "singular" GAP package. However, this seems to be outdated and did not work well for me. * "homalg" seems to be able to interact with Singular, but I am not sure how generic this is * the SCSCP project looks highly promising for this, but I am not sure how well supported this is from the Singular side, nor could I find any further information on this. * lastly, I guess I could use the GAP "IO" package to try to directly control GAP. Any suggestions, recommendations, etc. would be highly welcome. Cheers, Max -- Dr. Max Horn AG Algebra und Diskrete Mathematik Institut Computational Mathematics TU Braunschweig Pockelsstrasse 14, D-38106 Braunschweig Tel: (+49) 531 391-7526 Fax: (+49) 531 391-7414 Web: http://www.icm.tu-bs.de/~mhorn/ Email: mhorn at tu-bs.de From dima at ntu.edu.sg Tue Sep 27 18:03:25 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Wed, 28 Sep 2011 01:03:25 +0800 Subject: [GAP Forum] Using singular from GAP In-Reply-To: <57BDFF88-9F80-4FA9-B635-304FD1580011@tu-bs.de> References: <57BDFF88-9F80-4FA9-B635-304FD1580011@tu-bs.de> Message-ID: Hi Max, my approach would be to use Sage, which allows for interaction between GAP, Singular, and many other packages, all in comfort of your Python shell :) But I might be biased. Best, Dima On 28 September 2011 00:02, Max Horn wrote: > Dear all, > > I was wondering what the "best" way (or just a "good" way) is for using Singular (and esp. the "letterplace" extension) from within my GAP code. I need to enter relations in a module, and then read the resulting Groebner basis back into GAP. I need to use different coefficient rings; and I will at times want to compute a GB, then add some more relations, compute a new GB, add some more relations etc. until the GB does not grow anymore. > > I am aware of the following possibilities, but can't compare them well, and maybe there are more. > > * the "singular" GAP package. However, this seems to be outdated and did not work well for me. > > * "homalg" seems to be able to interact with Singular, but I am not sure how generic this is > > * the SCSCP project looks highly promising for this, but I am not sure how well supported this is from the Singular side, nor could I find any further information on this. > > * lastly, I guess I could use the GAP "IO" package to try to directly control GAP. > > > Any suggestions, recommendations, etc. would be highly welcome. > > Cheers, > Max > -- > Dr. Max Horn > AG Algebra und Diskrete Mathematik > Institut Computational Mathematics > TU Braunschweig > Pockelsstrasse 14, D-38106 Braunschweig > Tel: (+49) 531 391-7526 > Fax: (+49) 531 391-7414 > Web: http://www.icm.tu-bs.de/~mhorn/ > Email: mhorn at tu-bs.de > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary From Jason.B.Hill at Colorado.edu Tue Sep 27 19:09:03 2011 From: Jason.B.Hill at Colorado.edu (Jason B Hill) Date: Tue, 27 Sep 2011 12:09:03 -0600 Subject: [GAP Forum] Using singular from GAP In-Reply-To: References: <57BDFF88-9F80-4FA9-B635-304FD1580011@tu-bs.de> Message-ID: Two links to consider along the lines mentioned by Dima: 1) http://www.sagemath.org/doc/reference/sage/interfaces/gap.html That includes an introduction to GAP+Singular inside Sage. There is also a section called "Changing which GAP is Used," which is useful if one wants to use a GAP other than the one found in sage_root/local/lib/gap-version. (I've found this useful more than one might first think. E.g., to modify the GAP library or add custom GAP packages.) 2) http://trac.sagemath.org/sage_trac/ticket/7797 This is an active ticket within the recent 24 hours at the time I write this e-mail. It appears to be near a positive review, and the patches are linked from that page if you want to use them. Jason -- Jason B. Hill http://math.jasonbhill.com? |? Jason.B.Hill at Colorado.edu From alexk at mcs.st-andrews.ac.uk Tue Sep 27 19:22:30 2011 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Tue, 27 Sep 2011 19:22:30 +0100 Subject: [GAP Forum] 2nd beta release of GAP 4.5 In-Reply-To: References: Message-ID: <5443C2FB-1D25-4A99-AF71-83DDF6AA1728@mcs.st-andrews.ac.uk> Dear GAP Forum, we are distributing the announcement below which is primarily addressed to package authors (existing or prospective), but certainly constitutes an interest for a wider audience of GAP users. If you have a GAP package in preparation or if you would like to have a preview of the new version of GAP, you are welcome to download, install and test the second beta release of GAP 4.5. Please be aware of the following WARNING: this is a beta version which still contains some work in progress and also contains some bugs which will be fixed in the coming official release, so usual care should be taken, as reasonably expected while working with a beta version of any software. Best wishes, Alexander Konovalov ========================================================================= Dear authors of GAP packages, Earlier in April 2011 we made available the first beta release of GAP 4.5, and we appreciate all feedback we've received from package authors and users so far. In the subsequent period more than half of all packages have been either upgraded to work with GAP 4.5 or nearly completed the upgrade. Now, to allow you to test your packages with the recent changes, adjust package manuals and make the final step towards the official release of GAP 4.5, we have prepared the second beta version of GAP 4.5, named GAP 4.5.2, which is available to you in the following directory: ftp://ftp.gap-system.org/pub/gap/gap45/beta/ Please download and install the archive ftp://ftp.gap-system.org/pub/gap/gap45/beta/gap4r5p2_2011_09_21-16_00.zip containing GAP 4.5.2 and test it with your package(s). You will need to compile the GAP kernel as usually, following the installation instructions which are now contained in the INSTALL file in the gap4r5 directory and also duplicated here: ftp://ftp.gap-system.org/pub/gap/gap45/beta/INSTALL To run GAP under Windows, you may either compile it yourself with Cygwin or download Windows binaries archive here: ftp://ftp.gap-system.org/pub/gap/gap45/beta/gap4r5p2winbin.zip Unpack it and drop 'gap4r5/bin' and 'gap4r5/terminfo' directories into your GAP installation under Windows. Besides various improvements and bugfixes, there are two essential changes between GAP 4.5.1 and GAP 4.5.2: - the new version 1.4 of the GAPDoc package and new versions of gapmacro.tex and convert.pl files, using which you will need to rebuild package documentation to make it compatible with the GAP manual (as a side effect, links to the main GAP manual won't work for both GAP 4.4 and GAP 4.5 in the same version of the package). - the new build setup. In particular, --with-abi=XX is replaced by ABI=XX, where XX is 32 or 64, and there is no more ABI-dependent subdirectory in the bin/. See the INSTALL file in the gap4r5 directory for further details. Also note that Mac OS X Lion users should compile GAP with './configure --with-gmp=no ; make' because of the known problems which we should be able resolve before the public release of GAP 4.5. These two aspects of the system -- the build process and making documentation -- are now in the form enough stable to offer you a reliable platform to prepare the new version of your package, which you are asked to provide before November 20th 2011. If you've already updated the package recently, all you will have to do is to rebuild the manual with the new version of GAPDoc 1.4 or with the new version of gapmacro.tex/convert.pl dependently on the format you are using for your manuals. When you've done that, please make the new version available to us for testing and notify Alexander Konovalov (alexk at mcs.st-andrews.ac.uk) about the location of the relevant PackageInfo.g file to arrange for the GAP Group to obtain your package for further tests. Note that if the new version of your package is compatible with both GAP 4.4 and GAP 4.5 you need not to change the location of the PackageInfo.g file. However, if the new version will require GAP 4.5, please put in under different URL so it will not be picked up by the package update scripts for GAP 4.4 which we will still continiue to run until the official release of GAP 4.5. Again note that it's not possible for a package to have a manual which contains correct references to both GAP 4.4 and GAP 4.5 main manuals. If a package is released to us later than November 20th 2011 and our testing shows any problems (most likely in interactions with other packages) we may not be able to sort them out in time to include the new version in the first official release of GAP 4.5. Therefore, early submission would be very much appreciated. We have already tested most of the current versions of GAP packages with the beta-release of GAP 4.5, and did not find any serious problems. Thus, we hope that for most packages the change will go smoothly - a version of the package with basic compatibility with GAP 4.5 can be produced with little or no effort, as for most packages simply recompiling the documentation would be good enough. We would encourage you though, to do a little more work and adjust your package to use some of the new features of the GAP 4.5 package interface. This is especially important since some of the changes involve improvements to the GAP package interface to deal with problems which have arisen and cope more smoothly as the number of packages approaches 100 and the complexity of the functionality supplied by packages and the interaction between packages increases. As well as testing your package, please let us know of any problems you find with GAP 4.5 itself. We encourage you to test GAP 4.5 on as many configurations as possible. We welcome all feedback to support at gap-system.org including comments, suggestions, bug reports and manual corrections. You will find a brief overview of main changes in GAP 4.5 from the package author's perspective and further guidelines and checklists in the Appendix "Guidelines for Writing a GAP Package" of the Example package included in the second beta release. Best wishes, the GAP development team September 2011 ========================================================================= From nullgraph at gmail.com Wed Sep 28 06:28:47 2011 From: nullgraph at gmail.com (nullgraph null) Date: Wed, 28 Sep 2011 01:28:47 -0400 Subject: [GAP Forum] Help with alnuth package Message-ID: Hi everyone, I'm trying to install the alnuth package with GAP 4. I'm on Windows 7 and I'm using?Alexander Hulpke's?GAP?Installer?for?Windows. I've done the following steps: 1.?Install GGAP (includes??GAP 4.4.12) 2. Install the alnuth package 3. Install KANT/KASH 4. Change the binding in alnuth\defs.g to reflect the Kash installation So far, I'm able to run Kash on itself as command line, I'm able to load package alnuth from the GGap interface. I verified that simple commands worked in Gap. I tried to run the following example (from the alnuth manual) and get some results: m1 := [ [ 1, 0, 0, -7 ], [ 7, 1, 0, -7 ], [ 0, 7, 1, -7 ], [ 0, 0, 7, -6 ] ];; m2 := [ [ 0, 0, -13, 14 ], [ -1, 0, -13, 1 ], [ 13, -1, -13, 1 ], [ 0, 13, -14, 1 ] ];; F := FieldByMatricesNC( [m1, m2] ); DegreeOverPrimeField(F); 4 But when I tried to run the following command, I get error: U := UnitGroup(F); Error, Creation of the temporary directory KANTOUPUT failed Also, when I run the alnuth test ReadPackage( "Alnuth", "tst/testall.g" ); I also get the same error. I'm not sure what I'm doing wrong at this point. Also, this is my first time with mailman and a mailing list so please excuse me if I make an etiquette error. Thanks a lot! From andreas at mcs.st-and.ac.uk Wed Sep 28 11:33:22 2011 From: andreas at mcs.st-and.ac.uk (Andreas Distler) Date: Wed, 28 Sep 2011 11:33:22 +0100 (BST) Subject: [GAP Forum] Help with alnuth package In-Reply-To: References: Message-ID: Dear Nullgraph, On Wed, September 28, 2011 6:28 am, nullgraph null wrote: > Hi everyone, > I'm trying to install the alnuth package with GAP 4. I'm on Windows 7 > and I'm using?Alexander Hulpke's?GAP?Installer?for?Windows. I've done > the following steps: > As mentioned in the README and the documentation the interface from Alnuth to KANT/KASH does not work under Windows. You can only use those parts of Alnuth that do not rely on the interface. There will be a new version of Alnuth interfacing to Pari/GP instead of KANT/KASH, but retaining the same functionality on the GAP side. This new version of Alnuth will work under Windows, but only with GAP 4.5. (You might have seen the announcement of the second beta version, GAP 4.5.2, yesterday.) So, if you are in a hurry to use Alnuth under Windows you could try GAP 4.5.2 and I can send you a preliminary version of the new Alnuth in a separate email (attachments are stripped from GAP Forum emails). > 1.?Install GGAP (includes??GAP 4.4.12) > 2. Install the alnuth package > 3. Install KANT/KASH > 4. Change the binding in alnuth\defs.g to reflect the Kash installation > In other circumstances it might have been helpful to know which versions of Alnuth and KANT/KASH your are using. For instance, Alnuth does not work with KASH3. > So far, I'm able to run Kash on itself as command line, I'm able to > load package alnuth from the GGap interface. I verified that simple > commands worked in Gap. I tried to run the following example (from the > alnuth manual) and get some results: > > m1 := [ [ 1, 0, 0, -7 ], > [ 7, 1, 0, -7 ], > [ 0, 7, 1, -7 ], > [ 0, 0, 7, -6 ] ];; > > m2 := [ [ 0, 0, -13, 14 ], > [ -1, 0, -13, 1 ], > [ 13, -1, -13, 1 ], > [ 0, 13, -14, 1 ] ];; > > F := FieldByMatricesNC( [m1, m2] ); > > DegreeOverPrimeField(F); > 4 > > But when I tried to run the following command, I get error: > > U := UnitGroup(F); > Error, Creation of the temporary directory KANTOUPUT failed > > Also, when I run the alnuth test > ReadPackage( "Alnuth", "tst/testall.g" ); > I also get the same error. > > I'm not sure what I'm doing wrong at this point. Also, this is my > first time with mailman and a mailing list so please excuse me if I > make an etiquette error. > It is custom to include your real name (assuming it is not Nullgraph Null). Best wishes, Andreas > Thanks a lot! > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dr Andreas Distler CAUL (Centro de ?lgebra da Universidade de Lisboa) Av. Prof. Gama Pinto, 2, 1649-003 Lisboa, Portugal From nullgraph at gmail.com Thu Sep 29 15:40:19 2011 From: nullgraph at gmail.com (nullgraph) Date: Thu, 29 Sep 2011 10:40:19 -0400 Subject: [GAP Forum] Help with the Polycyclic package Message-ID: Hello GAP forum, I want to work with the Polycyclic package so I've installed and successfully tested GAP, KASH and the Alnuth package in Ubuntu (if you recall, I asked for help with installation a few days before in a Windows environment but have since decided it might be faster to go with Linux). Now I'm trying to check if my Polycyclic package is working well. I can LoadPackage, I can also try a few simple command like: DihedralPcpGroup(4); Pcp-group with orders [ 2, 2 ] DihedralPcpGroup(8); Pcp-group with orders [ 2, 4 ] But I don't know enough about Polycyclic groups to do more comprehensive test. Is there a test somewhere that I can run to make sure that my installation is correct? Another question I have is the two built-in functions ExampleOfMetabelianPcpGroup(a, k) and ExamplesOfSomePcpGroups(n). The manual is not very clear on what they do so I'm not sure if what I get is right. I would also want to see example of Pcp presentations of some polycyclic groups and thought these two would be perfect, but again, I first need to verify that they are working correctly. Here are a few things I tried: ExamplesOfSomePcpGroups(3); Pcp-group with orders [ 0, 0 ] ExamplesOfSomePcpGroups(5); Pcp-group with orders [ 2, 0, 0, 0 ] ExamplesOfSomePcpGroups(6); Pcp-group with orders [ 0, 0, 0 ] ExampleOfMetabelianPcpGroup(2,4); Pcp-group with orders [ 0, 0, 0, 0, 0 ] ExampleOfMetabelianPcpGroup(2,5); Pcp-group with orders [ 0, 0, 0, 0, 0 ] ExampleOfMetabelianPcpGroup(5,4); Pcp-group with orders [ 0, 0, 0, 0, 0 ] ExampleOfMetabelianPcpGroup(5,3); Pcp-group with orders [ 0, 0, 0, 0, 0 ] As you can see, all I get is zeroes, is this correct? Thank you for reading, Ha T. Lam From max at quendi.de Fri Sep 30 10:28:29 2011 From: max at quendi.de (Max Horn) Date: Fri, 30 Sep 2011 11:28:29 +0200 Subject: [GAP Forum] Help with the Polycyclic package In-Reply-To: References: Message-ID: <22D847C1-3028-49D2-A0BC-94CFBDB85835@quendi.de> Dear Ha T. Lam, Am 29.09.2011 um 16:40 schrieb nullgraph: > Hello GAP forum, > > I want to work with the Polycyclic package so I've installed and > successfully tested GAP, KASH and the Alnuth package in Ubuntu (if you > recall, I asked for help with installation a few days before in a Windows > environment but have since decided it might be faster to go with Linux). Now > I'm trying to check if my Polycyclic package is working well. I can > LoadPackage, I can also try a few simple command like: > > DihedralPcpGroup(4); > Pcp-group with orders [ 2, 2 ] > DihedralPcpGroup(8); > Pcp-group with orders [ 2, 4 ] > > But I don't know enough about Polycyclic groups to do more comprehensive > test. The polycyclic manual contains a very brief introduction to the fundamentals. However, if you really want to use the polycyclic package, you may want to first acquire more mathematical knowledge about them. Of course it all depends on what exactly you plan to use polycyclic for. > Is there a test somewhere that I can run to make sure that my > installation is correct? The output from polycyclic you were displaying looked perfectly fine. The last released version of polycyclic does not include a test suite, though future versions will. But it is highly unlikely that your polycyclic installation is defective, so I'd say your installation *is* correct. > > Another question I have is the two built-in > functions ExampleOfMetabelianPcpGroup(a, k) and ExamplesOfSomePcpGroups(n). > The manual is not very clear on what they do so I'm not sure if what I get > is right. The manual also quite explicitly state that it is intentionally vague on these. To quote: "The functions in this section provide some more example groups to play with. They come with no further description and their investigation is left to the interested user.". If you would like to "experiment" with groups with more a-priori knowledge about them, I recommend looking at some of the other explicitly described families of groups available from within the polycyclic package, and described in chapter 6 of the manual. [...] > ExampleOfMetabelianPcpGroup(5,3); > Pcp-group with orders [ 0, 0, 0, 0, 0 ] > > As you can see, all I get is zeroes, is this correct? Yes, this is correct. The zeroes mean that the corresponding pc generator has relative order infinity. For more information, I recommend reading up in the polycyclic manual, especially chapters 2 and 3. Best regards, Max From sandeepr.murthy at gmail.com Tue Oct 4 15:54:59 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Tue, 4 Oct 2011 15:54:59 +0100 Subject: [GAP Forum] Semidirect products Message-ID: Dear GAP Forum members, is there a quick way to directly access the factors of a semidirect product group? I have constructed a semidirect product G = N \rtimes_\theta P, where P, N are groups, where P acts on N via a homomorphism \theta: P \longrightarrow Aut(N). How can I define the subgroups of G isomorphic to N and to P? I have tried to construct these as N \rtimes_\theta_0 { 1}, and {1} \rtimes_\theta_0 P, where \theta_0 : P \longrightarrow Aut(N) is trivial, but on GAP they are not subgroups of G. Sincerely, Sandeep. From sandeepr.murthy at gmail.com Tue Oct 4 15:57:50 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Tue, 4 Oct 2011 15:57:50 +0100 Subject: [GAP Forum] Semidirect products Message-ID: Dear GAP Forum members, is there a quick way to directly access the factors of a semidirect product group? I have constructed a semidirect product G = N \rtimes_\theta P, where P, N are groups, where P acts on N via a homomorphism \theta: P \longrightarrow Aut(N). How can I define the subgroups of G isomorphic to N and to P? I have tried to construct these as N \rtimes_\theta_0 { 1}, and {1} \rtimes_\theta_0 P, where \theta_0 : P \longrightarrow Aut(N) is trivial, but on GAP they are not subgroups of G. Sincerely, Sandeep. From hulpke at math.colostate.edu Tue Oct 4 16:16:55 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Tue, 4 Oct 2011 09:16:55 -0600 Subject: [GAP Forum] Semidirect products In-Reply-To: References: Message-ID: <1C0CD659-49C9-4E82-910D-5EB72D188E2B@math.colostate.edu> Dear GAP-Forum, On Oct 4, 2011, at 10/4/11 8:57, Sandeep Murthy wrote: > is there a quick way to directly access the factors of a semidirect product group? > I have constructed a semidirect product G = N \rtimes_\theta P According to the manual, section 47.2 (Semidirect product): Embedding(G,1) returns the embedding P->G, Embedding(G,2) that of N. The subgroups of G you want then can be obtained as Image of these maps. For example: gap> G:=SemidirectProduct(GL(3,2),GF(2)^3); gap> hom1:=Embedding(G,1); CompositionMapping( [ (5,7)(6,8), (2,3,5)(4,7,6) ] -> [ , ], ) gap> Pimg:=Image(hom1); gap> Size(Pimg); 168 gap> hom2:=Embedding(G,2); MappingByFunction( ( GF(2)^3 ), , function( v ) ... end, function( a ) ... end ) gap> Nimg:=Image(hom2); gap> Size(Nimg); 8 Regards, 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 From sandeepr.murthy at gmail.com Tue Oct 4 20:28:36 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Tue, 4 Oct 2011 20:28:36 +0100 Subject: [GAP Forum] Semidirect products In-Reply-To: <1C0CD659-49C9-4E82-910D-5EB72D188E2B@math.colostate.edu> References: <1C0CD659-49C9-4E82-910D-5EB72D188E2B@math.colostate.edu> Message-ID: Thanks. I've got one concrete problem for a semidirect product on GAP which I am having problems with. It is to get a handle on three subsets of the semidirect product group G := H^2 \rtimes C_2 where H := C_5^3 (3-fold direct product of the cyclic group of 5 elements), and C_2 acts on H^2 by switching its two factors. The group H^2 is of order 15625, and G is order 31250. Elements of G can be written as (a,b)z, where a, b \in H, and z is the generator of C_2. If 1 is the identity of C_5, and H_1 := C_5 \times {1} \times {1} H_2 := {1} \times C_5 \times {1} H_3 := {1} \times {1} \times C_5 are the three subgroups of H isomorphic with the three copies of C_5, then how can I get a handle on the following subsets S_1, S_2, S_3 with the definitions: S := { (a,b)z^j | a \in H_1 \ {(1,1,1)}, b \in H_2, j \in {0,1} }, T := { (c,d)z^j | c \in H_2 \ {(1,1,1)}, d \in H_3, j \in {0,1} }, U := { (e,f)z^j | e \in H_3 \ {(1,1,1)}, f \in H_1, j \in {0,1} }. I tried to get the subgroups H_i as images of appropriate embeddings of C5 in G, via intermediate embeddings. But I am not getting the right images. S, T, U should each be of size 40. Sincerely, Sandeep. On 4 Oct 2011, at 16:16, Alexander Hulpke wrote: > > > Dear GAP-Forum, > > On Oct 4, 2011, at 10/4/11 8:57, Sandeep Murthy wrote: >> is there a quick way to directly access the factors of a semidirect product group? >> I have constructed a semidirect product G = N \rtimes_\theta P > > According to the manual, section 47.2 (Semidirect product): > > Embedding(G,1) returns the embedding P->G, Embedding(G,2) that of N. The subgroups of G you want then can be obtained as Image of these maps. For example: > > gap> G:=SemidirectProduct(GL(3,2),GF(2)^3); > > gap> hom1:=Embedding(G,1); > CompositionMapping( [ (5,7)(6,8), (2,3,5)(4,7,6) ] -> > [ , > ], ) > gap> Pimg:=Image(hom1); > > gap> Size(Pimg); > 168 > gap> hom2:=Embedding(G,2); > MappingByFunction( ( GF(2)^3 ), 3 generators>, function( v ) ... end, function( a ) ... end ) > gap> Nimg:=Image(hom2); > > gap> Size(Nimg); > 8 > > Regards, > > 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 > > > From saqaas12 at gmail.com Wed Oct 5 06:06:35 2011 From: saqaas12 at gmail.com (aasma shaheen) Date: Wed, 5 Oct 2011 10:06:35 +0500 Subject: [GAP Forum] Set Message-ID: Dear forum members, I want to calculate collection of all subsets of a set S ( cordinality of S is more than 30) whose intersection contains only a particular element say 'a' of S and union gives S.(something like partition of S but in that case intersection will b empty set but here intersection should b the singelton set {a}. as Cordinality of S is to large we cannot find all subset (i-e 2^(41) is very large number). If any one can help me in this problem i vill b very thankful. Regards! Aasma From Jada.Lewis at fda.hhs.gov Wed Oct 5 20:19:06 2011 From: Jada.Lewis at fda.hhs.gov (Lewis, Jada *) Date: Wed, 5 Oct 2011 15:19:06 -0400 Subject: [GAP Forum] problem opening caf2gap output in gap Message-ID: <1E5CF8190F198546ABA6693B8DE573B9103176DBB2@FDSWV2130.fda.gov> Hi, I have successfully converted a mira .caf file using the caf2 gap converter. I moved both output files, in this case "DH10.0 and DH10.0.aux", into the path where gap is located. I then attempted to open the files with the following command: ./gap.sh DH10.0 The gap4 program opens; however, there is an error reading the file: Syntax error: expression expected in DH10.0 line 1 Error reading initial file "DH10.0" abandoning remaining files Any idea what the problem is? The version of caftools which I'm using is 2.0.2, and my gap4 version is 4.4.12. Thanks Jada From hulpke at math.colostate.edu Wed Oct 5 20:37:31 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed, 5 Oct 2011 13:37:31 -0600 Subject: [GAP Forum] problem opening caf2gap output in gap In-Reply-To: <1E5CF8190F198546ABA6693B8DE573B9103176DBB2@FDSWV2130.fda.gov> References: <1E5CF8190F198546ABA6693B8DE573B9103176DBB2@FDSWV2130.fda.gov> Message-ID: Dear Lewis Jada, While I would be delighted if I could tell our administration that the FDA is using software I contributed to, I fear this is a case of mistaken identity. This mailing list is for group theoretic (part of mathematics) software, which also happens to be called gap4 (www.gap-system.org), while you are probably using the DNA software (http://sourceforge.net/projects/staden/?_test=beta). I unfortunately am not aware of a support contact for this DNA software. 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 From alexander.konovalov at gmail.com Wed Oct 5 20:53:21 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed, 5 Oct 2011 20:53:21 +0100 Subject: [GAP Forum] problem opening caf2gap output in gap In-Reply-To: <1E5CF8190F198546ABA6693B8DE573B9103176DBB2@FDSWV2130.fda.gov> References: <1E5CF8190F198546ABA6693B8DE573B9103176DBB2@FDSWV2130.fda.gov> Message-ID: <0A2F43EC-ECE7-4AB5-8505-0C5D941C7289@gmail.com> Dear Jada, GAP 4.4.12 is a system for computational discrete algebra - see http://www.gap-system.org/ and in particular http://www.gap-system.org/Faq/General/general6.html. Since you've mentioned caf2gap converter, I guess you are interested in the genome analysis software called Gap4 - see e.g. http://staden.sourceforge.net/manual/gap4_unix_toc.html Hope this helps, Alexander On 5 Oct 2011, at 20:19, Lewis, Jada * wrote: > Hi, > I have successfully converted a mira .caf file using the caf2 gap converter. I moved both output files, in this case "DH10.0 and DH10.0.aux", into the path where gap is located. I then attempted to open the files with the following command: > > ./gap.sh DH10.0 > > The gap4 program opens; however, there is an error reading the file: > > Syntax error: expression expected in DH10.0 line 1 > Error reading initial file "DH10.0" abandoning remaining files > > Any idea what the problem is? The version of caftools which I'm using is 2.0.2, and my gap4 version is 4.4.12. > > Thanks > Jada From hulpke at math.colostate.edu Wed Oct 5 23:55:41 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed, 5 Oct 2011 16:55:41 -0600 Subject: [GAP Forum] Semidirect products In-Reply-To: References: <1C0CD659-49C9-4E82-910D-5EB72D188E2B@math.colostate.edu> Message-ID: <687AF343-187B-45ED-8FE8-8BA85564F385@math.colostate.edu> Dear GAP Forum, On Oct 4, 2011, at 10/4/11 1:28, Sandeep Murthy wrote: > I've got one concrete problem for a semidirect product on GAP > which I am having problems with. > > It is to get a handle on three subsets of the semidirect product group > > G := H^2 \rtimes C_2 > > where H := C_5^3 (3-fold direct product of the cyclic group of 5 elements), > and C_2 acts on H^2 by switching its two factors. The group H^2 is of > order 15625, and G is order 31250. Elements of G can be written as > (a,b)z, where a, b \in H, and z is the generator of C_2. > > If 1 is the identity of C_5, and > > H_1 := C_5 \times {1} \times {1} > H_2 := {1} \times C_5 \times {1} > H_3 := {1} \times {1} \times C_5 > > are the three subgroups of H isomorphic with the three copies > of C_5, then how can I get a handle on the following subsets S_1, S_2, S_3 > with the definitions: > > S := { (a,b)z^j | a \in H_1 \ {(1,1,1)}, b \in H_2, j \in {0,1} }, > T := { (c,d)z^j | c \in H_2 \ {(1,1,1)}, d \in H_3, j \in {0,1} }, > U := { (e,f)z^j | e \in H_3 \ {(1,1,1)}, f \in H_1, j \in {0,1} }. > > I tried to get the subgroups H_i as images of appropriate embeddings > of C5 in G, via intermediate embeddings. But I am not getting the right > images. S, T, U should each be of size 40. Here are a couple of products and thus multiple steps of of embeddings, but I think being just really stubborn with the definitions produces the desired result. Of course there are better ways to represent G (e.g. as PC group), but you get the desired subset. For example: C:=Group((1,2,3,4,5)); H:=DirectProduct(C,C,C); Hemb:=List([1..3],x->Embedding(H,x)); Hi:=List(Hemb,x->Image(x,C)); #H1,2,3 HS:=DirectProduct(H,H); #H^2 HSE:=List([1,2],x->Embedding(HS,x)); # construct swapper by finding generators in both components Hgens:=List(HSE,x->List(GeneratorsOfGroup(H),y->Image(x,y))); # homomorphism swapping both copies swapper:=GroupHomomorphismByImages(HS,HS, Concatenation(Hgens[1],Hgens[2]), Concatenation(Hgens[2],Hgens[1])); U:=Group((1,2)); G:=SemidirectProduct(U, GroupHomomorphismByImages(U,Group(swapper),[U.1],[swapper]),HS); Uemb:=Embedding(G,1); HSemb:=Embedding(G,2); #Now produce the three slices of S first, S is the set of all products. # elements (a,1,1) with a<>1 Scomp1:=List(Difference(Hi[1],[One(Hi[1])]),x->Image(HSemb,Image(HSE[1],x))); # elements (1,b,1) Scomp2:=List(Hi[2],x->Image(HSemb,Image(HSE[2],x))); # elements (1,1,j) Scomp3:=Elements(Image(Uemb)); S:=List(Cartesian(Scomp1,Scomp2,Scomp3),x->x[1]*x[2]*x[3]); T and U work analogously. Best, 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 From nehamakhijani at gmail.com Fri Oct 7 10:53:17 2011 From: nehamakhijani at gmail.com (Neha Makhijani) Date: Fri, 7 Oct 2011 15:23:17 +0530 Subject: [GAP Forum] Query regarding GAP windows installer and wedderga Message-ID: Hello, If GAP is being installed on a 32-bit Windows Vista system using the windows installer, then it does not work. And, if I try using the archives, then GAP works but wedderga fails. Can somebody help? Thanks, Neha From alexk at mcs.st-andrews.ac.uk Fri Oct 7 10:58:23 2011 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Fri, 7 Oct 2011 10:58:23 +0100 Subject: [GAP Forum] Query regarding GAP windows installer and wedderga In-Reply-To: References: Message-ID: <2D5FF578-96B3-4E68-95A1-9D9BCF50209D@mcs.st-andrews.ac.uk> Hello! Are you using this Windows installer: http://www.gap-system.org/ukrgap/wininst/wininst.htm or anything else? If this one, than you need to download two files, ftp://ftp.gap-system.org/pub/gap/windowsinstaller/gap4r4p12.exe and the latest package archive, currently ftp://ftp.gap-system.org/pub/gap/windowsinstaller/packages-2011_08_11-12_32_UTC.exe Install first, then second - hopefully all will work. Please let me know whether you will be successful. Best wishes, Alexander On 7 Oct 2011, at 10:53, Neha Makhijani wrote: > Hello, > > If GAP is being installed on a 32-bit Windows Vista system using the windows > installer, then it does not work. And, if I try using the archives, then GAP > works but wedderga fails. Can somebody help? > > Thanks, > Neha > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Dr. Alexander Konovalov School of Computer Science & Centre for Interdisciplinary Research in Computational Algebra University of St Andrews Tel +44/0 (1334) 461633 http://www.cs.st-andrews.ac.uk/~alexk Fax +44/0 (1334) 463278 The University of St Andrews is a charity registered in Scotland:No.SC013532 From nehamakhijani at gmail.com Sat Oct 8 06:37:43 2011 From: nehamakhijani at gmail.com (Neha Makhijani) Date: Sat, 8 Oct 2011 11:07:43 +0530 Subject: [GAP Forum] Query regarding GAP windows installer and wedderga In-Reply-To: <2D5FF578-96B3-4E68-95A1-9D9BCF50209D@mcs.st-andrews.ac.uk> References: <2D5FF578-96B3-4E68-95A1-9D9BCF50209D@mcs.st-andrews.ac.uk> Message-ID: Thanks...it worked! On Fri, Oct 7, 2011 at 3:28 PM, Alexander Konovalov < alexk at mcs.st-andrews.ac.uk> wrote: > Hello! > > Are you using this Windows installer: > > http://www.gap-system.org/ukrgap/wininst/wininst.htm > > or anything else? If this one, than you need to download two files, > > ftp://ftp.gap-system.org/pub/gap/windowsinstaller/gap4r4p12.exe > > and the latest package archive, currently > > > ftp://ftp.gap-system.org/pub/gap/windowsinstaller/packages-2011_08_11-12_32_UTC.exe > > Install first, then second - hopefully all will work. > Please let me know whether you will be successful. > > Best wishes, > Alexander > > > On 7 Oct 2011, at 10:53, Neha Makhijani wrote: > > > Hello, > > > > If GAP is being installed on a 32-bit Windows Vista system using the > windows > > installer, then it does not work. And, if I try using the archives, then > GAP > > works but wedderga fails. Can somebody help? > > > > Thanks, > > Neha > > _______________________________________________ > > Forum mailing list > > Forum at mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum > > > -- > Dr. Alexander Konovalov School of Computer Science > & Centre for Interdisciplinary Research in Computational Algebra > University of St Andrews Tel +44/0 (1334) 461633 > http://www.cs.st-andrews.ac.uk/~alexk Fax +44/0 (1334) 463278 > The University of St Andrews is a charity registered in > Scotland:No.SC013532 > > > > > > > > From nehamakhijani at gmail.com Mon Oct 10 16:58:39 2011 From: nehamakhijani at gmail.com (Neha Makhijani) Date: Mon, 10 Oct 2011 21:28:39 +0530 Subject: [GAP Forum] CentralIdempotentsOfAlgebra Message-ID: Hi, Can somebody please tell me as to how we read the output of CentralIdempotentsOfAlgebra function. G:=SymmetricGroup(3); Sym( [ 1 .. 3 ] ) K2G := GroupRing( GF(2), G );; R2 := RadicalOfAlgebra(K2G);; CentralIdempotentsOfAlgebra(K2G/R2); [ v.4+v.5, v.1+v.4+v.5 ] As in, what do these v's represent and how do I read them?? Thanks, Neha From justin at mac.com Mon Oct 10 17:54:46 2011 From: justin at mac.com (Justin C. Walker) Date: Mon, 10 Oct 2011 09:54:46 -0700 Subject: [GAP Forum] CentralIdempotentsOfAlgebra In-Reply-To: References: Message-ID: Dear Neha and Forum, On Oct 10, 2011, at 08:58 , Neha Makhijani wrote: > Hi, > > Can somebody please tell me as to how we read the output > of CentralIdempotentsOfAlgebra function. > > G:=SymmetricGroup(3); > Sym( [ 1 .. 3 ] ) > K2G := GroupRing( GF(2), G );; > R2 := RadicalOfAlgebra(K2G);; > CentralIdempotentsOfAlgebra(K2G/R2); > > [ v.4+v.5, v.1+v.4+v.5 ] > > As in, what do these v's represent and how do I read them?? I believe the 'v's are the generators of the algebra K2G/R2. How the generators are named and displayed, I think, depends on how the algebra is defined. Justin -- Justin C. Walker, Curmudgeon at Large Director Institute for the Enhancement of the Director's Income ----------- Nobody knows the trouble I've been ----------- From preggyp at dut.ac.za Tue Oct 11 11:04:13 2011 From: preggyp at dut.ac.za (Pragladan Perumal) Date: Tue, 11 Oct 2011 12:04:13 +0200 Subject: [GAP Forum] group presentation Message-ID: Hello Users I have a finite group with generators and relations on the generators. I wish to know how do I give this to GAP to generate the group? preggyp "This e-mail is subject to our Disclaimer, to view click http://www.dut.ac.za" From bsambale at gmx.de Tue Oct 11 11:22:18 2011 From: bsambale at gmx.de (Benjamin Sambale) Date: Tue, 11 Oct 2011 12:22:18 +0200 Subject: [GAP Forum] group presentation In-Reply-To: References: Message-ID: <4E9418DA.8040602@gmx.de> Here is an example: F:=FreeGroup("x","y"); AssignGeneratorVariables(F); G:=F/[x^4,y^2,y*x*y^-1*x]; Am 11.10.2011 12:04, schrieb Pragladan Perumal: > Hello Users > I have a finite group with generators and relations on the generators. > I wish to know how do I give this to GAP to generate the group? > preggyp > > "This e-mail is subject to our Disclaimer, to view click http://www.dut.ac.za" > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From member at linkedin.com Tue Oct 11 23:32:23 2011 From: member at linkedin.com (Paul Hjelmstad via LinkedIn) Date: Tue, 11 Oct 2011 22:32:23 +0000 (UTC) Subject: [GAP Forum] Invitation to connect on LinkedIn Message-ID: <1212266920.649467.1318372343461.JavaMail.app@ela4-bed81.prod> LinkedIn ------------ Paul Hjelmstad requested to add you as a connection on LinkedIn: ------------------------------------------ Guang, I'd like to add you to my professional network on LinkedIn. Accept invitation from Paul Hjelmstad http://www.linkedin.com/e/m6t9ff-gtnguqox-11/yyKiECF05t8gMi_bE2jdiMBKEidJE6s_/blk/I93652157_140/1BpC5vrmRLoRZcjkkZt5YCpnlOt3RApnhMpmdzgmhxrSNBszYMd35vdPkNczkScPB9bQNzhAVSpnxybPcNc3ASdPwOdjgLrCBxbOYWrSlI/EML_comm_afe/?hs=false&tok=3rUITFOja8hQY1 View invitation from Paul Hjelmstad http://www.linkedin.com/e/m6t9ff-gtnguqox-11/yyKiECF05t8gMi_bE2jdiMBKEidJE6s_/blk/I93652157_140/30QclYTdj4OdjoPekALqnpPbOYWrSlI/svi/?hs=false&tok=3IbDCUQ9-8hQY1 -- (c) 2011, LinkedIn Corporation From garymakonel at googlemail.com Fri Oct 14 00:18:41 2011 From: garymakonel at googlemail.com (Gary McConnell) Date: Fri, 14 Oct 2011 00:18:41 +0100 Subject: [GAP Forum] The outer automorphism of S6 Message-ID: Hi! I am new to GAP - I am using it inside SAGE ... I am trying to do a bunch of computations involving counting how certain elements of S6 behave under "the" outer automorphism. I have tried to do something from the manual pages like "AssignNiceMonomorphismAutomorphismGroup(A,G)" and it creates some object, but I don't understand how i get to that object to calculate with it! (Here G=S6 and A is Aut(G)). If say I had a list of elements of S6, entered in the usual way as cycles, and if I chose a section s from Out(G) back to Aut(G), how would I get the image s(rho) of rho (if I write Out(G)=<1,rho> say) under that section, and/or how would I get the image of my elements under s(rho)? Or is there a better way to do it? Please help! Many thanks Gary From hulpke at math.colostate.edu Fri Oct 14 02:58:36 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Thu, 13 Oct 2011 19:58:36 -0600 Subject: [GAP Forum] The outer automorphism of S6 In-Reply-To: References: Message-ID: <855E0E5C-2E6D-4905-890E-8AE1D470683F@math.colostate.edu> Dear Gary McConnell, Dear Forum, > I am new to GAP - I am using it inside SAGE ... I am trying to do a bunch of > computations involving counting how certain elements of S6 behave under > "the" outer automorphism. I have tried to do something from the manual pages > If say I had a list of elements of S6, entered in the usual way as cycles, > and if I chose a section s from Out(G) back to Aut(G), how would I get the > image s(rho) of rho (if I write Out(G)=<1,rho> say) under that section, > and/or how would I get the image of my elements under s(rho)? This is how you would do it in GAP: gap> G:=SymmetricGroup(6); Sym( [ 1 .. 6 ] ) gap> A:=AutomorphismGroup(G); Now, in your case you just want a generator of G outside the inner automorphisms: gap> inn:=InnerAutomorphismsAutomorphismGroup(A); gap> s:=First(GeneratorsOfGroup(A),x->not x in inn); [ (5,6), (1,2,3,4,5) ] -> [ (1,2)(3,5)(4,6), (1,2,3,4,5) ] To calculate element images: gap> Image(s,(1,2,3)); (1,4,3)(2,6,5) Here s is probably not the nicest possible gap> Order(s); 10 Lets see what we can get: gap> Collected(List(Elements(inn),x->Order(x*s))); [ [ 2, 36 ], [ 4, 180 ], [ 8, 360 ], [ 10, 144 ] ] So order 2 for an outer automorphism is possible. To find one of this kind either: gap> news:=First(Elements(inn),x->Order(x*s)=2)*s; [ (1,2,3,4,5,6), (1,2) ] -> [ (2,6)(3,5,4), (1,2)(3,4)(5,6) ] gap> Order(news); 2 gap> news in inn; false or (less memory use, but more complicated -- use classes of A and find a representative, do so via permrep): gap> hom:=IsomorphismPermGroup(A); MappingByFunction( , Group( [ (1,2,3,4,5,6)(7,12,8)(9,11), (1,2)(7,8)(9,10)(11,12), (1,7,4,10,2,8,5,11,3,9)(6,12) ]), function( auto ) ... end, function( perm ) ... end ) gap> AP:=Image(hom); Group([ (1,2,3,4,5,6)(7,12,8)(9,11), (1,2)(7,8)(9,10)(11,12), (1,7,4,10,2,8,5,11,3,9)(6,12) ]) gap> innP:=Image(hom,inn); Group([ (1,2,3,4,5,6)(7,12,8)(9,11), (1,2)(7,8)(9,10)(11,12) ]) gap> cl:=ConjugacyClasses(AP);; gap> cl:=Filtered(cl,x->not Representative(x) in innP);;Length(cl); 5 gap> List(cl,x->[Order(Representative(x)),Size(x)]); [ [ 8, 180 ], [ 4, 180 ], [ 2, 36 ], [ 8, 180 ], [ 10, 144 ] ] gap> newsp:=Representative(cl[3]); (1,8)(2,10)(3,11)(4,7)(5,12)(6,9) gap> PreImagesRepresentative(hom,newsp); [ (1,2,3,4,5,6), (1,2) ] -> [ (1,4,5)(3,6), (1,4)(2,6)(3,5) ] I hope this helps. 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 From wangtao2010 at ict.ac.cn Wed Oct 19 03:56:09 2011 From: wangtao2010 at ict.ac.cn (wangtao) Date: Wed, 19 Oct 2011 10:56:09 +0800 Subject: [GAP Forum] Help for debugging GAP Message-ID: <000901cc8e0a$a753b5c0$f5fb2140$@ac.cn> Hi, all I am wangtao, a student of GUCAS from China and I am developing a compiler for MIPS-like machine. I want to know some detail information of how GAP are debugging. For example, the result of Combinations([0]) should be [] [0], but the result of the executable GAP compiled by loongcc(the compiler we are developing) is [] [], thus, there is error in loongcc that generates improper instructions. But I have no idea where to set the break point in GAP because I don't know how Combinations([0]) is evaluated, namely, which gap function is called firstly and which secondly, etc. I've read GAP user manual and find no answer. Can anybody give me some help? You can show me the call stack when gap is evaluating Combinations([0]) or give me some material about how gap is design. Thank you very much. Best regards Wang Tao ============================================================ Wang Tao Compiler Team, National key laboratory of Computer Architecture Institute of Computing technology, Chinese Academy of Science Mail: Wangtao2010 at ict.ac.cn From dima at ntu.edu.sg Wed Oct 19 05:30:26 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Wed, 19 Oct 2011 12:30:26 +0800 Subject: [GAP Forum] Help for debugging GAP In-Reply-To: <000901cc8e0a$a753b5c0$f5fb2140$@ac.cn> References: <000901cc8e0a$a753b5c0$f5fb2140$@ac.cn> Message-ID: Dear Wangtao, On 19 October 2011 10:56, wangtao wrote: > I want to know some detail information of how GAP are debugging. For > example, the result of Combinations([0]) should be [] [0], but the result of > the executable GAP compiled by loongcc(the compiler we are developing) is [] > [], thus, there is error in loongcc that generates improper instructions. > But I have no idea where to set the break point in GAP because I don't know > how Combinations([0]) is evaluated, namely, which gap function is called > firstly and which secondly, etc. I've read GAP user manual and find no > answer. You should read GAP source to find out. Actually, Combinations is implemented in GAP language, which makes it quite easy to understand. To see this, you don't even need to read the source, you can do gap> Print(Combinations); at the GAP prompt) When called with one argument, Combinations calls CombinationsA, which is also implemented in GAP language. Hope this helps, Dmitrii > > > > Can anybody give me some help? You can show me the call stack when gap is > evaluating Combinations([0]) or give me some material about how gap is > design. > > Thank you very much. > > > > Best regards > > Wang Tao > > ============================================================ > > Wang Tao > > Compiler Team, National key laboratory of Computer Architecture > > Institute of Computing technology, Chinese Academy of Science > > Mail: Wangtao2010 at ict.ac.cn > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Towards A Sustainable Earth: Print Only When Necessary. Thank you. From diyaiman88 at gmail.com Wed Oct 19 18:59:54 2011 From: diyaiman88 at gmail.com (diya iman) Date: Wed, 19 Oct 2011 22:59:54 +0500 Subject: [GAP Forum] galois rings. Message-ID: A.a sir is there any package in gap in which we find the table of complete tables or unit elements of galois rings and also is there any method in gap according to which we find factors of x?_1.thanks From wangtao2010 at ict.ac.cn Thu Oct 20 13:17:00 2011 From: wangtao2010 at ict.ac.cn (wangtao) Date: Thu, 20 Oct 2011 20:17:00 +0800 Subject: [GAP Forum] Reply: Help for debugging GAP In-Reply-To: References: <000901cc8e0a$a753b5c0$f5fb2140$@ac.cn> Message-ID: <000301cc8f22$2c173440$84459cc0$@ac.cn> Dear, Prof. Thank you for your suggestions. I am afraid that I failed to describe the problem clearly last time. 1. Compile GAP with loongcc. 2. Test the GAP with Combinations([0]). The expected result is [[] [0]], but the actual result is [[] []]. So the GAP compiled by loongcc fail on this test case. 3. Then I want to debug GAP to figure out which instruction make the GAP fail. 4. Although I am sure that EvFunccall is compiled improperly, I cannot make sure which instruction is improper. The difficulty for me is that EvFunccall is invoked so many times, I cannot make sure which one generates the error. So, I want to know the process of evaluation of the Combinations in GAP. Is there any design documents? Thank you again for your help. Best regards WangTao -----????----- ???: Asst. Prof. Dmitrii (Dima) Pasechnik [mailto:dima at ntu.edu.sg] ????: 2011?10?19? 12:30 ???: wangtao ??: forum at gap-system.org ??: Re: [GAP Forum] Help for debugging GAP Dear Wangtao, On 19 October 2011 10:56, wangtao wrote: > I want to know some detail information of how GAP are debugging. For > example, the result of Combinations([0]) should be [] [0], but the result of > the executable GAP compiled by loongcc(the compiler we are developing) is [] > [], thus, there is error in loongcc that generates improper instructions. > But I have no idea where to set the break point in GAP because I don't know > how Combinations([0]) is evaluated, namely, which gap function is called > firstly and which secondly, etc. I've read GAP user manual and find no > answer. You should read GAP source to find out. Actually, Combinations is implemented in GAP language, which makes it quite easy to understand. To see this, you don't even need to read the source, you can do gap> Print(Combinations); at the GAP prompt) When called with one argument, Combinations calls CombinationsA, which is also implemented in GAP language. Hope this helps, Dmitrii > > > > Can anybody give me some help? You can show me the call stack when gap is > evaluating Combinations([0]) or give me some material about how gap is > design. > > Thank you very much. > > > > Best regards > > Wang Tao > > ============================================================ > > Wang Tao > > Compiler Team, National key laboratory of Computer Architecture > > Institute of Computing technology, Chinese Academy of Science > > Mail: Wangtao2010 at ict.ac.cn > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Towards A Sustainable Earth: Print Only When Necessary. Thank you. From dima at ntu.edu.sg Thu Oct 20 18:24:51 2011 From: dima at ntu.edu.sg (Asst. Prof. Dmitrii (Dima) Pasechnik) Date: Fri, 21 Oct 2011 01:24:51 +0800 Subject: [GAP Forum] Reply: Help for debugging GAP In-Reply-To: <000301cc8f22$2c173440$84459cc0$@ac.cn> References: <000901cc8e0a$a753b5c0$f5fb2140$@ac.cn> <000301cc8f22$2c173440$84459cc0$@ac.cn> Message-ID: Dear Wangtao, All what you can find is in code comments, which are often quite detailed. You can set up tracing outputs of appropriate functions, compile code using different compilers, and compare the resulting traces. The 1st discrepancy will indicate where the 1st incorrect call is happening... Best, Dmitrii On 20 October 2011 20:17, wangtao wrote: > Dear, Prof. > ?Thank you for your suggestions. > ?I am afraid that I failed to describe the problem clearly last time. > ?1. Compile GAP with loongcc. > ?2. Test the GAP with Combinations([0]). The expected result is [[] [0]], but the actual result is [[] []]. > ? ?So the GAP compiled by loongcc fail on this test case. > ?3. Then I want to debug GAP to figure out which instruction make the GAP fail. > ?4. Although I am sure that EvFunccall is compiled improperly, I cannot make sure which instruction is improper. The difficulty for me is that EvFunccall is invoked so many times, I cannot make sure which one generates the error. > > ?So, I want to know the process of evaluation of the Combinations in GAP. Is there any design documents? > ?Thank you again for your help. > > ?Best regards > ?WangTao > > -----????----- > ???: Asst. Prof. Dmitrii (Dima) Pasechnik [mailto:dima at ntu.edu.sg] > ????: 2011?10?19? 12:30 > ???: wangtao > ??: forum at gap-system.org > ??: Re: [GAP Forum] Help for debugging GAP > > Dear Wangtao, > > On 19 October 2011 10:56, wangtao wrote: > >> ?I want to know some detail information of how GAP are debugging. For >> example, the result of Combinations([0]) should be [] [0], but the result of >> the executable GAP compiled by loongcc(the compiler we are developing) is [] >> [], thus, there is error in loongcc that generates improper instructions. >> But I have no idea where to set the break point in GAP because I don't know >> how Combinations([0]) is evaluated, namely, which gap function is called >> firstly and which secondly, etc. I've read GAP user manual and find no >> answer. > > You should read GAP source to find out. > Actually, Combinations is implemented in GAP language, > which makes it quite easy to understand. > > To see this, you don't even need to read the source, you can do > gap> Print(Combinations); > at the GAP prompt) > When called with one argument, Combinations calls CombinationsA, > which is also implemented in GAP language. > > Hope this helps, > Dmitrii > > >> >> >> >> ?Can anybody give me some help? You can show me the call stack when gap is >> evaluating Combinations([0]) or give me some material about how gap is >> design. >> >> ?Thank you very much. >> >> >> >> Best regards >> >> Wang Tao >> >> ============================================================ >> >> Wang Tao >> >> Compiler Team, National key laboratory of Computer Architecture >> >> Institute of Computing technology, Chinese Academy of Science >> >> Mail: Wangtao2010 at ict.ac.cn >> >> >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > > CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. > > Towards A Sustainable Earth: Print Only When Necessary. Thank you. > > > From andrew.mathas at sydney.edu.au Wed Oct 19 13:04:49 2011 From: andrew.mathas at sydney.edu.au (Andrew Mathas) Date: Wed, 19 Oct 2011 23:04:49 +1100 Subject: [GAP Forum] FW: Urgent reqest from Masato In-Reply-To: <20111019015650.00006A48.0237@math.kyushu-u.ac.jp> References: <20110919032237.00004CCA.0976@math.kyushu-u.ac.jp> <20111018123730.00002CB4.0962@math.kyushu-u.ac.jp> <4E9E14DE.8030507@sydney.edu.au> <20111019015650.00006A48.0237@math.kyushu-u.ac.jp> Message-ID: <4E9EBCE1.1080002@sydney.edu.au> Dear Colleagues, I received the email below from Professor Wakayama at Kyushu University. He is looking to appoint up to two people to computational mathematics positions within his university. I gather that the funding for these positions is not certain yet but that if he has suitable people who are interested then he has significantly better chances of securing funding. If you know anyone who might be interested could you ask them to contact him Best regards, Andrew On 19/10/11 12:56 PM, Masato Wakayama wrote: > Dear Professor Mathas, > > Thank you very much for your message. > > A good but unexpected chance for establishing a > ?Creation office of Mathematics Computation Library?(CMCL) > in our new institute IMI comes up. > > Namely, if we have good candidate we may apply to get two positions > from the university for the establishment of CMCL. The positions which > we are now considering are > 1. One tenured associate professor: we expect a mathematician who > has an > experience for creating some math software. - up to the age 37,38. > 2. One 5(confirmed + another 5) years assistant professor: a > mathematician > who has strong skill for programming. up to the age 32, 33. > > Here ?mathematician? means that people who has gotten the degree either > in > mathematics or other closely related fields (like computer science) and > has > mathematics oriented research interest. Actually, they have to teach > students > in graduate school of mathematics and collaborate with mathematician > (including statisticians) in IMI. > > According to the situation described above, we can not advertise ?call > for position? > at the web-site etc, that is, no confirmation can be made right now. > Under this > situation, I am very happy if you arrange to use a "restricted mailing > list". > Your kind cooperation is greatly appreciated. > > ------------------------------------------------------------------------ > ---------- > Extra information: even though we are not able to get the positions > above in this > occasion, the university is planning to apply the fund for this CMCL to > the > government in the next year. If it will be succeed we will call for > positions. > > As to the IMI, please visit > http://www.imi.kyushu-u.ac.jp/eng/ > > Best regards, > Mastao > From vtvan2k1 at gmail.com Tue Oct 25 03:29:02 2011 From: vtvan2k1 at gmail.com (Vo Tam Van) Date: Mon, 24 Oct 2011 19:29:02 -0700 Subject: [GAP Forum] about automorphism group of linear codes Message-ID: Hi every body I am looking for the source code of computing the automorphism group of linear code. For example, the binary linear code C = { [0,0,0,0]; [0,0,1,1]; [1,1,0,0]; [1,1,1,1]} has the permutation group of order 8. Please teach me how to write GAP program to compute automorphism of linear code C. Any comments and helps are highly appreciated. Thanks alot. Tam Van From lvluyen at gmail.com Tue Oct 25 12:32:37 2011 From: lvluyen at gmail.com (=?UTF-8?B?THV54buHbiBMw6ogVsSDbg==?=) Date: Tue, 25 Oct 2011 12:32:37 +0100 Subject: [GAP Forum] Find a Sylow p-subgroup contains the p-subgroup Message-ID: Dear all, Let G be a finite group and p be a prime. Suppose that Q is a p-subgroup of G. How to find a Sylow p-subgroup of G containing Q ? Thanks, Best regards, Luyen. From hulpke at me.com Tue Oct 25 13:53:47 2011 From: hulpke at me.com (Alexander Hulpke) Date: Tue, 25 Oct 2011 06:53:47 -0600 Subject: [GAP Forum] Find a Sylow p-subgroup contains the p-subgroup In-Reply-To: References: Message-ID: <9DB128CD-FA50-4B46-AA5A-03DA5981BC47@me.com> Dear Forum, Dear Luyen Le Van, > Let G be a finite group and p be a prime. Suppose that Q is a p-subgroup of G. > How to find a Sylow p-subgroup of G containing Q ? Compute a p-Sylow subgroup of N_G(Q). It will contain Q, and must be larger. Repeat until the correct order is obtained. Best, 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 From gordon.royle at uwa.edu.au Tue Oct 25 03:38:03 2011 From: gordon.royle at uwa.edu.au (Gordon Royle) Date: Tue, 25 Oct 2011 10:38:03 +0800 Subject: [GAP Forum] about automorphism group of linear codes In-Reply-To: References: Message-ID: LoadPackage("guava"); gap> C1 := GeneratorMatCode( [ [0,0,1,1], [1,1,0,0] ], GF(2)); a linear [4,2,1..2]1..2 code defined by generator matrix over GF(2) gap> AutomorphismGroup(C1); Group([ (3,4), (1,4)(2,3) ]) On 25/10/2011, at 10:29 AM, Vo Tam Van wrote: > Hi every body > > I am looking for the source code of computing the automorphism group > of linear code. For example, the binary linear code > C = { [0,0,0,0]; [0,0,1,1]; [1,1,0,0]; [1,1,1,1]} has the permutation > group of order 8. Please teach me how to write GAP program to > compute automorphism of linear code C. Any comments and helps are > highly appreciated. Thanks alot. > > Tam Van > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum Professor Gordon Royle School of Mathematics and Statistics University of Western Australia Gordon.Royle at uwa.edu.au From fieldsj1 at southernct.edu Tue Oct 25 15:39:29 2011 From: fieldsj1 at southernct.edu (Joe Fields) Date: Tue, 25 Oct 2011 10:39:29 -0400 Subject: [GAP Forum] about automorphism group of linear codes In-Reply-To: References: Message-ID: <1319553569.2104.9.camel@Fields-Latitude-E6410> Dear Tam Van, See section 4.4.3 of the Guava 3.10 manual for an extended example. Given a relatively small linear code C, simply use gap> AutomorphismGroup(C); Depending on your operating system, the AutomorphismGroup function may use an external program written in C by Jeffrey S. Leon, or a function written in the GAP language called "PermutationAutomorphismGroup" The latter function is much slower than the one written by Leon, but if you are interested in the mechanics of what is going on to calculate a code's automorphism group, looking at the source code for PermutationAutomorphismGroup is vastly easier. The source code for both approaches is in the Guava package's directory tree. Leon's C code is in the src/leon subdirectory and the other one is in lib/codeops.gi Hope that helps! Best wishes, Joe Fields On Mon, 2011-10-24 at 22:29 -0400, Vo Tam Van wrote: > Hi every body > > I am looking for the source code of computing the automorphism group > of linear code. For example, the binary linear code > C = { [0,0,0,0]; [0,0,1,1]; [1,1,0,0]; [1,1,1,1]} has the permutation > group of order 8. Please teach me how to write GAP program to > compute automorphism of linear code C. Any comments and helps are > highly appreciated. Thanks alot. > > Tam Van > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Joseph E. Fields, PhD Mathematics Department Southern Connecticut State University http://www.southernct.edu/~fields From anvita21 at gmail.com Thu Oct 27 05:15:23 2011 From: anvita21 at gmail.com (Anvita) Date: Thu, 27 Oct 2011 11:15:23 +0700 Subject: [GAP Forum] An error message in cohomology calculations Message-ID: Dear Forum, I have two seemingly resembling programs one of which works while the other one does not. In both programs I check if a certain matrix group splits over its central subgroup of order two using OneCocycles. What is the reason of the error message in the second case? Thank you, Anvita Program 1 ================================= m1:=[ [2,0,0,1], [0,2,1,0], [0,0,2,0], [1,0,0,1]]*Z(3)^0;; m2:=[ [0,2,0,0], [1,0,0,0], [0,0,0,1], [0,0,2,0]]*Z(3)^0;; M:=Group(m1,m2); C:=Group(-One(M)); IsSubgroup(M,C); # true OneCocycles(M,C).isSplitExtension; # false ================================== Program 2 ================================== m1:=[ [0,0,0,1], [0,1,1,0], [0,1,2,2], [2,2,2,0]]*Z(3)^0;; m2:=[ [0,0,0,2], [0,2,0,0], [0,2,2,1], [1,1,0,2]]*Z(3)^0;; M:=Group(m1,m2); C:=Group(-One(M)); IsSubgroup(M,C); # true OneCocycles(M,C).isSplitExtension; Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for MovedPoints' on 1 arguments called from MovedPoints( ocr.group ) called from OCAddGeneratorsGeneral( ocr ); called from OCAddGenerators( ocr, ocr.group ); called from OCOneCoboundaries( ocr ) called from OCOneCocycles( ocr, false ); called from ... Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue ================================== From hulpke at math.colostate.edu Thu Oct 27 16:15:39 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Thu, 27 Oct 2011 09:15:39 -0600 Subject: [GAP Forum] An error message in cohomology calculations In-Reply-To: References: Message-ID: Dear Forum, On Oct 26, 2011, at 10/26/11 10:15, Anvita wrote: > I have two seemingly resembling programs one of which > works while the other one does not. In both programs > I check if a certain matrix group splits over its central subgroup > of order two using OneCocycles. What is the reason > of the error message in the second case? OneCocycles assumes that the group is a permutation group or pc group. Complementclasses will work. Regards, 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 From darthandrus at gmail.com Sat Oct 29 12:13:31 2011 From: darthandrus at gmail.com (Ivan Andrus) Date: Sat, 29 Oct 2011 13:13:31 +0200 Subject: [GAP Forum] GAP mode for emacs In-Reply-To: References: <388A5A0F-517B-4C4C-A538-DC5E040266DC@gmail.com> <87sk24etdq.fsfhello@somewhere.com> Message-ID: Hi all, I recently made several improvements to my gap-mode for Emacs including 1. Clickable syntax errors 2. Clickable numbers in help buffer (e.g. after ?ConjugacyClasses) 3. Several bug fixes If you are interested the latest is always at https://bitbucket.org/gvol/gap-mode under the "get source" button (available in .zip, tar.gz, and .tar.bz2) on the right near the top. Any bug reports or suggestions are of course very welcome. I still haven't updated the documentation, but in the meantime looking at the menu should give you an idea of how to use it, and evaluating (customize-group 'gap) will show the customization options. I'm quite comfortable with emacs so I would appreciate some input from someone who is more of a beginner. Anyway, with the GAP beta floating around and nearing release I was wondering if there is anything I can/should do to prepare it for inclusion with GAP? -Ivan On Sep 30, 2010, at 2:10 PM, Attila Egri-Nagy wrote: > Dear Ivan, > > I would very much like to test/use your gap-mode, but I see no file > for downloading (without checking out a repository). Also a few lines > on usage would be helpful. > > Thanks! > best, > attila > > On Thu, Sep 30, 2010 at 1:40 PM, Ivan Andrus wrote: >> This probably isn't the best place for this, but... >> >> I have taken Michael Smith's gap-mode and made what I hope are improvements. I'm using a very recent version of emacs however, so I may have inadvertently made it backwards incompatible. I also haven't tested on Xemacs. The code can be found at https://bitbucket.org/gvol/gap-mode/ so feel free to open an issue there if you have problems or suggestions (or contact me directly via email). >> >> The main improvements are >> 1. font-lock support >> 2. improved local statement functionality >> 3. beginning/end-of-defun functions >> 4. bug fixes in indentation >> 5. converting to defcustom's in gap-mode.el >> >> I haven't touched gap-process.el yet, and may not for a while (I've got other stuff going on). I did remove comint.el since that's been included with Emacs for a long time. Running gap in Emacs seems to work for me, though I haven't tested it much. Thus, if you need that functionality, please don't get rid of your old install! >> >> -Ivan >> >> On Aug 24, 2010, at 11:00 AM, Attila Egri-Nagy wrote: >> >>> Hi, >>> >>> It is crazy but I've been using python-mode for gap files. It gets the >>> comments and strings right, at least... >>> >>> attila >>> >>> >>> On Tue, Aug 24, 2010 at 1:39 AM, Rafael wrote: >>> >>>> Ivan Andrus >>>> writes: >>>> >>>>> I have been using gap-mode for emacs version 1.96 by Michael Smith. >>>>> There are a few things that I would like to add, principally syntax >>>>> highlighting. Has anyone else done this that I couldn't find? Would >>>>> there be interest in an updated version with some improvements? >>>> >>>> This is what I use. It is really far from perfect, but it is something... >>>> >>>> (defun add-custom-keyw() >>>> "adds a few special keywords for gap mode" >>>> (font-lock-add-keywords nil >>>> '( >>>> ("\\bif\\b\\|then\\|else\\|elseif" . 'font-lock-keyword-face ) >>>> ("while\\|\\bdo\\b\\|\\bfi\\b" . 'font-lock-keyword-face ) >>>> ("\\bend\\b\\|return\\|\\bnot\\b\\|function\\|\\blocal\\b" . >>>> 'font-lock-keyword-face ) >>>> ("\\bfor\\b\\|\\bin\\b\\|\\bod\\b\\|\\bmod\\b\\|\\band\\b" . >>>> 'font-lock-keyword-face ) >>>> ("true\\|false" . 'font-lock-constant-face ) >>>> ("Print\\|Length\\|\\bOrbits\\b\\|Subsets\\|Difference" . >>>> 'font-lock-function-name-face ) >>>> ("List\\|OnSets\\|Group\\|Intersection" . >>>> 'font-lock-function-name-face ) >>>> ("IsTransitive\\|OnTuples\\|Concatenation\\|Filtered" . >>>> 'font-lock-function-name-face ) >>>> ("Add\\|Sum\\|SymmetricGroup\\|Filtered\\|RightCosets" . >>>> 'font-lock-function-name-face ) >>>> ("Eigenvalues\\|Rationals\\|" . 'font-lock-function-name-face ) >>>> ("\\bCharacteristicPolynomial\\b" . 'font-lock-function-name-face ) >>>> ("Filtered\\|RightCosets" . 'font-lock-function-name-face ) >>>> ("#.*" . font-lock-comment-face) >>>> ))) >>>> (add-hook 'gap-mode-hook 'add-custom-keyw) >>>> >>>> >>>> _______________________________________________ >>>> Forum mailing list >>>> Forum at mail.gap-system.org >>>> http://mail.gap-system.org/mailman/listinfo/forum >>>> >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >> >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> From fieldsj1 at southernct.edu Sat Oct 29 21:15:01 2011 From: fieldsj1 at southernct.edu (Fields, Joseph) Date: Sat, 29 Oct 2011 16:15:01 -0400 Subject: [GAP Forum] GAP mode for emacs In-Reply-To: References: <388A5A0F-517B-4C4C-A538-DC5E040266DC@gmail.com> <87sk24etdq.fsfhello@somewhere.com> , Message-ID: <77BC7D835359B647A1FBC62BD86C36FF24F097B93A@FACCLS01B.scsu.southernct.edu> Dear Ivan, I've just downloaded and briefly tested your emacs mode for gap. It looks very nice! There is one slight issue that I've noticed, the gap prompt is a bit mangled (could be I've done the install incorrectly...) it looks like ^[[1m^[[34mgap> ^[[0m^[[31m I'm running GNU Emacs 23.3.1. Thanks for your work on this. Best wishes, Joe Joseph E. Fields Professor of Mathematics Southern Connecticut State University http://www.southernct.edu/~fields/ ________________________________________ From: forum-bounces at gap-system.org [forum-bounces at gap-system.org] On Behalf Of Ivan Andrus [darthandrus at gmail.com] Sent: Saturday, October 29, 2011 7:13 AM To: Attila Egri-Nagy Cc: GAP Forum Subject: Re: [GAP Forum] GAP mode for emacs Hi all, I recently made several improvements to my gap-mode for Emacs including 1. Clickable syntax errors 2. Clickable numbers in help buffer (e.g. after ?ConjugacyClasses) 3. Several bug fixes If you are interested the latest is always at https://bitbucket.org/gvol/gap-mode under the "get source" button (available in .zip, tar.gz, and .tar.bz2) on the right near the top. Any bug reports or suggestions are of course very welcome. I still haven't updated the documentation, but in the meantime looking at the menu should give you an idea of how to use it, and evaluating (customize-group 'gap) will show the customization options. I'm quite comfortable with emacs so I would appreciate some input from someone who is more of a beginner. Anyway, with the GAP beta floating around and nearing release I was wondering if there is anything I can/should do to prepare it for inclusion with GAP? -Ivan On Sep 30, 2010, at 2:10 PM, Attila Egri-Nagy wrote: > Dear Ivan, > > I would very much like to test/use your gap-mode, but I see no file > for downloading (without checking out a repository). Also a few lines > on usage would be helpful. > > Thanks! > best, > attila > > On Thu, Sep 30, 2010 at 1:40 PM, Ivan Andrus wrote: >> This probably isn't the best place for this, but... >> >> I have taken Michael Smith's gap-mode and made what I hope are improvements. I'm using a very recent version of emacs however, so I may have inadvertently made it backwards incompatible. I also haven't tested on Xemacs. The code can be found at https://bitbucket.org/gvol/gap-mode/ so feel free to open an issue there if you have problems or suggestions (or contact me directly via email). >> >> The main improvements are >> 1. font-lock support >> 2. improved local statement functionality >> 3. beginning/end-of-defun functions >> 4. bug fixes in indentation >> 5. converting to defcustom's in gap-mode.el >> >> I haven't touched gap-process.el yet, and may not for a while (I've got other stuff going on). I did remove comint.el since that's been included with Emacs for a long time. Running gap in Emacs seems to work for me, though I haven't tested it much. Thus, if you need that functionality, please don't get rid of your old install! >> >> -Ivan >> >> On Aug 24, 2010, at 11:00 AM, Attila Egri-Nagy wrote: >> >>> Hi, >>> >>> It is crazy but I've been using python-mode for gap files. It gets the >>> comments and strings right, at least... >>> >>> attila >>> >>> >>> On Tue, Aug 24, 2010 at 1:39 AM, Rafael wrote: >>> >>>> Ivan Andrus >>>> writes: >>>> >>>>> I have been using gap-mode for emacs version 1.96 by Michael Smith. >>>>> There are a few things that I would like to add, principally syntax >>>>> highlighting. Has anyone else done this that I couldn't find? Would >>>>> there be interest in an updated version with some improvements? >>>> >>>> This is what I use. It is really far from perfect, but it is something... >>>> >>>> (defun add-custom-keyw() >>>> "adds a few special keywords for gap mode" >>>> (font-lock-add-keywords nil >>>> '( >>>> ("\\bif\\b\\|then\\|else\\|elseif" . 'font-lock-keyword-face ) >>>> ("while\\|\\bdo\\b\\|\\bfi\\b" . 'font-lock-keyword-face ) >>>> ("\\bend\\b\\|return\\|\\bnot\\b\\|function\\|\\blocal\\b" . >>>> 'font-lock-keyword-face ) >>>> ("\\bfor\\b\\|\\bin\\b\\|\\bod\\b\\|\\bmod\\b\\|\\band\\b" . >>>> 'font-lock-keyword-face ) >>>> ("true\\|false" . 'font-lock-constant-face ) >>>> ("Print\\|Length\\|\\bOrbits\\b\\|Subsets\\|Difference" . >>>> 'font-lock-function-name-face ) >>>> ("List\\|OnSets\\|Group\\|Intersection" . >>>> 'font-lock-function-name-face ) >>>> ("IsTransitive\\|OnTuples\\|Concatenation\\|Filtered" . >>>> 'font-lock-function-name-face ) >>>> ("Add\\|Sum\\|SymmetricGroup\\|Filtered\\|RightCosets" . >>>> 'font-lock-function-name-face ) >>>> ("Eigenvalues\\|Rationals\\|" . 'font-lock-function-name-face ) >>>> ("\\bCharacteristicPolynomial\\b" . 'font-lock-function-name-face ) >>>> ("Filtered\\|RightCosets" . 'font-lock-function-name-face ) >>>> ("#.*" . font-lock-comment-face) >>>> ))) >>>> (add-hook 'gap-mode-hook 'add-custom-keyw) >>>> >>>> >>>> _______________________________________________ >>>> Forum mailing list >>>> Forum at mail.gap-system.org >>>> http://mail.gap-system.org/mailman/listinfo/forum >>>> >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >> >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From nikos.ap at gmail.com Sun Oct 30 01:19:42 2011 From: nikos.ap at gmail.com (Nikos Apostolakis) Date: Sun, 30 Oct 2011 00:19:42 +0000 Subject: [GAP Forum] GAP mode for emacs In-Reply-To: <77BC7D835359B647A1FBC62BD86C36FF24F097B93A@FACCLS01B.scsu.southernct.edu> References: <388A5A0F-517B-4C4C-A538-DC5E040266DC@gmail.com> <87sk24etdq.fsfhello@somewhere.com> <77BC7D835359B647A1FBC62BD86C36FF24F097B93A@FACCLS01B.scsu.southernct.edu> Message-ID: On Sat, Oct 29, 2011 at 8:15 PM, Fields, Joseph wrote: > Dear Ivan, > I've just downloaded and briefly tested your emacs mode > for gap. ?It looks very nice! ?There is one slight issue that > I've noticed, the gap prompt is a bit mangled (could be I've > done the install incorrectly...) it looks like > ^[[1m^[[34mgap> ^[[0m^[[31m > It seems that comint-mode does not interpret the control sequences to color. Try "M-x ansi-color-for-comint-mode-on". HTH, Nikos Apostolakis From darthandrus at gmail.com Sun Oct 30 15:42:13 2011 From: darthandrus at gmail.com (Ivan Andrus) Date: Sun, 30 Oct 2011 16:42:13 +0100 Subject: [GAP Forum] GAP mode for emacs In-Reply-To: <77BC7D835359B647A1FBC62BD86C36FF24F097B93A@FACCLS01B.scsu.southernct.edu> References: <388A5A0F-517B-4C4C-A538-DC5E040266DC@gmail.com> <87sk24etdq.fsfhello@somewhere.com> , <77BC7D835359B647A1FBC62BD86C36FF24F097B93A@FACCLS01B.scsu.southernct.edu> Message-ID: Oops, I forgot to include the forum... This should be fixed now. Thanks, Ivan On Oct 29, 2011, at 10:15 PM, Fields, Joseph wrote: > Dear Ivan, > I've just downloaded and briefly tested your emacs mode > for gap. It looks very nice! There is one slight issue that > I've noticed, the gap prompt is a bit mangled (could be I've > done the install incorrectly...) it looks like > ^[[1m^[[34mgap> ^[[0m^[[31m > > I'm running GNU Emacs 23.3.1. > > Thanks for your work on this. > > Best wishes, > Joe > > Joseph E. Fields > Professor of Mathematics > Southern Connecticut State University > http://www.southernct.edu/~fields/ > > ________________________________________ > From: forum-bounces at gap-system.org [forum-bounces at gap-system.org] On Behalf Of Ivan Andrus [darthandrus at gmail.com] > Sent: Saturday, October 29, 2011 7:13 AM > To: Attila Egri-Nagy > Cc: GAP Forum > Subject: Re: [GAP Forum] GAP mode for emacs > > Hi all, > > I recently made several improvements to my gap-mode for Emacs including > > 1. Clickable syntax errors > 2. Clickable numbers in help buffer (e.g. after ?ConjugacyClasses) > 3. Several bug fixes > > If you are interested the latest is always at https://bitbucket.org/gvol/gap-mode under the "get source" button (available in .zip, tar.gz, and .tar.bz2) on the right near the top. > > Any bug reports or suggestions are of course very welcome. I still haven't updated the documentation, but in the meantime looking at the menu should give you an idea of how to use it, and evaluating (customize-group 'gap) will show the customization options. I'm quite comfortable with emacs so I would appreciate some input from someone who is more of a beginner. > > Anyway, with the GAP beta floating around and nearing release I was wondering if there is anything I can/should do to prepare it for inclusion with GAP? > > -Ivan > > On Sep 30, 2010, at 2:10 PM, Attila Egri-Nagy wrote: > >> Dear Ivan, >> >> I would very much like to test/use your gap-mode, but I see no file >> for downloading (without checking out a repository). Also a few lines >> on usage would be helpful. >> >> Thanks! >> best, >> attila >> >> On Thu, Sep 30, 2010 at 1:40 PM, Ivan Andrus wrote: >>> This probably isn't the best place for this, but... >>> >>> I have taken Michael Smith's gap-mode and made what I hope are improvements. I'm using a very recent version of emacs however, so I may have inadvertently made it backwards incompatible. I also haven't tested on Xemacs. The code can be found at https://bitbucket.org/gvol/gap-mode/ so feel free to open an issue there if you have problems or suggestions (or contact me directly via email). >>> >>> The main improvements are >>> 1. font-lock support >>> 2. improved local statement functionality >>> 3. beginning/end-of-defun functions >>> 4. bug fixes in indentation >>> 5. converting to defcustom's in gap-mode.el >>> >>> I haven't touched gap-process.el yet, and may not for a while (I've got other stuff going on). I did remove comint.el since that's been included with Emacs for a long time. Running gap in Emacs seems to work for me, though I haven't tested it much. Thus, if you need that functionality, please don't get rid of your old install! >>> >>> -Ivan >>> >>> On Aug 24, 2010, at 11:00 AM, Attila Egri-Nagy wrote: >>> >>>> Hi, >>>> >>>> It is crazy but I've been using python-mode for gap files. It gets the >>>> comments and strings right, at least... >>>> >>>> attila >>>> >>>> >>>> On Tue, Aug 24, 2010 at 1:39 AM, Rafael wrote: >>>> >>>>> Ivan Andrus >>>>> writes: >>>>> >>>>>> I have been using gap-mode for emacs version 1.96 by Michael Smith. >>>>>> There are a few things that I would like to add, principally syntax >>>>>> highlighting. Has anyone else done this that I couldn't find? Would >>>>>> there be interest in an updated version with some improvements? >>>>> >>>>> This is what I use. It is really far from perfect, but it is something... >>>>> >>>>> (defun add-custom-keyw() >>>>> "adds a few special keywords for gap mode" >>>>> (font-lock-add-keywords nil >>>>> '( >>>>> ("\\bif\\b\\|then\\|else\\|elseif" . 'font-lock-keyword-face ) >>>>> ("while\\|\\bdo\\b\\|\\bfi\\b" . 'font-lock-keyword-face ) >>>>> ("\\bend\\b\\|return\\|\\bnot\\b\\|function\\|\\blocal\\b" . >>>>> 'font-lock-keyword-face ) >>>>> ("\\bfor\\b\\|\\bin\\b\\|\\bod\\b\\|\\bmod\\b\\|\\band\\b" . >>>>> 'font-lock-keyword-face ) >>>>> ("true\\|false" . 'font-lock-constant-face ) >>>>> ("Print\\|Length\\|\\bOrbits\\b\\|Subsets\\|Difference" . >>>>> 'font-lock-function-name-face ) >>>>> ("List\\|OnSets\\|Group\\|Intersection" . >>>>> 'font-lock-function-name-face ) >>>>> ("IsTransitive\\|OnTuples\\|Concatenation\\|Filtered" . >>>>> 'font-lock-function-name-face ) >>>>> ("Add\\|Sum\\|SymmetricGroup\\|Filtered\\|RightCosets" . >>>>> 'font-lock-function-name-face ) >>>>> ("Eigenvalues\\|Rationals\\|" . 'font-lock-function-name-face ) >>>>> ("\\bCharacteristicPolynomial\\b" . 'font-lock-function-name-face ) >>>>> ("Filtered\\|RightCosets" . 'font-lock-function-name-face ) >>>>> ("#.*" . font-lock-comment-face) >>>>> ))) >>>>> (add-hook 'gap-mode-hook 'add-custom-keyw) >>>>> >>>>> >>>>> _______________________________________________ >>>>> Forum mailing list >>>>> Forum at mail.gap-system.org >>>>> http://mail.gap-system.org/mailman/listinfo/forum >>>>> >>>> _______________________________________________ >>>> Forum mailing list >>>> Forum at mail.gap-system.org >>>> http://mail.gap-system.org/mailman/listinfo/forum >>> >>> >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >>> > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > From gordon.royle at uwa.edu.au Thu Nov 3 08:44:55 2011 From: gordon.royle at uwa.edu.au (Gordon Royle) Date: Thu, 3 Nov 2011 16:44:55 +0800 Subject: [GAP Forum] Compiling GAP 4r5 Message-ID: <8783577B-6041-4A65-8FC6-F73FD1A33EEC@uwa.edu.au> On both Linux and Mac OS I am having trouble compiling GAP 4r5 from scratch. In each case, GMP is not installed system-wide and so the included-GMP is compiled instead, and this compilation fails - actually it is not the compilation that fails, but the GMP "self-check" after it has compiled. ***Error: GMP self-check has failed. See bin/x86_64-apple-darwin11.2.0-gcc/64-bit/extern/gmp-5.0.1/check_log for details.*** make[1]: *** [gmp_build] Error 1 make: *** [extern] Error 2 When I actually look at the "check_log" for details as instructed, it says: make[2]: *** No rule to make target check'. Stop. (Yes, just one line in the file) On one system I don't have root privileges to install GMP system-wide and I'd rather not do it on the other system if I can just use a supplied GMP ? Please advise! Thanks Gordon Professor Gordon Royle School of Mathematics and Statistics University of Western Australia Gordon.Royle at uwa.edu.au From Bill.Allombert at math.u-bordeaux1.fr Thu Nov 3 10:02:57 2011 From: Bill.Allombert at math.u-bordeaux1.fr (Bill Allombert) Date: Thu, 3 Nov 2011 11:02:57 +0100 Subject: [GAP Forum] Compiling GAP 4r5 In-Reply-To: <8783577B-6041-4A65-8FC6-F73FD1A33EEC@uwa.edu.au> References: <8783577B-6041-4A65-8FC6-F73FD1A33EEC@uwa.edu.au> Message-ID: <20111103100257.GB2515@yellowpig> On Thu, Nov 03, 2011 at 04:44:55PM +0800, Gordon Royle wrote: > On both Linux and Mac OS I am having trouble compiling GAP 4r5 from scratch. > > In each case, GMP is not installed system-wide and so the included-GMP is compiled instead, and this compilation fails - actually it is not the compilation that fails, but the GMP "self-check" after it has compiled. > > ***Error: GMP self-check has failed. See bin/x86_64-apple-darwin11.2.0-gcc/64-bit/extern/gmp-5.0.1/check_log for details.*** > > make[1]: *** [gmp_build] Error 1 > make: *** [extern] Error 2 > > When I actually look at the "check_log" for details as instructed, it says: > > make[2]: *** No rule to make target check'. Stop. > > (Yes, just one line in the file) > > > On one system I don't have root privileges to install GMP system-wide and I'd rather not do it on the other system if I can just use a supplied GMP ? > > Please advise! What C compiler are you using, and what version ? Mac OS 10.7 default compiler is notoriously buggy. Cheers, Bill. From Bill.Allombert at math.u-bordeaux1.fr Thu Nov 3 10:02:57 2011 From: Bill.Allombert at math.u-bordeaux1.fr (Bill Allombert) Date: Thu, 3 Nov 2011 11:02:57 +0100 Subject: [GAP Forum] Compiling GAP 4r5 In-Reply-To: <8783577B-6041-4A65-8FC6-F73FD1A33EEC@uwa.edu.au> References: <8783577B-6041-4A65-8FC6-F73FD1A33EEC@uwa.edu.au> Message-ID: <20111103100257.GB2515@yellowpig> On Thu, Nov 03, 2011 at 04:44:55PM +0800, Gordon Royle wrote: > On both Linux and Mac OS I am having trouble compiling GAP 4r5 from scratch. > > In each case, GMP is not installed system-wide and so the included-GMP is compiled instead, and this compilation fails - actually it is not the compilation that fails, but the GMP "self-check" after it has compiled. > > ***Error: GMP self-check has failed. See bin/x86_64-apple-darwin11.2.0-gcc/64-bit/extern/gmp-5.0.1/check_log for details.*** > > make[1]: *** [gmp_build] Error 1 > make: *** [extern] Error 2 > > When I actually look at the "check_log" for details as instructed, it says: > > make[2]: *** No rule to make target check'. Stop. > > (Yes, just one line in the file) > > > On one system I don't have root privileges to install GMP system-wide and I'd rather not do it on the other system if I can just use a supplied GMP ? > > Please advise! What C compiler are you using, and what version ? Mac OS 10.7 default compiler is notoriously buggy. Cheers, Bill. From mum2gandj at gmail.com Thu Nov 3 12:17:00 2011 From: mum2gandj at gmail.com (denise wilson) Date: Thu, 3 Nov 2011 08:17:00 -0400 Subject: [GAP Forum] clearing throat frequently Message-ID: Hi, I have been on the gaps diet for about a month now. I did about 2 weeks of the intro diet and have now moved to full gaps. For about a week now I have had a lot of throat clearing. I'm not discharging phlegm but in my throat there is something. I used to experience this periodically when I had dairy or other things that I assumed I didn't tolerate however I am off dairy and can't think of what could be causing this. Could it be a food or has anyone ever had this experience with die off? I am also a bit bloated and had gas yesterday. The bloating is something I am used to experiencing, the gas is not. Any help would be appreciated. Thanks, Denise From jjm at mcs.st-and.ac.uk Thu Nov 3 12:23:49 2011 From: jjm at mcs.st-and.ac.uk (John McDermott) Date: Thu, 3 Nov 2011 12:23:49 +0000 Subject: [GAP Forum] clearing throat frequently In-Reply-To: References: Message-ID: <3FE04401-CDC0-4F61-BD63-C35E0F5DE75B@mcs.st-andrews.ac.uk> Dear Denise, On 3 Nov 2011, at 12:17, denise wilson wrote: > Hi, I have been on the gaps diet for about a month now. I did about 2 > weeks of the intro diet and have now moved to full gaps. For about a week > now I have had a lot of throat clearing. I'm not discharging phlegm but in > my throat there is something. I used to experience this periodically when > I had dairy or other things that I assumed I didn't tolerate however I am > off dairy and can't think of what could be causing this. Could it be a > food or has anyone ever had this experience with die off? I am also a bit > bloated and had gas yesterday. The bloating is something I am used to > experiencing, the gas is not. > > Any help would be appreciated. You have mistakenly joined and written to a mailing list which is about the mathematical software GAP and nothing to do with a 'gaps diet'. You will need to do some further searching online to find an appropriate forum. I will cancel your membership of this list. Best wishes, John > Thanks, > Denise > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- John McDermott Centre for Interdisciplinary Research in Computational Algebra University of St Andrews From nehamakhijani at gmail.com Fri Nov 4 09:14:47 2011 From: nehamakhijani at gmail.com (Neha Makhijani) Date: Fri, 4 Nov 2011 14:44:47 +0530 Subject: [GAP Forum] RadicalOfAlgebra Message-ID: Hello, Could you please tell me as to where can I find the code for the standard RadicalOfAlgebra method in GAP?? I wanted to see the theory behind how it computes the radical as I could not find a detailed documentation for it. Thanks in advance! Neha From darthandrus at gmail.com Fri Nov 4 17:11:01 2011 From: darthandrus at gmail.com (Ivan Andrus) Date: Fri, 4 Nov 2011 18:11:01 +0100 Subject: [GAP Forum] RadicalOfAlgebra In-Reply-To: References: Message-ID: Neha, You can use ApplicableMethod to find which function will be run from an operation. You have to pass it the argument list, in this case just a list of the algebra you are interested in. For example Display(ApplicableMethod(RadicalOfAlgebra,[QuaternionAlgebra(Rationals)])); will show the function that will be used first when called on the quaternion algebra over the rationals. ApplicableMethod can also tell you much more, but that's left as an exercise to the interested reader. :-) -Ivan On Nov 4, 2011, at 10:14 AM, Neha Makhijani wrote: > Hello, > > Could you please tell me as to where can I find the code for the standard > RadicalOfAlgebra method in GAP?? I wanted to see the theory behind how it > computes the radical as I could not find a detailed documentation for it. > > Thanks in advance! > > Neha > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From sandeepr.murthy at gmail.com Sat Nov 5 17:36:13 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Sat, 5 Nov 2011 17:36:13 +0000 Subject: [GAP Forum] Problems relating to the openmath package Message-ID: <74DFD9E6-5D87-416F-9F2E-522F33B5E879@gmail.com> Hello. I want to use the openmath package, but have run into some strange problems in trying to installing it. I downloaded the package file, and unzipped it inside the pkg subdirectly inside the gap4r4 folder. According to the README file, I am supposed to compile a C file with name 'configure' inside the pkg/openmath/OMCv1.3c/src subdirectory with the command: /bin/sh ./configure Initially, the gcc compiler (on my MacBook running Mac OS X 10.6.8) did not work, this was the error message: loading cache ./config.cache checking for gcc... (cached) gcc checking whether the C compiler (gcc ) works... no configure: error: installation or configuration problem: C compiler cannot create executables. So installed the XCode tools package from the Leopard upgrade CD and recompiled. This was the output: loading cache ./config.cache ./configure: line 508: /dev/null: Permission denied checking for gcc... (cached) gcc checking whether the C compiler (gcc ) works... ./configure: line 635: /dev/null: Permission denied yes checking whether the C compiler (gcc ) is a cross-compiler... yes checking whether we are using GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking how to run the C preprocessor... (cached) gcc -E checking for ranlib... (cached) ranlib checking for a BSD compatible install... (cached) /usr/bin/install -c checking for connect... (cached) yes checking for gethostbyname... (cached) yes checking for ANSI C header files... (cached) yes checking for fcntl.h... (cached) yes checking for strings.h... (cached) yes checking for sys/time.h... (cached) yes checking for unistd.h... (cached) yes checking fd_set and sys/select... yes checking for working const... (cached) yes checking for size_t... (cached) yes checking whether time.h and sys/time.h may both be included... (cached) yes checking whether struct tm is in sys/time.h or time.h... (cached) time.h checking for strftime... (cached) yes checking for vprintf... (cached) yes checking for gethostname... (cached) yes checking for select... (cached) yes checking for socket... (cached) yes checking for strdup... (cached) yes checking for strtod... (cached) yes checking for strtol... (cached) yes updating cache ./config.cache creating ./config.status ./configure: line 1834: /dev/null: Permission denied creating Makefile creating OMconfig.h ./config.status: line 266: /dev/null: Permission denied When I tried to run GAP after this: /Applications/gap4r4/bin/i686-apple-darwin9.6.0-gcc/gap -m 256m -l /Applications/gap4r4/ I got the following error message: Bus error. I cannot run GAP 4 at all now. I would appreciate some help. Sincerely, Sandeep. From degraaf at science.unitn.it Mon Nov 7 10:34:07 2011 From: degraaf at science.unitn.it (Willem De Graaf) Date: Mon, 7 Nov 2011 11:34:07 +0100 (CET) Subject: [GAP Forum] RadicalOfAlgebra Message-ID: <56480.192.168.213.43.1320662047.squirrel@www.science.unitn.it> Dear Neha, You asked: > Could you please tell me as to where can I find the code for the standard > RadicalOfAlgebra method in GAP?? I wanted to see the theory behind how it > computes the radical as I could not find a detailed documentation for it. The code for matrix algebras is in lib/algmat.gi; I also append it below. It contains a reference. For non-matrix algebras first a faithful representation is computed, and then the code for matrix algebras is used. Best wishes, Willem ############################################################################# ## #M RadicalOfAlgebra( ) . . . . . . . . for an associative matrix algebra ## ## The radical of an associative algebra defined as the ideal of all ## elements$x$of such that$x y$is nilpotent for all$y$in . ## ## For Gaussian matrix algebras this is easy to calculate, ## for arbitrary associative algebras the task is reduced to the ## Gaussian matrix algebra case. ## ## The implementation of the characterisitc p>0 part is by Craig Struble. ## InstallMethod( RadicalOfAlgebra, "for associative Gaussian matrix algebra", true, [ IsAlgebra and IsGaussianMatrixSpace and IsMatrixFLMLOR ], 0, function( A ) local F, # the field of A p, # the characteristic of F q, # the size of F n, # the dimension of A ident, # the identity matrix bas, # a list of basis vectors of A minusOne, # -1 in F eqs, # equation set i,j, # loop variables G, # Gram matrix I, # a list of basis vectors of an ideal of A I_prime, # I \cup ident changed, # flag denoted if$I_i <> I_{i-1}$in ideal sequence pexp, # a power of the prime p dim, # the dimension of the vector space where A acts on charPoly, # characteristic polynomials of elements in A invFrob, # inverse of the Frobenius map of F invFrobexp, # a power of the invFrob r, r_prime; # the length of I and I_prime # Check associativity. if not IsAssociative( A ) then TryNextMethod(); fi; if Dimension( A ) = 0 then return A; fi; F:= LeftActingDomain( A ); p:= Characteristic( F ); n:= Dimension( A ); bas:= BasisVectors( Basis( A ) ); if p = 0 then # First we treat the characteristic 0 case. # According to Dickson's theorem we have that in this case # the radical of A' is$\{ x\in A \mid Tr(xy) = 0 \forall y \in A \}$, # so it can be computed by solving a system of linear equations. eqs:= List( [ 1 .. n ], x -> [] ); for i in [1..n] do for j in [i..n] do eqs[i][j]:= TraceMat( bas[i] * bas[j] ); eqs[j][i]:= eqs[i][j]; od; od; return SubalgebraNC( A, List( NullspaceMat( eqs ), x -> LinearCombination( bas, x ) ), "basis" ); else # If p' is greater than 0, then the situation is more difficult. # We implement the algorithm presented in # "Cohen, Arjeh M, G\'{a}bor Ivanyos, and David B. Wales, # 'Finding the radical of an algebra of linear tranformations,' # Journal of Pure and Applied Algebra 117 & 118 (1997), 177-193". q := Size( F ); dim := Length( bas[1] ); pexp := 1; invFrob := InverseGeneralMapping(FrobeniusAutomorphism(F)); invFrobexp := invFrob; minusOne := -One(F); ident := IdentityMat( dim, F ); changed := true; I := ShallowCopy( bas ); # Compute the sequence of ideals$I_i$(see the paper by Cohen, et.al.) while pexp <= dim do # These values need recomputation only when$I_i <> I_{i-1}$if changed then I_prime := ShallowCopy( I ); if not ident in I_prime then Add( I_prime, ident ); fi; r := Length( I ); r_prime := Length( I_prime ); eqs := NullMat( r, r_prime, F ); charPoly := List( [1..r], x -> [] ); for i in [1..r] do for j in [1..r_prime] do charPoly[i][j] := CoefficientsOfUnivariatePolynomial( CharacteristicPolynomial( F, F, I[i]*I_prime[j] ) ); od; od; changed := false; fi; for i in [1..r] do for j in [1..r_prime] do eqs[i][j] := minusOne^pexp * charPoly[i][j][dim-pexp+1]; od; od; G := NullspaceMat( eqs ); if Length( G ) = 0 then return TrivialSubalgebra( A ); elif Length( G ) <> r then #$I_i <> I_{i-1}$, so compute the basis for$I_i\$ changed := true; if 1 < pexp and pexp < q then G := List( G, x -> List( x, y -> y^invFrobexp ) ); fi; I := List( G, x -> LinearCombination( I, x ) ); fi; # prepare for next step invFrobexp := invFrobexp * invFrob; pexp := pexp*p; od; return SubalgebraNC( A, I, "basis" ); fi; end ); From alexk at mcs.st-andrews.ac.uk Mon Nov 7 17:53:40 2011 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 7 Nov 2011 17:53:40 +0000 Subject: [GAP Forum] Problems relating to the openmath package In-Reply-To: <74DFD9E6-5D87-416F-9F2E-522F33B5E879@gmail.com> References: <74DFD9E6-5D87-416F-9F2E-522F33B5E879@gmail.com> Message-ID: Hello Sandeep, Thank you for your interest in the OpenMath package. First, there is a new version 11.0.0 available at http://www.cs.st-andrews.ac.uk/~alexk/openmath/ which will be shortly available also in the merged packages archive redistributed from the GAP website. This version does not use external binaries so does not require compilation. Also, if you wish to use a related package SCSCP, then its matching version could be found at http://www.cs.st-andrews.ac.uk/~alexk/scscp/ - it will be also linked from the GAP site soon. For the previous version of the OpenMath package, compilation was not mandatory - sorry if this was unclear from the manual and lead you to a broken system. Almost all functionality was working without compilation, and it was only the support of the binary OpenMath encoding that required the INRIA OpenMath library. Since binary OpenMath encoding is now implemented entirely in GAP by Max Nicosia during his internship in summer 2010, we do not need to compile and use external binaries any more. Now how to fix your GAP installation. Compiling OpenMath does nothing with the GAP kernel, and OpenMath package is not autoloaded. Therefore my guess would be that you have to recompile the GAP kernel which you probably did last time long time ago - you have Mac OS 10.6.8 which corresponds to "i686-apple-darwin10.8.0-gcc", but in the GAP launching string you still have "i686-apple-darwin9.6.0-gcc". It might be that after XCode tools update running old binaries was no longer possible. There are errors like "/dev/null: Permission denied" which worry me, but this is in pkg/openmath/OMCv1.3c/src/configure and not in GAP's main 'configure' - the latter hopefully will be fine. Please let me know if you will succeed with restoring your GAP 4.4.12 installation back to work. Hope this helps, Alexander On 5 Nov 2011, at 17:36, Sandeep Murthy wrote: > Hello. > > I want to use the openmath package, but have run into some > strange problems in trying to installing it. > > I downloaded the package file, and unzipped it inside the > pkg subdirectly inside the gap4r4 folder. According to the > README file, I am supposed to compile a C file with name > 'configure' inside the pkg/openmath/OMCv1.3c/src subdirectory > with the command: > > /bin/sh ./configure > > Initially, the gcc compiler (on my MacBook running Mac OS X 10.6.8) > did not work, this was the error message: > > loading cache ./config.cache > checking for gcc... (cached) gcc > checking whether the C compiler (gcc ) works... no > configure: error: installation or configuration problem: C compiler cannot create executables. > > So installed the XCode tools package from the Leopard upgrade CD > and recompiled. This was the output: > > loading cache ./config.cache > ./configure: line 508: /dev/null: Permission denied > checking for gcc... (cached) gcc > checking whether the C compiler (gcc ) works... ./configure: line 635: /dev/null: Permission denied > yes > checking whether the C compiler (gcc ) is a cross-compiler... yes > checking whether we are using GNU C... (cached) yes > checking whether gcc accepts -g... (cached) yes > checking how to run the C preprocessor... (cached) gcc -E > checking for ranlib... (cached) ranlib > checking for a BSD compatible install... (cached) /usr/bin/install -c > checking for connect... (cached) yes > checking for gethostbyname... (cached) yes > checking for ANSI C header files... (cached) yes > checking for fcntl.h... (cached) yes > checking for strings.h... (cached) yes > checking for sys/time.h... (cached) yes > checking for unistd.h... (cached) yes > checking fd_set and sys/select... yes > checking for working const... (cached) yes > checking for size_t... (cached) yes > checking whether time.h and sys/time.h may both be included... (cached) yes > checking whether struct tm is in sys/time.h or time.h... (cached) time.h > checking for strftime... (cached) yes > checking for vprintf... (cached) yes > checking for gethostname... (cached) yes > checking for select... (cached) yes > checking for socket... (cached) yes > checking for strdup... (cached) yes > checking for strtod... (cached) yes > checking for strtol... (cached) yes > updating cache ./config.cache > creating ./config.status > ./configure: line 1834: /dev/null: Permission denied > creating Makefile > creating OMconfig.h > ./config.status: line 266: /dev/null: Permission denied > > When I tried to run GAP after this: > > /Applications/gap4r4/bin/i686-apple-darwin9.6.0-gcc/gap -m 256m -l /Applications/gap4r4/ > > I got the following error message: > > Bus error. > > I cannot run GAP 4 at all now. I would appreciate some help. > > Sincerely, Sandeep. > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Dr. Alexander Konovalov School of Computer Science & Centre for Interdisciplinary Research in Computational Algebra University of St Andrews Tel +44/0 (1334) 461633 http://www.cs.st-andrews.ac.uk/~alexk Fax +44/0 (1334) 463278 The University of St Andrews is a charity registered in Scotland:No.SC013532 From johannes.hahn at uni-jena.de Tue Nov 8 15:53:16 2011 From: johannes.hahn at uni-jena.de (Johannes Hahn) Date: Tue, 08 Nov 2011 16:53:16 +0100 Subject: [GAP Forum] Multivariate Laurent-Polynomials Message-ID: <1320767596.1573.17.camel@hahn-desktop> Hi everyone. I'm currently working on some stuff with Hecke-algebras and as there is still no CHEVIE for GAP4, I implemented the features I need myself. It works fine (more or less) for the equal-parameter case. It would work equally fine for the multiparameter-case (almost) without changes if there was a good way to deal with multivariate Laurent polynomials. So what do want to do? I want to specify a monomial ordering (i.e. a total ordering of Z^r which is invariant under addition) and be able to do these three elementary things: - extract to lowest exponent (w.r.t. the chosen ordering) and its coefficient - split a Laurent polynomial into the part consisting of all terms with positive exponent, the part with negative exponents and the coefficient for the exponent zero. - apply the bar-automorphism, i.e. I want to be able to flip all signs in the exponents. Did I just overlook these features in the reference? If not: Are they hidden somewhere in the system and just not documented or is there at least a package that does these things? Johannes Hahn (University Jena, Germany) From hulpke at math.colostate.edu Tue Nov 8 17:59:45 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Tue, 8 Nov 2011 10:59:45 -0700 Subject: [GAP Forum] Multivariate Laurent-Polynomials In-Reply-To: <1320767596.1573.17.camel@hahn-desktop> References: <1320767596.1573.17.camel@hahn-desktop> Message-ID: Dear Forum, Dear Johannes Hahn, > I'm currently working on some stuff with Hecke-algebras and as there is > still no CHEVIE for GAP4, I implemented the features I need myself. It > works fine (more or less) for the equal-parameter case. It would work > equally fine for the multiparameter-case (almost) without changes if > there was a good way to deal with multivariate Laurent polynomials. GAP currently does not have a special representation for multivariate Laurent polynomials, but as it allows for multivariate rational functions, you could add the functionality you desire with moderate work: In rational function representation, the denominator is simply the lowest exponent occurring, exponents in the numerator then just have to be considered as shifted. > > So what do want to do? I want to specify a monomial ordering (i.e. a > total ordering of Z^r which is invariant under addition) and be able to > do these three elementary things: > - extract to lowest exponent (w.r.t. the chosen ordering) and its > coefficient > - split a Laurent polynomial into the part consisting of all terms with > positive exponent, the part with negative exponents and the coefficient > for the exponent zero. In rational function representation, the denominator is simply the lowest exponent occurring, exponents in the numerator then just have to be considered as shifted. This lets you easily build these two functions. > > - apply the bar-automorphism, i.e. I want to be able to flip all signs > in the exponents. If vars is your list of variables, then invvars:=List(vars,x->1/x); Value(ratfun,vars,invvars); will do so. 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 From lisette.brillemans at mensa.nl Mon Nov 14 20:38:33 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Mon, 14 Nov 2011 21:38:33 +0100 Subject: [GAP Forum] How can I read integers from a file? Message-ID: <1321303113.19818.2.camel@agnieszka-desktop> Hello all! I would like to read some integers from a text file into my program. So the file looks something like this: 34,56,12,8,75,4,23 and I would like a program to read these integers into a file. I would like to know how to do this and many thanks in advance for any help. Lisette From lisette.brillemans at mensa.nl Mon Nov 14 20:55:38 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Mon, 14 Nov 2011 21:55:38 +0100 Subject: [GAP Forum] How can I read integers from a file? Message-ID: <1321304138.20235.0.camel@agnieszka-desktop> Hello all! I would like to read some integers from a text file into my program. So the file looks something like this: 34,56,12,8,75,4,23 and I would like a program to read these integers into a file. I would like to know how to do this and many thanks in advance for any help. Lisette From stefan at mcs.st-and.ac.uk Mon Nov 14 21:10:45 2011 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Mon, 14 Nov 2011 21:10:45 -0000 (UTC) Subject: [GAP Forum] How can I read integers from a file? In-Reply-To: <1321304138.20235.0.camel@agnieszka-desktop> References: <1321304138.20235.0.camel@agnieszka-desktop> Message-ID: Dear Forum, Lisette Brillemans wrote: > I would like to read some integers from a text file into my program. > So the file looks something like this: > > 34,56,12,8,75,4,23 > > and I would like a program to read these integers into a file. > > I would like to know how to do this and many thanks in advance for any > help. This can be done as follows : gap> numbers := List(SplitString(StringFile("C:/GAP/NUMBERS.TXT"),",","\r\n"),Int); [ 34, 56, 12, 8, 75, 4, 23 ] Of course "C:/GAP/NUMBERS.TXT" needs to be replaced by the path and name of your file. Hope this helps, Stefan Kohl From odabasalper at gmail.com Tue Nov 15 11:56:01 2011 From: odabasalper at gmail.com (=?ISO-8859-9?Q?Alper_Odaba=FE?=) Date: Tue, 15 Nov 2011 13:56:01 +0200 Subject: [GAP Forum] GroupAlgebra Endomorphisms? Message-ID: Hello Users, Is there any function in GAP that calculate of all endomorphisms of groupring (or group algebra)? There is a similiar function for groups in sonata share package name as Endomorphisms. Best wishes Alper Odabas From lisette.brillemans at mensa.nl Tue Nov 15 16:21:02 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Tue, 15 Nov 2011 17:21:02 +0100 Subject: [GAP Forum] combinations and permutations Message-ID: <1321374062.28908.3.camel@agnieszka-desktop> Hello all! I've been using GAP for some time now and I'm wondering why the Permutations-function is called PermuationsList, the Partitions-function PartitionsSet and the Combination-function simply Combinations. They all return a set, so why is there this difference? Lisette From lisette.brillemans at mensa.nl Tue Nov 15 23:32:01 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Wed, 16 Nov 2011 00:32:01 +0100 Subject: [GAP Forum] disjoint pairs Message-ID: <1321399921.31558.7.camel@agnieszka-desktop> Hello everybody! Is there a function in GAP that returns all possible pairs of disjoint combinations of a (subset of a) list? So if I have for example a list [1,2,3,4,5] it should return: [ [1,2],[3,4] ] [ [1,2],[3,5] ] [ [1,2],[4,5] ] ... [ [1,2],[3] ] [ [1,2],[4] ] ... [ [1,2,3],[4,5] ] [ [1,2,4],[3,5] ] ... [ [1,2,3],[4] ] [ [1,2,3],[5] ] ... [ [1,2,3,4],[5] ] [ [1,2,3,5],[4] ] ... And all other possible pairs. For any useful answer you will receive eternal thanks. Lisette From burkhard at hoefling.name Wed Nov 16 00:45:34 2011 From: burkhard at hoefling.name (=?iso-8859-1?Q?Burkhard_H=F6fling?=) Date: Wed, 16 Nov 2011 01:45:34 +0100 Subject: [GAP Forum] disjoint pairs In-Reply-To: <1321399921.31558.7.camel@agnieszka-desktop> References: <1321399921.31558.7.camel@agnieszka-desktop> Message-ID: <8E03D5B9-1C69-430F-A9EC-073C4AF11FF9@hoefling.name> On 2011-11-16, at 00:32 , Lisette Brillemans wrote: > Hello everybody! > > Is there a function in GAP that returns all possible pairs of disjoint > combinations of a (subset of a) list? There isn't a single function, but you can easily build one. Essentially two nested for-loops. A short way to do this is s := [1..5]; Concatenation (List (Combinations (s), t -> List (Combinations(Difference (s,t)), u -> [t, u]))); or, if you don't want to allow the empty set, Concatenation (List (Filtered (Combinations (s), t -> not IsEmpty(t)), t -> List (Filtered (Combinations(Difference (s,t)), u -> not IsEmpty(u)), u -> [t, u]))); Cheers Burkhard. From lisette.brillemans at mensa.nl Wed Nov 16 00:47:47 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Wed, 16 Nov 2011 01:47:47 +0100 Subject: [GAP Forum] something strange... Message-ID: <1321404467.313.8.camel@agnieszka-desktop> Hello I defined a function 'pair' as: pair:=function(x,y) return[x,y]; end; Also I defined a:=[1,2,3,4]; And discovered something strange: Although the output of ListX(Combinations(a,2),Combinations(a,2),\<,pair); is > [ [ [ 1, 2 ], [ 1, 3 ] ], [ [ 1, 2 ], [ 1, 4 ] ], [ [ 1, 2 ], [ 2, 3 ] ], [ [ 1, 2 ], [ 2, 4 ] ], > [ [ 1, 2 ], [ 3, 4 ] ], [ [ 1, 3 ], [ 1, 4 ] ], [ [ 1, 3 ], [ 2, 3 ] ], [ [ 1, 3 ], [ 2, 4 ] ], > [ [ 1, 3 ], [ 3, 4 ] ], [ [ 1, 4 ], [ 2, 3 ] ], [ [ 1, 4 ], [ 2, 4 ] ], [ [ 1, 4 ], [ 3, 4 ] ], > [ [ 2, 3 ], [ 2, 4 ] ], [ [ 2, 3 ], [ 3, 4 ] ], [ [ 2, 4 ], [ 3, 4 ] ] ] > (as it should be) the output of ListX(Combinations(a,2),Combinations(a,2),\>,pair); > is: > Variable: '>' must have a value > Why is that? > > Lisette > > From lisette.brillemans at mensa.nl Wed Nov 16 10:41:21 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Wed, 16 Nov 2011 11:41:21 +0100 Subject: [GAP Forum] not strange anymore Message-ID: <1321440081.4864.0.camel@agnieszka-desktop> I apologize for finding "something strange". I found the reason for the "strangeness" myself. Thanks. From sandeepr.murthy at gmail.com Wed Nov 16 10:43:03 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Wed, 16 Nov 2011 10:43:03 +0000 Subject: [GAP Forum] Constructing bilinear maps for matrix multiplication Message-ID: Hello, 1. I'm trying to construct bilinear maps f_m(K) for m x m matrix multiplication over a field K, for small values of m, like 2, 3, 4. I'm particularly interested in f_Q(3), and f_Q(4), where Q is the field of rationals. If T := Mat_Q(3) denotes the 3 x 3 matrix Q-algebra, with standard basis, it should be possible to do this explicitly on GAP by constructing the direct sum S := Mat_Q(3) \otimes Mat_Q(3), a Q-algebra of dimension 18 with standard basis, and then computing f_Q(3) as the map f: S --> T by using AlgebraHomomorphismByImages( source, target, imgs ). However, I'm getting a "exceeded the permitted memory" error. 2. Also, I don't understand the behaviour of the IsAlgebraWithOne( algebra ) function. For example, I have defined gap> A := FullMatrixAlgebra( Rationals, 3 ); ( Rationals^[ 3, 3 ] ) This is an algebra with One( A ) = [ [1,0,0], [0,1,0], [0,0,1]]. However, when I construct the direct S = sum A \otimes A by gap> S := DirectSumOfAlgebras( A, A ); This has the unit gap> One( S ); [ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ] ] however, IsAlgebraWithOne( S ) is returning false: gap> IsAlgebraWithOne( S ); false Sincerely, Sandeep. From sandeepr.murthy at gmail.com Thu Nov 17 09:57:57 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Thu, 17 Nov 2011 09:57:57 +0000 Subject: [GAP Forum] Constructing bilinear maps for matrix multiplication Message-ID: <622E0CDA-9CBE-4E4F-A612-43B28212E25F@gmail.com> Hello, 1. I'm trying to construct bilinear maps f_m(K) for m x m matrix multiplication over a field K, for small values of m, like 2, 3, 4. I'm particularly interested in f_Q(3), and f_Q(4), where Q is the field of rationals. If T := Mat_Q(3) denotes the 3 x 3 matrix Q-algebra, with standard basis, it should be possible to do this explicitly on GAP by constructing the direct sum S := Mat_Q(3) \otimes Mat_Q(3), a Q-algebra of dimension 18 with standard basis, and then computing f_Q(3) as the map f: S --> T by using AlgebraHomomorphismByImages( source, target, gens, imgs ). However, I'm getting a "exceeded the permitted memory" error. 2. Also, I don't understand the behaviour of the IsAlgebraWithOne( algebra ) function. For example, I have defined gap> A := FullMatrixAlgebra( Rationals, 3 ); ( Rationals^[ 3, 3 ] ) This is an algebra with One( A ) = [ [1,0,0], [0,1,0], [0,0,1]]. However, when I construct the direct S = sum A \otimes A by gap> S := DirectSumOfAlgebras( A, A ); This has the unit gap> One( S ); [ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ] ] however, IsAlgebraWithOne( S ) is returning false: gap> IsAlgebraWithOne( S ); false Sincerely, Sandeep. From lisette.brillemans at mensa.nl Thu Nov 17 10:43:35 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Thu, 17 Nov 2011 11:43:35 +0100 Subject: [GAP Forum] Constructing bilinear maps for matrix multiplication In-Reply-To: <622E0CDA-9CBE-4E4F-A612-43B28212E25F@gmail.com> References: <622E0CDA-9CBE-4E4F-A612-43B28212E25F@gmail.com> Message-ID: <1321526615.4625.14.camel@agnieszka-desktop> Hi! > 2. Also, I don't understand the behaviour of the > > IsAlgebraWithOne( algebra ) > > function. For example, I have defined > > gap> A := FullMatrixAlgebra( Rationals, 3 ); > ( Rationals^[ 3, 3 ] ) > > This is an algebra with One( A ) = [ [1,0,0], [0,1,0], [0,0,1]]. However, > when I construct the direct S = sum A \otimes A by > > gap> S := DirectSumOfAlgebras( A, A ); > > > This has the unit > > gap> One( S ); > [ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], > [ 0, 0, 0, 0, 0, 1 ] ] > > however, IsAlgebraWithOne( S ) is returning false: > > gap> IsAlgebraWithOne( S ); > false > > Sincerely, Sandeep. It's just this kind of things that surpise me as well. In one of my earlier posts a few days ago I stated that ListX(Combinations(a,2),Combinations(a,2),\>,pair); works but ListX(Combinations(a,2),Combinations(a,2),\<,pair); doesn't. (of course a and pair are defined separately) Which is unlogical as well. Your IsAlgebraWithOne(S); should be true of course. Gap isn't perfect. Sincerely, Lisette From stefan at mcs.st-and.ac.uk Thu Nov 17 12:43:03 2011 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Thu, 17 Nov 2011 12:43:03 -0000 (UTC) Subject: [GAP Forum] Constructing bilinear maps for matrix multiplication In-Reply-To: <1321526615.4625.14.camel@agnieszka-desktop> References: <622E0CDA-9CBE-4E4F-A612-43B28212E25F@gmail.com> <1321526615.4625.14.camel@agnieszka-desktop> Message-ID: Dear Forum, Lisette Brillemans wrote: >> 2. Also, I don't understand the behaviour of the >> >> IsAlgebraWithOne( algebra ) >> >> function. For example, I have defined >> >> gap> A := FullMatrixAlgebra( Rationals, 3 ); >> ( Rationals^[ 3, 3 ] ) >> >> This is an algebra with One( A ) = [ [1,0,0], [0,1,0], [0,0,1]]. However, >> when I construct the direct S = sum A \otimes A by >> >> gap> S := DirectSumOfAlgebras( A, A ); >> >> >> This has the unit >> >> gap> One( S ); >> [ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0 >> ], [ 0, 0, 0, 0, 1, 0 ], >> [ 0, 0, 0, 0, 0, 1 ] ] >> >> however, IsAlgebraWithOne( S ) is returning false: >> >> gap> IsAlgebraWithOne( S ); >> false >> >> Sincerely, Sandeep. > > It's just this kind of things that surpise me as well. In one of my > earlier posts a few days ago I stated that > > ListX(Combinations(a,2),Combinations(a,2),\>,pair); works but > > ListX(Combinations(a,2),Combinations(a,2),\<,pair); doesn't. > > (of course a and pair are defined separately) > > Which is unlogical as well. > > Your IsAlgebraWithOne(S); should be true of course. Regarding \< and \>: it is a > b if and only if b < a, so GAP needs only one of the operations \<, \>. If both operations would exist, always for both of them methods would need to be installed -- one of them just 'for nothing'. Regarding IsAlgebraWithOne': the Is operations check for membership in GAP categories. -- So for example, mathematically a group may be 'regarded' as the set of its elements (apply the forgetful functor from the category of groups to the category of sets). Anyway, IsSet' returns 'false' when applied to a group. Rather, to transform a domain to a domain with the same elements in another category, there are operations As. So for example you can transform a group to a set by applying AsSet', and you can transform a suitable domain to an algebra with one by applying AsAlgebraWithOne'. However, in your particular case, there is presently no suitable method for AsAlgebraWithOne' available. Of course you may add one, if you like. Hope this helps, Stefan From max at quendi.de Thu Nov 17 15:28:52 2011 From: max at quendi.de (Max Horn) Date: Thu, 17 Nov 2011 16:28:52 +0100 Subject: [GAP Forum] Constructing bilinear maps for matrix multiplication In-Reply-To: References: <622E0CDA-9CBE-4E4F-A612-43B28212E25F@gmail.com> <1321526615.4625.14.camel@agnieszka-desktop> Message-ID: <8029CB8E-FF26-4DC4-A596-5AB354FEFE48@quendi.de> Am 17.11.2011 um 13:43 schrieb Stefan Kohl: [...] > Regarding IsAlgebraWithOne': the Is operations check for membership > in GAP categories. (sorry for the nitpicking, but: this actually refers to* mathematical* categories; GAP categories are something different). > -- So for example, mathematically a group may be 'regarded' > as the set of its elements (apply the forgetful functor from the category of > groups to the category of sets). Exactly. For those who are not so familiar with categories, an important place where this makes a difference is homomorphisms: In the category of algebras with one, a homomorphism will always map one to one. In the category of Algebra, one could be mapped to anything, e.g. zero. > Anyway, IsSet' returns 'false' when applied > to a group. Rather, to transform a domain to a domain with the same elements > in another category, there are operations As. So for example you > can transform a group to a set by applying AsSet', and you can transform > a suitable domain to an algebra with one by applying AsAlgebraWithOne'. > However, in your particular case, there is presently no suitable method for > AsAlgebraWithOne' available. Of course you may add one, if you like. Actually, there is one, and it takes two parameters, like this: gap> S2 := AsAlgebraWithOne( Rationals, S ); Cheers, Max From stefan at mcs.st-and.ac.uk Thu Nov 17 20:44:35 2011 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Thu, 17 Nov 2011 20:44:35 -0000 (UTC) Subject: [GAP Forum] Constructing bilinear maps for matrix multiplication In-Reply-To: <8029CB8E-FF26-4DC4-A596-5AB354FEFE48@quendi.de> References: <622E0CDA-9CBE-4E4F-A612-43B28212E25F@gmail.com> <1321526615.4625.14.camel@agnieszka-desktop> <8029CB8E-FF26-4DC4-A596-5AB354FEFE48@quendi.de> Message-ID: On Thu, November 17, 2011 3:28 pm, Max Horn wrote: > Am 17.11.2011 um 13:43 schrieb Stefan Kohl: >> Regarding IsAlgebraWithOne': the Is operations check for membership >> in GAP categories. > > (sorry for the nitpicking, but: this actually refers to* mathematical* categories; GAP > categories are something different). While this particular Is operation refers indeed to a mathematical category, as another example take e.g. IsCopyable'. -- I would rather not want to speculate about the mathematical meaning of a category of copyable objects ... . Apart from this I did not want to write a novel about the distinction of the various Is's at this point. Stefan From max at quendi.de Fri Nov 18 07:14:14 2011 From: max at quendi.de (Max Horn) Date: Fri, 18 Nov 2011 08:14:14 +0100 Subject: [GAP Forum] Constructing bilinear maps for matrix multiplication In-Reply-To: <622E0CDA-9CBE-4E4F-A612-43B28212E25F@gmail.com> References: <622E0CDA-9CBE-4E4F-A612-43B28212E25F@gmail.com> Message-ID: <01A28C46-10F9-4939-8925-440A74C0BBA6@quendi.de> Hi again, here is a reply to part 1 of Sandeep's question: Am 17.11.2011 um 10:57 schrieb Sandeep Murthy: > Hello, > > 1. I'm trying to construct bilinear maps f_m(K) for m x m matrix > multiplication over a field K, for small values of m, like 2, 3, 4. > > I'm particularly interested in f_Q(3), and f_Q(4), where Q > is the field of rationals. If T := Mat_Q(3) denotes the 3 x 3 matrix > Q-algebra, with standard basis, it should be possible to > do this explicitly on GAP by constructing the direct sum > S := Mat_Q(3) \otimes Mat_Q(3), a Q-algebra of dimension 18 Actually, it is a 9^2=81 dimensional algebra. The direct sum is 2*9=18 dimensional, but for a bilinear form you indeed want to study the tensor product. > with standard basis, and then computing f_Q(3) as the > map f: S --> T by using AlgebraHomomorphismByImages( source, target, gens, imgs ). > However, I'm getting a "exceeded the permitted memory" error. You discovered a bug in GAP itself, which we need to fix. Luckily, though, you can avoid it, at least in this case. Instead of many words, let me show you one possible way: # Compute algebra and generators T:=FullMatrixAlgebra(Rationals, 3);; gensT:=GeneratorsOfAlgebra(T);; # Compute S = T \otimes T by computing generators gensS:=ListX(gensT, gensT, KroneckerProduct);; S:=AlgebraWithOneByGenerators(Rationals, gensS); # Compute hom from S to T on a basis of S basisT:=BasisVectors(Basis(T));; basisS:=ListX(basisT, basisT, KroneckerProduct);; imgs:=ListX(basisT, basisT, \*);; hom:=AlgebraHomomorphismByImages(S,T,Basis(S,basisS),imgs);; Note that the KroneckerProduct of two matrices is just their tensor product (w.r.t. to the "standard" bases). So we can use that to construct the tensor product algebra. The crucial part is my use of the Basis() command. This is important because the code underlying AlgebraHomomorphismByImages will do something different if you don't define the morphism on a basis. Indeed, if the image of each element in a basis is given, this makes it easy to evaluate a homomorphism. The same is not true if one defines the homomorphism only a generating set (or even if one defines it on a set of vectors that form a basis, but which one has not marked as a basis). So in this case, GAP first tries to extend the definition of the homomorphism to a basis; and it is this case which has a bug. For example: hom:=AlgebraHomomorphismByImages(S,T,gensS,ListX(gensT, gensT, \*));; leads to an endless loop (until memory overflows). This bug will be fixed in the next GAP release. Best wishes, Max From lisette.brillemans at mensa.nl Fri Nov 18 09:09:42 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Fri, 18 Nov 2011 10:09:42 +0100 Subject: [GAP Forum] Constructing bilinear maps for matrix multiplication In-Reply-To: References: <622E0CDA-9CBE-4E4F-A612-43B28212E25F@gmail.com> <1321526615.4625.14.camel@agnieszka-desktop> Message-ID: <1321607382.4625.40.camel@agnieszka-desktop> > > It's just this kind of things that surpise me as well. In one of my > > earlier posts a few days ago I stated that > > > > ListX(Combinations(a,2),Combinations(a,2),\>,pair); works but > > > > ListX(Combinations(a,2),Combinations(a,2),\<,pair); doesn't. > > > > (of course a and pair are defined separately) > > > > Which is unlogical as well. > > > > Your IsAlgebraWithOne(S); should be true of course. > > Regarding \< and \>: it is a > b if and only if b < a, so GAP needs only > one of the operations \<, \>. If both operations would exist, always for both > of them methods would need to be installed -- one of them just 'for nothing'. I hope you don't mind that I write a reply on this again. What doesn't work either is: a:=[1,2,3,4]; pair:=function(x,y); return[x,y]; end; > ListX(Combinations(a,2),Combinations(a,2),\<\>,pair) So I tried: not ListX(Combinations(a,2),Combinations(a,2),\=,Pair) which leads to: Variable: 'Pair' must have a value. [I am still surprised about this, because /> does work (As already asked and answered upon.] So, \< isn't entirely "for nothing" because now "\<\>" doesn't work either. And using "not" isn't a solution for that. Or am I seeing this wrongly? Best regards, Lisette From ahulpke at gmail.com Fri Nov 18 16:15:36 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Fri, 18 Nov 2011 09:15:36 -0700 Subject: [GAP Forum] Confused about comparison functions In-Reply-To: <1321607382.4625.40.camel@agnieszka-desktop> References: <622E0CDA-9CBE-4E4F-A612-43B28212E25F@gmail.com> <1321526615.4625.14.camel@agnieszka-desktop> <1321607382.4625.40.camel@agnieszka-desktop> Message-ID: <641DA090-BA13-4C67-86C7-658572461396@gmail.com> Dear Forum, Dear Ms. Brillmanns, On Nov 18, 2011, at 11/18/11 2:09, Lisette Brillemans wrote: > > pair:=function(x,y); return[x,y]; end; > > not ListX(Combinations(a,2),Combinations(a,2),\=,Pair) > > which leads to: Variable: 'Pair' must have a value. GAP is case sensitive, so clearly that won't work. > So, \< isn't entirely "for nothing" because now "\<\>" doesn't work > either. And using "not" isn't a solution for that. > > Or am I seeing this wrongly? Yes, you are. There is no magic with prepending \ to comparison operators, but GAP just has two comparison operations: strictly smaller and equal. All other comparisons can be built from these two with logic operations. The identifier for the smaller operation is \< (since it looks rather natural; the \ is needed to make it a proper identifier versus the < binary operator). The identifier for equal is \=. As so often, this is explained in the manual (look in the index under comparison''): http://www.gap-system.org/Manuals/doc/htm/ref/CHAP030.htm#SSEC011.1 Other functions are not defined, though if you needed an (a>b) function, for example you could simply define. LargerComparison:=function(a,b) return a>b;end; or you could even call it \> Regards, Alexander Hulpke From sandeepr.murthy at gmail.com Fri Nov 18 23:05:46 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Fri, 18 Nov 2011 23:05:46 +0000 Subject: [GAP Forum] Constructing bilinear maps for matrix multiplication In-Reply-To: <01A28C46-10F9-4939-8925-440A74C0BBA6@quendi.de> References: <622E0CDA-9CBE-4E4F-A612-43B28212E25F@gmail.com> <01A28C46-10F9-4939-8925-440A74C0BBA6@quendi.de> Message-ID: <5272E797-AE81-4A5D-B1D7-17930A180F2D@gmail.com> Many thanks to Max Horn and Stefan Kohl for the help and clarifications. Sincerely, Sandeep. On 18 Nov 2011, at 07:14, Max Horn wrote: > Hi again, > > here is a reply to part 1 of Sandeep's question: > > Am 17.11.2011 um 10:57 schrieb Sandeep Murthy: > >> Hello, >> >> 1. I'm trying to construct bilinear maps f_m(K) for m x m matrix >> multiplication over a field K, for small values of m, like 2, 3, 4. >> >> I'm particularly interested in f_Q(3), and f_Q(4), where Q >> is the field of rationals. If T := Mat_Q(3) denotes the 3 x 3 matrix >> Q-algebra, with standard basis, it should be possible to >> do this explicitly on GAP by constructing the direct sum >> S := Mat_Q(3) \otimes Mat_Q(3), a Q-algebra of dimension 18 > > Actually, it is a 9^2=81 dimensional algebra. The direct sum is 2*9=18 dimensional, but for a bilinear form you indeed want to study the tensor product. > > >> with standard basis, and then computing f_Q(3) as the >> map f: S --> T by using AlgebraHomomorphismByImages( source, target, gens, imgs ). >> However, I'm getting a "exceeded the permitted memory" error. > > You discovered a bug in GAP itself, which we need to fix. Luckily, though, you can avoid it, at least in this case. Instead of many words, let me show you one possible way: > > # Compute algebra and generators > T:=FullMatrixAlgebra(Rationals, 3);; > gensT:=GeneratorsOfAlgebra(T);; > > # Compute S = T \otimes T by computing generators > gensS:=ListX(gensT, gensT, KroneckerProduct);; > S:=AlgebraWithOneByGenerators(Rationals, gensS); > > # Compute hom from S to T on a basis of S > basisT:=BasisVectors(Basis(T));; > basisS:=ListX(basisT, basisT, KroneckerProduct);; > imgs:=ListX(basisT, basisT, \*);; > hom:=AlgebraHomomorphismByImages(S,T,Basis(S,basisS),imgs);; > > > Note that the KroneckerProduct of two matrices is just their tensor product (w.r.t. to the "standard" bases). So we can use that to construct the tensor product algebra. > > The crucial part is my use of the Basis() command. This is important because the code underlying AlgebraHomomorphismByImages will do something different if you don't define the morphism on a basis. Indeed, if the image of each element in a basis is given, this makes it easy to evaluate a homomorphism. The same is not true if one defines the homomorphism only a generating set (or even if one defines it on a set of vectors that form a basis, but which one has not marked as a basis). So in this case, GAP first tries to extend the definition of the homomorphism to a basis; and it is this case which has a bug. For example: > > hom:=AlgebraHomomorphismByImages(S,T,gensS,ListX(gensT, gensT, \*));; > > leads to an endless loop (until memory overflows). This bug will be fixed in the next GAP release. > > > Best wishes, > Max From Dursun.Bulutoglu at afit.edu Sat Nov 19 22:49:06 2011 From: Dursun.Bulutoglu at afit.edu (Bulutoglu, Dursun A Civ USAF AETC AFIT/ENC) Date: Sat, 19 Nov 2011 17:49:06 -0500 Subject: [GAP Forum] Calculating the maximum algebra of linear transformations fixing a non-trivial subspace of a vector space Message-ID: <2034674BF9D4714BAE35B22BF073EEF401F7A6F5@MS-AFIT-02.afit.edu> Dear Gap forum, Given a vector space V and a non-trivial subspace W I was wondering whether it is possible to calculate the maximum algebra of linear transformations under which W is invariant. Any theoretical or computational insight will be greatly appreciated. Dursun. From williamdemeo at gmail.com Sun Nov 20 01:32:31 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Sat, 19 Nov 2011 15:32:31 -1000 Subject: [GAP Forum] Calculating the maximum algebra of linear transformations fixing a non-trivial subspace of a vector space In-Reply-To: <2034674BF9D4714BAE35B22BF073EEF401F7A6F5@MS-AFIT-02.afit.edu> References: <2034674BF9D4714BAE35B22BF073EEF401F7A6F5@MS-AFIT-02.afit.edu> Message-ID: Greetings Dursun, This is a nice question, and I look forward to reading answers from other members of the forum, who are more knowledgeable about invariant subspaces than I am. I don't have an answer for your general question, but I have a couple of comments which may or may not be useful to you. First, would you be willing to restrict attention to the group of invertible linear transformations (i.e. automorphisms of V) under which W is invariant? Perhaps GAP is more applicable to this problem. Second, are you thinking about infinite dimensional vector spaces? It is likely that GAP could be used to answer this question in finite dimensions, but perhaps you already have answers in this case. Other thoughts: Abstractly speaking, given a collection of subspaces S \subseteq Sub[V], you could think about the algebra, Alg(S) = \{T \in Aut[V] | T(W) \subseteq W for all W in S\}. When S is just {W}, this is like the algebra you asked about (assuming you're willing to restrict to invertible maps). If my memory serves me, I believe you can show that Alg(S) is a group... (it is certainly a group if you take all T for which T(W)=W). In any case, in small dimensional examples, over finite fields, you could use GAP to search among the subgroups of Aut[V] for the group of maps which leave W invariant. An easy special case: If V is a 2 dimensional vector space over a 3-element field, then Aut[V] = GL(2,3), and the subgroup structure of this group is easy to see with GAP and/or the uacalc (www.uacalc.org). Generally speaking, I believe you can establish a dual lattice isomorphism (Galois correspondence) between the lattice of subgroups of Aut[V], and the lattice of (closed) subspaces of V, and in small examples like the one mentioned above, you could probably identify the precise correspondence between the subspaces of V and the subgroups of Aut[V] which leave them invariant. (If you're interested in this abstract lattice theoretic approach, I recommend Bill Lampe's Galois theory notes [1].) -William [1] http://www.math.hawaii.edu/~williamdemeo/612_Galois.pdf On Sat, Nov 19, 2011 at 12:49 PM, Bulutoglu, Dursun A Civ USAF AETC AFIT/ENC wrote: > Dear Gap forum, > Given a vector space V and a non-trivial subspace W > I was wondering whether it is possible to calculate the maximum > algebra of linear transformations under which W is invariant. > > Any theoretical or computational insight will be greatly appreciated. > > Dursun. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From sandeepr.murthy at gmail.com Sun Nov 20 02:47:12 2011 From: sandeepr.murthy at gmail.com (Sandeep Murthy) Date: Sun, 20 Nov 2011 02:47:12 +0000 Subject: [GAP Forum] Calculating the maximum algebra of linear transformations fixing a non-trivial subspace of a vector space In-Reply-To: <2034674BF9D4714BAE35B22BF073EEF401F7A6F5@MS-AFIT-02.afit.edu> References: <2034674BF9D4714BAE35B22BF073EEF401F7A6F5@MS-AFIT-02.afit.edu> Message-ID: <4A17AB74-0B4D-4F10-9748-483F239BF31A@gmail.com> Hello, I only have general comments, since I am still discovering the possibilities of GAP, with respect to answering related questions of interest to myself. If V is your f.d. (?) vector space (over some field K), and W < V is some fixed nontrivial subspace, and P is the projection operator of V onto W, and f : V --> V is some endomorphism, then it is known that W is invariant under f, with image f(W) = W' \subseteq W, if and only if (fP)(V) = (PfP)(V) = W' \subseteq W. If Inv_V(W) is your algebra of all endomorphisms f : V --> V that leave W fixed, and End(V) is the algebra containing Inv_V(W) as a subalgebra, then as a set Inv_V(W) = { f \in End(V) | (PfP)(V) = (fP)(V) }. This is an infinite set, but is the set of elements of an f.d. space, so on GAP, I guess you would construct it by specifying a basis. Sincerely, Sandeep. On 19 Nov 2011, at 22:49, Bulutoglu, Dursun A Civ USAF AETC AFIT/ENC wrote: > Dear Gap forum, > Given a vector space V and a non-trivial subspace W > I was wondering whether it is possible to calculate the maximum > algebra of linear transformations under which W is invariant. > > Any theoretical or computational insight will be greatly appreciated. > > Dursun. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From Bill.Allombert at math.u-bordeaux1.fr Sun Nov 20 10:54:26 2011 From: Bill.Allombert at math.u-bordeaux1.fr (Bill Allombert) Date: Sun, 20 Nov 2011 11:54:26 +0100 Subject: [GAP Forum] Calculating the maximum algebra of linear transformations fixing a non-trivial subspace of a vector space In-Reply-To: <2034674BF9D4714BAE35B22BF073EEF401F7A6F5@MS-AFIT-02.afit.edu> References: <2034674BF9D4714BAE35B22BF073EEF401F7A6F5@MS-AFIT-02.afit.edu> Message-ID: <20111120105426.GB12053@yellowpig> On Sat, Nov 19, 2011 at 05:49:06PM -0500, Bulutoglu, Dursun A Civ USAF AETC AFIT/ENC wrote: > Dear Gap forum, > Given a vector space V and a non-trivial subspace W > I was wondering whether it is possible to calculate the maximum > algebra of linear transformations under which W is invariant. > > Any theoretical or computational insight will be greatly appreciated. In the finite dimensional case, Start with a basis w1...wk of W and complete it to a basis of V w1...wk,v_{k+1}...v_n. Let f such that W is invariant by f, then the matrix of f can be written by block as (A B) Where A is kxk dimensional, B is (n-k)xk and C is (n-k)x(n-k) (0 C) The set of all such matrices is the algebra you seek (if I understand your question correctly). Cheers, Bill. From lisette.brillemans at mensa.nl Sun Nov 20 16:25:12 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Sun, 20 Nov 2011 17:25:12 +0100 Subject: [GAP Forum] a(n) integer Message-ID: <1321806312.11633.3.camel@agnieszka-desktop> Dear forum, English is not my home language so I could be wrong. But today while programming I made a small mistake about which GAP informed me by: List Assignment: must be a positive integer (not a integer) at I wonder if that "not a integer" should not be: "not an integer". Or does "a" mean here, "not just an" or so. Again: English is not my home language so I could be wrong. With regards, Lisette From alexander.konovalov at gmail.com Sun Nov 20 17:21:36 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Sun, 20 Nov 2011 17:21:36 +0000 Subject: [GAP Forum] a(n) integer In-Reply-To: <1321806312.11633.3.camel@agnieszka-desktop> References: <1321806312.11633.3.camel@agnieszka-desktop> Message-ID: <20F4D30C-ECE7-4D3C-BB83-68B843BF7554@gmail.com> Dear Lisette, This is an automatically generated error message coming from the following line of the C code in the GAP kernel: "List Assignment: must be a positive integer (not a %s)", where %s is substituted by the appropriate word(s), e.g: gap> l:=[1]; [ 1 ] gap> l[0]; List Element: must be positive (not a 0) gap> l[(1,2)]; List Element: must be a positive integer (not a permutation (small)) In such cases it is a common practice to use just "a" as a "default" article. I hope that the meaning of the error message was still clear to you - likely you've tried to access a list element at zero or negative position. Hope this helps, Alexander On 20 Nov 2011, at 16:25, Lisette Brillemans wrote: > Dear forum, > > > English is not my home language so I could be wrong. But today while > programming I made a small mistake about which GAP informed me by: > > List Assignment: must be a positive integer (not a integer) at > > I wonder if that "not a integer" should not be: "not an integer". > Or does "a" mean here, "not just an" or so. > Again: English is not my home language so I could be wrong. > > > With regards, > > > Lisette > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From bob.heffernan at gmail.com Mon Nov 21 13:36:25 2011 From: bob.heffernan at gmail.com (Robert Heffernan) Date: Mon, 21 Nov 2011 16:36:25 +0300 Subject: [GAP Forum] Representing groups as linear groups Message-ID: Hi, Given a group G in GAP (eg. a group from the Small Groups library) is there an easy way to get the group as a subgroup of a linear group? I guess I could run IsomorphismPermGroup(G) and then get permutation matrices for the generators. Is there a better way to do it than this? A browse through the documentation didn't turn up anything obvious. Thank you, Bob Heffernan From johannes.hahn at uni-jena.de Mon Nov 21 14:47:08 2011 From: johannes.hahn at uni-jena.de (Johannes Hahn) Date: Mon, 21 Nov 2011 15:47:08 +0100 Subject: [GAP Forum] Representing groups as linear groups In-Reply-To: References: Message-ID: <4ECA646C.4050703@uni-jena.de> Hi. There is no unique faithful linear representation for a arbitrary finite group in general. (For arbitrary groups there is in general not a single faithful linear representation) I guess the only canonical choice is the regular representation, i.e. the group of permutation matrices that corresponds to the permutation action of G on itself via left-translation (or right-translation if you choose to act from the right). Therefore your way should be the easiest one to implement. Caveat: In general this procedure does not give you a faithful representation of smallest possible degree, i.e. it might be possible to find a "better" embedding in the sense that the matrices have smaller dimension. I don't think that there is some good way to do that besides the brute-force-way: Look through all characters of the group and check which are faithful. Then find a representation for this character (which is itself a nontrivial problem). Johannes Hahn. Am 21.11.2011 14:36, schrieb Robert Heffernan: > Hi, > > Given a group G in GAP (eg. a group from the Small Groups library) is > there an easy way to get the group as a subgroup of a linear group? > > I guess I could run IsomorphismPermGroup(G) and then get permutation > matrices for the generators. Is there a better way to do it than > this? A browse through the documentation didn't turn up anything > obvious. > > Thank you, > Bob Heffernan > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From lisette.brillemans at mensa.nl Tue Nov 22 10:22:09 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Tue, 22 Nov 2011 11:22:09 +0100 Subject: [GAP Forum] amicable chains Message-ID: <1321957329.27379.8.camel@agnieszka-desktop> Dear forum, I would like to learn the programming-language of GAP fluently, but of course cannot do that without asking for help sometimes. So I wonder how I can find amicable chains with GAP. Firstly I already defined a function SumProper which calculates the sum of the proper divisors of a number. (The divisors of a number without the number itself). It so happens that SumProper(28)=28. Also SumProper(220)=284 and SumProper(284)=220. Now I would like to be able to find all such amicable chains like 220,284,220,... but also: 12496,14288,15472,14536,14264,12496,... using GAP. How could I do this? With thanks for any help. This way I (hopefully once ;) ) will learn to program GAP very well. Lisette From wdjoyner at gmail.com Tue Nov 22 23:36:09 2011 From: wdjoyner at gmail.com (David Joyner) Date: Tue, 22 Nov 2011 18:36:09 -0500 Subject: [GAP Forum] official acceptance of GAP packages OpenMath and SCSCP Message-ID: Dear GAP Forum: This is to announce the official acceptance of the GAP packages OpenMath (written by Marco Costantini, Alexander Konovalov, Max Nicosia, Andrew Solomon) and SCSCP (written by Alexander Konovalov, Steve Linton), which requires OpenMath. Both packages are licenced under the GPLv2+ license. The OpenMath GAP package provides an OpenMath phrasebook for GAP. This package allows GAP users to import and export mathematical objects encoded in OpenMath, for the purpose of exchanging them with other applications that are OpenMath enabled. The GAP package SCSCP implements the Symbolic Computation Software Composability Protocol for the GAP system. This protocol specifies an OpenMath-based remote procedure call framework, in which all messages are encoded in OpenMath. Using it, GAP can communicate locally or remotely with any other OpenMath-enabled SCSCP-compliant application, such as another computer algebra system, or another instance of GAP, or even an external Java or C/C++ application. The new versions of SCSCP and OpenMath packages are now included in the merged archive of GAP 4.5 packages and published on the GAP website. Congratulations to the package authors and thank you all for your hard work. - David Joyner (GAP Council editor for these packages) From vipul at math.uchicago.edu Wed Nov 23 22:25:56 2011 From: vipul at math.uchicago.edu (Vipul Naik) Date: Wed, 23 Nov 2011 16:25:56 -0600 Subject: [GAP Forum] Cohomology computations, ExtensionRepresentatives: possible bug Message-ID: <20111123222556.GA4606@math.uchicago.edu> I am using GAP's CompatiblePairs and ExtensionRepresentatives functions to find the orbits on the second cohomology group (set of extensions) H^2(G;A) under the action of Aut(G) X Aut(A) for the trivial G-action of A. This works perfectly fine for most groups G and A, giving results that agree with my own calculations. However, for one particular pair of groups, it gives the wrong answer: gap> G := CyclicGroup(4);; gap> A := TrivialGModule(G,GF(2));; gap> A1 := AutomorphismGroup(G);; gap> A2 := GL(1,2);; gap> D := DirectProduct(A1,A2);; gap> P := CompatiblePairs(G,A,D);; gap> M := ExtensionRepresentatives(G,A,P);; gap> List(M,IdGroup); [ [ 8, 2 ], [ 8, 2 ] ] The answer I expect is [8,1] and [8,2]. Just printing out extensions works fine: gap> G := CyclicGroup(4);; gap> A := TrivialGModule(G,GF(2));; gap> L := Extensions(G,A);; gap> List(L,IdGroup); [ [ 8, 2 ], [ 8, 1 ] ] The ExtensionRepresentatives works well for most other pairs I tested it with; I have appended some calculations to show this. Anybody have an idea if this is the result of a bug in the GAP code, or am I making some mistake in using the code? Vipul PS: Some calculations to show that ExtensionRepresentatives works well in most cases: For cyclic group of order 2 on cyclic group of order 2: gap> G := CyclicGroup(2);; gap> A := TrivialGModule(G,GF(2));; gap> A1 := AutomorphismGroup(G);; gap> A2 := GL(1,2);; gap> D := DirectProduct(A1,A2);; gap> P := CompatiblePairs(G,A,D);; gap> M := ExtensionRepresentatives(G,A,P);; gap> List(M,IdGroup); [ [ 4, 2 ], [ 4, 1 ] ] For Klein four-group on cyclic group of order 2: gap> G := ElementaryAbelianGroup(4);; gap> A := TrivialGModule(G,GF(2));; gap> A1 := AutomorphismGroup(G);; gap> A2 := GL(1,2);; gap> D := DirectProduct(A1,A2);; gap> P := CompatiblePairs(G,A,D); gap> M := ExtensionRepresentatives(G,A,P);; gap> List(M,IdGroup); [ [ 8, 5 ], [ 8, 2 ], [ 8, 3 ], [ 8, 4 ] ] From beick at tu-bs.de Thu Nov 24 07:00:15 2011 From: beick at tu-bs.de (Bettina Eick) Date: Thu, 24 Nov 2011 08:00:15 +0100 (CET) Subject: [GAP Forum] Cohomology computations, ExtensionRepresentatives: possible bug In-Reply-To: <20111123222556.GA4606@math.uchicago.edu> References: <20111123222556.GA4606@math.uchicago.edu> Message-ID: Dear Vipul Naik, dear all, I cannot reproduce the reproduce the reported bug: gap> G := CyclicGroup(4);; gap> A := TrivialGModule(G, GF(2));; gap> A1 := AutomorphismGroup(G);; gap> A2 := GL(1,2);; gap> D := DirectProduct(A1,A2);; gap> P := CompatiblePairs(G,A,D);; gap> M := ExtensionRepresentatives(G,A,P); [ , ] gap> List(last, IdGroup); [ [ 8, 2 ], [ 8, 1 ] ] gap> Extensions(G,A); [ , ] gap> List(last, IdGroup); [ [ 8, 2 ], [ 8, 1 ] ] I am happy to discuss this further with Vipul Naik to sort out what is going wrong here. Best wishes, Bettina From lisette.brillemans at mensa.nl Thu Nov 24 09:23:22 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Thu, 24 Nov 2011 10:23:22 +0100 Subject: [GAP Forum] again [[8,2],[8,2] Message-ID: <1322126602.19381.0.camel@agnieszka-desktop> Doing it with "Last" also yields [[8,2],[8,2]]. gap> G := CyclicGroup(4);; gap> A := TrivialGModule(G, GF(2));; gap> A1 := AutomorphismGroup(G);; gap> A2 := GL(1,2);; gap> D := DirectProduct(A1,A2);; gap> P := CompatiblePairs(G,A,D);; gap> M := ExtensionRepresentatives(G,A,P); [ , ] gap> List(last, IdGroup); [ [ 8, 2 ], [ 8, 2 ] ] gap> Lisette From lisette.brillemans at mensa.nl Thu Nov 24 09:10:29 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Thu, 24 Nov 2011 10:10:29 +0100 Subject: [GAP Forum] [[8.2],[8,2]] Message-ID: <1322125829.18474.4.camel@agnieszka-desktop> Hi, I get indeed: gap> G:=CyclicGroup(4);; gap> A:=TrivialModule(G,GF(2));; gap> A:=TrivialGModule(G,GF(2));; gap> A1:=AutomorphismGroup(G);; gap> A2:=GL(1,2);; gap> D:=DirectProduct(A1,A2);; gap> P:=CompatiblePairs(G,A,D);; gap> M:=ExtensionRepresentatives(G,A,P);; gap> List(M,IdGroup); [ [ 8, 2 ], [ 8, 2 ] ] gap> De difference being my (and Vipul's) use of List(M,IdGroup); And you using: List(last,IdGroup); Yours truly Lisette From max at quendi.de Thu Nov 24 14:52:38 2011 From: max at quendi.de (Max Horn) Date: Thu, 24 Nov 2011 15:52:38 +0100 Subject: [GAP Forum] Cohomology computations, ExtensionRepresentatives: possible bug In-Reply-To: <20111123222556.GA4606@math.uchicago.edu> References: <20111123222556.GA4606@math.uchicago.edu> Message-ID: Dear Vipul Naik, dear all, here is the story of the bug you encountered in ExtensionRepresentatives: It actually was discovered by the GAP team in the past, and a fix was found -- in fact, this already happened in 2006! However, by accident this fix was not applied to the GAP 4.4.x series, so it never made it to end users. The good part is, though, that I can tell you a fix, and that this problem will also be gone in the upcoming GAP 4.5.x series. Indeed, if you wanted to you could try the GAP 4.5 beta version (see ). In the meantime, though, you can manually fix your copy of GAP 4.4.12. The simplest way to do so is take attached file "grppcext.gi" and use that to replace the file of the same name in the "lib" directory of your GAP 4.4.12 installation. But I am not completely sure if this mailing list will let my attachment through. So here is how to manually apply the fix: Use a plain text editor (not MS Word!) to open the file "grppcext.gi" in the "lib" directory of the GAP directory. In there, lines 748 and following currently reads: elif Dimension( Image(cc.cohom)) = 1 then return [ExtensionSQ( cc.collector, G, M, 0 ), ExtensionSQ( cc.collector, G, M, Basis(Source(cc.cohom))[1])]; This needs to be replaced by: elif Dimension( Image(cc.cohom)) = 1 then c := Basis(Image(cc.cohom))[1]; c := PreImagesRepresentative(cc.cohom, c); return [ExtensionSQ( cc.collector, G, M, 0 ), ExtensionSQ( cc.collector, G, M, c )]; Best wishes, Max From lisette.brillemans at mensa.nl Tue Nov 29 16:40:53 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Tue, 29 Nov 2011 17:40:53 +0100 Subject: [GAP Forum] Does the forum still function? Message-ID: <1322584853.14202.1.camel@agnieszka-desktop> Hi all, I didn't receive any messages from the forum for almost a week now. Is there a problem with the forum (or with my subscription) or aren't there any problems at all? Greetz, Lisette From colva at mcs.st-and.ac.uk Tue Nov 29 16:47:22 2011 From: colva at mcs.st-and.ac.uk (Colva Roney-Dougal) Date: Tue, 29 Nov 2011 16:47:22 +0000 Subject: [GAP Forum] Groups St Andrews 2013 Message-ID: <8AFF08C7-D06D-4B01-8138-C82FE1059C99@mcs.st-and.ac.uk> Dear Forum GROUPS ST ANDREWS 2013 Groups St Andrews 2013 is organised by the University of St Andrews and will take place in St Andrews (Scotland). It will run from Saturday 3rd August (arrival day) to Sunday 11th August 2013 (departure day). The talks will take place from 4th August until 10th August 2013 (inclusive). Principal Speakers: Emmanuel Breuillard (Universit? Paris-Sud 11) Martin Liebeck (Imperial College, University of London) Alan Reid (University of Texas) Karen Vogtmann (Cornell University) (They will each deliver a short lecture course on a topic of their choice.) One Hour Speakers: Inna Capdeboscq (University of Warwick) Radha Kessar (University of Aberdeen) Markus Lohrey (Universit?t Leipzig) Derek Robinson (University of Illinois at Urbana-Champaign) Christopher Voll (University of Southampton) Further details will be posted when available on the conference website: http://www.groupsstandrews.org/2013/index.shtml In particular, those interested in attending the conference are encouraged to sign up for conference updates on the following page: http://www.groupsstandrews.org/2013/form.shtml Colin Campbell, Max Neunhoeffer, Martyn Quick, Edmund Robertson & Colva Roney-Dougal (Organising Committee) Conference e-mail: gps2013 at mcs.st-andrews.ac.uk The University of St Andrews is a charity registered in Scotland : No SC013532 From w_becker at hotmail.com Tue Nov 29 21:42:21 2011 From: w_becker at hotmail.com (Walter Becker) Date: Tue, 29 Nov 2011 12:42:21 -0900 Subject: [GAP Forum] presentations from GrpConst Program Message-ID: In connection with the use of the program GrpConst one can generate large numbers of groups, e.g., of order 11^2 time 5^3 (Here the number is 78 cases). Many of these groups have the same class structure, and Automorphusm groups. The question is how to distinguish them. The way I would like to do this is to construct presentations for these groups in the form (11 group) semi direct product with the (5-group) using presentations of the form (Here the example is with the group 125 number 4) a^11=b^11 (a,b) = c^25=d^5=c^d*c^(-1-5) = a^c*a^w = b^d*b^x=b^c*b^y=b^d*b^z=1; Question How to get GAP/GrpConst to return the presentations in this form. Thank you Walter Becker From salehisss at yahoo.com Wed Nov 30 14:25:40 2011 From: salehisss at yahoo.com (sadegh salehi) Date: Wed, 30 Nov 2011 06:25:40 -0800 (PST) Subject: [GAP Forum] Extension Message-ID: <1322663140.16080.YahooMailNeo@web112618.mail.gq1.yahoo.com> Hello dear GAP Forum members, ? By the?Atlas of finite groups, we know that the simple group?PSL(2,9)has three cyclicautomorphic extensions:??S6 (Symmetric group of degree 6), PGL(2,9) and?the 'Mathieu' group M(10). Also we note that M(10) is non-split extension of PSL(2,9). So it?can not be?Created by the?semidirect product. Is?there?any way to?access the automorphic?extension of?PSL(2,25) or PSL(2,49) , PSL(3,4), ...? in Gap? I will be appreciate?for any suggestion. With Best Regards. Seyed Sadegh Salehi Amiri. Department of? Mathematics, Islamic Azad University, Babol Branch, Iran. salehisss at yahoo.com salehisss at baboliau.ac.ir From vipul at math.uchicago.edu Wed Nov 30 18:08:34 2011 From: vipul at math.uchicago.edu (Vipul Naik) Date: Wed, 30 Nov 2011 12:08:34 -0600 Subject: [GAP Forum] Extension In-Reply-To: <1322663140.16080.YahooMailNeo@web112618.mail.gq1.yahoo.com> References: <1322663140.16080.YahooMailNeo@web112618.mail.gq1.yahoo.com> Message-ID: <20111130180834.GA14061@math.uchicago.edu> This is probably not the most efficient way, but here's one way you can do it: gap> G := PSL(2,25);; gap> A := AutomorphismGroup(G);; gap> M := SubgroupsOfIndexTwo(A);; M will be a list of the three groups you want; you can access these as M[1], M[2], and M[3]. Basically, G is PSL(2,25) and its automorphism group is PGammaL(2,25), which is defined as the semidirect product of PGL(2,25) and the Galois group of the field of 25 elements over the field of 5 elements. The quotient PGammaL(2,25)/PSL(2,25) has order 4 and is a Klein four-group. The three subgroups of order two and index two in there correspond to the three groups of index two in PGammaL(2,25). One of these will be PGL(2,25), the other will be the semidirect product of PSL(2,25) with the Galois group, and there will be a third one. Unfortunately, as far as I can make out, the SubgroupsOfIndexTwo takes a few minutes to run for groups of this size, so you will need to be patient. Vipul * Quoting sadegh salehi who at 2011-11-30 06:25:40+0000 (Wed) wrote > Hello dear GAP Forum members, > ? > By the?Atlas of finite groups, we know that the simple group?PSL(2,9)has three cyclicautomorphic extensions:??S6 (Symmetric group of degree 6), PGL(2,9) and?the 'Mathieu' group M(10). > Also we note that M(10) is non-split extension of PSL(2,9). So it?can not be?Created by the?semidirect product. > Is?there?any way to?access the automorphic?extension of?PSL(2,25) or PSL(2,49) , PSL(3,4), ...? in Gap? > I will be appreciate?for any suggestion. > > With Best Regards. > Seyed Sadegh Salehi Amiri. > Department of? Mathematics, Islamic Azad University, Babol Branch, Iran. > salehisss at yahoo.com > salehisss at baboliau.ac.ir > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From garymakonel at googlemail.com Wed Nov 30 18:27:08 2011 From: garymakonel at googlemail.com (Gary McConnell) Date: Wed, 30 Nov 2011 18:27:08 +0000 Subject: [GAP Forum] Action of a group on its double cosets Message-ID: Hi Everyone Let G be a group with two subgroups H,K and consider the double coset space DC = H\G/K. Denote by N_G(K) the normalizer of K in G. I am trying to look at the behaviour of elements of DC under the right action of N_G(K), and the left action of N_G(H). These actions are obviously only defined up to elements of the respective underlying subgroups; but even with the full normalizer I have been unable to figure out a "natural" way (other than by element-by-"element" multiplication using the single cosets) to create these actions. Is this action something that exists somewhere that I haven't been able to dig out? Thanks a lot!! Gary From hulpke at math.colostate.edu Wed Nov 30 18:51:31 2011 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed, 30 Nov 2011 11:51:31 -0700 Subject: [GAP Forum] presentations from GrpConst Program In-Reply-To: References: Message-ID: <16610BC9-F6E8-455E-BDA3-0B32764630D2@math.colostate.edu> Dear GAP-Forum, Walter Becker wrote: > distinguish them. The way I would like to do this is to > construct presentations for these groups in the form > (11 group) semi direct product with the (5-group) Since the question of combining presentations (to build extensions) and of decomposing semidirect products seem to have more general interest, I have appended a procedure SemidirectPresentation' that takes a group and a normal subgroup, and builds a presentation for it reflecting the semidirect product decomposition. For example (generators n are the normal subgroup, s the complement). The presentations for N and S were determined automatically and are probably not as nice as can be. gap> SemidirectPresentation(g,SylowSubgroup(g,11)); [ f3, f4, f1, f2 ] -> [ n1, n2, s1, s2 ] gap> RelatorsOfFpGroup(Image(last)); [ n1^11*n2^-8, n2^-1*n1^-1*n2*n1, n2^11, s1^5, s2^-1*s1^-1*s2*s1, s2^5, s1^-1*n1*s1*n2^-1*n1^-4, s2^-1*n1*s2*n1^-1, s1^-1*n2*s1*n2^-4, s2^-1*n2*s2*n2^-1 ] I hope this is of help, 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 SemidirectPresentation:=function(G,N) local c,fpc,fc,fpn,fn,str,f,gens,r,i,j,a,rels,H,hom; c:=Complementclasses(G,N); if Length(c)=0 then Error("not split extension");fi; c:=c[1]; fpc:=IsomorphismFpGroup(c); fc:=Range(fpc); fpn:=IsomorphismFpGroup(N); fn:=Range(fpn); r:=Length(GeneratorsOfGroup(fn)); str:=List([1..r],x->Concatenation("n",String(x))); Append(str,List([1..Length(GeneratorsOfGroup(fc))], x->Concatenation("s",String(x)))); f:=FreeGroup(str); gens:=GeneratorsOfGroup(f); rels:=[]; # n-rels Append(rels,List(RelatorsOfFpGroup(fn), x->MappedWord(x,FreeGeneratorsOfFpGroup(fn),gens{[1..r]}))); # s-rels Append(rels,List(RelatorsOfFpGroup(fc), x->MappedWord(x,FreeGeneratorsOfFpGroup(fc), gens{[r+1..Length(gens)]}))); # action for i in [1..r] do for j in [1..Length(GeneratorsOfGroup(fc))] do # conjugate a:=PreImagesRepresentative(fpn,GeneratorsOfGroup(fn)[i])^ PreImagesRepresentative(fpc,GeneratorsOfGroup(fc)[j]); # as word a:=Image(fpn,a); # rewrite in generators of new free group a:=MappedWord(UnderlyingElement(a),FreeGeneratorsOfFpGroup(fn), gens{[1..r]}); # relator Add(rels,gens[i]^gens[r+j]/a); od; od; H:=f/rels; hom:=GroupHomomorphismByImages(G,H, Concatenation(List(GeneratorsOfGroup(fn), x->PreImagesRepresentative(fpn,x)), List(GeneratorsOfGroup(fc), x->PreImagesRepresentative(fpc,x)) ), GeneratorsOfGroup(H)); return hom; end; From ahulpke at gmail.com Wed Nov 30 19:01:56 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Wed, 30 Nov 2011 12:01:56 -0700 Subject: [GAP Forum] Action of a group on its double cosets In-Reply-To: References: Message-ID: <5CE953E0-8B0E-4101-835A-28F95DF19C23@gmail.com> Dear forum, Dear Gary McConnell, On Nov 30, 2011, at 11/30/11 11:27, Gary McConnell wrote: > Hi Everyone > > Let G be a group with two subgroups H,K and consider the double coset space > DC = H\G/K. > > Denote by N_G(K) the normalizer of K in G. > > I am trying to look at the behaviour of elements of DC under the right > action of N_G(K), and the left action of N_G(H). These actions are > obviously only defined up to elements of the respective underlying > subgroups; but even with the full normalizer I have been unable to figure > out a "natural" way (other than by element-by-"element" multiplication > using the single cosets) to create these actions. > > Is this action something that exists somewhere that I haven't been able to > dig out? You can of course use GAP's mechanism for comparing double cosets and then simply act on double cosets. for example: gap> G:=SymmetricGroup(8); Sym( [ 1 .. 8 ] ) gap> H:=Group((1,2,3),(2,3,4)); Group([ (1,2,3), (2,3,4) ]) gap> K:=Group((5,6,7,8)); Group([ (5,6,7,8) ]) gap> NoH:=Normalizer(G,H); Group([ (2,4,3), (1,2)(3,4), (1,4)(2,3), (2,3), (2,3,4)(6,7), (2,3,4)(6,8), (2,3,4)(5,6,8) ]) gap> NoK:=Normalizer(G,K); Group([ (5,6,7,8), (5,7)(6,8), (2,3), (2,4), (1,2,4), (2,4)(6,8) ]) gap> dc:=DoubleCosets(G,H,K);; gap> Length(dc); 852 Now define an action of NoK on the double cosets by right multiplication right:=function(d,n) return DoubleCoset(H,Representative(d)*n,K);end; Now you can act: gap> Action(NoK,dc,right); gap> List(Orbits(NoK,dc,right),Length); [ 4, 16, 16, 48, 16, 16, 4, 16, 48, 16, 24, 48, 48, 24, 16, 16, 4, 24, 16, 16, 24, 48, 48, 24, 16, 48, 16, 48, 48, 24, 48, 24 ] The cost here is basically comparison of double cosets, which is done by looking at the right cosets involved in each. Clearly this has a limit, but certainly won't be worse than the naive approach. A left action of NoH is easily defined the same way. Hope this is of help, 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 From marek at mitros.org Fri Dec 2 10:52:04 2011 From: marek at mitros.org (Marek Mitros) Date: Fri, 2 Dec 2011 11:52:04 +0100 Subject: [GAP Forum] Parker loop Message-ID: Hi All, I am reading Conway "simple construction of monster" and I wonder whether anybody has Parker loop defined for GAP. I would like to play around with it to understand more how multiplication there looks like. For example when I have two octads o1, o2 intersecting in four points then let o3 be XOR(o1,o2). Then I assume that in Parker loop o1.o2=o3, o2.o3=o1, etc and all these products commutes. When I have octads o1,o2 intersecting in two points then d1=XOR(o1,o2) is dodecad. In such case I do not know whether o1.o2=d1 or o1.o2=-d1 (minus). In such case product o1.o2 anticommute. The next question I have is how to generate extraspecial group of size 2^25 called Q_x1 in the paper. It is generated by elements x_d and x_delta. Regards, Marek From sal at cs.st-andrews.ac.uk Fri Dec 2 11:14:34 2011 From: sal at cs.st-andrews.ac.uk (Stephen Linton) Date: Fri, 2 Dec 2011 11:14:34 +0000 Subject: [GAP Forum] Parker loop In-Reply-To: <008e5de638ce43aab6ce1271f528a9b2@UOS-DUN-CAS2.st-andrews.ac.uk> References: <008e5de638ce43aab6ce1271f528a9b2@UOS-DUN-CAS2.st-andrews.ac.uk> Message-ID: <646F6956-DFE1-4F60-9116-7FBA2A2E0D2D@cs.st-andrews.ac.uk> I started trying to automatise this construction some years ago. I recall that I got as far as constructing Fi24 in characteristic zero by these methods. I don't know if I still have any of the code I wrote, let alone whether it works with current GAP. I'll have a look. Steve On 2 Dec 2011, at 10:52, Marek Mitros wrote: > Hi All, > > I am reading Conway "simple construction of monster" and I wonder whether > anybody has Parker loop defined for GAP. I would like to play around with > it to understand more how multiplication there looks like. > For example when I have two octads o1, o2 intersecting in four points then > let o3 be XOR(o1,o2). Then I assume that in Parker loop o1.o2=o3, o2.o3=o1, > etc and all these products commutes. > When I have octads o1,o2 intersecting in two points then d1=XOR(o1,o2) is > dodecad. In such case I do not know whether o1.o2=d1 or o1.o2=-d1 (minus). > In such case product o1.o2 anticommute. > > The next question I have is how to generate extraspecial group of size 2^25 > called Q_x1 in the paper. It is generated by elements x_d and x_delta. > > Regards, > Marek > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From mana_tari at yahoo.com Tue Dec 6 16:10:33 2011 From: mana_tari at yahoo.com (mana Tari) Date: Tue, 6 Dec 2011 16:10:33 +0000 (GMT) Subject: [GAP Forum] Cojugacy classes Message-ID: <1323187833.50725.YahooMailNeo@web132401.mail.ird.yahoo.com> Dear Gap Forum, ? How we can find the number of conjugacy classes of elements of order?2a group for example PSL(2,9) or other group?. Thanks. ? Kind regards, Mana From justin at mac.com Tue Dec 6 16:34:28 2011 From: justin at mac.com (Justin C. Walker) Date: Tue, 06 Dec 2011 08:34:28 -0800 Subject: [GAP Forum] Cojugacy classes In-Reply-To: <1323187833.50725.YahooMailNeo@web132401.mail.ird.yahoo.com> References: <1323187833.50725.YahooMailNeo@web132401.mail.ird.yahoo.com> Message-ID: <6668E3D3-82B8-4C69-88A2-0862D265E25A@mac.com> Dear Forum, and Mana, On Dec 6, 2011, at 08:10 , mana Tari wrote: > How we can find the number of conjugacy classes of elements of order 2a group for example PSL(2,9) or other group?. Thanks. I don't know how familiar you are with GAP, but the TAB and ? characters can help. For example, type part of the name you are looking for, followed by TAB, and GAP will provide a list of possible completions of the name (for example, ConjugacyTAB). THen, if a name looks promising, type ?Name to get documentation. There is also documentation, in HTML, PDF, and DVI form, provided with your GAP installation, for more casual browsing. Check the "doc" directory in the directory in which your GAP installation lives (or, on-line, at ). HTH Justin -- Justin C. Walker, Curmudgeon at Large Institute for the Absorption of Federal Funds -- Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote. From lisette.brillemans at mensa.nl Tue Dec 6 22:05:36 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Tue, 6 Dec 2011 23:05:36 +0100 Subject: [GAP Forum] minimal polynomes Message-ID: <8F009456860549E39B008C3AC558F58D@AgnieszkaKowalc> Dear all, I have been looking but couldn?t find it. Does GAP have a function to compute the minimal polynomial for a given algebraic number? So I?m looking for something like MinimalPolynomial(sqrt(3)+2); and that GAP answers then: x^2-4x+1. Lisette From burkhard at hoefling.name Tue Dec 6 22:18:55 2011 From: burkhard at hoefling.name (=?iso-8859-1?Q?Burkhard_H=F6fling?=) Date: Tue, 6 Dec 2011 23:18:55 +0100 Subject: [GAP Forum] minimal polynomes In-Reply-To: <8F009456860549E39B008C3AC558F58D@AgnieszkaKowalc> References: <8F009456860549E39B008C3AC558F58D@AgnieszkaKowalc> Message-ID: <1427E808-7B6B-4AEA-874E-AE95D93C7486@hoefling.name> On 2011-12-06, at 23:05 , Lisette Brillemans wrote: > Dear all, > > I have been looking but couldn?t find it. > Does GAP have a function to compute the minimal polynomial for a given algebraic number? > > So I?m looking for something like MinimalPolynomial(sqrt(3)+2); > and that GAP answers then: x^2-4x+1. To define a minimal polynomial, you have to specify the admissible coefficient field. In your case, it's the rationals, apparently, so just use gap> MinimalPolynomial (Rationals, Sqrt(3)+2); x_1^2-4*x_1+1 Cheers Burkhard. From nagyg at math.u-szeged.hu Wed Dec 7 08:17:30 2011 From: nagyg at math.u-szeged.hu (Nagy Gabor) Date: Wed, 07 Dec 2011 09:17:30 +0100 Subject: [GAP Forum] Parker loop In-Reply-To: References: Message-ID: <4EDF211A.900@math.u-szeged.hu> Dear Marek, Parker loops are so called code loops. Any doubly even binary code gives rise to such a loop. If you start with the extended binary Golay code then you obtain the Parker code. However, as you noticed the construction of the loop from the code is by far nontrivial. Code loops are Moufang loops, which can be equivalently given by a group theoretical data called "groups with triality". In my paper G. P. Nagy. Direct construction of code loops. Discrete Mathematics 308 (2008), 5349-5357. (arXiv:math/0411315v2) I gave a rather straighforward construction of the group with triality starting from the code. You find the GAP implementation below. I also have a GAP program which constructs the loop itself from the group with triality. Unfortunately, the machines I have access to have too small memory to deal with (the multiplication tables) of loops of order 8192. Concerning the extraspecial group of order 2^25: As I do not know the precise construction, I am not quite sure if this is it. However, from loop theoretical point of view, it is quite natural to look at a certain subgroup of the group G with triality: gap> LoadPackage("guava"); true gap> LoadPackage("loops"); true gap> gap> C:=ExtendedBinaryGolayCode(); a linear [24,12,8]4 extended binary Golay code over GF(2) gap> tg:=DoublyEvenBinaryCodesToTrialityGroup(C); rec( group := , sigma := f1, rho := f2 ) gap> gap> sigma_class:=Elements( ConjugacyClass( tg.group, tg.sigma ) );; gap> eg:=Subgroup(tg.group,sigma_class/tg.sigma); gap> gap> StringPP(Size(eg)); "2^25" gap> Size(FrattiniSubgroup(eg)); 2 gap> Size(Center(eg)); 8 I hope this helps. Bye, Gabor ====================================== ############################################################# # Construction of groups with triality and Moufang loops # input: Doubly even binary code # output: group with triality (G,\sigma,\rho) # (as record, G as polycyclic group) DoublyEvenBinaryCodesToTrialityGroup := function( code ) local i, j, c, b, n, 1form, 2form, 3form, F, coll, gr; # 1-, 2- and 3-forms corresponding to the code b:=List(Elements(Basis(C)),Support); n:=Length(b); 1form:=0*Z(2)*[1..n];; 2form:=List( [1..n], i -> 0*Z(2)*[1..n] );; 3form:=List( [1..n], i -> List( [1..n], j -> 0*Z(2)*[1..n] ) );; for i in [1..n] do 1form[i] := (Size(b[i])/4)*Z(2); od; for i in Combinations( [1..n ], 2 ) do 2form[i[1]][i[2]] := (Size(Intersection(b{i}))/2)*Z(2); 2form[i[2]][i[1]] := (Size(Intersection(b{i}))/2)*Z(2); od; for i in Combinations( [1..n ], 3 ) do for j in PermutationsList( i ) do 3form[j[1]][j[2]][j[3]] := Size(Intersection(b{i}))*Z(2); od; od; # free group initialization F := FreeGroup( IsSyllableWordsFamily, 3*n+4 ); coll := SingleCollector( F, Concatenation( [2,3], List([1..3*n+2],i->2) ) ); # power relations for the underlying group for i in [1..n] do SetPower( coll, i+2, F.(3*n+3)^IntFFE( 1form[i] ) ); SetPower( coll, n+i+2, F.(3*n+4)^IntFFE( 1form[i] ) ); od; # commutators of 1st kind for the underlying group for i in [1..n-1] do for j in [i+1..n] do SetCommutator( coll, j+2, i+2, F.(3*n+3)^IntFFE( 2form[j][i] ) ); SetCommutator( coll, n+j+2, n+i+2, F.(3*n+4)^IntFFE( 2form[j][i] ) ); od; od; # commutators of 2st kind for the underlying group for i in [1..n] do for j in [1..n] do c := Product( List( [1..n], k -> F.(2*n+k+2)^IntFFE( 3form[j][i][k] ) ) ) * (F.(3*n+3) * F.(3*n+4))^IntFFE( 2form[i][j] ); SetCommutator( coll, n+j+2, i+2, c ); SetCommutator( coll, n+i+2, j+2, c ); od; od; # commutators of 3rd kind for the underlying group for i in [1..n] do SetCommutator( coll, 2*n+i+2, i+2, F.(3*n+3) ); SetCommutator( coll, 2*n+i+2, n+i+2, F.(3*n+4) ); od; # relations for sigma and rho SetConjugate( coll, 2, 1, F.2^2 ); for i in [1..n] do # sigma SetConjugate( coll, i+2, 1, F.(n+i+2) ); SetConjugate( coll, n+i+2, 1, F.(i+2) ); # rho SetConjugate( coll, i+2, 2, F.(n+i+2) ); SetConjugate( coll, n+i+2, 2, (F.(i+2)*F.(n+i+2))^-1 ); od; # action on the center SetConjugate( coll, 3*n+3, 1, F.(3*n+4) ); SetConjugate( coll, 3*n+4, 1, F.(3*n+3) ); SetConjugate( coll, 3*n+3, 2, F.(3*n+4) ); SetConjugate( coll, 3*n+4, 2, F.(3*n+3)*F.(3*n+4) ); # constructing the group gr := GroupByRws( coll ); # done return rec( group := Group( GeneratorsOfGroup( gr ){[3..3*n+4]} ), sigma := gr.1, rho := gr.2 ); end; # input: Group with triality (G,\sigma,\rho) (as record, G as polycyclic group) # output: Code loop TrialityGroupToLoop_verbose := function( tr ) local c1, N, ccl, ct, i, s1; c1 := Centralizer( tr.group, tr.sigma ); N := Index( tr.group, c1 ); Print("# The order of the loop = ",N,"\n"); if N <> Index( c1, Intersection(c1,c1^tr.rho) ) then Error( "This is no group with triality!" ); fi; ccl := Elements( ConjugacyClass( tr.group, tr.sigma ) ); ct:=[]; i:=1; for s1 in ccl do Print("# pos: ",i,"/",N,"\n"); Add(ct,List( ccl, s2 -> Position( ccl, s1^tr.rho * s2^(tr.rho^2) * s1^tr.rho ) ) ); i:=i+1; od; return LoopByCayleyTable( NormalizedQuasigroupTable( ct ) ); end; 2011-12-02 11:52 keltez?ssel, Marek Mitros ?rta: > Hi All, > > I am reading Conway "simple construction of monster" and I wonder whether > anybody has Parker loop defined for GAP. I would like to play around with > it to understand more how multiplication there looks like. > For example when I have two octads o1, o2 intersecting in four points then > let o3 be XOR(o1,o2). Then I assume that in Parker loop o1.o2=o3, o2.o3=o1, > etc and all these products commutes. > When I have octads o1,o2 intersecting in two points then d1=XOR(o1,o2) is > dodecad. In such case I do not know whether o1.o2=d1 or o1.o2=-d1 (minus). > In such case product o1.o2 anticommute. > > The next question I have is how to generate extraspecial group of size 2^25 > called Q_x1 in the paper. It is generated by elements x_d and x_delta. > > Regards, > Marek > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From msorouhesh at gmail.com Wed Dec 7 18:59:14 2011 From: msorouhesh at gmail.com (Mr. Sorouhesh) Date: Wed, 7 Dec 2011 22:29:14 +0330 Subject: [GAP Forum] =?windows-1252?q?Is_this_=93loop=94_in_GAP_applicable?= =?windows-1252?q?=3F?= Message-ID: I am new (unskilled) in this software, the GAP, and wanted to generate for example 4 groups as follows. Although the rules are used as it is its help; I cannot see the 4 finitely presented groups generated. f:=FreeGroup(2);; a:=f.1; b:=f.2; for k in[2..5]do G:=f/[a^2,b^k,(a*b)^3]; od; Syntax error, unexpected od, expecting ';' I think "for" cannot be applied for such these statements as I put above (G:=....). Any suggestion? :-) From alexander.konovalov at gmail.com Wed Dec 7 20:25:24 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed, 7 Dec 2011 20:25:24 +0000 Subject: [GAP Forum] =?windows-1252?q?Is_this_=93loop=94_in_GAP_applicable?= =?windows-1252?q?=3F?= In-Reply-To: References: Message-ID: <102E1715-B386-4F70-831E-A324593BF4F0@gmail.com> On 7 Dec 2011, at 18:59, Mr. Sorouhesh wrote: > I am new (unskilled) in this software, the GAP, and wanted to generate for > example 4 groups as follows. Although the rules are used as it is its help; > I cannot see the 4 finitely presented groups generated. > > f:=FreeGroup(2);; > > a:=f.1; b:=f.2; > > for k in[2..5]do G:=f/[a^2,b^k,(a*b)^3]; od; > > Syntax error, unexpected od, expecting ';' > > I think "for" cannot be applied for such these statements as I put above > (G:=....). Any suggestion? :-) You have to put spaces around [2..5] in the last line: for k in [2..5] do G:=f/[a^2,b^k,(a*b)^3]; od; Otherwise GAP can not parse it properly. That is, the syntax of the 'for' loop is for simple-var in list-expr do statements od; so list-expr must be separated from 'in' and 'do' Hope this helps, Alexander From suskudar at gmail.com Wed Dec 7 21:38:41 2011 From: suskudar at gmail.com (sumeyra uskudar) Date: Wed, 7 Dec 2011 23:38:41 +0200 Subject: [GAP Forum] subgroup lattices Message-ID: I have a problem with the command "SetPrintLevel". I want for example the subgrouplattice of the smallgroup (32,26) ,but it does not give the entirelist of subgroups with representatives. I think it has something to do with printlevel. but I could not set it altough I followed the instructions in manual. Anyone can help me? -- *S?meyra Bedir* From alexander.konovalov at gmail.com Wed Dec 7 21:46:29 2011 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed, 7 Dec 2011 21:46:29 +0000 Subject: [GAP Forum] =?windows-1252?q?Is_this_=93loop=94_in_GAP_applicable?= =?windows-1252?q?=3F?= In-Reply-To: <102E1715-B386-4F70-831E-A324593BF4F0@gmail.com> References: <102E1715-B386-4F70-831E-A324593BF4F0@gmail.com> Message-ID: P.S. Sorry, I was too quick with my reply - actually, it works even without spaces in "in[2..5]do" with the latest official release GAP 4.4.12, as well as in the beta release of GAP 4.5 (though, of course, it's not the recommended way to write the GAP code, and if 'list-expr' is not a plain list but a domain, clearly one has to use spaces). So, if an error occurs because of another reason, are you sure that you're using the latest version of GAP? Also, which GAP distribution did you use to install it? Can you reproduce this problem in a new GAP session? Could you let me know this, please? Thanks, Alexander On 7 Dec 2011, at 20:25, Alexander Konovalov wrote: > > On 7 Dec 2011, at 18:59, Mr. Sorouhesh wrote: > >> I am new (unskilled) in this software, the GAP, and wanted to generate for >> example 4 groups as follows. Although the rules are used as it is its help; >> I cannot see the 4 finitely presented groups generated. >> >> f:=FreeGroup(2);; >> >> a:=f.1; b:=f.2; >> >> for k in[2..5]do G:=f/[a^2,b^k,(a*b)^3]; od; >> >> Syntax error, unexpected od, expecting ';' >> >> I think "for" cannot be applied for such these statements as I put above >> (G:=....). Any suggestion? :-) > > You have to put spaces around [2..5] in the last line: > > for k in [2..5] do G:=f/[a^2,b^k,(a*b)^3]; od; > > Otherwise GAP can not parse it properly. > > > That is, the syntax of the 'for' loop is > > for simple-var in list-expr do statements od; > > so list-expr must be separated from 'in' and 'do' > > > Hope this helps, > Alexander > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From w_becker at hotmail.com Thu Dec 8 14:29:57 2011 From: w_becker at hotmail.com (Walter Becker) Date: Thu, 8 Dec 2011 05:29:57 -0900 Subject: [GAP Forum] construction of an isomorphism between 2 different presentations Message-ID: This is in regard to a previous question to the GAP-forum regarding the identification of grooups being returned from the Group Construction program. See below for the program used: LoadPackage("grpconst"); p:=11; q:=5; x:=ConstructAllGroups(q^3*p^2);;time; LL:=Length(x); i:=55; H:=x[i]; ccs:=ConjugacyClasses(H);; classcounts := []; eltcounts := []; for c in ccs do o := Order(Representative(c)); if not IsBound(classcounts[o]) then classcounts[o] := 0; eltcounts[o] := 0; fi; classcounts[o] := classcounts[o] + 1; eltcounts[o] := eltcounts[o] + Size(c); od; for o in [1..Length(classcounts)] do if IsBound(classcounts[o]) then Print(o," ",eltcounts[o]," ",classcounts[o],"\n"); fi; od; R:=PresentationViaCosetTable(H); S:=FpGroupPresentation(R); T:=RelatorsOfFpGroup(S); Sq:=SylowSubgroup(H,q); Rq:=PresentationViaCosetTable(Sq); Sq:=FpGroupPresentation(Rq); T3:=RelatorsOfFpGroup(Sq); IdGroup(Sq); The returned presentations here are gap> T:=RelatorsOfFpGroup(S); [ f2*f3*f2^-1*f3^-1, f2*f4*f2^-1*f4^-1, f3*f4*f3^-1*f4^-1, f1*f5*f1^-1*f5^-1, f2*f5*f2^-1*f5^-1, f3*f5*f3^-1*f5^-1, f4*f5*f4^-1*f5^-1, f5*f1*f2*f1^-1*f2^-1, f1^5, f1^-1*f3^3*f1*f3^-1, f1^-1*f4^3*f1*f4^-1, f1*f3^4*f1^-1*f3^-1, f1*f4^4*f1^-1*f4^-1, f1*f2^2*f1^-1*f2^3 ] gap> Sq:=SylowSubgroup(H,q); Group([ f1, f2, f5 ]) gap> Rq:=PresentationViaCosetTable(Sq); gap> Sq:=FpGroupPresentation(Rq); gap> T3:=RelatorsOfFpGroup(Sq); [ f1*f3*f1^-1*f3^-1, f2*f3*f2^-1*f3^-1, f3*f1*f2*f1^-1*f2^-1, f1^5, f1*f2^2*f1^-1*f2^3 ] gap> IdGroup(Sq); [ 125, 4 ] The question is to relate groups obtained from the Group Construction program as above to a presentation of the form: T_1^11=T_2^11=(T_1,T_2) = A^25=B^5=A^b*a^_6= T_1^A*T_1^a=T_2^A*T_2^b=T_1^B*T_1^c=T_2^B*T_2^d=1; In this case I believe that a and b are both -1 ie the order 11 group generators commute with the generator A, and the other 5-group generator does not commute with the T's. Question how to get the parameters c and d. Note there are several cases where the order structure of the groups generated by Grp Const program are (or appear to be) the same as well as their automorphism groups. Hence how to assign the "constants a,b,c, and d to these groups obtained from the Grp Const output. In other words how to assign presentations of the above form (T_1,..B) to groups in the Grp Const output. Note the IsomorphismGroups(X,Y) may not work as the size of these groups automorphism groups are quite large. Suggestions ??? Walter Becker From saqaas12 at gmail.com Fri Dec 9 09:39:57 2011 From: saqaas12 at gmail.com (Aasma Shaheen) Date: Fri, 9 Dec 2011 14:39:57 +0500 Subject: [GAP Forum] Polynomial Ring of a finite local ring Message-ID: How can we find the polynomial Ring of a finite local ring in one indeterminate.for example Z4[X]. From hulpke at me.com Fri Dec 9 14:46:38 2011 From: hulpke at me.com (Alexander Hulpke) Date: Fri, 09 Dec 2011 07:46:38 -0700 Subject: [GAP Forum] Polynomial Ring of a finite local ring In-Reply-To: References: Message-ID: <0E04D528-509A-4D04-A2DC-A9607E6149E7@me.com> Dear Forum, On Dec 9, 2011, at 2:39 AM, Aasma Shaheen wrote: > How can we find the polynomial Ring of a finite local ring in one > indeterminate.for example Z4[X]. You can use X(Integers mod 4,"x"); to create indeterminates (and from them form polynomials), but polynomial rings as separate objects so far are only implemented over fields and integral domains. Also polynomial factorization etc. is not available over these rings. Best, 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 From lisette.brillemans at mensa.nl Sat Dec 10 23:36:46 2011 From: lisette.brillemans at mensa.nl (Lisette Brillemans) Date: Sun, 11 Dec 2011 00:36:46 +0100 Subject: [GAP Forum] semicolon Message-ID: <6AD49869D2604D03BFD67ED28B021C7D@AgnieszkaKowalc> Dear all, When using GAP you have to end every line with a semicolon, as in C and C++. This is allright, but it also has the effect (on me) that something like SciLab or so is now very user unfriendly because there using a semicolon supresses the output. I have been using GAP for quite a while now (more than a year) but of course apart from GAP you need sometimes other programs, like Pari for instance. But also Pari has the behaviour that a semicolon suppresses output. This is very unhandy if you?re accustomed to GAP. Is it possible to implement a function or maybe a command line option to change the behaviour of the semicolon of GAP in version 4.5. Of course I?m only talking about oneliners. The programming language should of course stay as it is. Sage uses a Pythonlike language to connect many algebraic and mathematical programs into one package but it?s not what I?m looking for. I only would like to be able to switch the behaviour of GAP?s semicolon. If that is not possible I' very much like to here why not. If there are more users experiencing this annoying problem then of course I would like to hear from them if they have found a solution and which one. Thank you in advance for any advice, Lisette From saqaas12 at gmail.com Mon Dec 12 04:48:25 2011 From: saqaas12 at gmail.com (Aasma Shaheen) Date: Sun, 11 Dec 2011 20:48:25 -0800 Subject: [GAP Forum] Galios Ring Message-ID: Dear forum, In GAp how can we generate a galios ring over a finite local ring ,for example Z4[x]/. If anybody can help ,i will be greatfull. Thanks. From srimathi at cmi.ac.in Tue Dec 6 16:00:29 2011 From: srimathi at cmi.ac.in (srimathi at cmi.ac.in) Date: Tue, 6 Dec 2011 21:30:29 +0530 Subject: [GAP Forum] Reg my doubt Message-ID: hello GAP forum, Im srimathi,doing my research in Group Representations and Algorithmic Complexity,i have a doubt in working with GAP...i'll write my prog please help me with it Z2:=CyclicGroup(IsPermGroup,2); Group[(1,2]) G:=DirectProduct(Z2,Z2,Z2); C:=WreathProduct(G,CyclicGroup(2)); Group of size 128 with 4 generators> my doubt is...im taking this particular group ie.,(Z2 directproduct Z2 directproduct Z2)*wreath product Z2. now i want the representation of this particular group...i dont know how to proceed please help me with it. thanks, srimathi From williamdemeo at gmail.com Wed Dec 7 22:02:34 2011 From: williamdemeo at gmail.com (William DeMeo) Date: Wed, 7 Dec 2011 12:02:34 -1000 Subject: [GAP Forum] subgroup lattices In-Reply-To: References: Message-ID: Dear Sumeyra, Could you be more specific? 1. What GAP commands did you try? 2. What do you mean by "I want the subgroup lattice of..." Do you want a picture of it? Do you want a list of ALL the subgroups? Usually that's not as helpful as the list of conjugacy classes of subgroups that GAP provides. When I run the following GAP commands on your group, they seem to work well: gap> g:=SmallGroup(32,26); gap> l:=LatticeSubgroups(g); gap> ConjugacyClassesSubgroups(l); gap> MaximalSubgroupsLattice(l); The output of MaximalSubgroupsLattice is a little bit hard to interpret at first, but you get used to it. If you want a list of all the subgroups and their covering relations, you could do the following, at least for small groups: gap> e:=Group([Identity(g)]);; gap> IntermediateSubgroups(g,e); If you want to see a picture of the subgroup lattice, you might try XGAP. Alternatively, you could try the universal algebra calculator (www.uacalc.org) along with my GAP script, gap2uacalc.g (attached), which converts a GAP group or transitive G-set into an algebra file that can be read by uacalc. You can then use uacalc to analyze the structure of the subgroup lattice or the lattice of congruence relations, and you can generate rotating 3d diagrams. A picture of such a diagram for your group is attached. Hope that helps! -William On Wed, Dec 7, 2011 at 11:38 AM, sumeyra uskudar wrote: > I have a problem with the command "SetPrintLevel". > I want for example the subgrouplattice of the smallgroup (32,26) ,but it > does not give the entirelist of subgroups with representatives. > I think it has something to do with printlevel. but I could not set it > altough I followed the instructions in manual. > Anyone can help me? > > -- > *S?meyra Bedir* > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From vincent.giambalvo at uconn.edu Sun Dec 11 00:40:44 2011 From: vincent.giambalvo at uconn.edu (Vince Giambalvo) Date: Sat, 10 Dec 2011 19:40:44 -0500 Subject: [GAP Forum] semicolon In-Reply-To: <6AD49869D2604D03BFD67ED28B021C7D@AgnieszkaKowalc> References: <6AD49869D2604D03BFD67ED28B021C7D@AgnieszkaKowalc> Message-ID: On Dec 10, 2011, at 6:36 PM, Lisette Brillemans wrote: > Dear all, > > > When using GAP you have to end every line with a semicolon, as in C and C++. > This is allright, but it also has the effect (on me) that something like SciLab or so is now very user unfriendly because there using a semicolon supresses the output. > I have been using GAP for quite a while now (more than a year) but of course apart from GAP you need sometimes other programs, like Pari for instance. But also Pari has the behaviour that a semicolon suppresses output. This is very unhandy if you?re accustomed to GAP. > > Is it possible to implement a function or maybe a command line option to change the behaviour of the semicolon of GAP in version 4.5. > Of course I?m only talking about oneliners. > The programming language should of course stay as it is. > > Sage uses a Pythonlike language to connect many algebraic and mathematical programs into one package but it?s not what I?m looking for. I only would like to be able to switch the behaviour of GAP?s semicolon. If that is not possible I' very much like to here why not. > If there are more users experiencing this annoying problem then of course I would like to hear from them if they have found a solution and which one. > If what you want is a line, or switch in your configuration file, fine. But I would think in general that it would not be easy to implement. And I certainly use the ability to type a line with a return in them. And the GAP input routine would need to be rewritten to figure out when a line was complete. For example x := 4+ 4 +3; would probably not give you what you want. Vince From jjm at mcs.st-and.ac.uk Mon Dec 12 10:52:10 2011 From: jjm at mcs.st-and.ac.uk (John McDermott) Date: Mon, 12 Dec 2011 10:52:10 +0000 Subject: [GAP Forum] subgroup lattices In-Reply-To: References: Message-ID: <3816FE45-6796-4C4C-A003-7C7FADD42D91@mcs.st-andrews.ac.uk> Dear William, the Forum mailing list software strips attachments so yours have not appeared here. You could send them directly to Sumeyra, of course. Best wishes, John On 7 Dec 2011, at 22:02, William DeMeo wrote: > Dear Sumeyra, > > Could you be more specific? > > 1. What GAP commands did you try? > > 2. What do you mean by "I want the subgroup lattice of..." > > Do you want a picture of it? Do you want a list of ALL the subgroups? > Usually that's not as helpful as the list of conjugacy classes of > subgroups that GAP provides. When I run the following GAP commands on > your group, they seem to work well: > > gap> g:=SmallGroup(32,26); > gap> l:=LatticeSubgroups(g); > gap> ConjugacyClassesSubgroups(l); > gap> MaximalSubgroupsLattice(l); > > The output of MaximalSubgroupsLattice is a little bit hard to > interpret at first, but you get used to it. If you want a list of all > the subgroups and their covering relations, you could do the > following, at least for small groups: > > gap> e:=Group([Identity(g)]);; > gap> IntermediateSubgroups(g,e); > > If you want to see a picture of the subgroup lattice, you might try > XGAP. Alternatively, you could try the universal algebra calculator > (www.uacalc.org) along with my GAP script, gap2uacalc.g (attached), > which converts a GAP group or transitive G-set into an algebra file > that can be read by uacalc. You can then use uacalc to analyze the > structure of the subgroup lattice or the lattice of congruence > relations, and you can generate rotating 3d diagrams. A picture of > such a diagram for your group is attached. > > Hope that helps! > > -William > > > > On Wed, Dec 7, 2011 at 11:38 AM, sumeyra uskudar wrote: >> I have a problem with the command "SetPrintLevel". >> I want for example the subgrouplattice of the smallgroup (32,26) ,but it >> does not give the entirelist of subgroups with representatives. >> I think it has something to do with printlevel. but I could not set it >> altough I followed the instructions in manual. >> Anyone can help me? >> >> -- >> *S?meyra Bedir* >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- John McDermott Scientific Officer Centre for Interdisciplinary Research in Computational Algebra School of Computer Science University of St Andrews North Haugh, St Andrews, Fife KY16 9SX SCOTLAND (Room 330, Mathematical Institute) tel +44 1334 463813 mob +44 7941 507531 The University of St Andrews is committed to sustainable practices and the preservation of the environment. Please do not print this email unless absolutely necessary. The University of St Andrews is a charity registered in Scotland : No SC01353 From Bill.Allombert at math.u-bordeaux1.fr Mon Dec 12 11:50:34 2011 From: Bill.Allombert at math.u-bordeaux1.fr (Bill Allombert) Date: Mon, 12 Dec 2011 12:50:34 +0100 Subject: [GAP Forum] semicolon In-Reply-To: <6AD49869D2604D03BFD67ED28B021C7D@AgnieszkaKowalc> References: <6AD49869D2604D03BFD67ED28B021C7D@AgnieszkaKowalc> Message-ID: <20111212115034.GD27317@yellowpig> On Sun, Dec 11, 2011 at 12:36:46AM +0100, Lisette Brillemans wrote: > Dear all, > > > When using GAP you have to end every line with a semicolon, as in C and C++. > This is allright, but it also has the effect (on me) that something like > SciLab or so is now very user unfriendly because there using a semicolon > supresses the output. > I have been using GAP for quite a while now (more than a year) but of course > apart from GAP you need sometimes other programs, like Pari for instance. But > also Pari has the behaviour that a semicolon suppresses output. This is very > unhandy if you?re accustomed to GAP. As someone who use both PARI and GAP extensively, I do not think this is so much a problem: Under PARI/GP, you can enter % (or print(%) if you do not want to mess with the history) to displays the result of the last computation, even if the output was suppressed. Under GAP, you can enter a single ; on the continuation line to end the line if you forgot the trailing ;. gap> 1+1 > ; 2 There are more annoying differences between GAP and GP (notably, differences in the way the command history is handled). > Is it possible to implement a function or maybe a command line option to > change the behaviour of the semicolon of GAP in version 4.5. > Of course I?m only talking about oneliners. Alas, this would breaks the continuation line rules. Cheers, Bill. From ahulpke at gmail.com Mon Dec 12 14:56:42 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Mon, 12 Dec 2011 07:56:42 -0700 Subject: [GAP Forum] Galios Ring In-Reply-To: References: Message-ID: <385077C0-2414-4B90-8A90-0FBBB5897F6B@gmail.com> Dear Forum, Aasma Shaheen asked: > In GAp how can we generate a galios ring over a finite local ring ,for > example Z4[x]/. > If anybody can help ,i will be greatfull. There currently is no dedicated functionality for extensions of local rings, but since the structure is finite dimensional, you could build an isomorphic object using AlgebraByStructureConstants. Best, 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 From ahulpke at gmail.com Mon Dec 12 15:01:28 2011 From: ahulpke at gmail.com (Alexander Hulpke) Date: Mon, 12 Dec 2011 08:01:28 -0700 Subject: [GAP Forum] Reg my doubt In-Reply-To: References: Message-ID: <5FB79BC8-D18C-4A83-86EC-DE2ED10987E9@gmail.com> Dear Forum, On Dec 6, 2011, at 9:00 AM, srimathi at cmi.ac.in wrote: > > my doubt is...im taking this particular group ie.,(Z2 directproduct Z2 > directproduct Z2)*wreath product Z2. > now i want the representation of this particular group... Assuming you mean the irreducible representations, it is likely that the command IrreducibleRepresentations' (as always, the manual will tell you more) will be of help. Also, in articular for larger groups, see the repsn' package. Note that in your current construction you form perm group wreath pc group. Often there are better methods available if both factors are of the same structure, i.e. both permutation group or both pc group. Regards, 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 From lvluyen at gmail.com Wed Dec 14 17:34:01 2011 From: lvluyen at gmail.com (=?UTF-8?B?THV54buHbiBMw6ogVsSDbg==?=) Date: Wed, 14 Dec 2011 17:34:01 +0000 Subject: [GAP Forum] About: The function DirectProduct Message-ID: Dear forum, When I ran below commanf line gap >S:=SymmetricGroup(3);; gap >G:=DirectProduct(S);; gap >G=S; true gap >C:=CyclicGroup(3); gap >G:=DirectProduct(C); gap >G=C; false From lvluyen at gmail.com Wed Dec 14 17:42:25 2011 From: lvluyen at gmail.com (=?UTF-8?B?THV54buHbiBMw6ogVsSDbg==?=) Date: Wed, 14 Dec 2011 17:42:25 +0000 Subject: [GAP Forum] The function DirectProduct Message-ID: Dear forum, When I ran the below code lines: gap >S:=SymmetricGroup(3);; gap >G:=DirectProduct(S);; gap >G=S; true gap >C:=CyclicGroup(3);; gap >G:=DirectProduct(C);; gap >G=C; false I realized that there was a difference when I used SymmetricGroup and CyclicGroup. Could you explain it? Thanks, Luyen. From resteban at mat.upv.es Wed Dec 14 18:59:24 2011 From: resteban at mat.upv.es (Ramon Esteban-Romero) Date: Wed, 14 Dec 2011 19:59:24 +0100 Subject: [GAP Forum] The function DirectProduct In-Reply-To: References: Message-ID: <20111214185924.GB19741@mat.upv.es> Dear forum, It seems that in the first case, the function constructs a permutation group because S was a permutation group. Hence it is possible to compare both groups as, for example, subgroups of a permutation group. In the second case, it seems that G is constructed as a new pc group, and since it is constructed as a new group, it is not comparable with the old one. In the second case you can use the group homomorphism Embedding(g,1) to identify C with G (or, in general, with the corresponding subgroup of G). Best wishes, -- Ramon Clau p?blica PGP/Llave p?blica PGP/Clef publique PGP/PGP public key: http://www.rediris.es/cert/servicios/keyserver/ http://personales.upv.es/~resteban/resteban.asc Tel?fon/tel?fono/t?l?phone/phone: (+34)963877007 ext. 76676 * Luy?n L? V?n [111214 19:47]: > Dear forum, > > When I ran the below code lines: > gap >S:=SymmetricGroup(3);; > gap >G:=DirectProduct(S);; > gap >G=S; > true > > gap >C:=CyclicGroup(3);; > gap >G:=DirectProduct(C);; > gap >G=C; > false > > I realized that there was a difference when I used SymmetricGroup and > CyclicGroup. Could you explain it? > > Thanks, > > Luyen. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From mnewman at uottawa.ca Wed Dec 14 21:08:58 2011 From: mnewman at uottawa.ca (mike newman) Date: Thu, 15 Dec 2011 10:08:58 +1300 (NZDT) Subject: [GAP Forum] The function DirectProduct In-Reply-To: References: Message-ID: On Wed, 14 Dec 2011, Luy?n L? V?n wrote: > > When I ran the below code lines: > gap >S:=SymmetricGroup(3);; > gap >G:=DirectProduct(S);; > gap >G=S; > true > > gap >C:=CyclicGroup(3);; > gap >G:=DirectProduct(C);; > gap >G=C; > false The issue is that "equal" and "isomorphic" are not the same thing for groups (among other structures). In fact in GAP there is also the notion of "identical", but that doesn't apply to your example. So identical==>equal==>isomorphic, but the converses are false. For your example: gap> S:=SymmetricGroup(3); Sym( [ 1 .. 3 ] ) gap> G:=DirectProduct(S); Group([ (1,2,3), (1,2) ]) gap> G=S; true gap> IsomorphismGroups(G,S); [ (1,2,3), (1,2) ] -> [ (1,2,3), (1,2) ] gap> C:=CyclicGroup(3); gap> G:=DirectProduct(C); gap> G=C; false gap> IsomorphismGroups(G,C); [ f1 ] -> [ f1 ] gap> S=C; false gap> IsomorphismGroups(S,C); fail --mike From iabrauch at gmx.net Thu Dec 15 23:44:32 2011 From: iabrauch at gmx.net (Ilko Brauch) Date: Fri, 16 Dec 2011 00:44:32 +0100 Subject: [GAP Forum] gap little bug in version 4.5.2 Message-ID: <4EEA8660.2030807@gmx.net> Dear GAP developers, Thank you very much for allowing people to use your great system ! The gap4r4 and gap4r5 releases could be installed without problems. As a hobbyist I use gap to get a better understanding of some elementary group theory. While reading the very helpful paper "Abstract Algebra in GAP" from Alexander Hulpke I noticed the following little bug in the beta Version of GAP 4.5.2: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ GAP, Version 4.5.2(beta) of 27-Nov-2011 Architecture: i686-pc-linux-gnu-gcc-default32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # editing the following two lines of code: G := CyclicGroup(IsFpGroup,3); Elements(G); # lead to the following error message: Error, List Element: [2] must have an assigned value in if e[2] >= 0 and e[2] < n then return u; elif e[2] mod n = 0 then return One( f ); else e := [ e[1], e[2] mod n ]; return ObjByExtRep( fam, e ); fi; called from f( UnderlyingElement( x ) ) called from com( left ) called from FpElmComparisonMethod( FamilyObj( left ) )( left, right ) called from IS_SSORT_LIST_DEFAULT( list ) called from IsSSortedList( l ) called from ... at line 2 of *stdin* you can 'return;' after assigning a value # The code works without problems with the following older version: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ GAP, Version 4.5.1 of 15-Apr-2011 Architecture: i686-pc-linux-gnu-gcc-default32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Finally I hope that I sent this message to the right place and that it will not waste to much of your time. Kind regards Ilko From marek at mitros.org Fri Dec 16 22:38:04 2011 From: marek at mitros.org (Marek Mitros) Date: Fri, 16 Dec 2011 23:38:04 +0100 Subject: [GAP Forum] (no subject) Message-ID: From jjm at mcs.st-and.ac.uk Sun Dec 18 10:51:20 2011 From: jjm at mcs.st-and.ac.uk (John McDermott) Date: Sun, 18 Dec 2011 10:51:20 +0000 Subject: [GAP Forum] Mobius function of subgroup lattice of finite group Message-ID: Dear Forum, the following post was held for moderation as the original message body was too big - the sender replied to the Forum Digest mail without trimming away the contents. Please remember that, when replying to a Forum Digest mail, you should edit both the subject line and the contents. John Dear GAP forum I've a question about ability of GAP for computing mobius function of subgroup lattice of finite group. Is there any function in GAP to compute mobius function? Any help and comments will be highly appreciated. Happy New Year 2012! Regards Ms Fatemeh Moftakhar MSc Student in Mathematics Department of Mathematics, Statistics and Computer Science University of Kashan, Iran From max at quendi.de Sun Dec 18 14:31:35 2011 From: max at quendi.de (Max Horn) Date: Sun, 18 Dec 2011 15:31:35 +0100 Subject: [GAP Forum] gap little bug in version 4.5.2 In-Reply-To: <4EEA8660.2030807@gmx.net> References: <4EEA8660.2030807@gmx.net> Message-ID: <14444903-A173-4AC9-8912-C7DC31142C59@quendi.de> Dear Ilko Brauch, thank you for your very helpful bug report. Indeed, there was a regression in our code, which I just fixed in the development version of GAP. So the problem should be resolved in the next GAP release. Cheers, Max Am 16.12.2011 um 00:44 schrieb Ilko Brauch: [...] > > # editing the following two lines of code: > > G := CyclicGroup(IsFpGroup,3); > Elements(G); > > # lead to the following error message: > > Error, List Element: [2] must have an assigned value in > if e[2] >= 0 and e[2] < n then > return u; > elif e[2] mod n = 0 then > return One( f ); > else > e := [ e[1], e[2] mod n ]; > return ObjByExtRep( fam, e ); > fi; called from > f( UnderlyingElement( x ) ) called from > com( left ) called from > FpElmComparisonMethod( FamilyObj( left ) )( left, right ) called from > IS_SSORT_LIST_DEFAULT( list ) called from > IsSSortedList( l ) called from > ... at line 2 of *stdin* > you can 'return;' after assigning a value > > > # The code works without problems with the following older version: > > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > GAP, Version 4.5.1 of 15-Apr-2011 > Architecture: i686-pc-linux-gnu-gcc-default32 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > > Finally I hope that I sent this message to the right place and that it will not waste to much of your time. > > > Kind regards > > Ilko > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From msorouhesh at gmail.com Sun Dec 18 16:00:07 2011 From: msorouhesh at gmail.com (Mr. Sorouhesh) Date: Sun, 18 Dec 2011 19:30:07 +0330 Subject: [GAP Forum] Metabelian Message-ID: Dear Froum, Is there any way in GAP that one can check a finitely presented group is a metabelian? Best From f_k_moftakhar at yahoo.com Sun Dec 18 18:56:57 2011 From: f_k_moftakhar at yahoo.com (fatemeh moftakhar) Date: Sun, 18 Dec 2011 10:56:57 -0800 (PST) Subject: [GAP Forum] request Message-ID: <1324234617.97551.YahooMailNeo@web161304.mail.bf1.yahoo.com> Dear GAP forum I've a question about ability of GAP for computing mobius function of subgroup lattice of finite group. Is there any function in GAP to compute mobius function? Any help and comments will be highly appreciated.? Happy New Year 2012! Regards Ms Fatemeh Moftakhar MSc Student in Mathematics Department of Mathematics,? Statistics and Computer Science? University of Kashan, Iran From max at quendi.de Mon Dec 19 12:02:38 2011 From: max at quendi.de (Max Horn) Date: Mon, 19 Dec 2011 13:02:38 +0100 Subject: [GAP Forum] Metabelian In-Reply-To: References: Message-ID: <64F31426-66F4-437D-9C8E-0B65BA911724@quendi.de> Am 18.12.2011 um 17:00 schrieb Mr. Sorouhesh: > Dear Froum, > > Is there any way in GAP that one can check a finitely presented group is a > metabelian? Dear Mr. Sorouhesh, as you may know, in general it is not even possible to decide for a given finitely presented group whether it is trivial; this then extends to verifying many other properties, including whether a group is metabelian. However, in some specific cases, more is possible, and this may be the case for you, too -- but without more details about your specific problem, I can't tell. Anyway, here is a rough strategy as to what you can do: Given the finite presentation G=F/R, start by computing a maximal polycyclic quotient. This can be done with my not yet released GAP package pcql (feel free to contact me in private if you would like to compute specific quotients). This yields a quotient H of G which is polycyclic. If this quotient is not metabelian (i.e. H'' is not trivial), then you can stop, as G is not metabelian either. So assume H is metabelian (not that for me, abelian groups are also metabelian). All we know is that it is a quotient of G, and we would like to verify that G and H are actually isomorphic. If G is actually polycyclic, then in Sims' book "Computation with finitely presented groups", section 11.8 there is a strategy on how to do that, given the polycyclic quotient H. (See also for a concrete example where this is being applied). If, however G is *not* polycyclic, then this can in general not be decided (this is similar to deciding whether a subgroup of a finitely presented group has finite index -- if it has, you can compute it and thus have a proof; but if you cannot compute the index, then you do not know whether you simply did not try hard enough, of whether the index is infinite). Of course, in your specific case, it may still be possible to resolve the problem completely; again, it depends on the specific finite presentation. One last remark: Above I only talked about polycyclic metabelian quotients. Of course in general finitely presented metabelian groups need not be polycyclic (Baumslag and other constructed examples for this). With my package "pcql", you can still compute a maximal metabelian quotient, even if it is not polycyclic, and even compute normalforms of group elements in it or obtain a power-conjugator presentation for the group. With luck, this may be sufficient to resolve your problem, but the general strategy described by Sims cannot be applied directly in this case. Best regards, Max -- Dr. Max Horn AG Algebra und Diskrete Mathematik Institut Computational Mathematics TU Braunschweig Pockelsstrasse 14, D-38106 Braunschweig Tel: (+49) 531 391-7526 Fax: (+49) 531 391-7414 Web: http://www.icm.tu-bs.de/~mhorn/ Email: mhorn at tu-bs.de From marek at mitros.org Tue Dec 20 15:38:22 2011 From: marek at mitros.org (Marek Mitros) Date: Tue, 20 Dec 2011 16:38:22 +0100 Subject: [GAP Forum] Parker loop In-Reply-To: <646F6956-DFE1-4F60-9116-7FBA2A2E0D2D@cs.st-andrews.ac.uk> References: <008e5de638ce43aab6ce1271f528a9b2@UOS-DUN-CAS2.st-andrews.ac.uk> <646F6956-DFE1-4F60-9116-7FBA2A2E0D2D@cs.st-andrews.ac.uk> Message-ID: Thank you for answers from Steve and Gabor. I wonder following thing - maybe any of you can comment on it. Let Ld be left multiplication in Parker loop - it is operator in R^4096. From Conway paper I assume that L_d for d in Parker loop and 2^12 diagonal automorphisms x_delta (defined in chapter 4 of Conway) generate extraspecial group 2^25. I assume following L_o for octad o square to 1; L_d for dodecad d square to -1; if a,b are two octads intersecting in 4 points then L_a and L_b commute; if a is octad and b is dodecad then probably L_a and L_b anticommute... In order to prove that group defined above is extraspecial 2^(1+24) we should find convenient basis of Golay code {a} so then L_a and some 12 diagonal automorphisms generate Clifford C(24) monomials which is extraspecial 2^25. C(24) = M(4096). I found one nice base in Tsu paper from 1998. Is there exist basis of Golay code with octads only ? There should be, because I just tested in GAP that dimension of vector space generated by 759 octads is 12 over GF(2). Regarding code from Gabor. I had out of memory error as well when trying to define Parker loop. I was able to store table 8192 x 8192 on the disk - it is 394 MB size (!). I wonder what is the mapping of indexes 1..8192 with +-d for d in Golay Code. There should be one row with 1..8192 numbers but it is not the first one. I have sent email to Gabor but no answer so far, so I post it here. Regards, Marek On Fri, Dec 2, 2011 at 12:14 PM, Stephen Linton wrote: > I started trying to automatise this construction some years ago. I recall > that I got as far as constructing Fi24 in characteristic zero > by these methods. I don't know if I still have any of the code I wrote, > let alone whether it works with current GAP. > I'll have a look. > > Steve > > On 2 Dec 2011, at 10:52, Marek Mitros wrote: > > > Hi All, > > > > I am reading Conway "simple construction of monster" and I wonder whether > > anybody has Parker loop defined for GAP. I would like to play around with > > it to understand more how multiplication there looks like. > > For example when I have two octads o1, o2 intersecting in four points > then > > let o3 be XOR(o1,o2). Then I assume that in Parker loop o1.o2=o3, > o2.o3=o1, > > etc and all these products commutes. > > When I have octads o1,o2 intersecting in two points then d1=XOR(o1,o2) is > > dodecad. In such case I do not know whether o1.o2=d1 or o1.o2=-d1 > (minus). > > In such case product o1.o2 anticommute. > > > > The next question I have is how to generate extraspecial group of size > 2^25 > > called Q_x1 in the paper. It is generated by elements x_d and x_delta. > > > > Regards, > > Marek > > _______________________________________________ > > Forum mailing list > > Forum at mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum > > From sal at cs.st-andrews.ac.uk Tue Dec 20 16:23:34 2011 From: sal at cs.st-andrews.ac.uk (Stephen Linton) Date: Tue, 20 Dec 2011 16:23:34 +0000 Subject: [GAP Forum] Parker loop In-Reply-To: <0a78436ea63a4460bf2d1bcf627b8498@UOS-DUN-CAS2.st-andrews.ac.uk> References: <008e5de638ce43aab6ce1271f528a9b2@UOS-DUN-CAS2.st-andrews.ac.uk> <646F6956-DFE1-4F60-9116-7FBA2A2E0D2D@cs.st-andrews.ac.uk> <0a78436ea63a4460bf2d1bcf627b8498@UOS-DUN-CAS2.st-andrews.ac.uk> Message-ID: <6D32497A-F529-4885-A454-457DA2AC4BD6@cs.st-andrews.ac.uk> You can work with the Parker loop efficiently without storing its entire multiplication table. I've forgotten the details now but there is a function \Theta from the code to the cocode and the sign adjustment in the multiplication turns out to be -1^|\Theta(c1) /\ c2| where c1 and c2 are codewords, considered as sets. Steve On 20 Dec 2011, at 15:38, Marek Mitros wrote: > Thank you for answers from Steve and Gabor. > > I wonder following thing - maybe any of you can comment on it. Let Ld be > left multiplication in Parker loop - it is operator in R^4096. From Conway > paper I assume that L_d for d in Parker loop and 2^12 diagonal > automorphisms x_delta (defined in chapter 4 of Conway) generate > extraspecial group 2^25. I assume following > L_o for octad o square to 1; > L_d for dodecad d square to -1; > if a,b are two octads intersecting in 4 points then L_a and L_b commute; > if a is octad and b is dodecad then probably L_a and L_b anticommute... > > In order to prove that group defined above is extraspecial 2^(1+24) we > should find convenient basis of Golay code {a} so then L_a and some 12 > diagonal automorphisms generate Clifford C(24) monomials which is > extraspecial 2^25. C(24) = M(4096). I found one nice base in Tsu paper from > 1998. Is there exist basis of Golay code with octads only ? There should > be, because I just tested in GAP that dimension of vector space generated > by 759 octads is 12 over GF(2). > > Regarding code from Gabor. I had out of memory error as well when trying to > define Parker loop. I was able to store table 8192 x 8192 on the disk - it > is 394 MB size (!). I wonder what is the mapping of indexes 1..8192 with > +-d for d in Golay Code. There should be one row with 1..8192 numbers but > it is not the first one. I have sent email to Gabor but no answer so far, > so I post it here. > > Regards, > Marek > > > > On Fri, Dec 2, 2011 at 12:14 PM, Stephen Linton wrote: > >> I started trying to automatise this construction some years ago. I recall >> that I got as far as constructing Fi24 in characteristic zero >> by these methods. I don't know if I still have any of the code I wrote, >> let alone whether it works with current GAP. >> I'll have a look. >> >> Steve >> >> On 2 Dec 2011, at 10:52, Marek Mitros wrote: >> >>> Hi All, >>> >>> I am reading Conway "simple construction of monster" and I wonder whether >>> anybody has Parker loop defined for GAP. I would like to play around with >>> it to understand more how multiplication there looks like. >>> For example when I have two octads o1, o2 intersecting in four points >> then >>> let o3 be XOR(o1,o2). Then I assume that in Parker loop o1.o2=o3, >> o2.o3=o1, >>> etc and all these products commutes. >>> When I have octads o1,o2 intersecting in two points then d1=XOR(o1,o2) is >>> dodecad. In such case I do not know whether o1.o2=d1 or o1.o2=-d1 >> (minus). >>> In such case product o1.o2 anticommute. >>> >>> The next question I have is how to generate extraspecial group of size >> 2^25 >>> called Q_x1 in the paper. It is generated by elements x_d and x_delta. >>> >>> Regards, >>> Marek >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >> >> > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From vipul at math.uchicago.edu Fri Dec 23 02:28:41 2011 From: vipul at math.uchicago.edu (Vipul Naik) Date: Thu, 22 Dec 2011 20:28:41 -0600 Subject: [GAP Forum] Accessing groups up to isoclinism Message-ID: <20111223022841.GA12164@math.uchicago.edu> Dear GAP Forum, Two related questions: (1) Is there an existing function in GAP or one of the available GAP packages to check whether two given finite groups are isoclinic? I could write a function, but I'm guessing something already written would be more efficient. (2) If (1) exists, this can be done in terms of (1), but it would still be nice to have this as a standalone: access to the equivalence classes of groups of a given order under isoclinism. Background: As I understand, the original classification of groups of small prime power orders (e.g., the Hall-Senior classification up to 2^6 and the later classification for 2^7) was done by first classifying groups up to isoclinism and then finding all the groups within a given family of isoclinic groups. However, the ordering of groups used by the SmallGroup library is based on somewhat different criteria than isoclinism, so all groups in a single family under isoclinism do not have adjacent IDs in the SmallGroup librar. I have worked out the relation between the SmallGroup IDs and the isoclinism families for small prime power orders, but it would be great to be able to access the isoclinism information in pre-computed form through GAP. Vipul From max at quendi.de Sat Dec 31 12:53:56 2011 From: max at quendi.de (Max Horn) Date: Sat, 31 Dec 2011 13:53:56 +0100 Subject: [GAP Forum] Accessing groups up to isoclinism In-Reply-To: <20111223022841.GA12164@math.uchicago.edu> References: <20111223022841.GA12164@math.uchicago.edu> Message-ID: <045E817C-400E-4926-AD41-04D8AE6222CD@quendi.de> Dear Vipul, Am 23.12.2011 um 03:28 schrieb Vipul Naik: > Dear GAP Forum, > > Two related questions: > > (1) Is there an existing function in GAP or one of the available GAP > packages to check whether two given finite groups are isoclinic? I > could write a function, but I'm guessing something already written > would be more efficient. The answer to this is "no" to the best of my knowledge. See also Cheers Max > > (2) If (1) exists, this can be done in terms of (1), but it would > still be nice to have this as a standalone: access to the equivalence > classes of groups of a given order under isoclinism. > > Background: As I understand, the original classification of groups of > small prime power orders (e.g., the Hall-Senior classification up to > 2^6 and the later classification for 2^7) was done by first > classifying groups up to isoclinism and then finding all the groups > within a given family of isoclinic groups. However, the ordering of > groups used by the SmallGroup library is based on somewhat different > criteria than isoclinism, so all groups in a single family under > isoclinism do not have adjacent IDs in the SmallGroup librar. I have > worked out the relation between the SmallGroup IDs and the isoclinism > families for small prime power orders, but it would be great to be > able to access the isoclinism information in pre-computed form through > GAP. > > Vipul > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From sergio_pez29 at msn.com Fri Dec 16 19:58:33 2011 From: sergio_pez29 at msn.com (sergio reis) Date: Fri, 16 Dec 2011 19:58:33 -0000 Subject: [GAP Forum] Faithful representation of GL(V) as permutation of the non-zero vectors in V. Message-ID: Dear forum, Let GL(5, 3) x Sp (4, 3). The intersection C of these two groups has order 2^14 x 3^23, How do I to construct C using either the faithful representation of GL(V) as permutations of the non-zero vectors in V. thanks. S?rgio Reis Fernandes.