From jdm3 at st-and.ac.uk Mon Jan 5 17:11:50 2015 From: jdm3 at st-and.ac.uk (James Mitchell) Date: Mon, 05 Jan 2015 17:11:50 +0000 Subject: [GAP Forum] [Devel] A new GAP development mailing list References: <941d49c9979348f9830310e40ff6ece8@UOS-DUN-CAS3.st-andrews.ac.uk> Message-ID: Great! Thanks Markus. On Mon Jan 05 2015 at 1:13:28 PM Markus Pfeiffer < markus.pfeiffer at morphism.de> wrote: > Dear all, > > I would hereby like to announce a new GAP development mailinglist > > gap at gap-system.org > > which has a mailman page at > > http://mail.gap-system.org/mailman/listinfo/gap > > This mailing list has the purpose of discussing the development > of the GAP system. We welcome everyone who is interested in the > development to post and contribute. > The list is archived, and the archive is publically accessible at > > https://mail.gap-system.org/pipermail/gap/ > > Cheers, > Markus > > _______________________________________________ > Devel mailing list > Devel at gap-system.org > http://mail.gap-system.org/mailman/listinfo/devel > From markus.pfeiffer at morphism.de Mon Jan 5 13:11:27 2015 From: markus.pfeiffer at morphism.de (Markus Pfeiffer) Date: Mon, 5 Jan 2015 13:11:27 +0000 Subject: [GAP Forum] A new GAP development mailing list Message-ID: <20150105131127.GH425800@karp.morphism.de> Dear all, I would hereby like to announce a new GAP development mailinglist gap at gap-system.org which has a mailman page at http://mail.gap-system.org/mailman/listinfo/gap This mailing list has the purpose of discussing the development of the GAP system. We welcome everyone who is interested in the development to post and contribute. The list is archived, and the archive is publically accessible at https://mail.gap-system.org/pipermail/gap/ Cheers, Markus From preggyp at dut.ac.za Thu Jan 8 10:20:37 2015 From: preggyp at dut.ac.za (Pragladan Perumal) Date: Thu, 8 Jan 2015 10:20:37 +0000 Subject: [GAP Forum] FW: In-Reply-To: References: Message-ID: ________________________________________ From: Pragladan Perumal Sent: Thursday, January 08, 2015 12:19 PM To: forum at gapsystem.org Subject: Hello Recently loaded Gap on my computer(Windows). Want to construct the Frobenius group F=11:5 Used the following: g:=CyclicGroup(11); FixedpointfreeAutomorphismGroups(g); However error message comes up:'FixedpointfreeAutomorphismGroups must have value" Would appreciate advice. thanks preggyp ________________________________ "This e-mail is subject to our Disclaimer, to view click http://www.dut.ac.za/disclaimer" From alexk at mcs.st-andrews.ac.uk Thu Jan 8 10:42:24 2015 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Thu, 8 Jan 2015 10:42:24 +0000 Subject: [GAP Forum] FW: In-Reply-To: References: Message-ID: Hello, It could be that the spelling of the function is wrong. GAP is case-sensitive, so e.g. FixedpointfreeAutomorphismGroups and FixedPointFreeAutomorphismGroups is not the same. It could be that this is a function from a package which has to be loaded in advance. I can't see such in GAP and packages at all, however, so could you please let us know where did you learn about the existence of the function `FixedpointfreeAutomorphismGroups`? Looks to me like it comes from someone's private code, and might be related to SONATA package. HTH Alexander On 8 Jan 2015, at 10:20, Pragladan Perumal wrote: > > ________________________________________ > From: Pragladan Perumal > Sent: Thursday, January 08, 2015 12:19 PM > To: forum at gapsystem.org > Subject: > > Hello > > Recently loaded Gap on my computer(Windows). > Want to construct the Frobenius group F=11:5 > Used the following: > g:=CyclicGroup(11); > FixedpointfreeAutomorphismGroups(g); > > However error message comes up:'FixedpointfreeAutomorphismGroups must have value" > > Would appreciate advice. > > thanks > > preggyp > > > ________________________________ > > "This e-mail is subject to our Disclaimer, to view click http://www.dut.ac.za/disclaimer" > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From n.j.loughlin at ncl.ac.uk Fri Jan 9 18:06:13 2015 From: n.j.loughlin at ncl.ac.uk (Nick Loughlin) Date: Fri, 09 Jan 2015 18:06:13 +0000 Subject: [GAP Forum] Error when Generating FreeMonoid of rank infinity Message-ID: <54B01895.30803@ncl.ac.uk> Hi Forum, I'm working in GAP 4.7.5 in linux, and have tested on a similar set-up on 4.7.4 with identical results, and 4.5.5, with a different error message. gap> FreeMonoid( infinity, "m", [ ] ); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 2nd choice method found for `in' on 2 arguments called from One( M ) in GeneratorsOfMonoid( M ) called from called from called from SetGeneratorsOfMagmaWithOne( M, AsList( gens ) ); called from MonoidByGenerators( InfiniteListOfGenerators( F ) ) called from ... at line 957 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue I've replicated the result on GAP 4.7.4 on linux on a different computer. I can get a hold of the monoid (locally named M) in the break loop, and assign it to a global variable name to use once I exit the loop, but would appreciate some insight into the nature of this error ? is it a bug, or have I done something wrong? If it's a bug, is there an easy workaround I can use for now? Best, Nick From jdm3 at st-and.ac.uk Fri Jan 9 18:28:40 2015 From: jdm3 at st-and.ac.uk (James Mitchell) Date: Fri, 9 Jan 2015 18:28:40 +0000 Subject: [GAP Forum] Error when Generating FreeMonoid of rank infinity In-Reply-To: <2537a17693c84bc28e4d729f7bf27551@UOS-DUN-CAS1.st-andrews.ac.uk> References: <2537a17693c84bc28e4d729f7bf27551@UOS-DUN-CAS1.st-andrews.ac.uk> Message-ID: Dear Nick, Thanks for the report. There is a bug in a method that is called immediately for any monoid that is created using a set of generators. The bug only occurs for monoids with infinite generating sets, which is probably why it never showed up before. If you replace the method in lines 127 to 135 of the file gap/lib/monoid.gi by the code below, then your example works ok. You can also just paste the code below into a GAP session or put it in your .gaprc file, and then after this your example will work. InstallImmediateMethod( GeneratorsOfSemigroup, IsMonoid and HasGeneratorsOfMonoid and IsAttributeStoringRep, 0, function(M) if CanEasilyCompareElements(One(M)) and One(M) in GeneratorsOfMonoid(M) then return GeneratorsOfMonoid(M); fi; return Concatenation([One(M)],GeneratorsOfMonoid(M)); end); Best wishes, James On 9 January 2015 at 18:06, Nick Loughlin wrote: > Hi Forum, > > I'm working in GAP 4.7.5 in linux, and have tested on a similar set-up > on 4.7.4 with identical results, and 4.5.5, with a different error message. > > > gap> FreeMonoid( infinity, "m", [ ] ); > Error, no method found! For debugging hints type ?Recovery from > NoMethodFound > Error, no 2nd choice method found for `in' on 2 arguments called from > One( M ) in GeneratorsOfMonoid( M ) called from > called from > called from > SetGeneratorsOfMagmaWithOne( M, AsList( gens ) ); called from > MonoidByGenerators( InfiniteListOfGenerators( F ) ) called from > ... at line 957 of *stdin* > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > > > I've replicated the result on GAP 4.7.4 on linux on a different > computer. I can get a hold of the monoid (locally named M) in the break > loop, and assign it to a global variable name to use once I exit the > loop, but would appreciate some insight into the nature of this error ? > is it a bug, or have I done something wrong? If it's a bug, is there an > easy workaround I can use for now? > > Best, > Nick > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- James Mitchell tinyurl.com/jdmitchell The University of St Andrews is a charity registered in Scotland : No SC013532 From sebastienpalcoux at yahoo.fr Mon Jan 12 09:38:46 2015 From: sebastienpalcoux at yahoo.fr (Palcoux Sebastien) Date: Mon, 12 Jan 2015 09:38:46 +0000 (UTC) Subject: [GAP Forum] unitary representations Message-ID: <1066265362.780198.1421055526295.JavaMail.yahoo@jws11161.mail.ir2.yahoo.com> Hi, I've the following question (posted?on math.stackexchange with more details): How getting the unitarized irreducible representations with GAP?http://math.stackexchange.com/q/1101017/84284 Best regards,S?bastien Palcoux From barakat at mathematik.uni-kl.de Wed Jan 14 11:04:57 2015 From: barakat at mathematik.uni-kl.de (Mohamed Barakat) Date: Wed, 14 Jan 2015 12:04:57 +0100 Subject: [GAP Forum] GAP Days 2014 Message-ID: <4b1a0a35-213c-440e-8e3e-686ee9ddc10e@HUB2.rwth-ad.de> Dear all, we would like to announce the second GAP Days which will take place in Aachen, 16-20 March, 2015. For details please visit the webpage of the meeting http://gapdays.coxeter.de/gapdays2015-spring/ Best wishes, Mohamed Barakat, Max Horn, and Frank L?beck. From felix.goldberg at gmail.com Thu Jan 15 23:55:44 2015 From: felix.goldberg at gmail.com (Felix Goldberg) Date: Fri, 16 Jan 2015 01:55:44 +0200 Subject: [GAP Forum] How to create partial geometries in GAP? Message-ID: Hello, I would like to work with partial geometries. What is the easiest way to construct some of them in GAP? Apologies for the extra-noobish question. Felix -- ---------------------------------- Felix Goldberg, Ph. D. www.technion.ac.il/~felixg From jdebeule at cage.ugent.be Fri Jan 16 09:03:40 2015 From: jdebeule at cage.ugent.be (Jan De Beule) Date: Fri, 16 Jan 2015 10:03:40 +0100 Subject: [GAP Forum] How to create partial geometries in GAP? In-Reply-To: References: Message-ID: Dear Felix, This depends very much on how you want to represent the partial geometry you are interested in. There has been work done on partial geometries using the packages GRAPE and DESIGN. You might also be interested in models of partial geometries that are constructed in projective spaces. Therefore the package fining could be useful: http://cage.ugent.be/fining Best regards, Jan De Beule ---------------------------------------------------------------------------- Jan De Beule jdebeule at cage.ugent.be Postdoctoraal onderzoeker FWO Vakgroep Wiskunde Krijgslaan 281, S22 B 9000 Gent (Belgium) http://cage.ugent.be/~jdebeule ---------------------------------------------------------------------------- Op 16-jan.-2015, om 00:55 heeft Felix Goldberg het volgende geschreven: > Hello, > > I would like to work with partial geometries. What is the easiest way to > construct some of them in GAP? Apologies for the extra-noobish question. > > Felix > > -- > ---------------------------------- > Felix Goldberg, Ph. D. > www.technion.ac.il/~felixg > _______________________________________________ > 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 Fri Jan 16 09:31:19 2015 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Fri, 16 Jan 2015 09:31:19 +0000 Subject: [GAP Forum] How to create partial geometries in GAP? In-Reply-To: References: , Message-ID: <1421400683197.95582@qmul.ac.uk> Dear Felix, Dear GAP-Forum, You can use the function PartialLinearSpaces in the GRAPE package to construct and classify the partial geometries with given (pseudo-geometric) point graph. In particular, PartialLinearSpaces( ptgraph, s, t ) returns a list of representatives of the distinct isomorphism classes of partial linear spaces with point graph ptgraph, and parameters (s,t). More information and more options for this function, as well as examples, can be found in the GRAPE documentation. Please note that the problem handled by the function PartialLinearSpaces can be extremely difficult, and a given computation may not finish in any reasonable time! You may also be interested in my paper: L.H. Soicher, Is there a McLaughlin geometry?, J. Algebra 300 (2006), 248-255. Hope this is helpful, Leonard ________________________________________ From: forum-bounces at gap-system.org on behalf of Jan De Beule Sent: 16 January 2015 09:03 To: Felix Goldberg Cc: forum at gap-system.org Subject: Re: [GAP Forum] How to create partial geometries in GAP? Dear Felix, This depends very much on how you want to represent the partial geometry you are interested in. There has been work done on partial geometries using the packages GRAPE and DESIGN. You might also be interested in models of partial geometries that are constructed in projective spaces. Therefore the package fining could be useful: http://cage.ugent.be/fining Best regards, Jan De Beule ---------------------------------------------------------------------------- Jan De Beule jdebeule at cage.ugent.be Postdoctoraal onderzoeker FWO Vakgroep Wiskunde Krijgslaan 281, S22 B 9000 Gent (Belgium) http://cage.ugent.be/~jdebeule ---------------------------------------------------------------------------- Op 16-jan.-2015, om 00:55 heeft Felix Goldberg het volgende geschreven: > Hello, > > I would like to work with partial geometries. What is the easiest way to > construct some of them in GAP? Apologies for the extra-noobish question. > > Felix > > -- > ---------------------------------- > Felix Goldberg, Ph. D. > www.technion.ac.il/~felixg > _______________________________________________ > 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 sebastienpalcoux at yahoo.fr Mon Jan 19 21:18:13 2015 From: sebastienpalcoux at yahoo.fr (Palcoux Sebastien) Date: Mon, 19 Jan 2015 21:18:13 +0000 (UTC) Subject: [GAP Forum] Sqrt for the cyclotomic numbers Message-ID: <1252258313.3879212.1421702293308.JavaMail.yahoo@jws11111.mail.ir2.yahoo.com> Hi, Is it possible to extend the function Sqrt on the cyclotomic numbers? See below what's happen if we try, for example, with the number E(5) : gap> Sqrt(E(5));Error, no method found! For debugging hints type ?Recovery from NoMethodFoundError, no 1st choice method found for `Sqrt' on 1 arguments called from( ) called from read-eval-loopEntering break read-eval-print loop ...you can 'quit;' to quit to outer loop, oryou can 'return;' to continuebrk> Best regards,Sebastien Palcoux From sebastienpalcoux at yahoo.fr Mon Jan 19 21:24:10 2015 From: sebastienpalcoux at yahoo.fr (Palcoux Sebastien) Date: Mon, 19 Jan 2015 21:24:10 +0000 (UTC) Subject: [GAP Forum] Sqrt for the cyclotomic numbers In-Reply-To: <1252258313.3879212.1421702293308.JavaMail.yahoo@jws11111.mail.ir2.yahoo.com> References: <1252258313.3879212.1421702293308.JavaMail.yahoo@jws11111.mail.ir2.yahoo.com> Message-ID: <1608807403.3885217.1421702650832.JavaMail.yahoo@jws11108.mail.ir2.yahoo.com> Hi, In fact, I need Sqrt only for the positive cyclotomic numbers. Sebastien Le Mardi 20 janvier 2015 2h48, Palcoux Sebastien a ?crit : Hi, Is it possible to extend the function Sqrt on the cyclotomic numbers? See below what's happen if we try, for example, with the number E(5) : gap> Sqrt(E(5));Error, no method found! For debugging hints type ?Recovery from NoMethodFoundError, no 1st choice method found for `Sqrt' on 1 arguments called from( ) called from read-eval-loopEntering break read-eval-print loop ...you can 'quit;' to quit to outer loop, oryou can 'return;' to continuebrk> Best regards,Sebastien Palcoux From hulpke at fastmail.fm Mon Jan 19 21:43:23 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Mon, 19 Jan 2015 14:43:23 -0700 Subject: [GAP Forum] Sqrt for the cyclotomic numbers In-Reply-To: <1252258313.3879212.1421702293308.JavaMail.yahoo@jws11111.mail.ir2.yahoo.com> References: <1252258313.3879212.1421702293308.JavaMail.yahoo@jws11111.mail.ir2.yahoo.com> Message-ID: <73D5EA8C-EF91-4F8E-BCB4-727E38B6CFF6@fastmail.fm> Dear Forum, > On Jan 19, 2015, at 1/19/15 2:18, Palcoux Sebastien wrote: > > Hi, > Is it possible to extend the function Sqrt on the cyclotomic numbers? How would you represent this root? In general the square root of a cylotomic is not cyclotomic again. (You could form a formal AlgebraicExtension, but then you lose the irrational cyclotomics for operations.) Regards, Alexander Hulpke From sebastienpalcoux at yahoo.fr Tue Jan 20 07:31:56 2015 From: sebastienpalcoux at yahoo.fr (Palcoux Sebastien) Date: Tue, 20 Jan 2015 07:31:56 +0000 (UTC) Subject: [GAP Forum] Sqrt for the cyclotomic numbers In-Reply-To: <73D5EA8C-EF91-4F8E-BCB4-727E38B6CFF6@fastmail.fm> References: <73D5EA8C-EF91-4F8E-BCB4-727E38B6CFF6@fastmail.fm> Message-ID: <783884855.3956199.1421739116713.JavaMail.yahoo@jws11146.mail.ir2.yahoo.com> Dear Alexander and Forum, If the cyclotomic number is the square of a cyclotomic number, is there an easy way to find it? The number I need are the eigenvalues of the matrix of the unitarized inner product of an irreducible representation of a finite group (see the comment of Paul Garett here: http://math.stackexchange.com/q/1107941/84284).?This matrix is positive, I guess its eigenvalues are always cyclotomic (true for the examples I've looked, but I don't know in general), and I hope they are square of cyclotomic. Thanks to these square roots I can compute the unitary matrices for the irreducible representation. Remark: a function on GAP computing the unitary irreducible representations seems very natural, so if there is not such a function, this should means that there are problems for computing them in general with GAP, isn't it? Best regards,Sebastien Palcoux?? ?? ? Le Mardi 20 janvier 2015 3h13, Alexander Hulpke a ?crit : Dear Forum, > On Jan 19, 2015, at 1/19/15 2:18, Palcoux Sebastien wrote: > > Hi, > Is it possible to extend the function Sqrt on the cyclotomic numbers? How would you represent this root? In general the square root of a cylotomic is not cyclotomic again. (You could form a formal AlgebraicExtension, but then you lose the irrational cyclotomics for operations.) Regards, ? Alexander Hulpke From dmitrii.pasechnik at cs.ox.ac.uk Tue Jan 20 08:59:15 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Tue, 20 Jan 2015 08:59:15 +0000 Subject: [GAP Forum] Sqrt for the cyclotomic numbers In-Reply-To: <783884855.3956199.1421739116713.JavaMail.yahoo@jws11146.mail.ir2.yahoo.com> References: <73D5EA8C-EF91-4F8E-BCB4-727E38B6CFF6@fastmail.fm> <783884855.3956199.1421739116713.JavaMail.yahoo@jws11146.mail.ir2.yahoo.com> Message-ID: <20150120085915.GB18520@dimpase.cs.ox.ac.uk> On Tue, Jan 20, 2015 at 07:31:56AM +0000, Palcoux Sebastien wrote: > Dear Alexander and Forum, > If the cyclotomic number is the square of a cyclotomic number, is there an easy way to find it? > The number I need are the eigenvalues of the matrix of the unitarized inner product of an irreducible representation of a finite group (see the comment of Paul Garett here: http://math.stackexchange.com/q/1107941/84284).?This matrix is positive, I guess its eigenvalues are always cyclotomic (true for the examples I've looked, but I don't know in general), and I hope they are square of cyclotomic. Thanks to these square roots I can compute the unitary matrices for the irreducible representation. You don't need to take square roots. If H is the Hermitian positive definite form you obtained by the averaging (or in some other way) then H=LDL*, for L a lower-triangular matrix with 1s on the main diagonal, and D is a diagonal matrix. L and D can be computed without taking square roots (and so they will stay cyclotomic). Then conjugating by L gives you the unitary form. HTH, Dmitrii > Remark: a function on GAP computing the unitary irreducible representations seems very natural, so if there is not such a function, this should means that there are problems for computing them in general with GAP, isn't it? > Best regards,Sebastien Palcoux?? ?? ? > > Le Mardi 20 janvier 2015 3h13, Alexander Hulpke a ?crit : > > > Dear Forum, > > > On Jan 19, 2015, at 1/19/15 2:18, Palcoux Sebastien wrote: > > > > Hi, > > Is it possible to extend the function Sqrt on the cyclotomic numbers? > > How would you represent this root? In general the square root of a cylotomic is not cyclotomic again. (You could form a formal AlgebraicExtension, but then you lose the irrational cyclotomics for operations.) > > Regards, > > ? Alexander Hulpke From sebastienpalcoux at yahoo.fr Tue Jan 20 10:07:18 2015 From: sebastienpalcoux at yahoo.fr (Palcoux Sebastien) Date: Tue, 20 Jan 2015 10:07:18 +0000 (UTC) Subject: [GAP Forum] Sqrt for the cyclotomic numbers In-Reply-To: <20150120085915.GB18520@dimpase.cs.ox.ac.uk> References: <20150120085915.GB18520@dimpase.cs.ox.ac.uk> Message-ID: <823721166.4100790.1421748438894.JavaMail.yahoo@jws11117.mail.ir2.yahoo.com> Dear Dima and Forum. I don't understand how your answer solves my problem, perhaps there is a misunderstanding: What I want are the unitary matrices representing the elements of the group G for an irreducible representation V.For so, we should conjugate the non-unitary matrices (given by GAP) by the matrix R=S.P with S^{-2} the diagonalization D of the matrix X of the Hermitian positive definite formobtained by the averaging (or in some other way) and P the matrix of the change of basis (into the eigenvectors basis of X). ?In this process, we need the find the square root of D, i.e. ?the square root of positive cyclotomic numbers. Is there an other process for doing that without having to compute square root?of positive cyclotomic numbers? Best regards,S?bastien Le Mardi 20 janvier 2015 14h29, Dima Pasechnik a ?crit : On Tue, Jan 20, 2015 at 07:31:56AM +0000, Palcoux Sebastien wrote: > Dear Alexander and Forum, > If the cyclotomic number is the square of a cyclotomic number, is there an easy way to find it? > The number I need are the eigenvalues of the matrix of the unitarized inner product of an irreducible representation of a finite group (see the comment of Paul Garett here: http://math.stackexchange.com/q/1107941/84284).?This matrix is positive, I guess its eigenvalues are always cyclotomic (true for the examples I've looked, but I don't know in general), and I hope they are square of cyclotomic. Thanks to these square roots I can compute the unitary matrices for the irreducible representation. You don't need to take square roots. If H is the Hermitian positive definite form you obtained by the averaging (or in some other way) then H=LDL*, for L a lower-triangular matrix with 1s on the main diagonal, and D is a diagonal matrix. L and D can be computed without taking square roots (and so they will stay cyclotomic). Then conjugating by L gives you the unitary form. HTH, Dmitrii > Remark: a function on GAP computing the unitary irreducible representations seems very natural, so if there is not such a function, this should means that there are problems for computing them in general with GAP, isn't it? > Best regards,Sebastien Palcoux?? ?? ? > >? ? ? Le Mardi 20 janvier 2015 3h13, Alexander Hulpke a ?crit : >? ? > >? Dear Forum, > > > On Jan 19, 2015, at 1/19/15 2:18, Palcoux Sebastien wrote: > > > > Hi, > > Is it possible to extend the function Sqrt on the cyclotomic numbers? > > How would you represent this root? In general the square root of a cylotomic is not cyclotomic again. (You could form a formal AlgebraicExtension, but then you lose the irrational cyclotomics for operations.) > > Regards, > > ? Alexander Hulpke From simon.king at uni-jena.de Fri Jan 16 10:23:43 2015 From: simon.king at uni-jena.de (Simon King) Date: Fri, 16 Jan 2015 11:23:43 +0100 Subject: [GAP Forum] Second announcement CoGrAl2015 Message-ID: <348ddbfab30d1418c3c0b7f1556d4c4b89436894170544119@webmail.uni-jena.de> Dear colleagues, This is the second announcement of a workshop entitled Computations in Groups and Algebras (CoGrAl2015) =================================== organised by Simon King, J?rgen M?ller, and Benjamin Sambale, and taking place soon at * Friedrich Schiller University Jena (Germany), * from Monday, February 16th, to Thursday, February 19th, 2015. The aim of the workshop is to shed some light on various recent aspects of finite group theory, with a particular view towards algorithms and computations. More specifically, we will focus on the following topics: * Cohomology of finite-dimensional algebras * Structure of p-groups and fusion systems * Block theory of finite groups Invited speakers are: Jon Carlson (Athens, GA) David Craven (Birmingham) Heiko Dietrich (Melbourne) Bettina Eick (Braunschweig) Graham Ellis (Galway) David Green (Jena) Ellen Henke (Aberdeen) Frank Himstedt (M?nchen) Max Horn (Gie?en) Gregor Kemper (M?nchen) Viktor Levandovskyy (Aachen) Nadia Mazza (Lancaster) Eamonn O'Brien (Auckland) G?tz Pfeiffer (Galway) Peter Symonds (Manchester) For more details please visit the web page * http://cogral2015.uni-jena.de/. We would be very glad if this convinced you to visit Jena and to attend the workshop. We are looking forward to seeing you! With kind regards S.K., J.M., B.S. ---------------------------------------------------------------- This message was sent through https://webmail.uni-jena.de From Bill.Allombert at math.u-bordeaux.fr Mon Jan 19 21:55:36 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Mon, 19 Jan 2015 22:55:36 +0100 Subject: [GAP Forum] Sqrt for the cyclotomic numbers In-Reply-To: <1608807403.3885217.1421702650832.JavaMail.yahoo@jws11108.mail.ir2.yahoo.com> References: <1252258313.3879212.1421702293308.JavaMail.yahoo@jws11111.mail.ir2.yahoo.com> <1608807403.3885217.1421702650832.JavaMail.yahoo@jws11108.mail.ir2.yahoo.com> Message-ID: <20150119215536.GJ17455@yellowpig> > Le Mardi 20 janvier 2015 2h48, Palcoux Sebastien a ?crit : > > > Hi, > Is it possible to extend the function Sqrt on the cyclotomic numbers? > See below what's happen if we try, for example, with the number E(5) : > gap> Sqrt(E(5));Error, no method found! For debugging hints type ?Recovery from NoMethodFoundError, no 1st choice method found for `Sqrt' on 1 arguments called from( ) called from read-eval-loopEntering break read-eval-print loop ...you can 'quit;' to quit to outer loop, oryou can 'return;' to continuebrk> Sqrt(E(5)) is +/- E(5)^3, and more generally Sqrt(E(p)) is +/- E(p)^((p+1)/2) for odd p. gap> (E(5)^3)^2; E(5) However, in the general the square root of a cyclotomic number is not a cyclotomic number, for example Sqrt(2) is a cyclotomic number, but not Sqrt(Sqrt(2)). Cheers, Bill. From phjelmstad at msn.com Tue Jan 20 01:07:58 2015 From: phjelmstad at msn.com (PAUL) Date: Mon, 19 Jan 2015 19:07:58 -0600 Subject: [GAP Forum] M24, M12 Message-ID: Is there an easy way to generate a Steiner system S(5,8,24) for the Mathieu Group M24, if a Steiner system S(5,6,12) for the Mathieu Group is known? PGH From l.h.soicher at qmul.ac.uk Tue Jan 20 11:08:10 2015 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Tue, 20 Jan 2015 11:08:10 +0000 Subject: [GAP Forum] M24, M12 In-Reply-To: References: Message-ID: <1421752089957.30201@qmul.ac.uk> Dear PGH, Dear GAP Forum, The Steiner systems S(5,6,12), S(5,8,24) and related block designs can be produced by the DESIGN package for GAP, using its function WittDesign, which is described in the DESIGN package documentation. In particular, WittDesign(24) returns the unique (up to isomorphism) Steiner system S(5,8,24) (also called a 5-(24,8,1) design). The function does not, however, construct this design from a Steiner system S(5,6,12). Hope this is helpful, Leonard ________________________________________ From: forum-bounces at gap-system.org on behalf of PAUL Sent: 20 January 2015 01:07 To: forum at gap-system.org Subject: [GAP Forum] M24, M12 Is there an easy way to generate a Steiner system S(5,8,24) for the Mathieu Group M24, if a Steiner system S(5,6,12) for the Mathieu Group is known? PGH _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From dmitrii.pasechnik at cs.ox.ac.uk Tue Jan 20 14:05:30 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Tue, 20 Jan 2015 14:05:30 +0000 Subject: [GAP Forum] Sqrt for the cyclotomic numbers Message-ID: Dear Sebastien, Once again, your X can be written as X=L*DL, with D diagonal and real. The group L^-1 G L preserves the Hermitian form x*Dx. In particular any g in this group satisfies g*Dg=D. As it acts irreducibly, D is a scalar matrix, thus g is unitary. Indeed, for computing D cyclotomics might not suffice, but we do not need D explicitly. Dima On 20 Jan 2015 10:07, Palcoux Sebastien wrote: > > Dear Dima and Forum. > > I don't understand how your answer solves my problem, perhaps there is a misunderstanding: > > What I want are the unitary matrices representing the elements of the group G for an irreducible representation V. > For so, we should conjugate the non-unitary matrices (given by GAP) by the matrix R=S.P with S^{-2} the diagonalization D of the matrix X of the Hermitian positive definite form > obtained by the averaging (or in some other way) and P the matrix of the change of basis (into the eigenvectors basis of X). ? > In this process, we need the find the square root of D, i.e. ?the square root of positive cyclotomic numbers. > > Is there an other process for doing that without having to compute square root?of positive cyclotomic numbers? > > Best regards, > S?bastien > > > > Le Mardi 20 janvier 2015 14h29, Dima Pasechnik a ?crit : > > > On Tue, Jan 20, 2015 at 07:31:56AM +0000, Palcoux Sebastien wrote: > > Dear Alexander and Forum, > > If the cyclotomic number is the square of a cyclotomic number, is there an easy way to find it? > > The number I need are the eigenvalues of the matrix of the unitarized inner product of an irreducible representation of a finite group (see the comment of Paul Garett here: http://math.stackexchange.com/q/1107941/84284).?This matrix is positive, I guess its eigenvalues are always cyclotomic (true for the examples I've looked, but I don't know in general), and I hope they are square of cyclotomic. Thanks to these square roots I can compute the unitary matrices for the irreducible representation. > > You don't need to take square roots. If H is the Hermitian positive definite form > you obtained by the averaging (or in some other way) then H=LDL*, for > L a lower-triangular matrix with 1s on the main diagonal, and D is a diagonal matrix. > L and D can be computed without taking square roots (and so they will stay cyclotomic). > Then conjugating by L gives you the unitary form. > > HTH, > Dmitrii > > > > > Remark: a function on GAP computing the unitary irreducible representations seems very natural, so if there is not such a function, this should means that there are problems for computing them in general with GAP, isn't it? > > Best regards,Sebastien Palcoux?? ?? ? > > > >? ? ? Le Mardi 20 janvier 2015 3h13, Alexander Hulpke a ?crit : > >? ? > > > >? Dear Forum, > > > > > On Jan 19, 2015, at 1/19/15 2:18, Palcoux Sebastien wrote: > > > > > > Hi, > > > Is it possible to extend the function Sqrt on the cyclotomic numbers? > > > > How would you represent this root? In general the square root of a cylotomic is not cyclotomic again. (You could form a formal AlgebraicExtension, but then you lose the irrational cyclotomics for operations.) > > > > Regards, > > > > ? Alexander Hulpke > > From dmitrii.pasechnik at cs.ox.ac.uk Wed Jan 21 10:46:56 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Wed, 21 Jan 2015 10:46:56 +0000 Subject: [GAP Forum] Sqrt for the cyclotomic numbers In-Reply-To: References: Message-ID: <20150121104656.GB29515@dimpase.cs.ox.ac.uk> On Tue, Jan 20, 2015 at 02:05:30PM +0000, Dima Pasechnik wrote: > Dear Sebastien, > > Once again, your X can be written as X=L*DL, with D diagonal and real. The > group L^-1 G L preserves the Hermitian form x*Dx. In particular any g in this > group satisfies g*Dg=D. > As it acts irreducibly, D is a scalar matrix, thus g is unitary. Sorry, this last claim is wrong: to get a unitary g, you will need to take D^(1/2) g D^(-1/2). I suppose this is still easier to compute than taking square roots during the diagonalisation of X. > > Indeed, for computing D cyclotomics might not suffice, but we do not need D > explicitly. here I meant "computing D^(1/2)", certainly, not just D. I shall never again write to Form from a mobile phone. :-) Dima > > Dima > > > On 20 Jan 2015 10:07, Palcoux Sebastien wrote: > > > > Dear Dima and Forum. > > > > I don't understand how your answer solves my problem, perhaps there is a > > misunderstanding: > > > > What I want are the unitary matrices representing the elements of the group > > G for an irreducible representation V. For so, we should conjugate the > > non-unitary matrices (given by GAP) by the matrix R=S.P with S^{-2} the > > diagonalization D of the matrix X of the Hermitian positive definite form > > obtained by the averaging (or in some other way) and P the matrix of the > > change of basis (into the eigenvectors basis of X). ? In this process, we > > need the find the square root of D, i.e. ?the square root of positive > > cyclotomic numbers. > > > > Is there an other process for doing that without having to compute square > > root?of positive cyclotomic numbers? > > > > Best regards, S?bastien > > > > > > > > Le Mardi 20 janvier 2015 14h29, Dima Pasechnik > > a ?crit : > > > > > > On Tue, Jan 20, 2015 at 07:31:56AM +0000, Palcoux Sebastien wrote: > > > Dear Alexander and Forum, If the cyclotomic number is the square of a > > > cyclotomic number, is there an easy way to find it? The number I need > > > are the eigenvalues of the matrix of the unitarized inner product of an > > > irreducible representation of a finite group (see the comment of Paul > > > Garett here: http://math.stackexchange.com/q/1107941/84284).?This matrix > > > is positive, I guess its eigenvalues are always cyclotomic (true for the > > > examples I've looked, but I don't know in general), and I hope they are > > > square of cyclotomic. Thanks to these square roots I can compute the > > > unitary matrices for the irreducible representation. > > > > You don't need to take square roots. If H is the Hermitian positive > > definite form you obtained by the averaging (or in some other way) then > > H=LDL*, for L a lower-triangular matrix with 1s on the main diagonal, and D > > is a diagonal matrix. L and D can be computed without taking square roots > > (and so they will stay cyclotomic). Then conjugating by L gives you the > > unitary form. > > > > HTH, Dmitrii > > > > > > > > > Remark: a function on GAP computing the unitary irreducible > > > representations seems very natural, so if there is not such a function, > > > this should means that there are problems for computing them in general > > > with GAP, isn't it? Best regards,Sebastien Palcoux?? ?? ? > > > > > >? ? ? Le Mardi 20 janvier 2015 3h13, Alexander Hulpke > > >a ?crit : ? ? > > > > > >? Dear Forum, > > > > > > > On Jan 19, 2015, at 1/19/15 2:18, Palcoux Sebastien > > > > wrote: > > > > > > > > Hi, Is it possible to extend the function Sqrt on the cyclotomic > > > > numbers? > > > > > > How would you represent this root? In general the square root of a > > > cylotomic is not cyclotomic again. (You could form a formal > > > AlgebraicExtension, but then you lose the irrational cyclotomics for > > > operations.) > > > > > > Regards, > > > > > > ? Alexander Hulpke > > > > > _______________________________________________ Forum mailing list > Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From felix.goldberg at gmail.com Wed Jan 21 12:33:07 2015 From: felix.goldberg at gmail.com (Felix Goldberg) Date: Wed, 21 Jan 2015 14:33:07 +0200 Subject: [GAP Forum] How to obtain the incidence matrix of a partial geometry? Message-ID: Hello all, I am running the code in the example in Section 9.2 of the GRAPE manual ( http://www.maths.qmul.ac.uk/~leonard/grape/manual/CHAP009.htm) , which generates the Haemers partial geometry pg(4,17,2). All works well but I cannot understand where exactly the incidence matrix is stored and how to access it. The manual (referred to above) says that there is a *delta* associated to the geometry output by the function PartialLinearSpaces but I can't find it. I tried to run RecNames on the output (the variable called *haemers*) and got this: [ "names", "group", "order", "representatives", "isSimple", "isGraph", "schreierVector", "adjacencies" ] No sign of *delta* and apparently no incidence matrix. Any help will be greatly appreciated. Thanks, Felix -- ---------------------------------- Felix Goldberg, Ph. D. www.technion.ac.il/~felixg From sven.reichard at tu-dresden.de Wed Jan 21 12:51:03 2015 From: sven.reichard at tu-dresden.de (Sven Reichard) Date: Wed, 21 Jan 2015 13:51:03 +0100 Subject: [GAP Forum] How to obtain the incidence matrix of a partial geometry? In-Reply-To: References: Message-ID: <54BFA0B7.9060405@tu-dresden.de> Hello Felix, the geometry is returned as an incidence graph in GRAPE format. For each vertex x of that graph, Adjacency(haemers, x) will give you its neighbours. From that you can reconstruct the adjacency matrix if you want. For example with the following function: AdjacencyMatrix := function ( gamma ) local result, x, y; result := NullMat( gamma.order, gamma.order ); for x in [ 1 .. gamma.order ] do for y in Adjacency( gamma, x ) do result[x][y] := 1; od; od; return result; end However it could be worth your while working with the graph format as it is. "delta" just refers to the incidence graph. PartialLinearSpaces returns a list of those. Hope this helps, Sven Reichard Institut f?r Algebra TU Dresden On 01/21/2015 01:33 PM, Felix Goldberg wrote: > Hello all, > > I am running the code in the example in Section 9.2 of the GRAPE manual ( > http://www.maths.qmul.ac.uk/~leonard/grape/manual/CHAP009.htm) , which > generates the Haemers partial geometry pg(4,17,2). > > All works well but I cannot understand where exactly the incidence matrix > is stored and how to access it. The manual (referred to above) says that > there is a *delta* associated to the geometry output by the function > PartialLinearSpaces > but I can't find it. > > I tried to run RecNames on the output (the variable called *haemers*) and > got this: > > [ "names", "group", "order", "representatives", "isSimple", "isGraph", > "schreierVector", "adjacencies" ] > > No sign of *delta* and apparently no incidence matrix. > > Any help will be greatly appreciated. > > Thanks, > Felix > > > > From alireza_abdollahi at yahoo.com Wed Jan 21 13:32:32 2015 From: alireza_abdollahi at yahoo.com (Ali) Date: Wed, 21 Jan 2015 17:02:32 +0330 Subject: [GAP Forum] a third output for IsAbelian In-Reply-To: <54BFA0B7.9060405@tu-dresden.de> References: <54BFA0B7.9060405@tu-dresden.de> Message-ID: Dears, I have a long list L of groups with finite presentations. I would like to apply IsAbelian on L and Filtered all groups which are not Abelian. Through the computations, IsAbelian could not treat an special group and so the Filtered will not be terminated. I would like to know if there is a way to define a third output for IsAbelian such as FAIL which means that it is tried to test abelianness by a certain limit ( e.g. Time or number of cosets or ...) but not succeeded. If such thing exists I can apply this new IsAbelian to the list L to obtain all groups which are not abelian or the old IsAbelian fails to give a true or false. Then I can handle the filtered list by hand since I guess the latter list should be short. The same question for IsSolvable and .... Best Wishes Alireza Abdollahi From hulpke at math.colostate.edu Wed Jan 21 17:25:29 2015 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed, 21 Jan 2015 10:25:29 -0700 Subject: [GAP Forum] a third output for IsAbelian In-Reply-To: References: <54BFA0B7.9060405@tu-dresden.de> Message-ID: <1FB44AC4-DD9E-482F-B4DF-BEAAB9A4A32B@math.colostate.edu> Dear Forum, > On Jan 21, 2015, at 1/21/15 6:32, Ali wrote: > > Dears, > > I have a long list L of groups with finite presentations. I would like to apply IsAbelian on L and Filtered all groups which are not Abelian. Through the computations, IsAbelian could not treat an special group and so the Filtered will not be terminated. I would like to know if there is a way to define a third output for IsAbelian such as FAIL which means that it is tried to test abelianness by a certain limit ( e.g. Time or number of cosets or ...) but not succeeded. If such thing exists I can apply this new IsAbelian to the list L to obtain all groups which are not abelian or the old IsAbelian fails to give a true or false. Then I can handle the filtered list by hand since I guess the latter list should be short. > > The same question for IsSolvable and .... This depends a bit on the groups in question, but `IsAbelian' etc. will by default calculate a faithful representation. If your groups are huge this will most likely fail every time. What I would do as a first step is to look at quotient groups: Solvable Quotient, Action on cosets of Low Index subgroups and see whether rthese quotient groups already exclude the properties. This has (quotient size/subgroup index) easy parameters that will limit the initial calculations. This should give you a good initial filtering of non-candidates. Best, Alexander Hulpke > > Best Wishes > Alireza Abdollahi > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From sebastienpalcoux at yahoo.fr Mon Jan 26 18:12:33 2015 From: sebastienpalcoux at yahoo.fr (Palcoux Sebastien) Date: Mon, 26 Jan 2015 18:12:33 +0000 (UTC) Subject: [GAP Forum] subgroups lattices of simple groups Message-ID: <1152961621.836980.1422295953749.JavaMail.yahoo@mail.yahoo.com> Hi Forum, Is it possible to access at the?Atlas of subgroup lattices of finite almost simple groups?(of Thomas Connor and Dimitri Leemans) with GAP?Is there a package? Best regards,S?bastien From hulpke at fastmail.fm Mon Jan 26 22:17:19 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Mon, 26 Jan 2015 15:17:19 -0700 Subject: [GAP Forum] subgroups lattices of simple groups In-Reply-To: <1152961621.836980.1422295953749.JavaMail.yahoo@mail.yahoo.com> References: <1152961621.836980.1422295953749.JavaMail.yahoo@mail.yahoo.com> Message-ID: Dear Forum, Sebastien Palcoux asked: > Is it possible to access at the Atlas of subgroup lattices of finite almost simple groups (of Thomas Connor and Dimitri Leemans) with GAP?Is there a package? To my knowledge there is no ready implementation. However if there are data files available (I did not find any online), they probably could be read in with little effort. Regards, Alexander Hulpke From l.h.soicher at qmul.ac.uk Wed Jan 28 13:38:05 2015 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Wed, 28 Jan 2015 13:38:05 +0000 Subject: [GAP Forum] The stability of group libraries Message-ID: <1422452294146.69150@qmul.ac.uk> Dear GAP Developers, Dear GAP-Forum, I would like to know what the policy is concerning the groups in the the very useful GAP libraries of transitive permutation groups and of primitive permutation groups (and any other group library you wish to comment on) as regards to any possible changes wihen changes are made in GAP. In particular, were the actual groups in the library, their GeneratorsOfGroup, and their indexing within the library fixed in perpetuity when the library was initially made available in GAP4, and if not, what is the mechanism to alert users to any changes? This is important for being able to repeat, check, report on, and extend results made using specific groups in a given library. Thank you for your help, Leonard From alexk at mcs.st-andrews.ac.uk Wed Jan 28 13:52:42 2015 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Wed, 28 Jan 2015 13:52:42 +0000 Subject: [GAP Forum] The stability of group libraries In-Reply-To: <1422452294146.69150@qmul.ac.uk> References: <1422452294146.69150@qmul.ac.uk> Message-ID: <19FEA9EA-912E-4B04-9EE5-6B880B401CBD@mcs.st-andrews.ac.uk> Dear Leonard, Thank you - that's really an important issue. My understanding is that the indexing should stay the same for all the time, i.e. outputs of TransitiveGroup(m,n) should be isomorphic in any version of the library. IMHO, other information may change - it looks fine to me if e.g. in a new version a group will be given by more optimal presentation. The mechanism to alert users stays with their authors, and they should be encouraged to list all potentially disruptive changes in release announcements and documentation. Best wishes Alexander On 28 Jan 2015, at 13:38, Leonard Soicher wrote: > Dear GAP Developers, Dear GAP-Forum, > > I would like to know what the policy is concerning the groups > in the the very useful GAP libraries of transitive permutation groups and > of primitive permutation groups (and any other group library you wish to comment on) > as regards to any possible changes wihen changes are made in GAP. In particular, > were the actual groups in the library, their GeneratorsOfGroup, and their indexing > within the library fixed in perpetuity when the library was initially made available in GAP4, > and if not, what is the mechanism to alert users to any changes? This is important > for being able to repeat, check, report on, and extend results made using specific > groups in a given library. > > Thank you for your help, > Leonard > > _______________________________________________ > 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 Jan 28 14:24:11 2015 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Wed, 28 Jan 2015 14:24:11 -0000 (UTC) Subject: [GAP Forum] The stability of group libraries In-Reply-To: <1422452294146.69150@qmul.ac.uk> References: <1422452294146.69150@qmul.ac.uk> Message-ID: Dear Leonard, obviously a definitive answer to your question needs to be left to the authors of the group libraries in question, but I have seen so many references to e.g. SmallGroup(n,k) for particular values n and k in the literature that it would likely cause major disruption if this would suddenly be a different group. I would assume the same to hold for other group libraries, like the ones of transitive groups and of primitive groups. However I am less sure about whether details like which generators are stored are guaranteed to remain unchanged in future versions. Best wishes, Stefan On Wed, January 28, 2015 1:38 pm, Leonard Soicher wrote: > Dear GAP Developers, Dear GAP-Forum, > > I would like to know what the policy is concerning the groups > in the the very useful GAP libraries of transitive permutation groups and > of primitive permutation groups (and any other group library you wish to comment on) > as regards to any possible changes wihen changes are made in GAP. In particular, > were the actual groups in the library, their GeneratorsOfGroup, and their indexing > within the library fixed in perpetuity when the library was initially made available in > GAP4, > and if not, what is the mechanism to alert users to any changes? This is important > for being able to repeat, check, report on, and extend results made using specific > groups in a given library. > > Thank you for your help, > Leonard > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From dmitrii.pasechnik at cs.ox.ac.uk Wed Jan 28 14:50:54 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dmitrii Pasechnik) Date: Wed, 28 Jan 2015 14:50:54 +0000 Subject: [GAP Forum] The stability of group libraries In-Reply-To: References: <1422452294146.69150@qmul.ac.uk> Message-ID: <20150128145054.GA21680@cs.ox.ac.uk> On Wed, Jan 28, 2015 at 02:24:11PM -0000, Stefan Kohl wrote: > obviously a definitive answer to your question needs to be left to the > authors of the group libraries in question, but I have seen so many references > to e.g. SmallGroup(n,k) for particular values n and k in the literature that > it would likely cause major disruption if this would suddenly be a different group. If I recall right, there are (otherwise independent from GAP) software packages that identify groups by their "GAP numbers", e.g. PARI/GP does this. Just in case, Dima From hulpke at math.colostate.edu Wed Jan 28 16:02:12 2015 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed, 28 Jan 2015 09:02:12 -0700 Subject: [GAP Forum] The stability of group libraries In-Reply-To: <1422452294146.69150@qmul.ac.uk> References: <1422452294146.69150@qmul.ac.uk> Message-ID: <206937A8-2C76-4C2E-B205-00FA1862CEE1@math.colostate.edu> Dear Leonard, Dear Forum, > I would like to know what the policy is concerning the groups > in the the very useful GAP libraries of transitive permutation groups and > of primitive permutation groups (and any other group library you wish to comment on) > as regards to any possible changes wihen changes are made in GAP. In particular, > were the actual groups in the library, their GeneratorsOfGroup, and their indexing > within the library fixed in perpetuity when the library was initially made available in GAP4, > and if not, what is the mechanism to alert users to any changes? This is important > for being able to repeat, check, report on, and extend results made using specific > groups in a given library. We guarantee the following for the most prominent group libraries. (Guarantees are not exactly the same, as the construction processes differ). - In the library of small groups, the numbering of isomorphism types is guaranteed to be stable. Actual group generators, or the PC presentations used could theoretically change (though there is no intention to do so, unless it would reflect a deeper mathematical understanding, and if this happened I'd expect an explicit announcement in the release notes.) - In the library of transitive groups, the actual permutation groups (but not the generators used) are guaranteed to be stable. So you could refer to a particular point set and a particular group in a combinatorial construction. - The *old* library of primitive groups had in fact an unstable numbering, dependent on the implementation of the subgroup lattice algorithm. This library was therefore retired with the release of GAP 4.2. - The *new* library of primitive groups, release with GAP 4.2, guarantees a stable numbering (which for degree up to 50 is compatible with lists published in the literature), but does not guarantee a fixed S_n representative or particular generators. (To the best of my knowledge the numbering of groups is compatible with other systems that provide such libraries.) There is no mechanism for explicitly alerting users of changes in the non-guaranteed properties. A change in the guaranteed properties would presumably mean that the library was retired and replaced with a new library. Needless to say, any such promises are only worth as much as the promiser, as anyone who endowed a chantry before 1545 can tell you. Best, Alexander From D.F.Holt at warwick.ac.uk Wed Jan 28 16:54:48 2015 From: D.F.Holt at warwick.ac.uk (Derek Holt) Date: Wed, 28 Jan 2015 16:54:48 +0000 Subject: [GAP Forum] The stability of group libraries In-Reply-To: <206937A8-2C76-4C2E-B205-00FA1862CEE1@math.colostate.edu> References: <1422452294146.69150@qmul.ac.uk> <206937A8-2C76-4C2E-B205-00FA1862CEE1@math.colostate.edu> Message-ID: <20150128165448.GA1067@warwick.ac.uk> Dear Alexander, dear Forum, On Wed, Jan 28, 2015 at 09:02:12AM -0700, Alexander Hulpke wrote: > Dear Leonard, Dear Forum, > > > I would like to know what the policy is concerning the groups > > in the the very useful GAP libraries of transitive permutation groups and > > of primitive permutation groups (and any other group library you wish to comment on) > > as regards to any possible changes wihen changes are made in GAP. In particular, > > were the actual groups in the library, their GeneratorsOfGroup, and their indexing > > within the library fixed in perpetuity when the library was initially made available in GAP4, > > and if not, what is the mechanism to alert users to any changes? This is important > > for being able to repeat, check, report on, and extend results made using specific > > groups in a given library. > > We guarantee the following for the most prominent group libraries. (Guarantees are not exactly the same, as the construction processes differ). > > - In the library of small groups, the numbering of isomorphism types is guaranteed to be stable. Actual group generators, or the PC presentations used could theoretically change (though there is no intention to do so, unless it would reflect a deeper mathematical understanding, and if this happened I'd expect an explicit announcement in the release notes.) > > - In the library of transitive groups, the actual permutation groups (but not the generators used) are guaranteed to be stable. So you could refer to a particular point set and a particular group in a combinatorial construction. > > - The *old* library of primitive groups had in fact an unstable numbering, dependent on the implementation of the subgroup lattice algorithm. This library was therefore retired with the release of GAP 4.2. > > - The *new* library of primitive groups, release with GAP 4.2, guarantees a stable numbering (which for degree up to 50 is compatible with lists published in the literature), but does not guarantee a fixed S_n representative or particular generators. > > (To the best of my knowledge the numbering of groups is compatible with other systems that provide such libraries.) Magma has the same numbering for the small groups and transitive groups databases, but a completely different numbering for the primitive groups. I believe that the divergence resulted originally as a result of errors (missing groups) in the old list, which were rectified in different ways. It seems very unlikely indeed that there are errors in either the small groups or the transitive groups databases, because they have been independently checked, but I guess that if a mistake were to be found then that might force a chage in numbering. Derek. > There is no mechanism for explicitly alerting users of changes in the non-guaranteed properties. A change in the guaranteed properties would presumably mean that the library was retired and replaced with a new library. > > Needless to say, any such promises are only worth as much as the promiser, as anyone who endowed a chantry before 1545 can tell you. > > Best, > > Alexander > > > > _______________________________________________ > 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 Thu Jan 29 07:53:01 2015 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Thu, 29 Jan 2015 07:53:01 +0000 Subject: [GAP Forum] The stability of group libraries In-Reply-To: <20150128165448.GA1067@warwick.ac.uk> References: <1422452294146.69150@qmul.ac.uk> <206937A8-2C76-4C2E-B205-00FA1862CEE1@math.colostate.edu>, <20150128165448.GA1067@warwick.ac.uk> Message-ID: <1422517990612.11642@qmul.ac.uk> Dear Alexander K., Stefan, Dima, Alexander H., Derek, and GAP-Forum, Thank you for the useful replies. > - In the library of transitive groups, the actual permutation groups > (but not the generators used) are guaranteed to be stable. So you could refer > to a particular point set and a particular group in a combinatorial construction. > Good. > > - The *new* library of primitive groups, release with GAP 4.2, guarantees a stable > numbering [...] but does not guarantee a fixed S_n representative or particular generators. > It would be better if the actual permutation groups in the library of primitive groups could be guaranteed to be stable. Why would this not be possible? Finally, the guarantees (or their lack, or any cautions) for specific libraries should be documented in the GAP reference manual. Thanks, Leonard ________________________________________ From: Derek Holt Sent: 28 January 2015 16:54 To: Alexander Hulpke Cc: Leonard Soicher; forum at gap-system.org Subject: Re: [GAP Forum] The stability of group libraries Dear Alexander, dear Forum, On Wed, Jan 28, 2015 at 09:02:12AM -0700, Alexander Hulpke wrote: > Dear Leonard, Dear Forum, > > > I would like to know what the policy is concerning the groups > > in the the very useful GAP libraries of transitive permutation groups and > > of primitive permutation groups (and any other group library you wish to comment on) > > as regards to any possible changes wihen changes are made in GAP. In particular, > > were the actual groups in the library, their GeneratorsOfGroup, and their indexing > > within the library fixed in perpetuity when the library was initially made available in GAP4, > > and if not, what is the mechanism to alert users to any changes? This is important > > for being able to repeat, check, report on, and extend results made using specific > > groups in a given library. > > We guarantee the following for the most prominent group libraries. (Guarantees are not exactly the same, as the construction processes differ). > > - In the library of small groups, the numbering of isomorphism types is guaranteed to be stable. Actual group generators, or the PC presentations used could theoretically change (though there is no intention to do so, unless it would reflect a deeper mathematical understanding, and if this happened I'd expect an explicit announcement in the release notes.) > > - In the library of transitive groups, the actual permutation groups (but not the generators used) are guaranteed to be stable. So you could refer to a particular point set and a particular group in a combinatorial construction. > > - The *old* library of primitive groups had in fact an unstable numbering, dependent on the implementation of the subgroup lattice algorithm. This library was therefore retired with the release of GAP 4.2. > > - The *new* library of primitive groups, release with GAP 4.2, guarantees a stable numbering (which for degree up to 50 is compatible with lists published in the literature), but does not guarantee a fixed S_n representative or particular generators. > > (To the best of my knowledge the numbering of groups is compatible with other systems that provide such libraries.) Magma has the same numbering for the small groups and transitive groups databases, but a completely different numbering for the primitive groups. I believe that the divergence resulted originally as a result of errors (missing groups) in the old list, which were rectified in different ways. It seems very unlikely indeed that there are errors in either the small groups or the transitive groups databases, because they have been independently checked, but I guess that if a mistake were to be found then that might force a chage in numbering. Derek. > There is no mechanism for explicitly alerting users of changes in the non-guaranteed properties. A change in the guaranteed properties would presumably mean that the library was retired and replaced with a new library. > > Needless to say, any such promises are only worth as much as the promiser, as anyone who endowed a chantry before 1545 can tell you. > > Best, > > Alexander > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From pjc at mcs.st-andrews.ac.uk Thu Jan 29 10:47:46 2015 From: pjc at mcs.st-andrews.ac.uk (Peter Cameron) Date: Thu, 29 Jan 2015 10:47:46 -0000 (UTC) Subject: [GAP Forum] The stability of group libraries In-Reply-To: <1422452294146.69150@qmul.ac.uk> References: <1422452294146.69150@qmul.ac.uk> Message-ID: Just a brief addendum to Alexander's comment. ?kos Seress, Primitive groups with no regular orbits on the set of subsets, Bull. London Math. Soc. 29 (1997), 697-704, identifies primitive groups by their (old) GAP numbers. It is now a bit of work to match them with the new numbers. In cases like this where the numbering changes, for whatever reason, I think it is important to have a mechanism to match old numbers to new. Peter. > Dear GAP Developers, Dear GAP-Forum, > > I would like to know what the policy is concerning the groups > in the the very useful GAP libraries of transitive permutation groups and > of primitive permutation groups (and any other group library you wish to > comment on) > as regards to any possible changes wihen changes are made in GAP. In > particular, > were the actual groups in the library, their GeneratorsOfGroup, and their > indexing > within the library fixed in perpetuity when the library was initially made > available in GAP4, > and if not, what is the mechanism to alert users to any changes? This is > important > for being able to repeat, check, report on, and extend results made using > specific > groups in a given library. > > Thank you for your help, > Leonard > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- This email address will stop working sometime soon. Please use the address pjc20 at st-andrews.ac.uk instead. From hulpke at fastmail.fm Fri Jan 30 16:41:40 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Fri, 30 Jan 2015 09:41:40 -0700 Subject: [GAP Forum] The stability of group libraries In-Reply-To: References: <1422452294146.69150@qmul.ac.uk> Message-ID: <948B2B69-C338-4EC2-BCA8-CEFCD18C0559@fastmail.fm> Dear Peter, Dear Forum, > Just a brief addendum to Alexander's comment. > > ?kos Seress, Primitive groups with no regular orbits on the set of > subsets, Bull. London Math. Soc. 29 (1997), 697-704, identifies primitive > groups by their (old) GAP numbers. It is now a bit of work to match them > with the new numbers. > > In cases like this where the numbering changes, for whatever reason, I > think it is important to have a mechanism to match old numbers to new. I could not sympathize more with this. The problem with the primitive groups library before 4.2 was that in some cases (basically if the socle is not simple), the arrangement of the primitive groups depended on a subgroup lattice computation (the intention had been to save storage), which in turn might have depended on the setting of the random number generator. That is, in two different sessions of the same release, `PrimitiveGroup' might have given different (nonisomorphic) groups for the same number. This problem was the reason for changing the library. While in many cases the group numbering never changed (the intention was to make the numbering stable, not to relabel for the sake of it), it is hard to specify what did not change or to give a translation list. The only range of degrees, for which I dare to make a promise about what changed or give a translation list, is the groups of degree up to 50. These always agreed with the lists by Sims, as well as the published version by Buekenhout/Leemans. (This incidentally includes all groups that occur in ?kos' paper you refer to.) All the best, Alexander From goetz.pfeiffer at nuigalway.ie Thu Feb 5 15:23:15 2015 From: goetz.pfeiffer at nuigalway.ie (Goetz Pfeiffer) Date: Thu, 5 Feb 2015 15:23:15 +0000 Subject: [GAP Forum] subgroups lattices of simple groups In-Reply-To: <1152961621.836980.1422295953749.JavaMail.yahoo@mail.yahoo.com> References: <1152961621.836980.1422295953749.JavaMail.yahoo@mail.yahoo.com> Message-ID: <54D38AE3.5000705@nuigalway.ie> Dear S?bastien, dear Forum, An alternative source of information on subgroup lattices, or more precisely the poset of conjugacy classes of subgroups, of certain finite groups of modest size is GAP's library of tables of marks (http://schmidt.nuigalway.ie/tomlib), currently maintained by Liam Naughton. Goetz Pfeiffer On 26/01/15 18:12, Palcoux Sebastien wrote: > Hi Forum, > Is it possible to access at the Atlas of subgroup lattices of finite almost simple groups (of Thomas Connor and Dimitri Leemans) with GAP?Is there a package? > Best regards,S?bastien > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- ------------------------------------------------------------------------ goetz.pfeiffer at nuigalway.ie http://schmidt.nuigalway.ie/~goetz Mathematics, NUI Galway, Ireland. phone +353-91-49-3591 From s.murthy at mykolab.com Wed Feb 11 14:05:31 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Wed, 11 Feb 2015 14:05:31 +0000 Subject: [GAP Forum] Serialisation Message-ID: <824C2FBD-BCFF-4A28-B483-123CF30705D8@mykolab.com> Hi I am trying to use the IO_PickleToString() method from the SCSCP package to test out how GAP serialises group objects. This does not appear to be working as expected on the isomorphic groups Sym(3) and D_6 (dihedral group). gap> IO_PickleToString( SymmetricGroup( 3 ) ); "PRMGILIS\>2PERM\>7(1,2,3)PERM\>5(1,2)INTG\>16FAIL? This looks OK but for D_6 it fails: gap> IO_PickleToString( DihedralGroup( 6 ) ); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `IO_Pickle' on 2 arguments called from IO_Pickle( s, obj ); called from ( ) called from read-eval loop at line 20 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> Why is this? Both should return OpenMath strings. Sandeep From steve.linton at st-andrews.ac.uk Wed Feb 11 14:15:09 2015 From: steve.linton at st-andrews.ac.uk (Stephen Linton) Date: Wed, 11 Feb 2015 14:15:09 +0000 Subject: [GAP Forum] Serialisation In-Reply-To: <824C2FBD-BCFF-4A28-B483-123CF30705D8@mykolab.com> References: <824C2FBD-BCFF-4A28-B483-123CF30705D8@mykolab.com> Message-ID: Dear GAP Forum, > On 11 Feb 2015, at 14:05, Sandeep Murthy wrote: > > Hi > > I am trying to use the IO_PickleToString() method from the SCSCP package > to test out how GAP serialises group objects. This does not appear to be > working as expected on the isomorphic groups Sym(3) and D_6 (dihedral group). > > gap> IO_PickleToString( SymmetricGroup( 3 ) ); > "PRMGILIS\>2PERM\>7(1,2,3)PERM\>5(1,2)INTG\>16FAIL? > > This looks OK but for D_6 it fails: > > gap> IO_PickleToString( DihedralGroup( 6 ) ); > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for `IO_Pickle' on 2 arguments called from > IO_Pickle( s, obj ); called from > ( ) > called from read-eval loop at line 20 of *stdin* > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > brk> > > Why is this? Both should return OpenMath strings. > > Sandeep The difference is that DihedralGroup(6) does NOT, by default, return a permutation group. gap> DihedralGroup(6); There is currently no pickling method for pc groups. You can ask GAP for D_6 as a permutation group: gap> DihedralGroup(IsPermGroup, 6); Group([ (1,2,3), (2,3) ]) IO_PickleToString should work for this group. As an aside the outputs of IO_PickleToString are NOT OpenMath. The IO_Pickle functions use their own format which only they can reliably read. Steve From caj21 at st-andrews.ac.uk Wed Feb 11 14:17:51 2015 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Wed, 11 Feb 2015 14:17:51 +0000 Subject: [GAP Forum] Serialisation In-Reply-To: <824C2FBD-BCFF-4A28-B483-123CF30705D8@mykolab.com> References: <824C2FBD-BCFF-4A28-B483-123CF30705D8@mykolab.com> Message-ID: IO_PickleToString comes from the IO package, rather than the SCSCP package. IO's Pickle provides a different set of methods to serialise GAP objects, which tend to be smaller and faster to parse/unparse than openmath, but as you saw do not implement all types. If you want to use open math, then use the 'OM' methods: gap> OMPrint(SymmetricGroup(3)); 2 3 1 2 1 gap> OMPrint(DihedralGroup(6)); 25 6 On 11/02/2015 14:05, "Sandeep Murthy" wrote: >Hi > >I am trying to use the IO_PickleToString() method from the SCSCP package >to test out how GAP serialises group objects. This does not appear to be >working as expected on the isomorphic groups Sym(3) and D_6 (dihedral >group). > >gap> IO_PickleToString( SymmetricGroup( 3 ) ); >"PRMGILIS\>2PERM\>7(1,2,3)PERM\>5(1,2)INTG\>16FAIL? > >This looks OK but for D_6 it fails: > >gap> IO_PickleToString( DihedralGroup( 6 ) ); >Error, no method found! For debugging hints type ?Recovery from >NoMethodFound >Error, no 1st choice method found for `IO_Pickle' on 2 arguments called >from >IO_Pickle( s, obj ); called from >( ) > called from read-eval loop at line 20 of *stdin* >you can 'quit;' to quit to outer loop, or >you can 'return;' to continue >brk> > >Why is this? Both should return OpenMath strings. > >Sandeep From s.murthy at mykolab.com Wed Feb 11 14:28:20 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Wed, 11 Feb 2015 14:28:20 +0000 Subject: [GAP Forum] Serialisation In-Reply-To: References: <824C2FBD-BCFF-4A28-B483-123CF30705D8@mykolab.com> Message-ID: Thanks for the information. But it seems SCSCP.IO_PickleToString calls IO.IO_Pickle() according to this page http://www.gap-system.org/Manuals/pkg/scscp/doc/chap9.html#X84F055ED860120D5 and the description of the string output is that it is in ""pickled" format as OpenMath strings?. I don?t need OM output, it?s just important that it is a compact string output that can be used to reconstruct the object if necessary. This serial ID is part of a JSON record I am writing to a data file for a given group in the small groups library. Which method do I use to get the permutation group form of any given group in this library? Sandeep Murthy s.murthy at mykolab.com > On 11 Feb 2015, at 14:17, Christopher Jefferson wrote: > > IO_PickleToString comes from the IO package, rather than the SCSCP package. > > IO's Pickle provides a different set of methods to serialise GAP objects, > which tend to be smaller and faster to parse/unparse than openmath, but as > you saw do not implement all types. > > If you want to use open math, then use the 'OM' methods: > > gap> OMPrint(SymmetricGroup(3)); > > > > > > > 2 > 3 > 1 > > > > 2 > 1 > > > > gap> OMPrint(DihedralGroup(6)); > > > > 25 > 6 > > > > > > > On 11/02/2015 14:05, "Sandeep Murthy" wrote: > >> Hi >> >> I am trying to use the IO_PickleToString() method from the SCSCP package >> to test out how GAP serialises group objects. This does not appear to be >> working as expected on the isomorphic groups Sym(3) and D_6 (dihedral >> group). >> >> gap> IO_PickleToString( SymmetricGroup( 3 ) ); >> "PRMGILIS\>2PERM\>7(1,2,3)PERM\>5(1,2)INTG\>16FAIL? >> >> This looks OK but for D_6 it fails: >> >> gap> IO_PickleToString( DihedralGroup( 6 ) ); >> Error, no method found! For debugging hints type ?Recovery from >> NoMethodFound >> Error, no 1st choice method found for `IO_Pickle' on 2 arguments called >> from >> IO_Pickle( s, obj ); called from >> ( ) >> called from read-eval loop at line 20 of *stdin* >> you can 'quit;' to quit to outer loop, or >> you can 'return;' to continue >> brk> >> >> Why is this? Both should return OpenMath strings. >> >> Sandeep > From s.murthy at mykolab.com Wed Feb 11 14:29:24 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Wed, 11 Feb 2015 14:29:24 +0000 Subject: [GAP Forum] Serialisation In-Reply-To: References: <824C2FBD-BCFF-4A28-B483-123CF30705D8@mykolab.com> Message-ID: <9017E73B-C698-4ACC-995B-9200184DE4C2@mykolab.com> Thanks for the information. But it seems SCSCP.IO_PickleToString calls IO.IO_Pickle() according to this page http://www.gap-system.org/Manuals/pkg/scscp/doc/chap9.html#X84F055ED860120D5 and the description of the string output is that it is in ""pickled" format as OpenMath strings?. I don?t need OM output, it?s just important that it is a compact string output that can be used to reconstruct the object if necessary. This serial ID is part of a JSON record I am writing to a data file for a given group in the small groups library. Which method do I use to get the permutation group form of any given group in this library? Sandeep Murthy s.murthy at mykolab.com > On 11 Feb 2015, at 14:17, Christopher Jefferson wrote: > > IO_PickleToString comes from the IO package, rather than the SCSCP package. > > IO's Pickle provides a different set of methods to serialise GAP objects, > which tend to be smaller and faster to parse/unparse than openmath, but as > you saw do not implement all types. > > If you want to use open math, then use the 'OM' methods: > > gap> OMPrint(SymmetricGroup(3)); > > > > > > > 2 > 3 > 1 > > > > 2 > 1 > > > > gap> OMPrint(DihedralGroup(6)); > > > > 25 > 6 > > > > > > > On 11/02/2015 14:05, "Sandeep Murthy" wrote: > >> Hi >> >> I am trying to use the IO_PickleToString() method from the SCSCP package >> to test out how GAP serialises group objects. This does not appear to be >> working as expected on the isomorphic groups Sym(3) and D_6 (dihedral >> group). >> >> gap> IO_PickleToString( SymmetricGroup( 3 ) ); >> "PRMGILIS\>2PERM\>7(1,2,3)PERM\>5(1,2)INTG\>16FAIL? >> >> This looks OK but for D_6 it fails: >> >> gap> IO_PickleToString( DihedralGroup( 6 ) ); >> Error, no method found! For debugging hints type ?Recovery from >> NoMethodFound >> Error, no 1st choice method found for `IO_Pickle' on 2 arguments called >> from >> IO_Pickle( s, obj ); called from >> ( ) >> called from read-eval loop at line 20 of *stdin* >> you can 'quit;' to quit to outer loop, or >> you can 'return;' to continue >> brk> >> >> Why is this? Both should return OpenMath strings. >> >> Sandeep > From alexk at mcs.st-andrews.ac.uk Thu Feb 12 23:42:36 2015 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Thu, 12 Feb 2015 23:42:36 +0000 Subject: [GAP Forum] Serialisation In-Reply-To: <824C2FBD-BCFF-4A28-B483-123CF30705D8@mykolab.com> References: <824C2FBD-BCFF-4A28-B483-123CF30705D8@mykolab.com> Message-ID: Hi Sandeep, As it was already noted here, the cause of the problem is that one of these two groups is a permutation group and the other - pc group. The GAP manual has a section "Saving a Pc Group" which may help you: http://www.gap-system.org/Manuals/doc/ref/chap46.html#X85696AB9791DF047 - see GapInputPcGroup there. Also, for pc groups you may use the pair of functions CodePcGroup and PcGroupCode, see them here: http://www.gap-system.org/Manuals/doc/ref/chap46.html#X8041C2D88721EEA9 These were invented to store large libraries of small groups, and for really huge groups, they will may work slow. However, GapInputPcGroup performs quite well - I've found the log file for a group of order 3^728 which I was saving several years ago. The group was saved in 9 seconds and restored in 12 seconds, and the file size was "only" 6.5 MB (gzipped - 1.5 MB): gap> PrintTo( "save", GapInputPcGroup( V, "V729_13" ) ); gap> time; 9217 gap> Read("save"); #I A group of order 2209395351413957253683909547381599161963288912918954731542644224734870827044293093746906\ 7135836134418530028589701635375804525993982486739360716170312948236428294558462634156750\ 2928525358477130679078983517688062896651637532904132693253013488158239242149787728540685\ 561563573806847600207803782218928387605966850445847423444996735145737566710612948961 has been defined. #I It is called V729_13 gap> time; 12154 gap> Hope this helps, Alexander On 11 Feb 2015, at 14:05, Sandeep Murthy wrote: > Hi > > I am trying to use the IO_PickleToString() method from the SCSCP package > to test out how GAP serialises group objects. This does not appear to be > working as expected on the isomorphic groups Sym(3) and D_6 (dihedral group). > > gap> IO_PickleToString( SymmetricGroup( 3 ) ); > "PRMGILIS\>2PERM\>7(1,2,3)PERM\>5(1,2)INTG\>16FAIL? > > This looks OK but for D_6 it fails: > > gap> IO_PickleToString( DihedralGroup( 6 ) ); > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for `IO_Pickle' on 2 arguments called from > IO_Pickle( s, obj ); called from > ( ) > called from read-eval loop at line 20 of *stdin* > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > brk> > > Why is this? Both should return OpenMath strings. > > Sandeep > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From s.murthy at mykolab.com Fri Feb 13 00:38:16 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Fri, 13 Feb 2015 00:38:16 +0000 Subject: [GAP Forum] Serialisation In-Reply-To: References: <824C2FBD-BCFF-4A28-B483-123CF30705D8@mykolab.com> Message-ID: Thanks. Sandeep Murthy s.murthy at mykolab.com > On 12 Feb 2015, at 23:42, Alexander Konovalov wrote: > > Hi Sandeep, > > As it was already noted here, the cause of the problem is that one of > these two groups is a permutation group and the other - pc group. The > GAP manual has a section "Saving a Pc Group" which may help you: > > http://www.gap-system.org/Manuals/doc/ref/chap46.html#X85696AB9791DF047 > > - see GapInputPcGroup there. > > Also, for pc groups you may use the pair of functions CodePcGroup and > PcGroupCode, see them here: > > http://www.gap-system.org/Manuals/doc/ref/chap46.html#X8041C2D88721EEA9 > > These were invented to store large libraries of small groups, and for > really huge groups, they will may work slow. However, GapInputPcGroup > performs quite well - I've found the log file for a group of order 3^728 > which I was saving several years ago. The group was saved in 9 seconds > and restored in 12 seconds, and the file size was "only" 6.5 MB (gzipped > - 1.5 MB): > > gap> PrintTo( "save", GapInputPcGroup( V, "V729_13" ) ); > gap> time; > 9217 > gap> Read("save"); > #I A group of order > 2209395351413957253683909547381599161963288912918954731542644224734870827044293093746906\ > 7135836134418530028589701635375804525993982486739360716170312948236428294558462634156750\ > 2928525358477130679078983517688062896651637532904132693253013488158239242149787728540685\ > 561563573806847600207803782218928387605966850445847423444996735145737566710612948961 > has been defined. > #I It is called V729_13 > gap> time; > 12154 > gap> > > Hope this helps, > Alexander > > > > On 11 Feb 2015, at 14:05, Sandeep Murthy wrote: > >> Hi >> >> I am trying to use the IO_PickleToString() method from the SCSCP package >> to test out how GAP serialises group objects. This does not appear to be >> working as expected on the isomorphic groups Sym(3) and D_6 (dihedral group). >> >> gap> IO_PickleToString( SymmetricGroup( 3 ) ); >> "PRMGILIS\>2PERM\>7(1,2,3)PERM\>5(1,2)INTG\>16FAIL? >> >> This looks OK but for D_6 it fails: >> >> gap> IO_PickleToString( DihedralGroup( 6 ) ); >> Error, no method found! For debugging hints type ?Recovery from NoMethodFound >> Error, no 1st choice method found for `IO_Pickle' on 2 arguments called from >> IO_Pickle( s, obj ); called from >> ( ) >> called from read-eval loop at line 20 of *stdin* >> you can 'quit;' to quit to outer loop, or >> you can 'return;' to continue >> brk> >> >> Why is this? Both should return OpenMath strings. >> >> Sandeep >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum > From matan at svgalib.org Fri Feb 13 22:25:34 2015 From: matan at svgalib.org (Matan Ziv-Av) Date: Sat, 14 Feb 2015 00:25:34 +0200 (IST) Subject: [GAP Forum] Performance degradation of LookupDictionary() for partitions between 4.7.2 and 4.7.6 Message-ID: Hello, there seems to be a decrease in the performance of LookupDictionary(), at least for partitions. A simple example is below: In 4.7.6: gap> d:=NewDictionary([[1],[2..10]],true); gap> for i in PartitionsSet([1..10]) do AddDictionary(d,i,1); od ; gap> time; 980 gap> Sum(PartitionsSet([1..10]),x->LookupDictionary(d,x)); 115975 gap> time; 308640 In 4.7.2: gap> d:=NewDictionary([[1],[2..10]],true); gap> for i in PartitionsSet([1..10]) do AddDictionary(d,i,1); od ; gap> time; 971 gap> Sum(PartitionsSet([1..10]),x->LookupDictionary(d,x)); 115975 gap> time; 727 Perhaps when LookupDictionary was changed for IsListLookupDictionary, something like below should have been added: ############################################################################# ## #M LookupDictionary(,) ## InstallMethod(LookupDictionary,"for sort dictionaries",true, [IsSortLookupDictionary,IsObject],0, function(d,x) local p; p:=PositionFirstComponent(d!.entries,x); if p > Length(d!.entries) or d!.entries[p][1] <> x then return fail; else return d!.entries[p][2]; fi; end); -- Matan Ziv-Av. matan at svgalib.org From hulpke at fastmail.fm Sat Feb 14 20:10:15 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Sat, 14 Feb 2015 13:10:15 -0700 Subject: [GAP Forum] Performance degradation of LookupDictionary() for partitions between 4.7.2 and 4.7.6 In-Reply-To: References: Message-ID: Dear Forum, > On Feb 13, 2015, at 3:25 PM, Matan Ziv-Av wrote: > > Perhaps when LookupDictionary was changed for IsListLookupDictionary, something like below should have been added [for sort dictionaries]. Indeed it should (and as well for `KnowsDictionary?). I will add so for future releases. Thanks for reporting this! Alexander Hulpke From alexk at mcs.st-andrews.ac.uk Mon Feb 16 08:03:42 2015 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 16 Feb 2015 08:03:42 +0000 Subject: [GAP Forum] GAP 4.7.7 release announcement Message-ID: Dear GAP Forum, This is to announce the release of GAP 4.7.7, which could be downloaded from http://www.gap-system.org/Releases/ This release includes not only improvements and fixed bugs, but also two new GAP packages: - json package by Christopher Jefferson, providing a mapping between the JSON markup language and GAP; - SglPPow package by Bettina Eick and Michael Vaughan-Lee, providing the database of p-groups of order p^7 for p > 11, and of order 3^8. Also, Windows users may now use the standard installer http://www.gap-system.org/pub/gap/gap47/exe/gap4r7p7_2015_02_13-15_29.exe which since GAP 4.7.6 became an official format for the GAP distribution for Windows. Alternative installers for Linux and OS X (BOB and GAP Rsync) will hopefully be updated later. The overview of changes in GAP 4.7.7 versus GAP 4.7.6 is given below. New features: - Introduced some arithmetic operations for infinity and negative infinity. - Introduced new property 'IsGeneratorsOfSemigroup' which reflects whether the list or collection generates a semigroup. Fixed bugs which could lead to incorrect results: - Fixed a bug in 'Union' (actually, in the internal library function 'JoinRanges') caused by downward running ranges. [Reported by Matt Fayers] - Fixed a bug where recursive records might be printed with the wrong component name, coming from component names being ordered differently in two different pieces of code. [Reported by Thomas Breuer] - The usage of abs in src/gmpints.c was replaced by 'AbsInt'. The former is defined to operate on 32-bit integers even if GAP is compiled in 64-bit mode. That lead to truncating GAP integers and caused a crash in 'RemInt', reported by Willem De Graaf and Heiko Dietrich. Using 'AbsInt' fixes the crash, and ensures the correct behaviour on 32-bit and 64-bit builds. Fixed bugs that could lead to break loops: - A problem with 'ProbabilityShapes' not setting frequencies list for small degrees. [Reported by Daniel B?a?ewicz and independently by Mathieu Gagne] - An error when generating a free monoid of rank infinity. [Reported by Nick Loughlin] - Several bugs with the code for Rees matrix semigroups not handling trivial cases properly. - A bug in 'IsomorphismTypeInfoFiniteSimpleGroup' affecting one particular group due to a misformatting in a routine that translates between the Chevalley type and the name used in the table (in this case, "T" was used instead of ["T"]). [Reported by Petr Savicky] Other fixed bugs: - The 'Basis' method for full homomorphism spaces of linear mappings did not set basis vectors which could be obtained by 'GeneratorsOfLeftModule'. - A problem with 'GaloisType' entering an infinite loop in the routine for approximating a root. [Reported by Daniel B?a?ewicz] - Fixed the crash when GAP is called when the environment variables HOME or PATH are unset. [Reported by Bill Allombert] In addition to the two new packages mentioned above, GAP 4.7.7 distribution includes updates of 17 other GAP packages: Package name | Version | Date ------------------------------------------------ Circle | 1.5.3 | 13/02/2015 CoReLG | 1.20 | 02/12/2014 gpd | 1.31 | 17/12/2014 GradedModules | 2015.01.30 | 30/01/2015 HomalgToCAS | 2015.02.03 | 03/02/2015 idrel | 2.21 | 10/12/2014 json | 0.8.2 | 08/02/2015 kan | 1.11 | 10/12/2014 LiePRing | 1.8 | 08/11/2013 LocalizeRingForHomalg | 2014.11.20 | 20/11/2014 MatricesForHomalg | 2015.02.03 | 03/02/2015 Modules | 2015.02.10 | 10/02/2015 RingsForHomalg | 2015.02.10 | 10/02/2015 Semigroups | 2.2 | 20/01/2015 SglPPow | 0.9 | 21/11/2014 TomLib | 1.2.5 | 21/11/2014 ToolsForHomalg | 2014.12.08 | 08/12/2014 Wedderga | 4.7.2 | 24/11/2014 XMod | 2.31 | 17/12/2014 ================================================ We encourage all users to upgrade to GAP 4.7.7. If you need any help or would like to report any problems, please do not hesitate to contact us at support at gap-system.org. Wishing you fun and success using GAP, The GAP Group From alexk at mcs.st-andrews.ac.uk Mon Feb 16 08:10:44 2015 From: alexk at mcs.st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 16 Feb 2015 08:10:44 +0000 Subject: [GAP Forum] Performance degradation of LookupDictionary() for partitions between 4.7.2 and 4.7.6 In-Reply-To: References: Message-ID: <848CA02F-AD14-40D2-8C73-EDECF2015030@mcs.st-andrews.ac.uk> Dear Matan, On 14 Feb 2015, at 20:10, Alexander Hulpke wrote: > Dear Forum, > >> On Feb 13, 2015, at 3:25 PM, Matan Ziv-Av wrote: >> >> Perhaps when LookupDictionary was changed for IsListLookupDictionary, something like below should have been added > [for sort dictionaries]. > > Indeed it should (and as well for `KnowsDictionary?). I will add so for future releases. > > Thanks for reporting this! > > Alexander Hulpke Thank you for reporting this! Just to add that your report came after the just announced GAP 4.7.7 release was prepared, so it was already too late to include the fix there - now it should wait till the next release. Best wishes Alexander From gordon.royle at uwa.edu.au Wed Feb 25 05:08:42 2015 From: gordon.royle at uwa.edu.au (Gordon Royle) Date: Wed, 25 Feb 2015 13:08:42 +0800 Subject: [GAP Forum] Primitive Group Library problems Message-ID: Dear Gapsters I work with both GAP and Magma which use a different numbering system for their respective PrimitiveGroup libraries. Therefore I keep having to work out which ?Gap-number? corresponds to which ?Magma-number? for particular groups. So I decided to make a ?once and for all? calculation and create a master table with the correspondence between the two numbering systems. During routine sanity checking at the end of this process, I was surprised to discover that the two libraries contain different numbers of groups. In particular, gap> NrPrimitiveGroups(1575); 6 > NumberOfPrimitiveGroups(1575); 8 Closer inspection reveals that the GAP library is missing two groups - they have orders 14742000000 and 29484000000; the first one can be identified as PSU(4,5) and it is contained in the second group. All the best Gordon Professor Gordon Royle School of Mathematics and Statistics University of Western Australia Gordon.Royle at uwa.edu.au From stefan at mcs.st-and.ac.uk Wed Feb 25 11:12:21 2015 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Wed, 25 Feb 2015 11:12:21 -0000 (UTC) Subject: [GAP Forum] Primitive Group Library problems In-Reply-To: References: Message-ID: Dear Gordon, > I work with both GAP and Magma which use a different numbering system for their > respective PrimitiveGroup libraries. > > Therefore I keep having to work out which ?Gap-number? corresponds to which > ?Magma-number? for particular groups. > > So I decided to make a ?once and for all? calculation and create a master table with the > correspondence between the two numbering systems. > > During routine sanity checking at the end of this process, I was surprised to discover > that the two libraries contain different numbers of groups. > > In particular, > > gap> NrPrimitiveGroups(1575); > 6 >> NumberOfPrimitiveGroups(1575); > 8 > > Closer inspection reveals that the GAP library is missing two groups - they have orders > 14742000000 and 29484000000; the first one can be identified as PSU(4,5) and it is > contained in the second group. Thank you very much for reporting this bug! Indeed the smaller of the two missing groups can be constructed as follows: gap> G := Image(SmallerDegreePermutationRepresentation(PSU(4,5)));; gap> S := Group(G.1^3,G.2);; gap> P := Action(G,RightCosets(G,S),OnRight); Now we see that P is missing in the Library: gap> DegreeAction(P); 1575 gap> IsPrimitive(P,[1..1575]); true gap> Size(P); 14742000000 gap> List(AllPrimitiveGroups(DegreeAction,1575),Size); [ 174182400, 348364800, 522547200, 1045094400, , ] Identifying P in the Library is of course not possible: gap> PrimitiveIdentification(P); Error, Uh-Oh, this should never happen [ ] called from ( ) called from read-eval loop at line 11 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> Best wishes, Stefan ----------------------------------------------------------------------------- http://www.gap-system.org/DevelopersPages/StefanKohl/ ----------------------------------------------------------------------------- From nicholas.gill at southwales.ac.uk Thu Feb 26 10:35:52 2015 From: nicholas.gill at southwales.ac.uk (Nicholas Gill) Date: Thu, 26 Feb 2015 10:35:52 +0000 Subject: [GAP Forum] bicyclic extensions of simple groups Message-ID: <474E6C310B192845A1ED5F61A129D3BF4AB497DC@MailDB1.uni.glam.ac.uk> Hi GAP-folk, I would like to construct a bunch of bicyclic extensions of some finite simple groups. Here "bicyclic" is in the sense of the ATLAS. I'm thinking of things like 3.A6.2, 6.A6.2, 12.A6.2, (2x2).Sz(8).3 I realise the definition of these things is a little icky. In fact I only need an example of each such group up to isoclinism - this is what the ATLAS provides and that's good enough for me... But to start any example of such a group would be handy. I've tried a bunch of things to get my hands on these groups, but failed. In most cases a presentation is not known (I think), so I'm a little stuck. Any suggestions? Apologies in advance if this is a dumb question - my GAP knowledge continues to hover around pathetic / embarrassing. Nick :) From dmitrii.pasechnik at cs.ox.ac.uk Thu Feb 26 13:12:02 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dmitrii Pasechnik) Date: Thu, 26 Feb 2015 13:12:02 +0000 Subject: [GAP Forum] bicyclic extensions of simple groups In-Reply-To: <474E6C310B192845A1ED5F61A129D3BF4AB497DC@MailDB1.uni.glam.ac.uk> References: <474E6C310B192845A1ED5F61A129D3BF4AB497DC@MailDB1.uni.glam.ac.uk> Message-ID: <20150226131202.GA12878@cs.ox.ac.uk> Dear Nick, On Thu, Feb 26, 2015 at 10:35:52AM +0000, Nicholas Gill wrote: > Hi GAP-folk, > > I would like to construct a bunch of bicyclic extensions of some finite simple groups. Here "bicyclic" is in the sense of the ATLAS. I'm thinking of things like > 3.A6.2, 6.A6.2, 12.A6.2, (2x2).Sz(8).3 > I realise the definition of these things is a little icky. In fact I only need an example of each such group up to isoclinism - this is what the ATLAS provides and that's good enough for me... But to start any example of such a group would be handy. you can find presentations and representations in Atlas of Finite Group Representations, e.g. for Sz(8) see http://brauer.maths.qmul.ac.uk/Atlas/v3/exc/Sz8/ E.g. you can download permutations for 22.Sz(8):3 from http://brauer.maths.qmul.ac.uk/Atlas/v3/permrep/4Sz8d3G1-p2080B0 This data is also available directly in GAP via the package AtlasRep, see http://www.gap-system.org/Packages/atlasrep.html Hope this helps, Dima From juergen.manfred.mueller at uni-jena.de Thu Feb 26 11:14:31 2015 From: juergen.manfred.mueller at uni-jena.de (Juergen Manfred Mueller) Date: Thu, 26 Feb 2015 12:14:31 +0100 Subject: [GAP Forum] bicyclic extensions of simple groups In-Reply-To: <474E6C310B192845A1ED5F61A129D3BF4AB497DC@MailDB1.uni.glam.ac.uk> References: <474E6C310B192845A1ED5F61A129D3BF4AB497DC@MailDB1.uni.glam.ac.uk> Message-ID: Dear Nick, here is a quick answer: You might want to look at the ATLAS of Finite Group Representations http://brauer.maths.qmul.ac.uk/Atlas/v3/ I have not checked which information (e.g. presentations, representations) are given there for the groups you are interested in, but they are smallish anyway... Best wishes, J?rgen (M?ller) Zitat von Nicholas Gill : > Hi GAP-folk, > > I would like to construct a bunch of bicyclic extensions of some > finite simple groups. Here "bicyclic" is in the sense of the ATLAS. > I'm thinking of things like > 3.A6.2, 6.A6.2, 12.A6.2, (2x2).Sz(8).3 > I realise the definition of these things is a little icky. In fact I > only need an example of each such group up to isoclinism - this is > what the ATLAS provides and that's good enough for me... But to > start any example of such a group would be handy. > > I've tried a bunch of things to get my hands on these groups, but > failed. In most cases a presentation is not known (I think), so I'm > a little stuck. Any suggestions? > > Apologies in advance if this is a dumb question - my GAP knowledge > continues to hover around pathetic / embarrassing. > > Nick :) > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > ---------------------------------------------------------------- This message was sent through https://webmail.uni-jena.de From markus.pfeiffer at morphism.de Mon Mar 2 14:15:49 2015 From: markus.pfeiffer at morphism.de (Markus Pfeiffer) Date: Mon, 2 Mar 2015 14:15:49 +0000 Subject: [GAP Forum] GAP is now available on github.com Message-ID: <20150302141549.GC300090@karp.morphism.de> Dear all, Since last Friday there exists an up-to-date copy of the GAP source code on github.com under https://github.com/gap-system/gap This will be the official development repository for GAP as of now, and GAP 4.8 and all future versions of GAP will be made from this repository. For those interested in HPC-GAP there is a branch in the repository that contains the current source code of HPC-GAP. Alas, at this point it doesn't compile as it is from the repository as it is missing a dependency. We hope to resolve this very soon. We invite everyone to contribute bugreports, bugfixes, documentation, documentation fixes, and code to GAP via so-called "issues" and "pull requests" on github. There is some guidance on how we would like contributions to work in the file https://github.com/gap-system/gap/blob/master/CONTRIBUTING.md If you have any questions, or suggestions for GAP, the repository, or documentation, feel free to contact us via the GAP mailing list gap at gap-system.org, or submit an issue or a pull request on github. We are looking forward to hearing from you! Cheers, Markus From anvita21 at gmail.com Mon Mar 2 22:35:35 2015 From: anvita21 at gmail.com (Anvita) Date: Mon, 2 Mar 2015 19:35:35 -0300 Subject: [GAP Forum] Scalar subgroup Message-ID: Dear Forum, Suppose G is a matrix group. What would be an efficient way to find the subgroup of G that consists of scalar matrices? I have not found a suitable function in GAP. Of course, it is a subgroup of the centre of G, but it can be much smaller than that. Anvita From s.murthy at mykolab.com Mon Mar 2 22:53:42 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Tue, 3 Mar 2015 09:53:42 +1100 Subject: [GAP Forum] GAP is now available on github.com In-Reply-To: <20150302141549.GC300090@karp.morphism.de> References: <20150302141549.GC300090@karp.morphism.de> Message-ID: <73E3292E-123F-4903-86DC-2DDC4E32E69D@mykolab.com> Hi In CONTRIBUTING.md I think you should consider changing the instructions to recommend HTTPS over plain Git for cloning - there?s no server verification with Git, whereas HTTPS does this using CAs, plus depending on where you are the Git protocol may not even work, whereas HTTPS generally works everywhere. Pushing via HTTPS requires your GitHub password and this is good for code integrity. HTTPS is also GitHub's recommended protocol for cloning repos. Sandeep Murthy s.murthy at mykolab.com > On 3 Mar 2015, at 01:15, Markus Pfeiffer wrote: > > Dear all, > > Since last Friday there exists an up-to-date copy of the GAP source code on > github.com under > > https://github.com/gap-system/gap > > This will be the official development repository for GAP as of now, and GAP > 4.8 and all future versions of GAP will be made from this repository. > > For those interested in HPC-GAP there is a branch in the repository that > contains the current source code of HPC-GAP. Alas, at this point it doesn't > compile as it is from the repository as it is missing a dependency. We hope to > resolve this very soon. > > We invite everyone to contribute bugreports, bugfixes, documentation, > documentation fixes, and code to GAP via so-called "issues" and "pull requests" > on github. > > There is some guidance on how we would like contributions to work in the file > > https://github.com/gap-system/gap/blob/master/CONTRIBUTING.md > > If you have any questions, or suggestions for GAP, the repository, or documentation, > feel free to contact us via the GAP mailing list gap at gap-system.org, or submit an > issue or a pull request on github. > > We are looking forward to hearing from you! > > Cheers, > Markus > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From dmitrii.pasechnik at cs.ox.ac.uk Tue Mar 3 07:48:09 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Tue, 3 Mar 2015 07:48:09 +0000 Subject: [GAP Forum] GAP is now available on github.com In-Reply-To: <73E3292E-123F-4903-86DC-2DDC4E32E69D@mykolab.com> References: <20150302141549.GC300090@karp.morphism.de> <73E3292E-123F-4903-86DC-2DDC4E32E69D@mykolab.com> Message-ID: <20150303074809.GA23625@dimpase.cs.ox.ac.uk> Dear Sandeep, On Tue, Mar 03, 2015 at 09:53:42AM +1100, Sandeep Murthy wrote: > In CONTRIBUTING.md I think you should consider changing the instructions to > recommend HTTPS over plain Git for cloning - there?s no server verification with github does not provide "plain" git protocol, so it is either https or ssh. I'd recomment using ssh, as one can use ssh-agent to avoid typing the passphrase over and over again. HTH, Dima > Git, whereas HTTPS does this using CAs, plus depending on where you are the > Git protocol may not even work, whereas HTTPS generally works everywhere. > Pushing via HTTPS requires your GitHub password and this is good for code > integrity. > > HTTPS is also GitHub's recommended protocol for cloning repos. > > Sandeep Murthy > s.murthy at mykolab.com > > > On 3 Mar 2015, at 01:15, Markus Pfeiffer wrote: > > > > Dear all, > > > > Since last Friday there exists an up-to-date copy of the GAP source code on > > github.com under > > > > https://github.com/gap-system/gap > > > > This will be the official development repository for GAP as of now, and GAP > > 4.8 and all future versions of GAP will be made from this repository. > > > > For those interested in HPC-GAP there is a branch in the repository that > > contains the current source code of HPC-GAP. Alas, at this point it doesn't > > compile as it is from the repository as it is missing a dependency. We hope to > > resolve this very soon. > > > > We invite everyone to contribute bugreports, bugfixes, documentation, > > documentation fixes, and code to GAP via so-called "issues" and "pull requests" > > on github. > > > > There is some guidance on how we would like contributions to work in the file > > > > https://github.com/gap-system/gap/blob/master/CONTRIBUTING.md > > > > If you have any questions, or suggestions for GAP, the repository, or documentation, > > feel free to contact us via the GAP mailing list gap at gap-system.org, or submit an > > issue or a pull request on github. > > > > We are looking forward to hearing from you! > > > > Cheers, > > Markus > > _______________________________________________ > > 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 s.murthy at mykolab.com Tue Mar 3 08:33:18 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Tue, 3 Mar 2015 19:33:18 +1100 Subject: [GAP Forum] GAP is now available on github.com In-Reply-To: <20150303074809.GA23625@dimpase.cs.ox.ac.uk> References: <20150302141549.GC300090@karp.morphism.de> <73E3292E-123F-4903-86DC-2DDC4E32E69D@mykolab.com> <20150303074809.GA23625@dimpase.cs.ox.ac.uk> Message-ID: <91C9B6E7-B27D-4B42-9AEB-5514AD7238D9@mykolab.com> I was referring to the Git protocol you are using when you do something like git clone git://github.com// Of course this is not GitHub?s as such. You can use SSH but key management can be just as problematic, or if you forget that really long passphrase you used when you first generated the keys. With HTTPS you can avoid typing your GitHub password frequently if you use something called a credential helper to cache your GitHub password in Git - https://help.github.com/articles/caching-your-github-password-in-git Sandeep Murthy s.murthy at mykolab.com > On 3 Mar 2015, at 18:48, Dima Pasechnik wrote: > > Dear Sandeep, > > On Tue, Mar 03, 2015 at 09:53:42AM +1100, Sandeep Murthy wrote: >> In CONTRIBUTING.md I think you should consider changing the instructions to >> recommend HTTPS over plain Git for cloning - there?s no server verification with > > github does not provide "plain" git protocol, so it is either https or ssh. > I'd recomment using ssh, as one can use ssh-agent to avoid typing the passphrase > over and over again. > > HTH, > Dima > >> Git, whereas HTTPS does this using CAs, plus depending on where you are the >> Git protocol may not even work, whereas HTTPS generally works everywhere. >> Pushing via HTTPS requires your GitHub password and this is good for code >> integrity. >> >> HTTPS is also GitHub's recommended protocol for cloning repos. >> >> Sandeep Murthy >> s.murthy at mykolab.com >> >>> On 3 Mar 2015, at 01:15, Markus Pfeiffer wrote: >>> >>> Dear all, >>> >>> Since last Friday there exists an up-to-date copy of the GAP source code on >>> github.com under >>> >>> https://github.com/gap-system/gap >>> >>> This will be the official development repository for GAP as of now, and GAP >>> 4.8 and all future versions of GAP will be made from this repository. >>> >>> For those interested in HPC-GAP there is a branch in the repository that >>> contains the current source code of HPC-GAP. Alas, at this point it doesn't >>> compile as it is from the repository as it is missing a dependency. We hope to >>> resolve this very soon. >>> >>> We invite everyone to contribute bugreports, bugfixes, documentation, >>> documentation fixes, and code to GAP via so-called "issues" and "pull requests" >>> on github. >>> >>> There is some guidance on how we would like contributions to work in the file >>> >>> https://github.com/gap-system/gap/blob/master/CONTRIBUTING.md >>> >>> If you have any questions, or suggestions for GAP, the repository, or documentation, >>> feel free to contact us via the GAP mailing list gap at gap-system.org, or submit an >>> issue or a pull request on github. >>> >>> We are looking forward to hearing from you! >>> >>> Cheers, >>> Markus >>> _______________________________________________ >>> 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 jdm3 at st-and.ac.uk Tue Mar 3 09:50:45 2015 From: jdm3 at st-and.ac.uk (James Mitchell) Date: Tue, 3 Mar 2015 09:50:45 +0000 Subject: [GAP Forum] GAP is now available on github.com In-Reply-To: References: <20150302141549.GC300090@karp.morphism.de> <73E3292E-123F-4903-86DC-2DDC4E32E69D@mykolab.com> <20150303074809.GA23625@dimpase.cs.ox.ac.uk> Message-ID: I think this is a valid point. You don't require any credentials to clone the repository via http but you do via ssh. If you only intend to pull from the repo, and don't already have a github account set up with ssh keys etc, then using http is a good quick option. On 3 March 2015 at 08:33, Sandeep Murthy wrote: > I was referring to the Git protocol you are using when you do something like > > git clone git://github.com// > > Of course this is not GitHub?s as such. > > You can use SSH but key management can be just as problematic, or > if you forget that really long passphrase you used when you first generated the > keys. With HTTPS you can avoid typing your GitHub password frequently if you > use something called a credential helper to cache your GitHub password in Git - > > https://help.github.com/articles/caching-your-github-password-in-git > > Sandeep Murthy > s.murthy at mykolab.com > >> On 3 Mar 2015, at 18:48, Dima Pasechnik wrote: >> >> Dear Sandeep, >> >> On Tue, Mar 03, 2015 at 09:53:42AM +1100, Sandeep Murthy wrote: >>> In CONTRIBUTING.md I think you should consider changing the instructions to >>> recommend HTTPS over plain Git for cloning - there?s no server verification with >> >> github does not provide "plain" git protocol, so it is either https or ssh. >> I'd recomment using ssh, as one can use ssh-agent to avoid typing the passphrase >> over and over again. >> >> HTH, >> Dima >> >>> Git, whereas HTTPS does this using CAs, plus depending on where you are the >>> Git protocol may not even work, whereas HTTPS generally works everywhere. >>> Pushing via HTTPS requires your GitHub password and this is good for code >>> integrity. >>> >>> HTTPS is also GitHub's recommended protocol for cloning repos. >>> >>> Sandeep Murthy >>> s.murthy at mykolab.com >>> >>>> On 3 Mar 2015, at 01:15, Markus Pfeiffer wrote: >>>> >>>> Dear all, >>>> >>>> Since last Friday there exists an up-to-date copy of the GAP source code on >>>> github.com under >>>> >>>> https://github.com/gap-system/gap >>>> >>>> This will be the official development repository for GAP as of now, and GAP >>>> 4.8 and all future versions of GAP will be made from this repository. >>>> >>>> For those interested in HPC-GAP there is a branch in the repository that >>>> contains the current source code of HPC-GAP. Alas, at this point it doesn't >>>> compile as it is from the repository as it is missing a dependency. We hope to >>>> resolve this very soon. >>>> >>>> We invite everyone to contribute bugreports, bugfixes, documentation, >>>> documentation fixes, and code to GAP via so-called "issues" and "pull requests" >>>> on github. >>>> >>>> There is some guidance on how we would like contributions to work in the file >>>> >>>> https://github.com/gap-system/gap/blob/master/CONTRIBUTING.md >>>> >>>> If you have any questions, or suggestions for GAP, the repository, or documentation, >>>> feel free to contact us via the GAP mailing list gap at gap-system.org, or submit an >>>> issue or a pull request on github. >>>> >>>> We are looking forward to hearing from you! >>>> >>>> Cheers, >>>> Markus >>>> _______________________________________________ >>>> 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 >> > -- James Mitchell tinyurl.com/jdmitchell The University of St Andrews is a charity registered in Scotland : No SC013532 From dmitrii.pasechnik at cs.ox.ac.uk Tue Mar 3 10:10:28 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Tue, 3 Mar 2015 10:10:28 +0000 Subject: [GAP Forum] GAP is now available on github.com# In-Reply-To: <91C9B6E7-B27D-4B42-9AEB-5514AD7238D9@mykolab.com> References: <20150302141549.GC300090@karp.morphism.de> <73E3292E-123F-4903-86DC-2DDC4E32E69D@mykolab.com> <20150303074809.GA23625@dimpase.cs.ox.ac.uk> <91C9B6E7-B27D-4B42-9AEB-5514AD7238D9@mykolab.com> Message-ID: <20150303101028.GA24301@dimpase.cs.ox.ac.uk> Dear Sandeep, It is a technical discussioon that is not interesting to the vast majority of GAP Forum users. I suggest we move it elsewhere, e.g. to github issues for the repository which contents we are discussing. My apologies to GAP Forum users. Having said that, I maintain that ssh is a more secure protocol than https, and in particular if you use the two-factor authentication on github, (some of us do use it, e.g. I do) one needs to jump extra hoops to push over https. On Tue, Mar 03, 2015 at 07:33:18PM +1100, Sandeep Murthy wrote: > I was referring to the Git protocol you are using when you do something like > > git clone git://github.com// > > Of course this is not GitHub?s as such. > > You can use SSH but key management can be just as problematic, or Problematic? Why? Https is problematic indeed, being cracked by various governments and who knows who else... Of course if the guthub server was taken over by malicious hackers, we'd all be doomed, and neither https nor ssh would help making sure that the code you clone from there does not contain "interesting" parts. :-) > if you forget that really long passphrase you used when you first generated the > keys. sure, you can forget your github password too. Dima > With HTTPS you can avoid typing your GitHub password frequently if you > use something called a credential helper to cache your GitHub password in Git - > > https://help.github.com/articles/caching-your-github-password-in-git > > Sandeep Murthy > s.murthy at mykolab.com > > > On 3 Mar 2015, at 18:48, Dima Pasechnik wrote: > > > > Dear Sandeep, > > > > On Tue, Mar 03, 2015 at 09:53:42AM +1100, Sandeep Murthy wrote: > >> In CONTRIBUTING.md I think you should consider changing the instructions to > >> recommend HTTPS over plain Git for cloning - there?s no server verification with > > > > github does not provide "plain" git protocol, so it is either https or ssh. > > I'd recomment using ssh, as one can use ssh-agent to avoid typing the passphrase > > over and over again. > > > > HTH, > > Dima > > > >> Git, whereas HTTPS does this using CAs, plus depending on where you are the > >> Git protocol may not even work, whereas HTTPS generally works everywhere. > >> Pushing via HTTPS requires your GitHub password and this is good for code > >> integrity. > >> > >> HTTPS is also GitHub's recommended protocol for cloning repos. > >> > >> Sandeep Murthy > >> s.murthy at mykolab.com > >> > >>> On 3 Mar 2015, at 01:15, Markus Pfeiffer wrote: > >>> > >>> Dear all, > >>> > >>> Since last Friday there exists an up-to-date copy of the GAP source code on > >>> github.com under > >>> > >>> https://github.com/gap-system/gap > >>> > >>> This will be the official development repository for GAP as of now, and GAP > >>> 4.8 and all future versions of GAP will be made from this repository. > >>> > >>> For those interested in HPC-GAP there is a branch in the repository that > >>> contains the current source code of HPC-GAP. Alas, at this point it doesn't > >>> compile as it is from the repository as it is missing a dependency. We hope to > >>> resolve this very soon. > >>> > >>> We invite everyone to contribute bugreports, bugfixes, documentation, > >>> documentation fixes, and code to GAP via so-called "issues" and "pull requests" > >>> on github. > >>> > >>> There is some guidance on how we would like contributions to work in the file > >>> > >>> https://github.com/gap-system/gap/blob/master/CONTRIBUTING.md > >>> > >>> If you have any questions, or suggestions for GAP, the repository, or documentation, > >>> feel free to contact us via the GAP mailing list gap at gap-system.org, or submit an > >>> issue or a pull request on github. > >>> > >>> We are looking forward to hearing from you! > >>> > >>> Cheers, > >>> Markus > >>> _______________________________________________ > >>> 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 s.murthy at mykolab.com Tue Mar 3 10:19:57 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Tue, 3 Mar 2015 21:19:57 +1100 Subject: [GAP Forum] GAP is now available on github.com In-Reply-To: References: <20150302141549.GC300090@karp.morphism.de> <73E3292E-123F-4903-86DC-2DDC4E32E69D@mykolab.com> <20150303074809.GA23625@dimpase.cs.ox.ac.uk> Message-ID: <6EE5223C-D911-45CD-9088-28525070C360@mykolab.com> > I think this is a valid point. You don't require any credentials to > clone the repository via http but you do via ssh. If you only intend > to pull from the repo, and don't already have a github account set u HTTPS, not HTTP which GitHub does not allow anymore. > It is a technical discussioon that is not interesting to the vast majority of GAP Forum > users. Sure, but I was responding to the original post (in the GAP users forum) which was about people interesting in contributing to GAP via GitHub, to whom it would be relevant but probably irrelevant also to the vast majority of GAP users who do not contribute. Otherwise maybe such messages should be posted in a GAP developers mailing list. > Https is problematic indeed, being cracked by various governments > and who knows who else? I was not making any point about security aspects - I am well aware that SSH is more secure than HTTPS. GAP is not a security related piece of software, SSH vs HTTPS is relevant maybe for stuff like GnuPG but not worth worrying about for GAP. I just meant that HTTPS is the standard and also GitHub-recommended way of working with repos on GitHub for large distributed projects. > sure, you can forget your github password too. A short password is easier to remember than a long passphrase. Sandeep Murthy s.murthy at mykolab.com > On 3 Mar 2015, at 20:50, James Mitchell wrote: > > I think this is a valid point. You don't require any credentials to > clone the repository via http but you do via ssh. If you only intend > to pull from the repo, and don't already have a github account set up > with ssh keys etc, then using http is a good quick option. > > On 3 March 2015 at 08:33, Sandeep Murthy wrote: >> I was referring to the Git protocol you are using when you do something like >> >> git clone git://github.com// >> >> Of course this is not GitHub?s as such. >> >> You can use SSH but key management can be just as problematic, or >> if you forget that really long passphrase you used when you first generated the >> keys. With HTTPS you can avoid typing your GitHub password frequently if you >> use something called a credential helper to cache your GitHub password in Git - >> >> https://help.github.com/articles/caching-your-github-password-in-git >> >> Sandeep Murthy >> s.murthy at mykolab.com >> >>> On 3 Mar 2015, at 18:48, Dima Pasechnik wrote: >>> >>> Dear Sandeep, >>> >>> On Tue, Mar 03, 2015 at 09:53:42AM +1100, Sandeep Murthy wrote: >>>> In CONTRIBUTING.md I think you should consider changing the instructions to >>>> recommend HTTPS over plain Git for cloning - there?s no server verification with >>> >>> github does not provide "plain" git protocol, so it is either https or ssh. >>> I'd recomment using ssh, as one can use ssh-agent to avoid typing the passphrase >>> over and over again. >>> >>> HTH, >>> Dima >>> >>>> Git, whereas HTTPS does this using CAs, plus depending on where you are the >>>> Git protocol may not even work, whereas HTTPS generally works everywhere. >>>> Pushing via HTTPS requires your GitHub password and this is good for code >>>> integrity. >>>> >>>> HTTPS is also GitHub's recommended protocol for cloning repos. >>>> >>>> Sandeep Murthy >>>> s.murthy at mykolab.com >>>> >>>>> On 3 Mar 2015, at 01:15, Markus Pfeiffer wrote: >>>>> >>>>> Dear all, >>>>> >>>>> Since last Friday there exists an up-to-date copy of the GAP source code on >>>>> github.com under >>>>> >>>>> https://github.com/gap-system/gap >>>>> >>>>> This will be the official development repository for GAP as of now, and GAP >>>>> 4.8 and all future versions of GAP will be made from this repository. >>>>> >>>>> For those interested in HPC-GAP there is a branch in the repository that >>>>> contains the current source code of HPC-GAP. Alas, at this point it doesn't >>>>> compile as it is from the repository as it is missing a dependency. We hope to >>>>> resolve this very soon. >>>>> >>>>> We invite everyone to contribute bugreports, bugfixes, documentation, >>>>> documentation fixes, and code to GAP via so-called "issues" and "pull requests" >>>>> on github. >>>>> >>>>> There is some guidance on how we would like contributions to work in the file >>>>> >>>>> https://github.com/gap-system/gap/blob/master/CONTRIBUTING.md >>>>> >>>>> If you have any questions, or suggestions for GAP, the repository, or documentation, >>>>> feel free to contact us via the GAP mailing list gap at gap-system.org, or submit an >>>>> issue or a pull request on github. >>>>> >>>>> We are looking forward to hearing from you! >>>>> >>>>> Cheers, >>>>> Markus >>>>> _______________________________________________ >>>>> 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 >>> >> > > > > -- > James Mitchell > tinyurl.com/jdmitchell > > The University of St Andrews is a charity registered in Scotland : No SC013532 From dmitrii.pasechnik at cs.ox.ac.uk Tue Mar 3 10:59:05 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Tue, 3 Mar 2015 10:59:05 +0000 Subject: [GAP Forum] GAP is now available on github.com In-Reply-To: <6EE5223C-D911-45CD-9088-28525070C360@mykolab.com> References: <20150302141549.GC300090@karp.morphism.de> <73E3292E-123F-4903-86DC-2DDC4E32E69D@mykolab.com> <20150303074809.GA23625@dimpase.cs.ox.ac.uk> <6EE5223C-D911-45CD-9088-28525070C360@mykolab.com> Message-ID: <20150303105905.GA25116@dimpase.cs.ox.ac.uk> On Tue, Mar 03, 2015 at 09:19:57PM +1100, Sandeep Murthy wrote: > > I think this is a valid point. You don't require any credentials to > > clone the repository via http but you do via ssh. If you only intend > > to pull from the repo, and don't already have a github account set u > > HTTPS, not HTTP which GitHub does not allow anymore. > > > It is a technical discussioon that is not interesting to the vast majority of GAP Forum > > users. > > Sure, but I was responding to the original post (in the GAP users > forum) which was about people interesting in contributing to GAP via > GitHub, to whom it would be relevant but probably irrelevant also to the > vast majority of GAP users who do not contribute. Otherwise maybe such > messages should be posted in a GAP developers mailing list. > > > Https is problematic indeed, being cracked by various governments > > and who knows who else? > > I was not making any point about security aspects - I am well aware that > SSH is more secure than HTTPS. GAP is not a security > related piece of software, SSH vs HTTPS is relevant maybe for stuff like > GnuPG but not worth worrying about for GAP. No, this is totally wrong point of view. Malicious code can be inserted anywhere, in any piece of software which can potentially be installed with root permissions. E.g. linux distributions have very elaborate security procedures for code contributors, and for a good reason. > > I just meant that HTTPS is the standard and also GitHub-recommended > way of working with repos on GitHub for large distributed projects. HTTPS is the default github way. There is no other way to clone from github if you don't have an account there. What is your point? > > > sure, you can forget your github password too. > > A short password is easier to remember than a long passphrase. Nobody forces you to have long ssh passphrases. On the other hand, a short password is a good way to get hacked; passwords go over the networks, while ssh passphrases do not. I would be vary of having a direct (i.e. with push rights) contrbutor to GAP (or any, in fact) project with such an lax attitude to security as you show here. Best, Dima > > Sandeep Murthy > s.murthy at mykolab.com > > > On 3 Mar 2015, at 20:50, James Mitchell wrote: > > > > I think this is a valid point. You don't require any credentials to > > clone the repository via http but you do via ssh. If you only intend > > to pull from the repo, and don't already have a github account set up > > with ssh keys etc, then using http is a good quick option. > > > > On 3 March 2015 at 08:33, Sandeep Murthy wrote: > >> I was referring to the Git protocol you are using when you do something like > >> > >> git clone git://github.com// > >> > >> Of course this is not GitHub?s as such. > >> > >> You can use SSH but key management can be just as problematic, or > >> if you forget that really long passphrase you used when you first generated the > >> keys. With HTTPS you can avoid typing your GitHub password frequently if you > >> use something called a credential helper to cache your GitHub password in Git - > >> > >> https://help.github.com/articles/caching-your-github-password-in-git > >> > >> Sandeep Murthy > >> s.murthy at mykolab.com > >> > >>> On 3 Mar 2015, at 18:48, Dima Pasechnik wrote: > >>> > >>> Dear Sandeep, > >>> > >>> On Tue, Mar 03, 2015 at 09:53:42AM +1100, Sandeep Murthy wrote: > >>>> In CONTRIBUTING.md I think you should consider changing the instructions to > >>>> recommend HTTPS over plain Git for cloning - there?s no server verification with > >>> > >>> github does not provide "plain" git protocol, so it is either https or ssh. > >>> I'd recomment using ssh, as one can use ssh-agent to avoid typing the passphrase > >>> over and over again. > >>> > >>> HTH, > >>> Dima > >>> > >>>> Git, whereas HTTPS does this using CAs, plus depending on where you are the > >>>> Git protocol may not even work, whereas HTTPS generally works everywhere. > >>>> Pushing via HTTPS requires your GitHub password and this is good for code > >>>> integrity. > >>>> > >>>> HTTPS is also GitHub's recommended protocol for cloning repos. > >>>> > >>>> Sandeep Murthy > >>>> s.murthy at mykolab.com > >>>> > >>>>> On 3 Mar 2015, at 01:15, Markus Pfeiffer wrote: > >>>>> > >>>>> Dear all, > >>>>> > >>>>> Since last Friday there exists an up-to-date copy of the GAP source code on > >>>>> github.com under > >>>>> > >>>>> https://github.com/gap-system/gap > >>>>> > >>>>> This will be the official development repository for GAP as of now, and GAP > >>>>> 4.8 and all future versions of GAP will be made from this repository. > >>>>> > >>>>> For those interested in HPC-GAP there is a branch in the repository that > >>>>> contains the current source code of HPC-GAP. Alas, at this point it doesn't > >>>>> compile as it is from the repository as it is missing a dependency. We hope to > >>>>> resolve this very soon. > >>>>> > >>>>> We invite everyone to contribute bugreports, bugfixes, documentation, > >>>>> documentation fixes, and code to GAP via so-called "issues" and "pull requests" > >>>>> on github. > >>>>> > >>>>> There is some guidance on how we would like contributions to work in the file > >>>>> > >>>>> https://github.com/gap-system/gap/blob/master/CONTRIBUTING.md > >>>>> > >>>>> If you have any questions, or suggestions for GAP, the repository, or documentation, > >>>>> feel free to contact us via the GAP mailing list gap at gap-system.org, or submit an > >>>>> issue or a pull request on github. > >>>>> > >>>>> We are looking forward to hearing from you! > >>>>> > >>>>> Cheers, > >>>>> Markus > >>>>> _______________________________________________ > >>>>> 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 > >>> > >> > > > > > > > > -- > > James Mitchell > > tinyurl.com/jdmitchell > > > > The University of St Andrews is a charity registered in Scotland : No SC013532 > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From s.murthy at mykolab.com Tue Mar 3 15:00:54 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Wed, 4 Mar 2015 02:00:54 +1100 Subject: [GAP Forum] GAP is now available on github.com In-Reply-To: <20150303105905.GA25116@dimpase.cs.ox.ac.uk> References: <20150302141549.GC300090@karp.morphism.de> <73E3292E-123F-4903-86DC-2DDC4E32E69D@mykolab.com> <20150303074809.GA23625@dimpase.cs.ox.ac.uk> <6EE5223C-D911-45CD-9088-28525070C360@mykolab.com> <20150303105905.GA25116@dimpase.cs.ox.ac.uk> Message-ID: > HTTPS is the default github way. There is no other way to clone > from github if you don't have an account there. > What is your point? You asked this earlier. But then later you say. >> It is not a moot point - when you clone a GitHub repo on the command line >> using git clone git://github.com/ etc. you are using the Git protocol to access >> and make a local copy of a Git repo stored on GitHub.com. GitHub.com >> ?understands? the Git protocol and that?s why you can clone repos using it. > > Sorry, I wasn't even aware of this. It's probably an old leftover. It's not > offered as an option if you look on the github webpage of any project; > it would only give you an https url or a subversion url (unless you are logged in and > have ssh keys uploaded, then it will offer ssh url). > I imagine the plain git can go away any day. Almost all developers are aware of this. That?s exactly my point, as I was trying to explain. With respect I don?t think you understand how GitHub works currently. > > No, this is totally wrong point of view. Malicious code can be inserted anywhere, > in any piece of software which can potentially be installed with root permissions. > E.g. linux distributions have very elaborate security procedures for code > contributors, and for a good reason. Yes malicious code can be inserted anywhere, but there are some who believe SSH is also broken. I said you can use SSH as well, so I am not arguing against using SSH, this should be determined by contribution guidelines which currently do not even mention SSH or HTTPS. >> >> I just meant that HTTPS is the standard and also GitHub-recommended >> way of working with repos on GitHub for large distributed projects. > > Nobody forces you to have long ssh passphrases. On the other hand, > a short password is a good way to get hacked; passwords go over the networks, > while ssh passphrases do not. I did not recommend a short password, but the degree of care you take about your password is an individual preference. Obviously you should choose a good password andI I never suggested choosing an insecure crappy password. > > I would be vary of having a direct (i.e. with push rights) > contrbutor to GAP (or any, in fact) project > with such an lax attitude to security as you show here. There is no lax attitude to security here - the degree of care a GAP contributor will take over their contributions should be guided by individual standards as well as recommended procedures - and currently neither HTTPS nor SSH is being recommended by your guidelines (CONTRIBUTING.md). I think the guidelines should also mention things like signing and verifying commits using GPG, which is a good procedure. The reason I replied in the first place was to change the guidelines to ensure that any contributor should use something secure like HTTPS and/or SSH. If you want to use SSH over HTTPS fine (I also use it sometimes), but you should be aware of the pros/cons - SSH is not problem free. Sandeep From steve.linton at st-andrews.ac.uk Tue Mar 3 15:18:19 2015 From: steve.linton at st-andrews.ac.uk (Stephen Linton) Date: Tue, 3 Mar 2015 15:18:19 +0000 Subject: [GAP Forum] GAP is now available on github.com In-Reply-To: References: <20150302141549.GC300090@karp.morphism.de> <73E3292E-123F-4903-86DC-2DDC4E32E69D@mykolab.com> <20150303074809.GA23625@dimpase.cs.ox.ac.uk> <6EE5223C-D911-45CD-9088-28525070C360@mykolab.com> <20150303105905.GA25116@dimpase.cs.ox.ac.uk> Message-ID: <5E3A9E11-00AD-439C-A1CF-89DBF92DBB2C@st-andrews.ac.uk> Gentlemen, Can we take this off the forum NOW please? By all means continue the debate somewhere else and eventually we can amend the guidance to reflect some balance between rigorous security and practicality for our very diverse set of contributors, but this debate is not suitable for what is supposed to be a low-traffic forum. If this continues on the forum beyond the point at which you could reasonably have read my email I will ask the list admins to temporarily impose moderation on those involved. Steve > On 3 Mar 2015, at 15:00, Sandeep Murthy wrote: > >> HTTPS is the default github way. There is no other way to clone >> from github if you don't have an account there. >> What is your point? > > You asked this earlier. But then later you say. > >>> It is not a moot point - when you clone a GitHub repo on the command line >>> using git clone git://github.com/ etc. you are using the Git protocol to access >>> and make a local copy of a Git repo stored on GitHub.com. GitHub.com >>> ?understands? the Git protocol and that?s why you can clone repos using it. >> >> Sorry, I wasn't even aware of this. It's probably an old leftover. It's not >> offered as an option if you look on the github webpage of any project; >> it would only give you an https url or a subversion url (unless you are logged in and >> have ssh keys uploaded, then it will offer ssh url). >> I imagine the plain git can go away any day. > > Almost all developers are aware of this. That?s exactly my point, as I was trying > to explain. With respect I don?t think you understand how GitHub works currently. > >> >> No, this is totally wrong point of view. Malicious code can be inserted anywhere, >> in any piece of software which can potentially be installed with root permissions. >> E.g. linux distributions have very elaborate security procedures for code >> contributors, and for a good reason. > > Yes malicious code can be inserted anywhere, but there are some who believe > SSH is also broken. I said you can use SSH as well, so I am not arguing against > using SSH, this should be determined by contribution guidelines which > currently do not even mention SSH or HTTPS. > > >>> >>> I just meant that HTTPS is the standard and also GitHub-recommended >>> way of working with repos on GitHub for large distributed projects. >> > >> Nobody forces you to have long ssh passphrases. On the other hand, >> a short password is a good way to get hacked; passwords go over the networks, >> while ssh passphrases do not. > > I did not recommend a short password, but the degree of care you take > about your password is an individual preference. Obviously you should > choose a good password andI I never suggested choosing an insecure > crappy password. > >> >> I would be vary of having a direct (i.e. with push rights) >> contrbutor to GAP (or any, in fact) project >> with such an lax attitude to security as you show here. > > There is no lax attitude to security here - the degree of care a GAP > contributor will take over their contributions should be guided by individual > standards as well as recommended procedures - and currently neither HTTPS > nor SSH is being recommended by your guidelines (CONTRIBUTING.md). > > I think the guidelines should also mention things like signing and verifying > commits using GPG, which is a good procedure. > > The reason I replied in the first place was to change the guidelines to > ensure that any contributor should use something secure like HTTPS and/or > SSH. If you want to use SSH over HTTPS fine (I also use it sometimes), but > you should be aware of the pros/cons - SSH is not problem free. > > Sandeep > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From hulpke at math.colostate.edu Tue Mar 3 18:35:45 2015 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Tue, 3 Mar 2015 11:35:45 -0700 Subject: [GAP Forum] Scalar subgroup In-Reply-To: References: Message-ID: <47BDBFFF-571E-487D-BA36-418F5ABCC5F5@math.colostate.edu> Dear Forum, > On Mar 2, 2015, at 3/2/15 3:35, Anvita wrote: > Suppose G is a matrix group. What would be > an efficient way to find the subgroup of G that > consists of scalar matrices? I have not found > a suitable function in GAP. Of course, it is > a subgroup of the centre of G, but it can be > much smaller than that. In the cases I have worked with, getting the centre, and then if necessary testing membership of scalar matrices (i.e. subgroups of F*) in the centre would have worked without problems. What dimension, what fields are you looking at? Regards, Alexander Hulpke From shengyushen at me.com Tue Mar 3 07:57:55 2015 From: shengyushen at me.com (shengyu shen) Date: Tue, 03 Mar 2015 07:57:55 +0000 (GMT) Subject: [GAP Forum] getting start on error correction code with GAP Message-ID: <936418f6-029e-441e-8620-0c2bddfbae72@me.com> Dear all: I am a new learner of error correction code, and I would like to use GAP. So any recommendation of documentation/tuitor/manual on using GAP on this topic? Shen? From Rodrigues at ukzn.ac.za Sun Mar 8 09:43:25 2015 From: Rodrigues at ukzn.ac.za (Bernardo Rodrigues) Date: Sun, 8 Mar 2015 09:43:25 +0000 Subject: [GAP Forum] getting start on error correction code with GAP In-Reply-To: <936418f6-029e-441e-8620-0c2bddfbae72@me.com> References: <936418f6-029e-441e-8620-0c2bddfbae72@me.com> Message-ID: Dear Shen, In GAP there is a share package called GUAVA which is used for computations in coding theory. There are also a couple of notes scattered around which to some extent give you examples of use of GAP for Algebraic Coding Theory. Have a look at the following: 1. http://www.gap-system.org/Manuals/pkg/guava-3.12/htm/chap8.html 2. http://www.usna.edu/Users/math/wdj/_files/documents/book/node139.html 3. http://www.math.cornell.edu/~web3360/eccbook2007.pdf 4. The book titled: selected unsolved problems in coding theory, also has section of constructing codes using GAP and SAGE. See http://www.sagenb.org/pdf/en/reference/coding/coding.pdf I found this book useful for general use of GAP: 5. The book Abstract Algebra with GAP: A Manual to be Used with Contemporary Abstract Algebra, 5th Edition by Julianne G. Rainbolt and Joseph A. Gallian August 2003 is also useful. I found a copy here: http://college.cengage.com/mathematics/gallian/abstract_algebra/5e/shared/gap/gap_manual.pdf I hope this helps. Regards, Bernardo -----Original Message----- From: forum-bounces at gap-system.org [mailto:forum-bounces at gap-system.org] On Behalf Of shengyu shen Sent: 03 March 2015 09:58 AM To: forum at gap-system.org Subject: [GAP Forum] getting start on error correction code with GAP Dear all: I am a new learner of error correction code, and I would like to use GAP. So any recommendation of documentation/tuitor/manual on using GAP on this topic? Shen? _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From suskudar at gmail.com Sun Mar 8 10:22:45 2015 From: suskudar at gmail.com (=?utf-8?Q?S=C3=BCmeyra_Bedir?=) Date: Sun, 8 Mar 2015 12:22:45 +0200 Subject: [GAP Forum] getting start on error correction code with GAP In-Reply-To: References: <936418f6-029e-441e-8620-0c2bddfbae72@me.com> Message-ID: <4C6FB96C-579B-4AF0-B129-4211F2776CBF@gmail.com> Dear Rodrigues, and Dear Shen, Thank you for your contribution, This is a useful and entire collection of documents and references for all researchers in the area of Coding Theory, using GAP and SAGE. Glad to see people sharing about supplementary materials for Coding Theory in these open source systems GAP, and SAGE. Thank you very much, S?meyra Bedir 8 Mar 2015 tarihinde 11:43 saatinde, Bernardo Rodrigues ?unlar? yazd?: > Dear Shen, > > In GAP there is a share package called GUAVA which is used for computations in coding theory. There are also a couple of notes scattered around which to some extent give you examples of use of GAP for Algebraic Coding Theory. > Have a look at the following: > 1. http://www.gap-system.org/Manuals/pkg/guava-3.12/htm/chap8.html > 2. http://www.usna.edu/Users/math/wdj/_files/documents/book/node139.html > 3. http://www.math.cornell.edu/~web3360/eccbook2007.pdf > > 4. The book titled: selected unsolved problems in coding theory, also has section of constructing codes using GAP and SAGE. > See http://www.sagenb.org/pdf/en/reference/coding/coding.pdf > > I found this book useful for general use of GAP: > 5. The book Abstract Algebra with GAP: A Manual to be Used with Contemporary Abstract Algebra, 5th Edition by Julianne G. Rainbolt and Joseph A. Gallian > August 2003 is also useful. I found a copy here: http://college.cengage.com/mathematics/gallian/abstract_algebra/5e/shared/gap/gap_manual.pdf > > I hope this helps. > Regards, > Bernardo > > > -----Original Message----- > From: forum-bounces at gap-system.org [mailto:forum-bounces at gap-system.org] On Behalf Of shengyu shen > Sent: 03 March 2015 09:58 AM > To: forum at gap-system.org > Subject: [GAP Forum] getting start on error correction code with GAP > > Dear all: > > I am a new learner of error correction code, and I would like to use GAP. > > So any recommendation of documentation/tuitor/manual on using GAP on this topic? > > > Shen? > _______________________________________________ > 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 matsen at fredhutch.org Mon Mar 9 21:27:33 2015 From: matsen at fredhutch.org (Erick Matsen) Date: Mon, 9 Mar 2015 14:27:33 -0700 Subject: [GAP Forum] Counting occurrences of double cosets, or changing values in dictionaries Message-ID: Hello everyone? I have a random process that generates double cosets of the symmetric group. I would like to keep track of how often I have seen the various double cosets. In hunting around, it seemed initially that dictionaries would be the perfect solution. I was able to use double cosets as keys, and checked in a few examples that it was doing the right thing. However, I have not been able to change the value of dictionaries, which is the way I was thinking about counting them. The documentation says We hash by keys and also store a value. Keys cannot be removed from the > table, but the corresponding value can be changed. Fast access to last hash > index allows you to efficiently store more than one array of values ?this > facility should be used with care. How does one change these values? I can?t find how to do that. If it matters, double cosets do not have an order in GAP4 and thus the Dictionary storage happens as a ListLookupDictionary, for which the Add method looks like: ############################################################################# ## #M AddDictionary(,,) ## InstallOtherMethod(AddDictionary,"for lookup list dictionaries",true, [IsListLookupDictionary and IsMutable,IsObject,IsObject],0, function(d, x, val) x:=[Immutable(x),val]; # MakeImmutable(x); # to be able to store sortedness # We don't actually need to do that and we don't want to modify val # Add(d!.entries,x); end); Thank you! Erick ? -- Frederick "Erick" Matsen, Assistant Member Fred Hutchinson Cancer Research Center http://matsen.fredhutch.org/ From hulpke at fastmail.fm Tue Mar 10 02:46:05 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Mon, 9 Mar 2015 20:46:05 -0600 Subject: [GAP Forum] Counting occurrences of double cosets, or changing values in dictionaries In-Reply-To: References: Message-ID: <4EC23F74-4E22-4C00-BA65-55EA37F35F80@fastmail.fm> Dear Forum, Dear Erick Matsen, There are really two answers to your question. The first is the actual question ? how to change the stored values of dictionaries. Here my choice (as the person who implemented much of the code for dictionaries) would be to not to attempt to change the values at all, but use as values the entries in a (changeable) value list. While this requires one indirection it is safe and requires no modification of data structures that might not have been set up for this, or might change in future releases (in fact is almost guaranteed to do so as there are still some issues in the code). The second answer goes closer to what you are actually doing, namely identifying double cosets. At the moment GAP has no specific hash key code for double cosets, so the best dictionaries can do is to compare using the ` Frederick "Erick" Matsen, Assistant Member > Fred Hutchinson Cancer Research Center Is there a chance you have a citable article or presentation that connects permutation group calculations with (the ultimate ``usefulness?? argument for higher administration) attempts on dealing with cancer? This could come very helpful when questions of ``broader impace?? etc. come up. Thanks! -- Alexander Hulpke. Department of Mathematics, Colorado State University, 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 matsen at fredhutch.org Tue Mar 10 13:33:09 2015 From: matsen at fredhutch.org (Erick Matsen) Date: Tue, 10 Mar 2015 06:33:09 -0700 Subject: [GAP Forum] Counting occurrences of double cosets, or changing values in dictionaries In-Reply-To: <4EC23F74-4E22-4C00-BA65-55EA37F35F80@fastmail.fm> References: <4EC23F74-4E22-4C00-BA65-55EA37F35F80@fastmail.fm> Message-ID: Dear Alexander? Yes, I?m well aware of the breadth of your contributions to GAP4. Thank you for that, and for your detailed response. First, I?m a little confused about some of the statements you made. I am running GAP, Version 4.7.5 of 24-May-2014. There are really two answers to your question. > The first is the actual question ? how to change the stored values of > dictionaries. Here my choice (as the person who implemented much of the > code for dictionaries) would be to not to attempt to change the values at > all, but use as values the entries in a (changeable) value list. While this > requires one indirection it is safe and requires no modification of data > structures that might not have been set up for this, or might change in > future releases (in fact is almost guaranteed to do so as there are still > some issues in the code). > I tried doing this, but once I stored the list in the dictionary I found I could no longer change the list. gap> l := [3]; [ 3 ] gap> d := NewDictionary(false, true, [1,2,3]); gap> IsMutable(l); true gap> AddDictionary(d, 2, l); gap> IsMutable(l); false gap> Am I confused? The second answer goes closer to what you are actually doing, namely > identifying double cosets. > > At the moment GAP has no specific hash key code for double cosets, so the > best dictionaries can do is to compare using the ` cosets, this comparison is done by determining the (minimal) > representatives for all the contained right cosets, and comparing the > smallest of the minimal coset representatives. While this ordering is > equivalent to the ordering as sets of elements, if means that in fact you > store representatives for all right cosets. Given that this is the case, I > would try the following approach (assuming the subgroups are A and B): > Here again I think I must be confused: gap> g:=SymmetricGroup(4);; gap> u:=Subgroup(g,[(1,2,3),(1,2)]);; gap> v:=Subgroup(g,[(3,4)]);; gap> cos:=DoubleCosets(g, u, v); [ DoubleCoset(Group( [ (1,2,3), (1,2) ] ),(),Group( [ (3,4) ] )), DoubleCoset(Group( [ (1,2,3), (1,2) ] ),(1,4),Group( [ (3,4) ] )), DoubleCoset(Group( [ (1,2,3), (1,2) ] ),(1,4,2),Group( [ (3,4) ] )) ] gap> cos[1] < cos[2]; Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `<' on 2 arguments called from ( ) called from read-eval loop at line 40 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> Thank you for your help, and suggestions below, which I will think about once we get the above sorted out. Regarding publications, etc, we will be submitting a paper in early April to the FOCS CS conference, and will put it on the arXiv. I?d love to help out in any way I can. Erick > Calculate t:=RightTransversal(G,A) > This is an object that behaves like a list, but often needs less storage. > > Create a second list DCNumber that for each right coset of A stores the > number (in some arbitrary indexing) of the double coset AxB that contains A. > > If you find an element r, let > > p:=PositionCanonical(t,r); # number of the right coset for the element > if IsBound(DCNumber[p]) then > result:=DCNumber[p]; > else > newnum:=New index number for double coset; > result:=newnum; > DCNumber[p]:=newnum; > o:=Orbit(B,t[p],function(rep,g) return > CanonicalRightCosetElement(A,rep*g);end); > for i in o do > DCNumber[PositionCanonical(t,i)]:=newnum; # mark all right cosets > within the same double coset. > od; > fi; > > and then process result ? the number of the double coset ? as if it came > as dictionary value. This is less slick code than dictinaries, but I?d > suspect this will work notably faster. > > Best, > > Alexander Hulpke > > Frederick "Erick" Matsen, Assistant Member > > Fred Hutchinson Cancer Research Center > > > Is there a chance you have a citable article or presentation that connects > permutation group calculations with (the ultimate ``usefulness?? argument > for higher administration) attempts on dealing with cancer? This could come > very helpful when questions of ``broader impace?? etc. come up. Thanks! > > > -- Alexander Hulpke. Department of Mathematics, Colorado State University, > 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 > > ? -- Frederick "Erick" Matsen, Assistant Member Fred Hutchinson Cancer Research Center http://matsen.fredhutch.org/ From hulpke at fastmail.fm Tue Mar 10 14:57:56 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Tue, 10 Mar 2015 08:57:56 -0600 Subject: [GAP Forum] Counting occurrences of double cosets, or changing values in dictionaries In-Reply-To: References: <4EC23F74-4E22-4C00-BA65-55EA37F35F80@fastmail.fm> Message-ID: <9634C0A3-9D8B-42F6-938E-04A4C6854AFC@fastmail.fm> Dear Erick, >> There are really two answers to your question. >> The first is the actual question ? how to change the stored values of dictionaries. Here my choice (as the person who implemented much of the code for dictionaries) would be to not to attempt to change the values at all, but use as values the entries in a (changeable) value list. While this requires one indirection it is safe and requires no modification of data structures that might not have been set up for this, or might change in future releases (in fact is almost guaranteed to do so as there are still some issues in the code). >> >> > I tried doing this, but once I stored the list in the dictionary I found I could no longer change the list. > > gap> l := [3]; > [ 3 ] > gap> d := NewDictionary(false, true, [1,2,3]); > > gap> IsMutable(l); > true > gap> AddDictionary(d, 2, l); > gap> IsMutable(l); > false > gap> > > Am I confused? No. The current code for dictionaries potentially makes (without warning or other niceties) the values of a dictionary immutable. Thus my suggestion for storing the index positions in another list: gap> d := NewDictionary(false, true, [1,2,3]); gap> values:=[]; [ ] gap> cnt:=0; 0 gap> cnt:=cnt+1;values[cnt]:=[];AddDictionary(d,2,cnt); 1 [ ] gap> cnt:=cnt+1;values[cnt]:=[];AddDictionary(d,5,cnt); 2 [ ] gap> values[LookupDictionary(d,5)]; [ ] gap> AddSet(values[LookupDictionary(d,5)],'A'); gap> AddSet(values[LookupDictionary(d,5)],'Z'); gap> values[LookupDictionary(d,5)]; "AZ" >> At the moment GAP has no specific hash key code for double cosets, so the best dictionaries can do is to compare using the `> > > Here again I think I must be confused: > > gap> g:=SymmetricGroup(4);; > gap> u:=Subgroup(g,[(1,2,3),(1,2)]);; > gap> v:=Subgroup(g,[(3,4)]);; > gap> cos:=DoubleCosets(g, u, v); > [ DoubleCoset(Group( [ (1,2,3), (1,2) ] ),(),Group( [ (3,4) ] )), > DoubleCoset(Group( [ (1,2,3), (1,2) ] ),(1,4),Group( [ (3,4) ] )), > DoubleCoset(Group( [ (1,2,3), (1,2) ] ),(1,4,2),Group( [ (3,4) ] )) ] > gap> cos[1] < cos[2]; Ah -- then there actually isn't yet such a comparison of double cosets (as described) , which means the dictionary code can rely only on comparing for equality (and linear search). Then using only right cosets is definitively faster. > > Regarding publications, etc, we will be submitting a paper in early April to the FOCS CS conference, and will put it on the arXiv. Thank you! Alexander > I?d love to help out in any way I can. > > Erick > > > > > Calculate t:=RightTransversal(G,A) > This is an object that behaves like a list, but often needs less storage. > > Create a second list DCNumber that for each right coset of A stores the number (in some arbitrary indexing) of the double coset AxB that contains A. > > If you find an element r, let > > p:=PositionCanonical(t,r); # number of the right coset for the element > if IsBound(DCNumber[p]) then > result:=DCNumber[p]; > else > newnum:=New index number for double coset; > result:=newnum; > DCNumber[p]:=newnum; > o:=Orbit(B,t[p],function(rep,g) return CanonicalRightCosetElement(A,rep*g);end); > for i in o do > DCNumber[PositionCanonical(t,i)]:=newnum; # mark all right cosets within the same double coset. > od; > fi; > > and then process result ? the number of the double coset ? as if it came as dictionary value. This is less slick code than dictinaries, but I?d suspect this will work notably faster. > > Best, > > Alexander Hulpke > >> Frederick "Erick" Matsen, Assistant Member >> Fred Hutchinson Cancer Research Center > > Is there a chance you have a citable article or presentation that connects permutation group calculations with (the ultimate ``usefulness?? argument for higher administration) attempts on dealing with cancer? This could come very helpful when questions of ``broader impace?? etc. come up. Thanks! > > > -- Alexander Hulpke. Department of Mathematics, Colorado State University, > 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 > > > > -- > Frederick "Erick" Matsen, Assistant Member > Fred Hutchinson Cancer Research Center > http://matsen.fredhutch.org/ From matsen at fredhutch.org Tue Mar 10 20:28:11 2015 From: matsen at fredhutch.org (Erick Matsen) Date: Tue, 10 Mar 2015 13:28:11 -0700 Subject: [GAP Forum] Counting occurrences of double cosets, or changing values in dictionaries In-Reply-To: <9634C0A3-9D8B-42F6-938E-04A4C6854AFC@fastmail.fm> References: <4EC23F74-4E22-4C00-BA65-55EA37F35F80@fastmail.fm> <9634C0A3-9D8B-42F6-938E-04A4C6854AFC@fastmail.fm> Message-ID: Alexander? This was indeed very helpful. Here is my version of the code: NewDCCounter := function(g, u, v) return rec( g := g, u := u, v := v, max_idx := 0, dc_number := [], t := RightTransversal(g, u), counts := []); end;; AddDCCounter := function(dcc, r) local dcn, i, o; p := PositionCanonical(dcc.t, r); # Number of the right coset for the element. if IsBound(dcc.dc_number[p]) then dcn := dcc.dc_number[p]; dcc.counts[dcn] := dcc.counts[dcn] + 1; else dcc.max_idx := dcc.max_idx + 1; dcc.counts[dcc.max_idx] := 1; dcc.dc_number[p] := dcc.max_idx; # Mark all right cosets within the same double coset, via # orbit of right coset (dcc.u, t[p]) under dcc.v by right multiplication. o := Orbit(dcc.v, CanonicalRightCosetElement(dcc.u, dcc.t[p]), #o := Orbit(dcc.v, dcc.t[p], function(pnt, s) return CanonicalRightCosetElement(dcc.u, pnt*s); end); for i in o do dcc.dc_number[PositionCanonical(dcc.t, i)] := dcc.max_idx; od; fi; end;; and it in action: gap> mdcc := NewDCCounter(SymmetricGroup(4), Subgroup(g,[(1,2,3),(1,2)]), Subgroup(g,[(3,4)])); rec( counts := [ ], dc_number := [ ], g := Sym( [ 1 .. 4 ] ), max_idx := 0, t := RightTransversal(Sym( [ 1 .. 4 ] ),Group([ (1,2,3), (1,2) ])), u := Group([ (1,2,3), (1,2) ]), v := Group([ (3,4) ]) ) gap> AddDCCounter(mdcc, (1,2)); mdcc; rec( counts := [ 1 ], dc_number := [ 1,,, 1 ], g := Sym( [ 1 .. 4 ] ), max_idx := 1, t := RightTransversal(Sym( [ 1 .. 4 ] ),Group([ (1,2,3), (1,2) ])), u := Group([ (1,2,3), (1,2) ]), v := Group([ (3,4) ]) ) gap> AddDCCounter(mdcc, (1,2,3)); mdcc; rec( counts := [ 2 ], dc_number := [ 1,,, 1 ], g := Sym( [ 1 .. 4 ] ), max_idx := 1, t := RightTransversal(Sym( [ 1 .. 4 ] ),Group([ (1,2,3), (1,2) ])), u := Group([ (1,2,3), (1,2) ]), v := Group([ (3,4) ]) ) gap> AddDCCounter(mdcc, (1,2,4)); mdcc; rec( counts := [ 2, 1 ], dc_number := [ 1, 2,, 1 ], g := Sym( [ 1 .. 4 ] ), max_idx := 2, t := RightTransversal(Sym( [ 1 .. 4 ] ),Group([ (1,2,3), (1,2) ])), u := Group([ (1,2,3), (1,2) ]), v := Group([ (3,4) ]) ) gap> gap> AddDCCounter(mdcc, (2,4)); mdcc; rec( counts := [ 2, 1, 1 ], dc_number := [ 1, 2, 3, 1 ], g := Sym( [ 1 .. 4 ] ), max_idx := 3, t := RightTransversal(Sym( [ 1 .. 4 ] ),Group([ (1,2,3), (1,2) ])), u := Group([ (1,2,3), (1,2) ]), v := Group([ (3,4) ]) ) gap> gap> AddDCCounter(mdcc, (1,4)); mdcc; rec( counts := [ 2, 2, 1 ], dc_number := [ 1, 2, 3, 1 ], g := Sym( [ 1 .. 4 ] ), max_idx := 3, t := RightTransversal(Sym( [ 1 .. 4 ] ),Group([ (1,2,3), (1,2) ])), u := Group([ (1,2,3), (1,2) ]), v := Group([ (3,4) ]) ) gap> gap> AddDCCounter(mdcc, (1,4)); mdcc; rec( counts := [ 2, 3, 1 ], dc_number := [ 1, 2, 3, 1 ], g := Sym( [ 1 .. 4 ] ), max_idx := 3, t := RightTransversal(Sym( [ 1 .. 4 ] ),Group([ (1,2,3), (1,2) ])), u := Group([ (1,2,3), (1,2) ]), v := Group([ (3,4) ]) ) gap> Please let me know if there is anything I can do with respect to Broader Impacts. It looks like I?ll be giving a talk in the 2016 AMS conference in Seattle, so perhaps we can meet then. Erick ? On Tue, Mar 10, 2015 at 7:57 AM, Alexander Hulpke wrote: > Dear Erick, > > >> There are really two answers to your question. > >> The first is the actual question ? how to change the stored values of > dictionaries. Here my choice (as the person who implemented much of the > code for dictionaries) would be to not to attempt to change the values at > all, but use as values the entries in a (changeable) value list. While this > requires one indirection it is safe and requires no modification of data > structures that might not have been set up for this, or might change in > future releases (in fact is almost guaranteed to do so as there are still > some issues in the code). > >> > >> > > I tried doing this, but once I stored the list in the dictionary I found > I could no longer change the list. > > > > gap> l := [3]; > > [ 3 ] > > gap> d := NewDictionary(false, true, [1,2,3]); > > > > gap> IsMutable(l); > > true > > gap> AddDictionary(d, 2, l); > > gap> IsMutable(l); > > false > > gap> > > > > Am I confused? > > No. The current code for dictionaries potentially makes (without warning > or other niceties) the values of a dictionary immutable. Thus my suggestion > for storing the index positions in another list: > > gap> d := NewDictionary(false, true, [1,2,3]); > > gap> values:=[]; > [ ] > gap> cnt:=0; > 0 > gap> cnt:=cnt+1;values[cnt]:=[];AddDictionary(d,2,cnt); > 1 > [ ] > gap> cnt:=cnt+1;values[cnt]:=[];AddDictionary(d,5,cnt); > 2 > [ ] > gap> values[LookupDictionary(d,5)]; > [ ] > gap> AddSet(values[LookupDictionary(d,5)],'A'); > gap> AddSet(values[LookupDictionary(d,5)],'Z'); > gap> values[LookupDictionary(d,5)]; > "AZ" > > > >> At the moment GAP has no specific hash key code for double cosets, so > the best dictionaries can do is to compare using the ` cosets, this comparison is done by determining the (minimal) > representatives for all the contained right cosets, and comparing the > smallest of the minimal coset representatives. While this ordering is > equivalent to the ordering as sets of elements, if means that in fact you > store representatives for all right cosets. Given that this is the case, I > would try the following approach (assuming the subgroups are A and B): > >> > > > > Here again I think I must be confused: > > > > gap> g:=SymmetricGroup(4);; > > gap> u:=Subgroup(g,[(1,2,3),(1,2)]);; > > gap> v:=Subgroup(g,[(3,4)]);; > > gap> cos:=DoubleCosets(g, u, v); > > [ DoubleCoset(Group( [ (1,2,3), (1,2) ] ),(),Group( [ (3,4) ] )), > > DoubleCoset(Group( [ (1,2,3), (1,2) ] ),(1,4),Group( [ (3,4) ] )), > > DoubleCoset(Group( [ (1,2,3), (1,2) ] ),(1,4,2),Group( [ (3,4) ] )) ] > > gap> cos[1] < cos[2]; > > Ah -- then there actually isn't yet such a comparison of double cosets (as > described) , which means the dictionary code can rely only on comparing for > equality (and linear search). Then using only right cosets is definitively > faster. > > > > > Regarding publications, etc, we will be submitting a paper in early > April to the FOCS CS conference, and will put it on the arXiv. > > Thank you! > > Alexander > > > I?d love to help out in any way I can. > > > > Erick > > > > > > > > > > Calculate t:=RightTransversal(G,A) > > This is an object that behaves like a list, but often needs less storage. > > > > Create a second list DCNumber that for each right coset of A stores the > number (in some arbitrary indexing) of the double coset AxB that contains A. > > > > If you find an element r, let > > > > p:=PositionCanonical(t,r); # number of the right coset for the element > > if IsBound(DCNumber[p]) then > > result:=DCNumber[p]; > > else > > newnum:=New index number for double coset; > > result:=newnum; > > DCNumber[p]:=newnum; > > o:=Orbit(B,t[p],function(rep,g) return > CanonicalRightCosetElement(A,rep*g);end); > > for i in o do > > DCNumber[PositionCanonical(t,i)]:=newnum; # mark all right cosets > within the same double coset. > > od; > > fi; > > > > and then process result ? the number of the double coset ? as if it came > as dictionary value. This is less slick code than dictinaries, but I?d > suspect this will work notably faster. > > > > Best, > > > > Alexander Hulpke > > > >> Frederick "Erick" Matsen, Assistant Member > >> Fred Hutchinson Cancer Research Center > > > > Is there a chance you have a citable article or presentation that > connects permutation group calculations with (the ultimate ``usefulness?? > argument for higher administration) attempts on dealing with cancer? This > could come very helpful when questions of ``broader impace?? etc. come up. > Thanks! > > > > > > -- Alexander Hulpke. Department of Mathematics, Colorado State > University, > > 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 > > > > > > > > -- > > Frederick "Erick" Matsen, Assistant Member > > Fred Hutchinson Cancer Research Center > > http://matsen.fredhutch.org/ > > -- Frederick "Erick" Matsen, Assistant Member Fred Hutchinson Cancer Research Center http://matsen.fredhutch.org/ From shengyushen at me.com Mon Mar 9 13:59:44 2015 From: shengyushen at me.com (shengyu shen) Date: Mon, 09 Mar 2015 13:59:44 +0000 (GMT) Subject: [GAP Forum] =?utf-8?q?getting_start_on_error_correction_code_with?= =?utf-8?q?_GAP?= Message-ID: Dear all : Thanks you for your detail reply, I will look into this. Shen? 2015?3?8? ??03:22?S?meyra Bedir ??? > Dear Rodrigues, and Dear Shen, > Thank you for your contribution, > This is a useful and entire collection of documents and references for all researchers in the area of Coding Theory, using GAP and SAGE. > Glad to see people sharing about supplementary materials for Coding Theory in these open source systems GAP, and SAGE. > Thank you very much, > > > S?meyra Bedir > > > 8 Mar 2015 tarihinde 11:43 saatinde, Bernardo Rodrigues ?unlar? yazd?: > >> Dear Shen, >> >> In GAP there is a share package called GUAVA which is used for computations in coding theory. There are also a couple of notes scattered around which to some extent give you examples of use of GAP for Algebraic Coding Theory. >> Have a look at the following: >> 1. http://www.gap-system.org/Manuals/pkg/guava-3.12/htm/chap8.html >> >> 2. http://www.usna.edu/Users/math/wdj/_files/documents/book/node139.html >> >> 3. http://www.math.cornell.edu/~web3360/eccbook2007.pdf >> >> >> 4. The book titled: selected unsolved problems in coding theory, also has section of constructing codes using GAP and SAGE. >> See http://www.sagenb.org/pdf/en/reference/coding/coding.pdf >> >> >> I found this book useful for general use of GAP: >> 5. The book Abstract Algebra with GAP: A Manual to be Used with Contemporary Abstract Algebra, 5th Edition by Julianne G. Rainbolt and Joseph A. Gallian >> August 2003 is also useful. I found a copy here: http://college.cengage.com/mathematics/gallian/abstract_algebra/5e/shared/gap/gap_manual.pdf >> >> >> I hope this helps. >> Regards, >> Bernardo >> >> >> -----Original Message----- >> From: forum-bounces at gap-system.org [mailto:forum-bounces at gap-system.org] On Behalf Of shengyu shen >> Sent: 03 March 2015 09:58 AM >> To: forum at gap-system.org >> >> Subject: [GAP Forum] getting start on error correction code with GAP >> >> Dear all: >> >> I am a new learner of error correction code, and I would like to use GAP. >> >> So any recommendation of documentation/tuitor/manual on using GAP on this topic? >> >> >> Shen? >> _______________________________________________ >> 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 arikan at gazi.edu.tr Fri Mar 13 11:52:16 2015 From: arikan at gazi.edu.tr (=?utf-8?Q?Ahmet_Ar=C4=B1kan?=) Date: Fri, 13 Mar 2015 13:52:16 +0200 Subject: [GAP Forum] Reidemeister-Schrier Method Message-ID: <47094984-EB91-4136-836A-D5675024139C@gazi.edu.tr> Dear Forum, Is it the case to find a presentation of the derived subgroup of the following Hecke groups in GAP using Reidemeister-Schrier Method? There are information in manuals but I think I need to see an application: Let q\geq 3 be an integer and H_q=< x,y: x^2=y^q=1> . Best wishes, Ahmet Ar?kan iPad'imden g?nderildi From hulpke at fastmail.fm Fri Mar 13 14:57:31 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Fri, 13 Mar 2015 08:57:31 -0600 Subject: [GAP Forum] Reidemeister-Schrier Method In-Reply-To: <47094984-EB91-4136-836A-D5675024139C@gazi.edu.tr> References: <47094984-EB91-4136-836A-D5675024139C@gazi.edu.tr> Message-ID: <1A555A03-6044-492C-884F-2630820D3D0C@fastmail.fm> Dear Forum, Dear Ahmed Arikan, > Is it the case to find a presentation of the derived subgroup of the following Hecke groups in GAP using Reidemeister-Schrier Method? There are information in manuals but I think I need to see an application: Let q\geq 3 be an integer and > > H_q=< x,y: x^2=y^q=1> . The most convenient way is probably to use `IsomorphismFpGroup'. (It calls `PresentationSubgroupRRS', but does some of the bookkeeping on its own): gap> f:=FreeGroup("x","y"); gap> h:=f/ParseRelators(f,"x2,y10"); gap> AbelianInvariants(h); [ 2, 2, 5 ] gap> d:=DerivedSubgroup(h); Group() gap> hom:=IsomorphismFpGroup(d); [ <[ [ 1, 1 ] ]|y*x*y^-1*x^-1>, <[ [ 2, 1 ] ]|y^-1*x*y*x^-1>, <[ [ 3, 1 ] ]|y^2*x*y^-2*x^-1>, <[ [ 4, 1 ] ]|y^-2*x*y^2*x^-1>, <[ [ 5, 1 ] ]|y^3*x*y^-3*x^-1>, <[ [ 6, 1 ] ]|y^-3*x*y^3*x^-1>, <[ [ 7, 1 ] ]|y^4*x*y^-4*x^-1>, <[ [ 8, 1 ] ]|y^-4*x*y^4*x^-1>, <[ [ 9, 1 ] ]|y^5*x*y^-5*x^-1> ] -> [ F1, F2, F3, F4, F5, F6, F7, F8, F9 ] gap> r:=Image(hom); gap> RelatorsOfFpGroup(r); [ ] So in this case the derived subgroup is free -- in general you would get relators in the new generators Fi. e.g. if we define: gap> h:=f/ParseRelators(f,"x2,y10,[x,y]^9"); we get relators: [ F1^9, F2^9, (F3*F1^-1)^9, (F4*F2^-1)^9, (F5*F3^-1)^9, (F6*F4^-1)^9, (F7*F5^-1)^9, (F8*F6^-1)^9, (F9*F8^-1)^9, (F9*F7^-1)^9 ] Regards, Alexander Hulpke From shengyushen at me.com Thu Mar 12 04:17:58 2015 From: shengyushen at me.com (shengyu shen) Date: Thu, 12 Mar 2015 04:17:58 +0000 (GMT) Subject: [GAP Forum] =?utf-8?q?getting_start_on_error_correction_code_with?= =?utf-8?q?_GAP?= Message-ID: <2ee3eab6-f0d1-49e5-936b-ce8c322818b3@me.com> Personally, I find > 2. http://www.usna.edu/Users/math/wdj/_files/documents/book/node139.html is very suitable for me. and furthermore, its parent page http://www.usna.edu/Users/math/wdj/_files/documents/book/node1.html give a more comprehensive back ground introduction Thanks Shen? 2015?3?8? ??03:22?S?meyra Bedir ??? > Dear Rodrigues, and Dear Shen, > Thank you for your contribution, > This is a useful and entire collection of documents and references for all researchers in the area of Coding Theory, using GAP and SAGE. > Glad to see people sharing about supplementary materials for Coding Theory in these open source systems GAP, and SAGE. > Thank you very much, > > > S?meyra Bedir > > > 8 Mar 2015 tarihinde 11:43 saatinde, Bernardo Rodrigues ?unlar? yazd?: > >> Dear Shen, >> >> In GAP there is a share package called GUAVA which is used for computations in coding theory. There are also a couple of notes scattered around which to some extent give you examples of use of GAP for Algebraic Coding Theory. >> Have a look at the following: >> 1. http://www.gap-system.org/Manuals/pkg/guava-3.12/htm/chap8.html >> >> 2. http://www.usna.edu/Users/math/wdj/_files/documents/book/node139.html >> >> 3. http://www.math.cornell.edu/~web3360/eccbook2007.pdf >> >> >> 4. The book titled: selected unsolved problems in coding theory, also has section of constructing codes using GAP and SAGE. >> See http://www.sagenb.org/pdf/en/reference/coding/coding.pdf >> >> >> I found this book useful for general use of GAP: >> 5. The book Abstract Algebra with GAP: A Manual to be Used with Contemporary Abstract Algebra, 5th Edition by Julianne G. Rainbolt and Joseph A. Gallian >> August 2003 is also useful. I found a copy here: http://college.cengage.com/mathematics/gallian/abstract_algebra/5e/shared/gap/gap_manual.pdf >> >> >> I hope this helps. >> Regards, >> Bernardo >> >> >> -----Original Message----- >> From: forum-bounces at gap-system.org [mailto:forum-bounces at gap-system.org] On Behalf Of shengyu shen >> Sent: 03 March 2015 09:58 AM >> To: forum at gap-system.org >> >> Subject: [GAP Forum] getting start on error correction code with GAP >> >> Dear all: >> >> I am a new learner of error correction code, and I would like to use GAP. >> >> So any recommendation of documentation/tuitor/manual on using GAP on this topic? >> >> >> Shen? >> _______________________________________________ >> 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 shengyushen at icloud.com Sat Mar 14 08:59:28 2015 From: shengyushen at icloud.com (shengyu shen) Date: Sat, 14 Mar 2015 08:59:28 +0000 (GMT) Subject: [GAP Forum] =?utf-8?q?what_is_the_difference_between_Conway_Polyn?= =?utf-8?q?omial_and_minimal_polynomial=3F?= Message-ID: <28a852f0-f860-4881-aad0-1d1f7bef7126@me.com> Dear all: I am learning GAP, and I find that the Conway Polynomial is somewhat similar to minimal polynomial, because both will be used to construct the extension field. So is there any difference? Furthermore, the gap command ConwayPolynomial( 2, 5 ) directly return a polynomial, but I think there may be many different minimal poly for the same p and n. So which one will be chosen to be ConwayPolynomial? Shen? From james.read at merton.ox.ac.uk Sat Mar 14 12:22:10 2015 From: james.read at merton.ox.ac.uk (James Read) Date: Sat, 14 Mar 2015 12:22:10 +0000 Subject: [GAP Forum] Defining subgroups of symplectic groups Message-ID: <3D0E477A38739B41A6AAF6A116B5C6F6100ACB@MBX04.ad.oak.ox.ac.uk> Hi, I want to define subgroups of Sp(4,Z) of the form: G_0\left(N\right) = \left\{ \left( \begin{array}{cccc} \mathbb{Z} & \mathbb{Z} & \mathbb{Z} & N \mathbb{Z} \\ N \mathbb{Z} & \mathbb{Z} & N \mathbb{Z} & N^2 \mathbb{Z} \\ \mathbb{Z} & \mathbb{Z} & \mathbb{Z} & N \mathbb{Z} \\ \mathbb{Z} & \mathbb{Z} & \mathbb{Z} & \mathbb{Z} \end{array} \right) \right\} \cap Sp\left(4,\mathbb{Z}\right) and then find their generators. Is it possible to define such subgroups in GAP? I'm having trouble doing it.. It looks like Sage might offer a little more functionality here, but I couldn't figure out how to do it there either. Thanks for any help! James Read From sam at Math.RWTH-Aachen.De Sat Mar 14 14:15:55 2015 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Sat, 14 Mar 2015 15:15:55 +0100 Subject: [GAP Forum] what is the difference between Conway Polynomial and minimal polynomial? In-Reply-To: <28a852f0-f860-4881-aad0-1d1f7bef7126@me.com> References: <28a852f0-f860-4881-aad0-1d1f7bef7126@me.com> Message-ID: <20150314141555.GA26230@gemma.math.rwth-aachen.de> Dear Shen, the information you ask for can be obtained from the GAP Reference Manual. In a GAP session, you can ask for help about the GAP function 'ConwayPolynomial' by entering ?ConwayPolynomial at the GAP prompt. The manual section about this function contains the definition of Conway polynomials. You will find there that Conway polynomials are the minimal polynomials of very special elements in finite fields, but not every minimal polynomial of a field element is a Conway polynomial. All the best, Thomas On Sat, Mar 14, 2015 at 08:59:28AM +0000, shengyu shen wrote: > Dear all: > > I am learning GAP, and I find that the Conway Polynomial is somewhat similar to minimal polynomial, because both will be used to construct the extension field. > > So is there any difference? > > Furthermore, the gap command ConwayPolynomial( 2, 5 ) directly return a polynomial, but I think there may be many different minimal poly for the same p and n. So which one will be chosen to be ConwayPolynomial? > > > Shen From kroberts at math.uni-bielefeld.de Tue Mar 17 09:27:47 2015 From: kroberts at math.uni-bielefeld.de (Kieran Roberts) Date: Tue, 17 Mar 2015 10:27:47 +0100 Subject: [GAP Forum] Random elements of a permutation group. Message-ID: Hello, I opened two instances of GAP on two different machines. I ran the following code on both instances: G := SymmetricGroup(15);; for i in [ 1 .. 20 ] do Display(Random(G)); od; And both produced the same list of elements: ( 1,11, 4, 3,15,10, 5, 9, 7,14,12,13)( 6, 8) ( 1,10,13,12, 3, 9, 2, 7, 6, 5, 8,14,15,11) ( 1,10,12, 6, 4,14, 5, 2,11,15, 7)( 8, 9,13) ( 1, 4,13, 9, 8, 6,15, 5,11,10)( 2, 7,14, 3) ( 2, 5, 6)( 3, 4, 8)( 7,12,15,14,10, 9) ( 1, 5, 9, 8)( 2,13,11,14, 4, 6)( 3,10,15, 7,12) ( 1,11, 2)( 3, 4,14,15,12, 6, 9, 5, 8, 7,13,10) ( 1,15, 4)( 2, 3,12, 7,11,13, 5, 6, 8,14,10) ( 1,13, 8, 6,12,14, 2,11, 9, 4)( 3,10)( 5, 7) ( 2, 5, 6,13, 8,12, 4, 9,15,10, 7,14) ( 1,15)( 2, 3,10,11, 6,13, 4, 7, 9, 8,12) ( 1,10)( 2, 6, 4, 7,13,15, 9,14)( 3, 8) ( 1, 4, 8,15)( 2,10,12)( 3,14,11,13, 6, 5, 9, 7) ( 1,14,11, 3,13, 5,10, 2, 4,15)( 6, 9)( 7, 8) ( 1,13,10, 3, 6,11)( 2,12, 5, 8)( 7,15) ( 1, 2, 3,10, 6, 9, 7,12,11,13,14)( 4, 5, 8,15) ( 1, 3, 7,14, 5, 6)( 2, 9,12, 8, 4,11)(10,15,13) ( 1,13, 6, 8, 5, 9, 7)( 2,10,11,12,14)( 4,15) ( 1, 6, 5, 9)( 2, 7,13, 8,12, 3,10,11,15) ( 1, 8)( 2, 4,11, 6, 3, 7,14)( 5,12)( 9,10,13) (Here is a screenshot http://i.imgur.com/krx3Iau.png) My questions are: (1) Does the seed determine the sequence of random elements of a fixed group? (2) Is the seed always the same for a fixed group? (3) How can one change the seed? Best, Kieran. From gaehler at math.uni-bielefeld.de Tue Mar 17 15:00:07 2015 From: gaehler at math.uni-bielefeld.de (Franz Gaehler) Date: Tue, 17 Mar 2015 16:00:07 +0100 Subject: [GAP Forum] Random elements of a permutation group. In-Reply-To: References: Message-ID: <20150317150007.GA17128@math.uni-bielefeld.de> Dear Kieran, > I opened two instances of GAP on two different machines. I ran the > following code on both instances: > > G := SymmetricGroup(15);; > for i in [ 1 .. 20 ] do > Display(Random(G)); > od; > > And both produced the same list of elements: please have a look at section 14.7 of the reference manual. You can reset the default random number generator used by most library methods to a new seed at the beginning of each GAP session: Reset(GlobalMersenneTwister,1234567); With different seeds, you obtain different random sequences. The default seed is 1. Best regards, Franz _____________________________________________________________________________ Dr. Franz G?hler Phone +49 521 / 106 3876 Faculty of Mathematics Fax +49 521 / 106 153876 Bielefeld University Email gaehler at math.uni-bielefeld.de D-33615 Bielefeld http://www.math.uni-bielefeld.de/~gaehler/ From siddhartha18 at gmail.com Fri Mar 20 11:57:26 2015 From: siddhartha18 at gmail.com (Siddhartha Sarkar) Date: Fri, 20 Mar 2015 17:27:26 +0530 Subject: [GAP Forum] a query on regular p-groups Message-ID: Dear pubbers, As finite regular p-groups are in some sense generalization of abelian p-groups, I would like to know if there are some standard notions of structure constants of regular p-groups (like what appear in the structure theorem of finitely generated abelian groups). I can try to define these naturally by the standard omega (or, agemo) subgroups. However, these are not invariants. I would like to know if there are any such use of these "structure constants" for finite regular p-groups in literature. thanks in advance, Siddhartha From shengyushen at icloud.com Sun Mar 22 14:04:37 2015 From: shengyushen at icloud.com (shengyu shen) Date: Sun, 22 Mar 2015 14:04:37 +0000 (GMT) Subject: [GAP Forum] how to obtain the minpoly of nested extension field Message-ID: <1e14f2d3-298b-4bb2-970a-8dcd8c04fa41@me.com> Dear all: I am currently learning using GAP to analyze the IEEE 802.3bj reed solomon code. this code run on GF(2^10), which is obtained in two step: 1. extend GF(2) to GF(2^5) with minpoly u^5 + u^2 + 1 2. extend GF(32) to GF(2^10) with minpoly v^2 + v + 1 So how can I compute the minpoly that entend GF(2) directly to GF(2^10)? ? Shen From algebraic.number.theory at algebra.at Fri Mar 20 12:34:11 2015 From: algebraic.number.theory at algebra.at (Algebraic.Number.Theory) Date: Fri, 20 Mar 2015 13:34:11 +0100 Subject: [GAP Forum] Type invariants of regular p-groups Message-ID: <1188DE465B9D4116BB363D4503646A4E@EmilArtin> Dear Siddhartha Sakar, the type invariants of regular p-groups were invented by Philip Hall in his famous paper of 1933 which I attach to this message. See p.73 for regular p-groups and pp.78-81 for their type invariants. Best regards, Daniel C. Mayer From kashyap at iiserb.ac.in Sat Mar 28 06:05:53 2015 From: kashyap at iiserb.ac.in (Dr. Kashyap Rajeevsarathy) Date: Sat, 28 Mar 2015 11:35:53 +0530 Subject: [GAP Forum] Roots of polynomials Message-ID: Dear Forum, How do we make GAP display the irrational roots of a single-variable polynomial that has only real roots? The functions "RootsOfPolynomial" and "RootsOfUPol" display only the rational roots as a list, and using the string "split" doesn't help either. Sincerely, Kashyap -- Kashyap Rajeevsarathy Assistant Professor, Indian Institute of Science Education and Research (IISER) Bhopal, Indore By-pass Road, Bhauri, Bhopal - 462066, Madhya Pradesh, India. Phone: +91-755-669-2364 Website: https://home.iiserb.ac.in/~kashyap From dmitrii.pasechnik at cs.ox.ac.uk Sat Mar 28 09:27:57 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Sat, 28 Mar 2015 09:27:57 +0000 Subject: [GAP Forum] Roots of polynomials In-Reply-To: References: Message-ID: <20150328092757.GA28478@dimpase.cs.ox.ac.uk> Dear Kashyap, On Sat, Mar 28, 2015 at 11:35:53AM +0530, Dr. Kashyap Rajeevsarathy wrote: > How do we make GAP display the irrational roots of a single-variable > polynomial that has only real roots? The functions "RootsOfPolynomial" and > "RootsOfUPol" display only the rational roots as a list, and using the > string "split" doesn't help either. you can use factorisation over a field to find roots in this field. E.g. gap> x:=Indeterminate(Rationals);; gap> Factors(PolynomialRing(CF(3)),x^12-1); HTH, Dima From kashyap at iiserb.ac.in Sun Mar 29 07:23:15 2015 From: kashyap at iiserb.ac.in (Dr. Kashyap Rajeevsarathy) Date: Sun, 29 Mar 2015 11:53:15 +0530 Subject: [GAP Forum] Issue with ALNUTH Message-ID: Dear Forum, There seems to be some problem factoring rational polynomials using ALNUTH. Please glance through the following examples and let me know if I am doing something wrong, of if there is a problem with the package installation: *1) gap> x := Indeterminate(Rationals,"x");;gap> pol := x^2-3;x^2-3gap> L := FieldByPolynomial(x^2-3);gap> y := Indeterminate( L, "y" );;gap> FactorsPolynomialAlgExt(L,pol);* *Error, AL_EXECUTABLE, the executable for PARI/GP, has to be set called fromProcessPariGP( Concatenation( input ), "polyfactors.gp " ) called fromPolynomialFactorsDescriptionPari( H, coeffs ) called fromFactorsPolynomialPari( AlgExtEmbeddedPol( H, poly ) ) called from( )called from read-eval loop at line 5 of *stdin*you can 'quit;' to quit to outer loop, oryou can 'return;' to continue* *2) gap> SplittingField(pol);gap> x := Indeterminate(Rationals,"x"); xgap> pol := x^2 - 3;x^2-3gap> L := SplittingField(pol);gap> FactorsPolynomialAlgExt(L,pol);Error, AL_EXECUTABLE, the executable for PARI/GP, has to be set called from ProcessPariGP( Concatenation( input ), "polyfactors.gp " ) called fromPolynomialFactorsDescriptionPari( H, coeffs ) called fromFactorsPolynomialPari( AlgExtEmbeddedPol( H, poly ) ) called from( )called from read-eval loop at line 9 of *stdin*you can 'quit;' to quit to outer loop, oryou can 'return;' to continue* Sincerely, Kashyap -- Kashyap Rajeevsarathy Assistant Professor, Indian Institute of Science Education and Research (IISER) Bhopal, Indore By-pass Road, Bhauri, Bhopal - 462066, Madhya Pradesh, India. Phone: +91-755-669-2364 Website: https://home.iiserb.ac.in/~kashyap From dmitrii.pasechnik at cs.ox.ac.uk Sun Mar 29 09:24:42 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Sun, 29 Mar 2015 09:24:42 +0100 Subject: [GAP Forum] Issue with ALNUTH In-Reply-To: References: Message-ID: <20150329082442.GA20453@dimpase.cs.ox.ac.uk> Dear Kashyap, On Sun, Mar 29, 2015 at 11:53:15AM +0530, Dr. Kashyap Rajeevsarathy wrote: > Dear Forum, > > There seems to be some problem factoring rational polynomials using ALNUTH. > Please glance through the following examples and let me know if I am doing > something wrong, of if there is a problem with the package installation: Do you have PARI/GP installed on your machine? (this probably will be not easy, if at all possible, on a Windows machine, but easy to install on Linux or OSX) PARI/GP is an external dependency for this package, as you can see from its installation instructions. Best, Dmitrii > > > > > > > > > *1) gap> x := Indeterminate(Rationals,"x");;gap> pol := x^2-3;x^2-3gap> L > := FieldByPolynomial(x^2-3); degree 2>gap> y := Indeterminate( L, "y" );;gap> > FactorsPolynomialAlgExt(L,pol);* > > > > > > > > *Error, AL_EXECUTABLE, the executable for PARI/GP, has to be set called > fromProcessPariGP( Concatenation( input ), "polyfactors.gp > " ) called fromPolynomialFactorsDescriptionPari( H, > coeffs ) called fromFactorsPolynomialPari( AlgExtEmbeddedPol( H, poly ) ) > called from( )called from > read-eval loop at line 5 of *stdin*you can 'quit;' to quit to outer loop, > oryou can 'return;' to continue* > > > > > > > > > > > > > > > > > > *2) gap> SplittingField(pol); degree 2>gap> x := Indeterminate(Rationals,"x"); xgap> pol := x^2 - > 3;x^2-3gap> L := SplittingField(pol); Rationals of degree 2>gap> FactorsPolynomialAlgExt(L,pol);Error, > AL_EXECUTABLE, the executable for PARI/GP, has to be set called from > ProcessPariGP( Concatenation( input ), "polyfactors.gp > " ) called fromPolynomialFactorsDescriptionPari( H, > coeffs ) called fromFactorsPolynomialPari( AlgExtEmbeddedPol( H, poly ) ) > called from( )called from > read-eval loop at line 9 of *stdin*you can 'quit;' to quit to outer loop, > oryou can 'return;' to continue* > > Sincerely, > Kashyap > -- > Kashyap Rajeevsarathy > Assistant Professor, > Indian Institute of Science Education and Research (IISER) Bhopal, > Indore By-pass Road, > Bhauri, Bhopal - 462066, > Madhya Pradesh, India. > Phone: +91-755-669-2364 > Website: https://home.iiserb.ac.in/~kashyap > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From Bill.Allombert at math.u-bordeaux.fr Sun Mar 29 13:09:59 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Sun, 29 Mar 2015 14:09:59 +0200 Subject: [GAP Forum] Issue with ALNUTH In-Reply-To: <20150329082442.GA20453@dimpase.cs.ox.ac.uk> References: <20150329082442.GA20453@dimpase.cs.ox.ac.uk> Message-ID: <20150329120959.GA3883@yellowpig> On Sun, Mar 29, 2015 at 09:24:42AM +0100, Dima Pasechnik wrote: > Dear Kashyap, > On Sun, Mar 29, 2015 at 11:53:15AM +0530, Dr. Kashyap Rajeevsarathy wrote: > > Dear Forum, > > > > There seems to be some problem factoring rational polynomials using ALNUTH. > > Please glance through the following examples and let me know if I am doing > > something wrong, of if there is a problem with the package installation: > > Do you have PARI/GP installed on your machine? > (this probably will be not easy, if at all possible, on a Windows > machine, but easy to install on Linux or OSX) This should be easy on Windows too: just downlad the stand-alone GP binary from http://pari.math.u-bordeaux.fr/download.html#windows and make sure AL_EXECUTABLE is set to the path to the GP binary. If you use Linux, your distribution should include a pari-gp package. If you use Mac OS X, your best bet is to use brew (which include pari). Cheers, Bill. From shengyushen at icloud.com Mon Mar 30 15:10:22 2015 From: shengyushen at icloud.com (shengyu shen) Date: Mon, 30 Mar 2015 14:10:22 +0000 (GMT) Subject: [GAP Forum] about the maturity degree of GAP's Buchberger algorithm Message-ID: <6feb46c4-f138-4e91-9393-51a2eea29453@me.com> Dear all : I am learning error correction code and I am using GAP as my CAS. But today when I want some help on using?GroebnerBasis command of GAP, I find the following statement : =========================================================== Note? that??GAP? at? the? moment? only? includes? a? na?ve implementation of ? Buchberger's? algorithm? (which? is? mainly intended as a teaching tool). It ? might not be sufficient for serious problems. =========================================================== So it this still true for current release of GAP? I am worry about this because I want to use GAP in formal verification of error correction code Thanks Shen From shengyushen at icloud.com Tue Mar 31 13:37:37 2015 From: shengyushen at icloud.com (shengyu shen) Date: Tue, 31 Mar 2015 20:37:37 +0800 Subject: [GAP Forum] how to handle real and complex data type? Message-ID: Dear all: I am learning gap, and I find that there are no real and complex type in GAP. So how can I handle those polynomials with real or complex solutions? Shen From hulpke at fastmail.fm Tue Mar 31 18:28:55 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Tue, 31 Mar 2015 11:28:55 -0600 Subject: [GAP Forum] Buchberger algorithm, real and complex data type In-Reply-To: <6feb46c4-f138-4e91-9393-51a2eea29453@me.com> References: <6feb46c4-f138-4e91-9393-51a2eea29453@me.com> Message-ID: <1C42CEE6-A102-4088-AECF-9C8864402637@fastmail.fm> Dear Forum, Shengyu Shen asked: > =========================================================== > Note that GAP at the moment only includes a na?ve implementation of > Buchberger's algorithm (which is mainly intended as a teaching tool). It > might not be sufficient for serious problems. > =========================================================== > > So it this still true for current release of GAP? Yes. We felt that we did not have the expertise to implement a Groebner basis algorithm that would be plausibly comparable with that of dedicated systems. The warning in the manual is there to alert users to not take Groebner bassi performance as an indication of the general system performance. (This concerns runtime, not correctness.) The existing functionality in GAP should be sufficient for small (or illustration) examples but it is easy to construct examples why (say) Singular will solve in seconds and which take hours or more in GAP. (S)he also asked: > I find that there are no real and complex type in GAP. > > So how can I handle those polynomials with real or complex solutions? Yes, GAP has no generic real/complex data type. If you need factorizations of polynomials, you would have to use a suitable algebraic extension. As first try I would see whether the cyclotomic numbers would work, as their arithmetic is more efficient than that of generic algebraic extensions. Regards, Alexander Hulpke From kashyap at iiserb.ac.in Wed Apr 1 03:14:55 2015 From: kashyap at iiserb.ac.in (Dr. Kashyap Rajeevsarathy) Date: Wed, 1 Apr 2015 07:44:55 +0530 Subject: [GAP Forum] Understanding factorisation of polynomials using ALNUTH Message-ID: Dear Forum, I am trying to understand the factorisation of polynomials in ALNUTH. Consider the following example: *gap> pol := UnivariatePolynomial(Rationals,[6,0,-5,0,1]);x_1^4-5*x_1^2+6gap> L := SplittingField(pol);gap> FactorsPolynomialAlgExt(L,pol); [ x_1+(-1/20*a^3+9/10*a), x_1+(-1/40*a^3+19/20*a), x_1+(1/40*a^3-19/20*a), x_1+(1/20*a^3-9/10*a) ]* How should we interpret the symbol 'a' here? In other words, is there is a way to realise the constant terms in these these symbolic expressions (involving a) in the factors as (plus or minus) Sqrt{2} and Sqrt{3}. Maybe it is too much to ask, but in general, can GAP display these real roots as a list of radicals (for example Sqrt{2}, Sqrt{3} etc.), as it does while displaying characters. Sincerely, Kashyap -- Kashyap Rajeevsarathy Assistant Professor, Indian Institute of Science Education and Research (IISER) Bhopal, Indore By-pass Road, Bhauri, Bhopal - 462066, Madhya Pradesh, India. Phone: +91-755-669-2364 Website: https://home.iiserb.ac.in/~kashyap From caj21 at st-andrews.ac.uk Wed Apr 1 12:20:53 2015 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Wed, 1 Apr 2015 11:20:53 +0000 Subject: [GAP Forum] New (in development) package : gapcpp Message-ID: Ever wish you could just write C and C++ code in GAP? Well now you can, with the gapcpp package from: https://github.com/ChrisJefferson/gapcpp After running './configure' in the packages directory and loading it, you will find one method, 'CompileMethod', which accepts C++ (or C) code, the name of your function and it's number of arguments. The function is then automatically linked into GAP, and GAP types turned into C++ types (and vice versa). Here's an easy example: gap> fun := CompileMethod("int f(int X) { return X; }", "f", 1);; gap> fun(3); 3 That's fairly boring however. Let's consider something more interesting! Perhaps we want to sort a list of integers by their last digit: gap> SortBy([1..1000000], x -> x mod 10);; gap> time; 548 Hmm.. Lets give that 'mod' function some C++ power! gap> m := CompileMethod("int f(int X) { return X % 10; }", "f", 1);; gap> SortBy([1..1000000], m);; gap> time 487 Hmm, a little speedup, but not as much as we would like. Let's push the whole thing into C++, using new 'triple quotes' to make the code easier to write (in the master branch of GAP, not package specific!) gap> x := CompileMethod(""" bool comp(int i, int j) { return i%10 < j%10; } std::vector sb(std::vector i) { std::sort(i.begin(), i.end(),comp); return i; }""", "sb", 1); gap> x([1..1000000]);; gap> time; 48 Wow, 10x speedup! Of course, C++ lets us do new things. Perhaps we really wish we had a stable sort? No problem! gap> x := CompileMethod(""" bool comp(int i, int j) { return i%10 < j%10; } std::vector sb(std::vector i) { std::stable_sort(i.begin(), i.end(),comp); return i; }""", "sb", 1); gap> x([1..1000000]);; gap> time; 124 A little slower, but with the bonus of being stable! Let's try some more things: gap> PartialSums([1..50000]);; gap> time; 26021 gap> x := CompileMethod(""" #include std::vector sums(std::vector v) { std::vector out(v.size()); // r means 'reverse', we do this to agree with GAP's order std::partial_sum(v.rbegin(), v.rend(), out.rbegin()); return out; }""", "sums", 1);; gap> PartialSums([1..50000]);; gap> time; 1 The following C++ types are currently supported (recursively). More types can be added on request! std::vector std::list std::deque std::pair std::string int Bool vec1 (a custom vector type which is 1-indexed, for each GAP<->C++ integration) optional (a way of marking missing values, so std::vector > supports lists with missing values, unlike std::vector) If you understand GAP, You can also use Obj and all the normal GAP method to access objects. There is also initial support for gap records (see the tests for examples). I am interested in any requests for improvements, or usage of this package (or wished usages of this package). Chris From s.murthy at mykolab.com Wed Apr 1 12:32:06 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Wed, 1 Apr 2015 12:32:06 +0100 Subject: [GAP Forum] New (in development) package : gapcpp In-Reply-To: References: Message-ID: Hi This could be useful for optimising sorting and search, since GAP is very slow. Can it deal with lists of GAP objects, like groups and tuples? Sandeep Murthy s.murthy at mykolab.com > On 1 Apr 2015, at 12:20, Christopher Jefferson wrote: > > Ever wish you could just write C and C++ code in GAP? Well now you can, > with the gapcpp package from: https://github.com/ChrisJefferson/gapcpp > > After running './configure' in the packages directory and loading it, you > will find one method, 'CompileMethod', which accepts C++ (or C) code, the > name of your function and it's number of arguments. The function is then > automatically linked into GAP, and GAP types turned into C++ types (and > vice versa). > > Here's an easy example: > > gap> fun := CompileMethod("int f(int X) { return X; }", "f", 1);; > gap> fun(3); > 3 > > That's fairly boring however. Let's consider something more interesting! > > Perhaps we want to sort a list of integers by their last digit: > > gap> SortBy([1..1000000], x -> x mod 10);; > gap> time; > 548 > > Hmm.. Lets give that 'mod' function some C++ power! > > gap> m := CompileMethod("int f(int X) { return X % 10; }", "f", 1);; > gap> SortBy([1..1000000], m);; > gap> time > 487 > > Hmm, a little speedup, but not as much as we would like. Let's push the > whole thing into C++, using new 'triple quotes' to make the code easier > to write (in the master branch of GAP, not package specific!) > > gap> x := CompileMethod(""" > bool comp(int i, int j) > { return i%10 < j%10; } > std::vector sb(std::vector i) > { std::sort(i.begin(), i.end(),comp); return i; }""", "sb", 1); > gap> x([1..1000000]);; > gap> time; > 48 > > Wow, 10x speedup! > > Of course, C++ lets us do new things. Perhaps we really wish we had a > stable sort? No problem! > > gap> x := CompileMethod(""" > bool comp(int i, int j) > { return i%10 < j%10; } > std::vector sb(std::vector i) > { std::stable_sort(i.begin(), i.end(),comp); return i; }""", "sb", 1); > gap> x([1..1000000]);; > gap> time; > 124 > > A little slower, but with the bonus of being stable! > > Let's try some more things: > > gap> PartialSums([1..50000]);; > gap> time; > 26021 > > gap> x := CompileMethod(""" > #include > std::vector sums(std::vector v) > { > std::vector out(v.size()); > // r means 'reverse', we do this to agree with GAP's order > std::partial_sum(v.rbegin(), v.rend(), out.rbegin()); > return out; > }""", "sums", 1);; > gap> PartialSums([1..50000]);; > gap> time; > 1 > > The following C++ types are currently supported (recursively). More types > can be added on request! > > std::vector > std::list > std::deque > std::pair > std::string > int > Bool > vec1 (a custom vector type which is 1-indexed, for each GAP<->C++ > integration) > > optional (a way of marking missing values, so std::vector > > supports lists with missing values, unlike std::vector) > > If you understand GAP, You can also use Obj and all the normal GAP method > to access objects. There is also initial support for gap records (see the > tests for examples). > > > I am interested in any requests for improvements, or usage of this package > (or wished usages of this package). > > > Chris > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From Bill.Allombert at math.u-bordeaux.fr Wed Apr 1 13:00:22 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Wed, 1 Apr 2015 14:00:22 +0200 Subject: [GAP Forum] Understanding factorisation of polynomials using ALNUTH In-Reply-To: References: Message-ID: <20150401120022.GB4082@yellowpig> On Wed, Apr 01, 2015 at 07:44:55AM +0530, Dr. Kashyap Rajeevsarathy wrote: > Dear Forum, > *gap> pol := > UnivariatePolynomial(Rationals,[6,0,-5,0,1]);x_1^4-5*x_1^2+6gap> L := > SplittingField(pol); 4>gap> FactorsPolynomialAlgExt(L,pol); [ x_1+(-1/20*a^3+9/10*a), > x_1+(-1/40*a^3+19/20*a), x_1+(1/40*a^3-19/20*a), x_1+(1/20*a^3-9/10*a) ]* > > How should we interpret the symbol 'a' here? a denotes any roots of L. You can do a:=RootOfDefiningPolynomial(L); to define a in GAP. > In other words, is there is a > way to realise the constant terms in these these symbolic expressions > (involving a) in the factors as (plus or minus) Sqrt{2} and Sqrt{3}. Just square them: pol := UnivariatePolynomial(Rationals,[6,0,-5,0,1]); L := SplittingField(pol); FactorsPolynomialAlgExt(L,pol); a:=RootOfDefiningPolynomial(L); you get gap> (-1/40*a^3+19/20*a)^2; !3 gap> (-1/20*a^3+9/10*a)^2; !2 > Maybe it is too much to ask, but in general, can GAP display these real > roots as a list of radicals (for example Sqrt{2}, Sqrt{3} etc.), as it does > while displaying characters. I would suggest you define L explicitely as Q(sqrt(2),sqrt(3)), instead of using SplittingField. Cheers, Bill. From caj21 at st-andrews.ac.uk Wed Apr 1 13:33:04 2015 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Wed, 1 Apr 2015 12:33:04 +0000 Subject: [GAP Forum] New (in development) package : gapcpp In-Reply-To: References: Message-ID: On 01/04/2015 12:32, "Sandeep Murthy" wrote: >Hi > >This could be useful for optimising sorting and search, since GAP is very >slow. > >Can it deal with lists of GAP objects, like groups and tuples? At the moment no, it only deals with objects which have an "obvious" C++ version. One could write a C++ wrapper for these types, but if it simply called back to the methods on the original GAP objects, it wouldn't particularlly be faster. This will get much easier in HPC-GAP, as by design HPC-GAP makes it much easier to have GAP and C/C++ objects interact, due to better memory manager. > >Sandeep Murthy >s.murthy at mykolab.com > >> On 1 Apr 2015, at 12:20, Christopher Jefferson >>wrote: >> >> Ever wish you could just write C and C++ code in GAP? Well now you can, >> with the gapcpp package from: https://github.com/ChrisJefferson/gapcpp >> >> After running './configure' in the packages directory and loading it, >>you >> will find one method, 'CompileMethod', which accepts C++ (or C) code, >>the >> name of your function and it's number of arguments. The function is then >> automatically linked into GAP, and GAP types turned into C++ types (and >> vice versa). >> >> Here's an easy example: >> >> gap> fun := CompileMethod("int f(int X) { return X; }", "f", 1);; >> gap> fun(3); >> 3 >> >> That's fairly boring however. Let's consider something more interesting! >> >> Perhaps we want to sort a list of integers by their last digit: >> >> gap> SortBy([1..1000000], x -> x mod 10);; >> gap> time; >> 548 >> >> Hmm.. Lets give that 'mod' function some C++ power! >> >> gap> m := CompileMethod("int f(int X) { return X % 10; }", "f", 1);; >> gap> SortBy([1..1000000], m);; >> gap> time >> 487 >> >> Hmm, a little speedup, but not as much as we would like. Let's push the >> whole thing into C++, using new 'triple quotes' to make the code easier >> to write (in the master branch of GAP, not package specific!) >> >> gap> x := CompileMethod(""" >> bool comp(int i, int j) >> { return i%10 < j%10; } >> std::vector sb(std::vector i) >> { std::sort(i.begin(), i.end(),comp); return i; }""", "sb", 1); >> gap> x([1..1000000]);; >> gap> time; >> 48 >> >> Wow, 10x speedup! >> >> Of course, C++ lets us do new things. Perhaps we really wish we had a >> stable sort? No problem! >> >> gap> x := CompileMethod(""" >> bool comp(int i, int j) >> { return i%10 < j%10; } >> std::vector sb(std::vector i) >> { std::stable_sort(i.begin(), i.end(),comp); return i; }""", "sb", 1); >> gap> x([1..1000000]);; >> gap> time; >> 124 >> >> A little slower, but with the bonus of being stable! >> >> Let's try some more things: >> >> gap> PartialSums([1..50000]);; >> gap> time; >> 26021 >> >> gap> x := CompileMethod(""" >> #include >> std::vector sums(std::vector v) >> { >> std::vector out(v.size()); >> // r means 'reverse', we do this to agree with GAP's order >> std::partial_sum(v.rbegin(), v.rend(), out.rbegin()); >> return out; >> }""", "sums", 1);; >> gap> PartialSums([1..50000]);; >> gap> time; >> 1 >> >> The following C++ types are currently supported (recursively). More >>types >> can be added on request! >> >> std::vector >> std::list >> std::deque >> std::pair >> std::string >> int >> Bool >> vec1 (a custom vector type which is 1-indexed, for each GAP<->C++ >> integration) >> >> optional (a way of marking missing values, so std::vector >>> >> supports lists with missing values, unlike std::vector) >> >> If you understand GAP, You can also use Obj and all the normal GAP >>method >> to access objects. There is also initial support for gap records (see >>the >> tests for examples). >> >> >> I am interested in any requests for improvements, or usage of this >>package >> (or wished usages of this package). >> >> >> Chris >> >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum > From hulpke at fastmail.fm Wed Apr 1 16:10:57 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Wed, 1 Apr 2015 09:10:57 -0600 Subject: [GAP Forum] New (in development) package : gapcpp In-Reply-To: References: Message-ID: <0BA8EB75-8CF7-4840-9292-528C2E4B07AD@fastmail.fm> Dear Forum, > On Apr 1, 2015, at 4/1/15 5:32, Sandeep Murthy wrote: > > This could be useful for optimising sorting and search, since GAP is very slow. I don't think that is true for the sort routine itself. However if you put complicated objects (say groups) in a list and sort it, the individual element comparisons can become expensive, as these objects are not represented in a ``canonical form'' (i.e. a group can have many different generating sets), and GAP guarantees that the ordering used will be independent of the internal representation. So for example for comparing groups, GAP has to compute a lexicographically minimal generating set, and then will compare these generating sets. The time spent in in computing these, not in the sort algorithm, and coding it in C will not speed it up. The solution to this is basically to avoid, if possible, having to sort lists of groups, but to use other data structures. Best, Alexander Hulpke > > Can it deal with lists of GAP objects, like groups and tuples? > > Sandeep Murthy > s.murthy at mykolab.com > >> On 1 Apr 2015, at 12:20, Christopher Jefferson wrote: >> >> Ever wish you could just write C and C++ code in GAP? Well now you can, >> with the gapcpp package from: https://github.com/ChrisJefferson/gapcpp >> >> After running './configure' in the packages directory and loading it, you >> will find one method, 'CompileMethod', which accepts C++ (or C) code, the >> name of your function and it's number of arguments. The function is then >> automatically linked into GAP, and GAP types turned into C++ types (and >> vice versa). >> >> Here's an easy example: >> >> gap> fun := CompileMethod("int f(int X) { return X; }", "f", 1);; >> gap> fun(3); >> 3 >> >> That's fairly boring however. Let's consider something more interesting! >> >> Perhaps we want to sort a list of integers by their last digit: >> >> gap> SortBy([1..1000000], x -> x mod 10);; >> gap> time; >> 548 >> >> Hmm.. Lets give that 'mod' function some C++ power! >> >> gap> m := CompileMethod("int f(int X) { return X % 10; }", "f", 1);; >> gap> SortBy([1..1000000], m);; >> gap> time >> 487 >> >> Hmm, a little speedup, but not as much as we would like. Let's push the >> whole thing into C++, using new 'triple quotes' to make the code easier >> to write (in the master branch of GAP, not package specific!) >> >> gap> x := CompileMethod(""" >> bool comp(int i, int j) >> { return i%10 < j%10; } >> std::vector sb(std::vector i) >> { std::sort(i.begin(), i.end(),comp); return i; }""", "sb", 1); >> gap> x([1..1000000]);; >> gap> time; >> 48 >> >> Wow, 10x speedup! >> >> Of course, C++ lets us do new things. Perhaps we really wish we had a >> stable sort? No problem! >> >> gap> x := CompileMethod(""" >> bool comp(int i, int j) >> { return i%10 < j%10; } >> std::vector sb(std::vector i) >> { std::stable_sort(i.begin(), i.end(),comp); return i; }""", "sb", 1); >> gap> x([1..1000000]);; >> gap> time; >> 124 >> >> A little slower, but with the bonus of being stable! >> >> Let's try some more things: >> >> gap> PartialSums([1..50000]);; >> gap> time; >> 26021 >> >> gap> x := CompileMethod(""" >> #include >> std::vector sums(std::vector v) >> { >> std::vector out(v.size()); >> // r means 'reverse', we do this to agree with GAP's order >> std::partial_sum(v.rbegin(), v.rend(), out.rbegin()); >> return out; >> }""", "sums", 1);; >> gap> PartialSums([1..50000]);; >> gap> time; >> 1 >> >> The following C++ types are currently supported (recursively). More types >> can be added on request! >> >> std::vector >> std::list >> std::deque >> std::pair >> std::string >> int >> Bool >> vec1 (a custom vector type which is 1-indexed, for each GAP<->C++ >> integration) >> >> optional (a way of marking missing values, so std::vector > >> supports lists with missing values, unlike std::vector) >> >> If you understand GAP, You can also use Obj and all the normal GAP method >> to access objects. There is also initial support for gap records (see the >> tests for examples). >> >> >> I am interested in any requests for improvements, or usage of this package >> (or wished usages of this package). >> >> >> Chris >> >> >> _______________________________________________ >> 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 klajok at interia.pl Wed Apr 1 20:51:38 2015 From: klajok at interia.pl (Daniel Blazewicz) Date: Wed, 01 Apr 2015 21:51:38 +0200 Subject: [GAP Forum] Understanding factorisation of polynomials using ALNUTH In-Reply-To: References: Message-ID: Od: "Dr. Kashyap Rajeevsarathy" Do: forum at gap-system.org; Wys?ane: 4:28 ?roda 2015-04-01 Temat: [GAP Forum] Understanding factorisation of polynomials using ALNUTH (...) > Maybe it is too much to ask, but in general, can GAP display these real > roots as a list of radicals (for example Sqrt{2}, Sqrt{3} etc.), as it does > while displaying characters. Here I would recommend RadiRoot package (it uses e.g. Alnuth). See its documentation for details. Note that generated formulas for roots are quite specific (irreducible radical expressions). Regards, Daniel B?a?ewicz From ranjitghumde at gmail.com Sat Apr 4 09:43:05 2015 From: ranjitghumde at gmail.com (Ranjit Ghumde) Date: Sat, 4 Apr 2015 13:13:05 +0430 Subject: [GAP Forum] Number of automorphisms in semidihedral group D_16 Message-ID: Dear pubbers How many automorphisms are exists in Semidihedral group D_16? From stefan at mcs.st-and.ac.uk Sat Apr 4 11:15:35 2015 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Sat, 4 Apr 2015 11:15:35 +0100 (BST) Subject: [GAP Forum] Number of automorphisms in semidihedral group D_16 In-Reply-To: References: Message-ID: Ranjit Ghumde asked: > How many automorphisms are exists in Semidihedral group D_16? In GAP, the semidihedral group (also known as quasidihedral group) of order 16 is SmallGroup(16,8): gap> G := SmallGroup(16,8); gap> StructureDescription(G); "QD16" Its automorphism group can be determined with the operation AutomorphismGroup as usual: gap> A := AutomorphismGroup(G); Thus you see that the number of automorphisms of the semidihedral group of order 16 is 16. Actually, the automorphism group is a direct product of a cyclic group of order 2 and a dihedral group of order 8: gap> StructureDescription(A); "C2 x D8" You can also list the automorphisms explicitly: gap> AsList(A); [ [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f4, f2 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2*f3*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f4, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1, f2*f3*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1*f3, f2 ], [ f1*f3, f2*f4 ] -> [ f1, f2 ], [ f1*f3, f2*f4 ] -> [ f1*f4, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1*f4, f2*f3*f4 ], [ f1*f3, f2*f4 ] -> [ f1, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f3*f4 ] ] Hope this helps, Stefan From sgwvieira at gmail.com Wed Mar 25 20:38:30 2015 From: sgwvieira at gmail.com (Wanderley Tiowann) Date: Wed, 25 Mar 2015 17:38:30 -0300 Subject: [GAP Forum] Command First Message-ID: Hi I'm Brazilian and my English is terrible, but I need your help, please. I need to use the command FIRST to show a prime number between 30 and 39. I have to do a list of prime number? Wanderley - Brasil. From shengyushen at me.com Tue Mar 31 09:12:55 2015 From: shengyushen at me.com (shengyu shen) Date: Tue, 31 Mar 2015 16:12:55 +0800 Subject: [GAP Forum] how to handle real and complex data type? Message-ID: <45194A11-2EF0-40C4-B35A-AE18E03F0364@me.com> Dear all: I am learning gap, and I find that there are no real and complex type in GAP. So how can I handle those polynomials with real or complex solutions? Shen From g6299304p at rezozer.net Sun Apr 5 21:34:14 2015 From: g6299304p at rezozer.net (Jerome BENOIT) Date: Sun, 05 Apr 2015 22:34:14 +0200 Subject: [GAP Forum] how to handle real and complex data type? In-Reply-To: <45194A11-2EF0-40C4-B35A-AE18E03F0364@me.com> References: <45194A11-2EF0-40C4-B35A-AE18E03F0364@me.com> Message-ID: <55219C46.2070100@rezozer.net> On 31/03/15 10:12, shengyu shen wrote: > Dear all: > > I am learning gap, and I find that there are no real and complex type in GAP. > quid float package ? > So how can I handle those polynomials with real or complex solutions? > > > Shen > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From s.murthy at mykolab.com Sun Apr 5 21:57:44 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Sun, 5 Apr 2015 21:57:44 +0100 Subject: [GAP Forum] Command First In-Reply-To: References: Message-ID: <5871C3E8-8B06-4A91-A621-E6F8B2FD0EC8@mykolab.com> First( [30..39], IsPrime ); The documentation for First is here http://www.gap-system.org/Manuals/doc/ref/chap21.html#X82801DFA84E11272 Sandeep Murthy s.murthy at mykolab.com > On 25 Mar 2015, at 20:38, Wanderley Tiowann wrote: > > Hi I'm Brazilian and my English is terrible, but I need your help, please. > I need to use the command FIRST to show a prime number between 30 and 39. I > have to do a list of prime number? > > Wanderley - Brasil. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From talbertrj at gmail.com Mon Apr 6 20:44:39 2015 From: talbertrj at gmail.com (Jim Talbert) Date: Mon, 6 Apr 2015 20:44:39 +0100 Subject: [GAP Forum] nested irrationals Message-ID: Hi all, I have ay simple question. I am utilizing GAP in a way that necessitates the construction of explicit matrix representations of group generators. These matrices can in my case depend on things like x^(1/4), e.g. ER(ER(x)). However, the ER command can only deal with rational arguments, so ER(ER(16))=2 works fine, but ER(ER(8)) is problematic. I have looked through the documentation and don't see an obvious way to get around the problem. Can anyone help? JT From Bill.Allombert at math.u-bordeaux.fr Mon Apr 6 21:33:33 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Mon, 6 Apr 2015 22:33:33 +0200 Subject: [GAP Forum] nested irrationals In-Reply-To: References: Message-ID: <20150406203333.GP30087@yellowpig> On Mon, Apr 06, 2015 at 08:44:39PM +0100, Jim Talbert wrote: > Hi all, > > I have ay simple question. I am utilizing GAP in a way that necessitates > the construction of explicit matrix representations of group generators. > These matrices can in my case depend on things like x^(1/4), e.g. > ER(ER(x)). However, the ER command can only deal with rational arguments, > so ER(ER(16))=2 works fine, but ER(ER(8)) is problematic. I have looked > through the documentation and don't see an obvious way to get around the > problem. Can anyone help? ER(ER(8)) is not a cyclotomic number, so it cannot be represented this way. What you can do is to use the monomorphism: GL_n(K(ER(x))) -> GL_(2*n)(K). which replace the coefficient a+b*ER(x) by the matrix [[a,b*x],[b,a]] You will get larger matrices with simpler coefficients. Cheers, Bill. From dr.jerry.swan at gmail.com Tue Apr 14 09:13:41 2015 From: dr.jerry.swan at gmail.com (Jerry Swan) Date: Tue, 14 Apr 2015 09:13:41 +0100 Subject: [GAP Forum] Simple client test for GAP as SCSCP Server Message-ID: Dear forum members, I'm attempting to invoke GAP via the Java library from java.symcomp.org using the examples given in org.symcomp.frameworkDemo. The supplied "Addition" client invokes with: 23 which returns: ComputationState: ERRONEOUS Is this the expected behavior? If so, could someone kindly suggest a simple alternative example on which GAP can be expected to succeed? Best wishes, Jerry. From alexander.konovalov at gmail.com Tue Apr 14 09:19:43 2015 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Tue, 14 Apr 2015 09:19:43 +0100 Subject: [GAP Forum] Simple client test for GAP as SCSCP Server In-Reply-To: References: Message-ID: Dear Jerry, The Java client expects SCSCP server to provide scscp_transient_1.Addition OpenMath symbol, but apparently it doesn't. Look in the SCSCP server configuration file (where you call RunSCSCPserver) to figure out what it provides and try to call one of those. More details later, since I have to leave shortly. Best wishes Alexander On 14 Apr 2015, at 09:13, Jerry Swan wrote: > Dear forum members, > > I'm attempting to invoke GAP via the Java library from java.symcomp.org > using the examples given in org.symcomp.frameworkDemo. > > The supplied "Addition" client invokes with: > name="list"/>23 > > which returns: > > ComputationState: ERRONEOUS > name="addition"/> > > Is this the expected behavior? If so, could someone kindly suggest a simple > alternative example on which GAP can be expected to succeed? > > Best wishes, > > Jerry. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From s.murthy at mykolab.com Wed Apr 15 17:57:52 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Wed, 15 Apr 2015 17:57:52 +0100 Subject: [GAP Forum] GAP In-Reply-To: References: Message-ID: PrintFactorsInt() is the command you want, as described here http://www.gap-system.org/Manuals/doc/ref/chap14.html#X82C989DB84744B36 So PrintFactorsInt(600); displays 2^3*3*5^2 I?m not sure what your other question is exactly. You want to use Fermat?s little theorem to test whether a given integer is a prime? Sandeep Murthy s.murthy at mykolab.com > On 15 Apr 2015, at 16:53, Wanderley Tiowann wrote: > > Hi, > > 1) Thanks for your help. But I need to do more exercises. > I have to do an algorithm to show Little Theorem Fermat. Can you give me one exemple? > > 2) How can I factor 600 in GAP and put it in this way = 2^3*3*5^2? > > From s.murthy at mykolab.com Thu Apr 16 17:35:20 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Thu, 16 Apr 2015 17:35:20 +0100 Subject: [GAP Forum] GAP In-Reply-To: References: <514761EE-8E0F-46D0-A3BC-CC8FE3B384D4@mykolab.com> <5465FAC1-3F31-49DC-A198-F2524AA5E980@mykolab.com> Message-ID: <15CEA725-CBF0-46F6-9FF9-04F510F161FB@mykolab.com> Once you?ve defined the variables a and p you can just do gap> a^p mod p = a mod p; and gap> a^(p-1) mod p = 1; Or you can write a function ModuloExpressions := function(x, y, modulo) return x mod modulo = y mod modulo; end; where x and y are integers, and modulo is the mod you want to use, and then call it using gap> ModuloExpressions(a^p, p, p ); gap> ModuloExpressions(a^(p-1),p,1); Sandeep Murthy s.murthy at mykolab.com > On 16 Apr 2015, at 17:22, Wanderley Tiowann wrote: > > How can I do this on GAP? a^p = a (mod p) or a^(p-1) = 1 (mod p)? > From Bill.Allombert at math.u-bordeaux.fr Thu Apr 16 19:24:22 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Thu, 16 Apr 2015 20:24:22 +0200 Subject: [GAP Forum] GAP In-Reply-To: <15CEA725-CBF0-46F6-9FF9-04F510F161FB@mykolab.com> References: <514761EE-8E0F-46D0-A3BC-CC8FE3B384D4@mykolab.com> <5465FAC1-3F31-49DC-A198-F2524AA5E980@mykolab.com> <15CEA725-CBF0-46F6-9FF9-04F510F161FB@mykolab.com> Message-ID: <20150416182422.GG23188@yellowpig> On Thu, Apr 16, 2015 at 05:35:20PM +0100, Sandeep Murthy wrote: > > Once you?ve defined the variables a and p you can just do > > gap> a^p mod p = a mod p; > > and > > gap> a^(p-1) mod p = 1; I would suggest instead to do something like ZmodnZObj(a,p)^(p-1); instead to avoid computing a^(p-1) as a large integer. gap> ZmodnZObj(2,4294967297)^4294967296; ZmodnZObj( 1, 4294967297 ) gap> time; 0 gap> 2^4294967296 mod 4294967297; 1 gap> time; 2965 Cheers, Bill. From max at quendi.de Thu Apr 16 20:00:23 2015 From: max at quendi.de (Max Horn) Date: Thu, 16 Apr 2015 21:00:23 +0200 Subject: [GAP Forum] GAP In-Reply-To: <20150416182422.GG23188@yellowpig> References: <514761EE-8E0F-46D0-A3BC-CC8FE3B384D4@mykolab.com> <5465FAC1-3F31-49DC-A198-F2524AA5E980@mykolab.com> <15CEA725-CBF0-46F6-9FF9-04F510F161FB@mykolab.com> <20150416182422.GG23188@yellowpig> Message-ID: <8058C1E4-D2DB-4EF3-841F-25C9BBDB60A2@quendi.de> > Am 16.04.2015 um 20:24 schrieb Bill Allombert : > >> On Thu, Apr 16, 2015 at 05:35:20PM +0100, Sandeep Murthy wrote: >> >> Once you?ve defined the variables a and p you can just do >> >> gap> a^p mod p = a mod p; >> >> and >> >> gap> a^(p-1) mod p = 1; > > I would suggest instead to do something like > ZmodnZObj(a,p)^(p-1); > instead to avoid computing a^(p-1) as a large integer. > > gap> ZmodnZObj(2,4294967297)^4294967296; > ZmodnZObj( 1, 4294967297 ) > gap> time; > 0 > gap> 2^4294967296 mod 4294967297; > 1 > gap> time; > 2965 Or use PowerMod resp. PowerModInt. > > Cheers, > Bill. > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From luca.giuzzi at gmail.com Thu Apr 16 23:19:16 2015 From: luca.giuzzi at gmail.com (Luca Giuzzi) Date: Fri, 17 Apr 2015 00:19:16 +0200 Subject: [GAP Forum] Lexical closures Message-ID: Dear Forum, is there a canonical way in gap to generate lexical closures for functions? The best I could come up with is something like MakeF:=function () local q; q := ValueGlobal( "q" ); return function(x) return x+q; end; end; which captures the value of the global value of q, so that q:=10; f0:=MakeF(); q:=20 f1:=MakeF(); gives f0(0)=10 and f1(0)=20 and it "sort of works" (and, at least for the cases I have in mind it might be enough) Still, I am asking if there might a better (or canonical) way to implement this? Regards, luca From steve.linton at st-andrews.ac.uk Thu Apr 16 23:26:58 2015 From: steve.linton at st-andrews.ac.uk (Stephen Linton) Date: Thu, 16 Apr 2015 23:26:58 +0100 Subject: [GAP Forum] Lexical closures In-Reply-To: References: Message-ID: This seems rather complicated compared to MakeF2 := function(q) return x-> x+q: end; Then you can use f0 := MakeF2(10); f1 := MakeF2(20); Does this do what you need? Steve On 16 Apr 2015, at 23:19, Luca Giuzzi wrote: > > Dear Forum, > is there a canonical way in gap to generate lexical closures for functions? > The best I could come up with is something like > > MakeF:=function () > local q; > q := ValueGlobal( "q" ); > return function(x) > return x+q; > end; > end; > > which captures the value of the global value of q, so that > q:=10; f0:=MakeF(); > q:=20 f1:=MakeF(); > gives > f0(0)=10 and f1(0)=20 > and it "sort of works" (and, at least for the cases I have in mind it > might be enough) > Still, I am asking if there might a better (or canonical) way to implement this? > > Regards, > luca > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From steve.linton at st-andrews.ac.uk Thu Apr 16 23:28:08 2015 From: steve.linton at st-andrews.ac.uk (Stephen Linton) Date: Thu, 16 Apr 2015 23:28:08 +0100 Subject: [GAP Forum] Lexical closures In-Reply-To: References: Message-ID: <6BD2F5E1-70D0-4085-8136-7E2793AC3812@st-andrews.ac.uk> Actually that can be shortened to MakeF2 := q->x->x+q; > On 16 Apr 2015, at 23:26, Stephen Linton wrote: > > This seems rather complicated compared to > > MakeF2 := function(q) > return x-> x+q: > end; > > Then you can use > > f0 := MakeF2(10); > f1 := MakeF2(20); > > Does this do what you need? > > Steve > > On 16 Apr 2015, at 23:19, Luca Giuzzi wrote: >> >> Dear Forum, >> is there a canonical way in gap to generate lexical closures for functions? >> The best I could come up with is something like >> >> MakeF:=function () >> local q; >> q := ValueGlobal( "q" ); >> return function(x) >> return x+q; >> end; >> end; >> >> which captures the value of the global value of q, so that >> q:=10; f0:=MakeF(); >> q:=20 f1:=MakeF(); >> gives >> f0(0)=10 and f1(0)=20 >> and it "sort of works" (and, at least for the cases I have in mind it >> might be enough) >> Still, I am asking if there might a better (or canonical) way to implement this? >> >> Regards, >> luca >> >> _______________________________________________ >> 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 kashyap at iiserb.ac.in Sun Apr 19 04:30:03 2015 From: kashyap at iiserb.ac.in (Dr. Kashyap Rajeevsarathy) Date: Sun, 19 Apr 2015 09:00:03 +0530 Subject: [GAP Forum] Problems with Float Package Message-ID: Dear Forum, I have been having some issues computing the roots of polynomials using "RootsFloat" function of the "Float" package. Please consider the following example: gap> a := last; [ [ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 ], [ 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 ], [ 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 ], [ 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 ], [ 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ], [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1 ], [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1 ], [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0 ], [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ], [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1 ], [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 ] ] gap> a = TransposedMat(a); true gap> LoadPackage("float"); Loading FLOAT 0.6.2 ... true gap> SetFloats(MPFR); gap> pol := CharacteristicPolynomial(a); x_1^20-40*x_1^18+610*x_1^16-8*x_1^15-4640*x_1^14+40*x_1^13+19475*x_1^12-560*x_1^11-46380*x_1^10+5560*x_1^9+61610*x_1\ ^8-19600*x_1^7-42220*x_1^6+25784*x_1^5+8265*x_1^4-11560*x_1^3+3700*x_1^2-400*x_1 gap> coeff := CoefficientsOfUnivariatePolynomial(pol); [ 0, -400, 3700, -11560, 8265, 25784, -42220, -19600, 61610, 5560, -46380, -560, 19475, 40, -4640, -8, 610, 0, -40, 0, 1 ] gap> RootsFloat(coeff*1.0); [ .0e0, .381966e0, .381966e0, .618034e0+.218005e-7?, .618034e0-.218005e-7?, .618034e0+.807401e-7?, .618034e0-.807401e-7?, -.138197e1, .2e1, -.138197e1, -.161803e1, -.161803e1-.141802e-8?, .2e1, -.161803e1+.136277e-8?, -.161803e1, .261803e1, .261803e1, -.361803e1, -.361803e1, .4e1 ] -- Kashyap Rajeevsarathy Assistant Professor, Indian Institute of Science Education and Research (IISER) Bhopal, Indore By-pass Road, Bhauri, Bhopal - 462066, Madhya Pradesh, India. Phone: +91-755-669-2364 Website: https://home.iiserb.ac.in/~kashyap From kashyap at iiserb.ac.in Sun Apr 19 04:36:11 2015 From: kashyap at iiserb.ac.in (Dr. Kashyap Rajeevsarathy) Date: Sun, 19 Apr 2015 09:06:11 +0530 Subject: [GAP Forum] Issue with Float package Message-ID: Dear Forum, Kindly disregard my earlier email: I have been having some issues computing the roots of polynomials using "RootsFloat" function of the "Float" package. Please consider the following example: gap> a := last; [ [ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 ], [ 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 ], [ 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 ], [ 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 ], [ 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ], [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1 ], [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1 ], [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0 ], [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ], [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1 ], [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 ] ] gap> a = TransposedMat(a); true gap> LoadPackage("float"); Loading FLOAT 0.6.2 ... true gap> SetFloats(MPFR); gap> pol := CharacteristicPolynomial(a); x_1^20-40*x_1^18+610*x_1^16-8*x_1^15-4640*x_1^14+40*x_1^13+ 19475*x_1^12-560*x_1^11-46380*x_1^10+5560*x_1^9+61610*x_1 ^8-19600*x_1^7-42220*x_1^6+25784*x_1^5+8265*x_1^4-11560* x_1^3+3700*x_1^2-400*x_1 gap> coeff := CoefficientsOfUnivariatePolynomial(pol); [ 0, -400, 3700, -11560, 8265, 25784, -42220, -19600, 61610, 5560, -46380, -560, 19475, 40, -4640, -8, 610, 0, -40, 0, 1 ] gap> RootsFloat(coeff*1.0); [ .0e0, .381966e0, .381966e0, .618034e0+.218005e-7?, .618034e0-.218005e-7?, .618034e0+.807401e-7?, .618034e0-.807401e-7?, -.138197e1, .2e1, -.138197e1, -.161803e1, -.161803e1-.141802e-8?, .2e1, -.161803e1+.136277e-8?, -.161803e1, .261803e1, .261803e1, -.361803e1, -.361803e1, .4e1 ] Note that that the RootsFloat function is showing complex roots (eigenvalues) for the characteristic polynomial of a real symmetric matrix. It would greatly help of you could me what's going wrong here. Best regards, Kashyap -- Kashyap Rajeevsarathy Assistant Professor, Indian Institute of Science Education and Research (IISER) Bhopal, Indore By-pass Road, Bhauri, Bhopal - 462066, Madhya Pradesh, India. Phone: +91-755-669-2364 Website: https://home.iiserb.ac.in/~kashyap From lovepgroups at gmail.com Sun Apr 19 06:10:09 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Sun, 19 Apr 2015 05:10:09 +0000 Subject: [GAP Forum] central automorphism Message-ID: how many central automorphism does D-16 have? From lovepgroups at gmail.com Sun Apr 19 06:12:44 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Sun, 19 Apr 2015 05:12:44 +0000 Subject: [GAP Forum] Normal Subgroups. Message-ID: How do you get the normal subgroup(s) of say D-16? From lovepgroups at gmail.com Sun Apr 19 11:35:27 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Sun, 19 Apr 2015 10:35:27 +0000 Subject: [GAP Forum] Number of subgroups In-Reply-To: References: Message-ID: how do i get the number of subgroups of D-16? From s.murthy at mykolab.com Sun Apr 19 14:31:11 2015 From: s.murthy at mykolab.com (Sandeep Murthy) Date: Sun, 19 Apr 2015 14:31:11 +0100 Subject: [GAP Forum] Number of subgroups In-Reply-To: References: Message-ID: <3E6E84BB-06C4-40F5-926E-6253C33B6770@mykolab.com> I assume you mean the dihedral group of order 16, so define it: gap> D16 := DihedralGroup( 16 ); and then run the command gap> LatticeSubgroups( D16 ); which should display gap> , 11 classes, 19 subgroups> This displays information about the lattice of subgroups of D16 using the conjugacy relation for subgroups (http://www.gap-system.org/Manuals/doc/ref/chap39.html#X7FA267497CFC0550). The classes are the equivalence classes, 11 in this case, and there are 19 subgroups in total. You cannot access the subgroups from the lattice directly (it is not a list of subgroups), but through the conjugacy classes. To do this you have to call the ConjugacyClassesOfSubgroups( ) function with a given lattice, which gives you a list of the classes, and then flatten that list. So you could do something like: gap> subs := Flat( List( cls, c -> Elements( c ) ) ) ); [ Group([ ]), Group([ f4 ]), Group([ f1 ]), Group([ f1*f3 ]), Group([ f1*f4 ]), Group([ f1*f3*f4 ]), Group([ f1*f2 ]), Group([ f1*f2*f3 ]), Group([ f1*f2*f4 ]), Group([ f1*f2*f3*f4 ]), Group([ f4, f3 ]), Group([ f4, f1 ]), Group([ f1*f3, f4 ]), Group([ f4, f1*f2 ]), Group([ f1*f2*f3, f4 ]), Group([ f4, f3, f1 ]), Group([ f4, f3, f2 ]), Group([ f4, f3, f1*f2 ]), Group([ f4, f3, f1, f2 ]) ] An alternative to finding the number of subgroups is to load the Sonata package (http://www.gap-system.org/Packages/sonata.html) using gap> LoadPackage( ?Sonata? ); and then run the command gap> Number( Subgroups( D16 ) ); which should display 19. Sandeep > On 19 Apr 2015, at 11:35, abdulhakeem alayiwola wrote: > > how do i get the number of subgroups of D-16? > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum Sandeep Murthy s.murthy at mykolab.com From sandeep at sandeepmurthy.is Sun Apr 19 15:08:32 2015 From: sandeep at sandeepmurthy.is (Murthy Sandeep) Date: Sun, 19 Apr 2015 15:08:32 +0100 Subject: [GAP Forum] Fwd: Number of subgroups References: <5B089504-FE09-40FD-BEBC-B82BF7CA50A0@sandeepmurthy.is> Message-ID: <82CB6E4C-4E18-4FE5-A421-33A81959ABDF@sandeepmurthy.is> To find the (number of) normal subgroups of a group G you use the Filtered command to filter the list of subgroups of G which are normal in G. So if G = D16 is as defined and subs is the list of subgroups of G as defined in the previous post then the command gap> Filtered( subs, H -> IsNormal( D16, H ) ); will give you the normal subgroups of D16: [ Group([ ]), Group([ f4 ]), Group([ f4, f3 ]), Group([ f4, f3, f1 ]), Group([ f4, f3, f2 ]), Group([ f4, f3, f1*f2 ]), Group([ f4, f3, f1, f2 ]) ] Sandeep > Begin forwarded message: > > From: Murthy Sandeep > Subject: Re: [GAP Forum] Number of subgroups > Date: 19 April 2015 14:23:40 BST > To: abdulhakeem alayiwola > Cc: GAP Forum > > I assume you mean the dihedral group of order 16, so define it: > > gap> D16 := DihedralGroup( 16 ); > > > and then run the command > > gap> LatticeSubgroups( D16 ); > > which should display > > gap> , 11 classes, 19 subgroups> > > This displays information about the lattice of subgroups of D16 using the conjugacy relation for > subgroups (http://www.gap-system.org/Manuals/doc/ref/chap39.html#X7FA267497CFC0550). > The classes are the equivalence classes, 11 in this case, and there are 19 subgroups in total. > > You cannot access the subgroups from the lattice directly (it is not a list of subgroups), but through > the conjugacy classes. To do this you have to call the ConjugacyClassesOfSubgroups( ) > function with a given lattice, which gives you a list of the classes, and then flatten that list. So you > could do something like: > > gap> subs := Flat( List( cls, c -> Elements( c ) ) ) ); > [ Group([ ]), Group([ f4 ]), Group([ f1 ]), Group([ f1*f3 ]), Group([ f1*f4 ]), Group([ f1*f3*f4 ]), Group([ f1*f2 ]), > Group([ f1*f2*f3 ]), Group([ f1*f2*f4 ]), Group([ f1*f2*f3*f4 ]), Group([ f4, f3 ]), Group([ f4, f1 ]), > Group([ f1*f3, f4 ]), Group([ f4, f1*f2 ]), Group([ f1*f2*f3, f4 ]), Group([ f4, f3, f1 ]), Group([ f4, f3, f2 ]), > Group([ f4, f3, f1*f2 ]), Group([ f4, f3, f1, f2 ]) ] > > An alternative to finding the number of subgroups is to load the Sonata package > (http://www.gap-system.org/Packages/sonata.html) using > > gap> LoadPackage( ?Sonata? ); > > and then run the command > > gap> Number( Subgroups( D16 ) ); > > which should display 19. > > Sandeep > > >> On 19 Apr 2015, at 11:35, abdulhakeem alayiwola wrote: >> >> how do i get the number of subgroups of D-16? >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum > From sandeep at sandeepmurthy.is Sun Apr 19 17:17:43 2015 From: sandeep at sandeepmurthy.is (Murthy Sandeep) Date: Sun, 19 Apr 2015 17:17:43 +0100 Subject: [GAP Forum] Fwd: Number of subgroups References: <82CB6E4C-4E18-4FE5-A421-33A81959ABDF@sandeepmurthy.is> Message-ID: > On 19 Apr 2015, at 06:10, abdulhakeem alayiwola wrote: > > how many central automorphism does D-16 have? > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum The command gap> Order( Centre( AutomorphismGroup( DihedralGroup( 16 ) ) ) ); 2 Sandeep > Begin forwarded message: > > From: Murthy Sandeep > Subject: Fwd: [GAP Forum] Number of subgroups > Date: 19 April 2015 15:08:32 BST > To: abdulhakeem alayiwola > Cc: GAP Forum > > To find the (number of) normal subgroups of a group G you use > the Filtered command to filter the list of subgroups of G which are > normal in G. So if G = D16 is as defined and subs is the list of > subgroups of G as defined in the previous post then the command > > gap> Filtered( subs, H -> IsNormal( D16, H ) ); > > will give you the normal subgroups of D16: > > [ Group([ ]), Group([ f4 ]), Group([ f4, f3 ]), Group([ f4, f3, f1 ]), Group([ f4, f3, f2 ]), Group([ f4, f3, f1*f2 ]), > Group([ f4, f3, f1, f2 ]) ] > > Sandeep > > >> Begin forwarded message: >> >> From: Murthy Sandeep >> Subject: Re: [GAP Forum] Number of subgroups >> Date: 19 April 2015 14:23:40 BST >> To: abdulhakeem alayiwola >> Cc: GAP Forum >> >> I assume you mean the dihedral group of order 16, so define it: >> >> gap> D16 := DihedralGroup( 16 ); >> >> >> and then run the command >> >> gap> LatticeSubgroups( D16 ); >> >> which should display >> >> gap> , 11 classes, 19 subgroups> >> >> This displays information about the lattice of subgroups of D16 using the conjugacy relation for >> subgroups (http://www.gap-system.org/Manuals/doc/ref/chap39.html#X7FA267497CFC0550). >> The classes are the equivalence classes, 11 in this case, and there are 19 subgroups in total. >> >> You cannot access the subgroups from the lattice directly (it is not a list of subgroups), but through >> the conjugacy classes. To do this you have to call the ConjugacyClassesOfSubgroups( ) >> function with a given lattice, which gives you a list of the classes, and then flatten that list. So you >> could do something like: >> >> gap> subs := Flat( List( cls, c -> Elements( c ) ) ) ); >> [ Group([ ]), Group([ f4 ]), Group([ f1 ]), Group([ f1*f3 ]), Group([ f1*f4 ]), Group([ f1*f3*f4 ]), Group([ f1*f2 ]), >> Group([ f1*f2*f3 ]), Group([ f1*f2*f4 ]), Group([ f1*f2*f3*f4 ]), Group([ f4, f3 ]), Group([ f4, f1 ]), >> Group([ f1*f3, f4 ]), Group([ f4, f1*f2 ]), Group([ f1*f2*f3, f4 ]), Group([ f4, f3, f1 ]), Group([ f4, f3, f2 ]), >> Group([ f4, f3, f1*f2 ]), Group([ f4, f3, f1, f2 ]) ] >> >> An alternative to finding the number of subgroups is to load the Sonata package >> (http://www.gap-system.org/Packages/sonata.html) using >> >> gap> LoadPackage( ?Sonata? ); >> >> and then run the command >> >> gap> Number( Subgroups( D16 ) ); >> >> which should display 19. >> >> Sandeep >> >> >>> On 19 Apr 2015, at 11:35, abdulhakeem alayiwola wrote: >>> >>> how do i get the number of subgroups of D-16? >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >> > From gryakj at gmail.com Sun Apr 19 17:25:48 2015 From: gryakj at gmail.com (Jonathan Gryak) Date: Sun, 19 Apr 2015 12:25:48 -0400 Subject: [GAP Forum] Communicating with GAP in C++ Message-ID: Hello, According to the FAQ: > What you can do is to run GAP in a child process and communicate with it > using pipes, pseudo-ttys, UNIX FIFOs or some similar device. We have done > this successfully in a number of projects, and you can contact the support > list for more detailed advice if you want to go down this route. Unfortunately I can't seem to find any documentation or post in the Forum or elsewhere which shows this process. Any suggestions? Thanks in advance. Jonathan From steve.linton at st-andrews.ac.uk Sun Apr 19 17:41:13 2015 From: steve.linton at st-andrews.ac.uk (Stephen Linton) Date: Sun, 19 Apr 2015 17:41:13 +0100 Subject: [GAP Forum] Issue with Float package In-Reply-To: References: Message-ID: <0778DFA2-2090-48F1-BB6B-5E79F3E9F9BC@st-andrews.ac.uk> I don?t know anything about the internals of the float package. For that you will have to contact it?s maintainer Laurent Bartholdi. See the package documentation for details. I do observe though, that the imaginary parts of the roots are very small ? less that 10^-7, so I imagine that the ?correct? roots are very close together and rounding error is then shifting them off the real line. You could try setting a higher floating point precision. Steve > On 19 Apr 2015, at 04:36, Dr. Kashyap Rajeevsarathy wrote: > > Dear Forum, > > > Kindly disregard my earlier email: > > > I have been having some issues computing the roots of polynomials using > "RootsFloat" function of the "Float" package. Please consider the following > example: > > gap> a := last; > [ [ 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 ], > [ 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 ], > > [ 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 ], > [ 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 ], > [ 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 ], > [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], > [ 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ], > [ 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ], > [ 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 ], > [ 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 ], > [ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0 ], > [ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0 ], > [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0 ], > [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0 ], > [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1 ], > [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1 ], > [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0 ], > [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ], > [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1 ], > [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 ] ] > > gap> a = TransposedMat(a); > true > gap> LoadPackage("float"); > Loading FLOAT 0.6.2 ... > true > gap> SetFloats(MPFR); > gap> pol := CharacteristicPolynomial(a); > x_1^20-40*x_1^18+610*x_1^16-8*x_1^15-4640*x_1^14+40*x_1^13+ > 19475*x_1^12-560*x_1^11-46380*x_1^10+5560*x_1^9+61610*x_1 > ^8-19600*x_1^7-42220*x_1^6+25784*x_1^5+8265*x_1^4-11560* > x_1^3+3700*x_1^2-400*x_1 > gap> coeff := CoefficientsOfUnivariatePolynomial(pol); > [ 0, -400, 3700, -11560, 8265, 25784, -42220, -19600, 61610, 5560, -46380, > -560, 19475, 40, -4640, -8, 610, 0, -40, 0, 1 ] > gap> RootsFloat(coeff*1.0); > [ .0e0, .381966e0, .381966e0, .618034e0+.218005e-7?, .618034e0-.218005e-7?, > .618034e0+.807401e-7?, .618034e0-.807401e-7?, -.138197e1, .2e1, -.138197e1, > -.161803e1, -.161803e1-.141802e-8?, .2e1, -.161803e1+.136277e-8?, > -.161803e1, .261803e1, .261803e1, -.361803e1, -.361803e1, .4e1 ] > Note that that the RootsFloat function is showing complex roots > (eigenvalues) for the characteristic polynomial of a real symmetric matrix. > > It would greatly help of you could me what's going wrong here. > > Best regards, > Kashyap > > > -- > Kashyap Rajeevsarathy > Assistant Professor, > Indian Institute of Science Education and Research (IISER) Bhopal, > Indore By-pass Road, > Bhauri, Bhopal - 462066, > Madhya Pradesh, India. > Phone: +91-755-669-2364 > Website: https://home.iiserb.ac.in/~kashyap > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From graham.ellis at nuigalway.ie Sun Apr 19 21:25:53 2015 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Sun, 19 Apr 2015 20:25:53 +0000 Subject: [GAP Forum] 1-year positions at Galway Message-ID: The School of Maths at NUI Galway, Ireland will soon be advertizing two 12-month lectureships starting in September 2015. The official advert will be published in a few weeks. The teaching load will allow for significant research activity. Preference is likely to be given to candidates whose research interests intersect with current pure maths research in the School. See http://hamilton.nuigalway.ie/DeBrunCentre/people.shtml . Informal enquiries can be made to me: graham.ellis at nuigalway.ie, tel +353 91 493011 . Graham School of Mathematics, Statistics & Applied Mathematics National University of Ireland, Galway University Road, Galway Ireland http://hamilton.nuigalway.ie tel: 091 493011 From dmitrii.pasechnik at cs.ox.ac.uk Sun Apr 19 23:13:05 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dmitrii Pasechnik) Date: Sun, 19 Apr 2015 23:13:05 +0100 Subject: [GAP Forum] Communicating with GAP in C++ In-Reply-To: References: Message-ID: <20150419221305.GA23039@cs.ox.ac.uk> On Sun, Apr 19, 2015 at 12:25:48PM -0400, Jonathan Gryak wrote: > According to the FAQ: > > > What you can do is to run GAP in a child process and communicate with it > > using pipes, pseudo-ttys, UNIX FIFOs or some similar device. We have done > > this successfully in a number of projects, and you can contact the support > > list for more detailed advice if you want to go down this route. > > > Unfortunately I can't seem to find any documentation or post in the Forum > or elsewhere which shows this process. Any suggestions? what you can do if you need to call GAP from C/C++ is to use libGAP https://bitbucket.org/vbraun/libgap (this is going to be faster than pipes/pttys/etc...) HTH, Dmitrii From gryakj at gmail.com Mon Apr 20 00:07:01 2015 From: gryakj at gmail.com (Jonathan Gryak) Date: Sun, 19 Apr 2015 19:07:01 -0400 Subject: [GAP Forum] Communicating with GAP in C++ In-Reply-To: <20150419221305.GA23039@cs.ox.ac.uk> References: <20150419221305.GA23039@cs.ox.ac.uk> Message-ID: Hi Dmitrii, Unfortunately, it doesn't seem clear to me how to actually use libGAP in C++. I was hoping that someone would be able to provide some guidance on how to do so. On Sun, Apr 19, 2015 at 6:13 PM, Dmitrii Pasechnik < dmitrii.pasechnik at cs.ox.ac.uk> wrote: > On Sun, Apr 19, 2015 at 12:25:48PM -0400, Jonathan Gryak wrote: > > According to the FAQ: > > > > > What you can do is to run GAP in a child process and communicate with > it > > > using pipes, pseudo-ttys, UNIX FIFOs or some similar device. We have > done > > > this successfully in a number of projects, and you can contact the > support > > > list for more detailed advice if you want to go down this route. > > > > > > Unfortunately I can't seem to find any documentation or post in the Forum > > or elsewhere which shows this process. Any suggestions? > > what you can do if you need to call GAP from C/C++ is to use libGAP > https://bitbucket.org/vbraun/libgap > > (this is going to be faster than pipes/pttys/etc...) > > HTH, > Dmitrii > From gordon.royle at uwa.edu.au Mon Apr 20 05:06:39 2015 From: gordon.royle at uwa.edu.au (Gordon Royle) Date: Mon, 20 Apr 2015 12:06:39 +0800 Subject: [GAP Forum] Issue with Float package In-Reply-To: <0778DFA2-2090-48F1-BB6B-5E79F3E9F9BC@st-andrews.ac.uk> References: <0778DFA2-2090-48F1-BB6B-5E79F3E9F9BC@st-andrews.ac.uk> Message-ID: <52BD52F2-3ED6-40C3-AA87-1BE02E31D5AA@uwa.edu.au> On 20 Apr 2015, at 12:41 am, Stephen Linton > wrote: I do observe though, that the imaginary parts of the roots are very small ? less that 10^-7, so I imagine that the ?correct? roots are very close together and rounding error is then shifting them off the real line. Steve is right, and the given roots are correct up to the limitations of fixed precision floating point arithmetic, so this does not imply an error in the Float package. Ultimately, the problem is that fixed precision floating point arithmetic is not suitable to compute roots except for low-degree polynomials with small coefficients. This is because finding the complex roots of polynomials, especially if there are multiple roots, is quite sensitive to rounding errors. Although polynomial roots vary continuously with the coefficients, it is easy to construct examples with only modest sized coefficients for which normal floating point arithmetic will produce totally incorrect answers. Increasing the precision will improve things, of course, but it is not really a satisfactory approach, because you?re only specifying the precision of each individual operation, while what you want to know is the precision of the final results (i.e the roots themselves). Fortunately, there are freely-avaiable program that find roots to guaranteed OUTPUT precision (barring bugs) by bounding the total accumulated error during the computation, which is a much more robust approach. Two such programs that I have used with polynomials of degree as high as 1000 are the function ?polroots? in Pari/GP, and the stand alone program ?unisolve? in the package MPSolve. Both of these will work much faster if they are told in advance that the polynomials have only real roots (or that you are only interested in real roots). There are also a few things you can do before even sending it to the root finder - factorise the polynomial, and removing repeated roots will all help in reducing the size of the coefficients. For your particular polynomial, we see that x^20-40*x^18+610*x^16-8*x^15-4640*x^14+40*x^13+ 19475*x^12-560*x^11-46380*x^10+5560*x^9+61610*x ^8-19600*x^7-42220*x^6+25784*x^5+8265*x^4-11560* x^3+3700*x^2-400*x factorises (over the integers) to give us (-4 + x) (-2 + x)^2 x (1 - 3 x + x^2)^2 (-1 + x + x^2)^4 (5 + 5 x + x^2)^2 from which the roots are easily deduced by hand. Hope this helps Gordon From dmitrii.pasechnik at cs.ox.ac.uk Mon Apr 20 06:23:14 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dmitrii Pasechnik) Date: Mon, 20 Apr 2015 06:23:14 +0100 Subject: [GAP Forum] Communicating with GAP in C++ In-Reply-To: References: <20150419221305.GA23039@cs.ox.ac.uk> Message-ID: <20150420052314.GA28085@cs.ox.ac.uk> On Sun, Apr 19, 2015 at 07:07:01PM -0400, Jonathan Gryak wrote: > Hi Dmitrii, > Unfortunately, it doesn't seem clear to me how to actually use libGAP in > C++. I was hoping that someone would be able to provide some guidance on > how to do so. in https://bitbucket.org/vbraun/libgap in the directory test/ there is a complete working example of a C program, in the file test.c, calling libGAP. Hope this helps, Dmitrii From caj21 at st-andrews.ac.uk Mon Apr 20 09:18:49 2015 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Mon, 20 Apr 2015 08:18:49 +0000 Subject: [GAP Forum] Communicating with GAP in C++ In-Reply-To: References: Message-ID: There are a number of options available to you, of varying levels of quality, efficiency, and ease of use. The pipe/fifo option is not really GAP-specific, you can make a named FIFO and then read and write it from most programs, including GAP. Go and read a general guide on named pipes. You could use this option with the the json package ( https://github.com/gap-system/json ), to give you a well-formed data structure to send / receive. Another alternative is SCSCP, which sends XML over network sockets. I have used this, it does require using an XML parser, which is fairly heavy duty, and is a little slow (this would only matter if you are sending many very small requests, it is only the communication itself which is slow). I have an example library for using SCSCP from C++ here: https://bitbucket.org/ChrisJefferson/miniscscp This library is very minimal, but will hopefully give you guidance on how to make SCSCP work. The final option, which is by far the hardest (but I mention it as an option) is to integrate your C++ code as a GAP kernel extension. If you want more details about how to do this I'm happy to provide them, but I warn you it is much harder than the other options! Chris On 19/04/2015 17:25, "Jonathan Gryak" wrote: >Hello, >According to the FAQ: > >> What you can do is to run GAP in a child process and communicate with it >> using pipes, pseudo-ttys, UNIX FIFOs or some similar device. We have >>done >> this successfully in a number of projects, and you can contact the >>support >> list for more detailed advice if you want to go down this route. > > >Unfortunately I can't seem to find any documentation or post in the Forum >or elsewhere which shows this process. Any suggestions? > >Thanks in advance. >Jonathan >_______________________________________________ >Forum mailing list >Forum at mail.gap-system.org >http://mail.gap-system.org/mailman/listinfo/forum From lovepgroups at gmail.com Mon Apr 20 11:10:32 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Mon, 20 Apr 2015 10:10:32 +0000 Subject: [GAP Forum] what does Group([ f1 ]), Group ([ f2 ]), mean. Message-ID: when Gap list groups as shown below what does f1, f2, f3 and the rest stand for... gap> StructureDescription(A); "C2 x D8" You can also list the automorphisms explicitly: gap> AsList(A); [ [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f4, f2 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2*f3*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f4, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1, f2*f3*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1*f3, f2 ], [ f1*f3, f2*f4 ] -> [ f1, f2 ], [ f1*f3, f2*f4 ] -> [ f1*f4, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1*f4, f2*f3*f4 ], [ f1*f3, f2*f4 ] -> [ f1, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f3*f4 ] ] From sandeep at sandeepmurthy.is Mon Apr 20 11:24:22 2015 From: sandeep at sandeepmurthy.is (Murthy Sandeep) Date: Mon, 20 Apr 2015 11:24:22 +0100 Subject: [GAP Forum] what does Group([ f1 ]), Group ([ f2 ]), mean. In-Reply-To: References: Message-ID: f1, f2, f3, f4 are labels for the generators of D16: gap> GeneratorsOfGroup( DihedralGroup( 16 ) ); [ f1, f2, f3, f4 ] and the generators of Aut( D16) are described in terms of these: gap> GeneratorsOfGroup( AutomorphismGroup( DihedralGroup( 16 ) ) ); [ Pcgs([ f1, f2, f3, f4 ]) -> [ f1*f2, f2, f3, f4 ], Pcgs([ f1, f2, f3, f4 ]) -> [ f1*f3*f4, f2, f3, f4 ], Pcgs([ f1, f2, f3, f4 ]) -> [ f1, f2*f3*f4, f3*f4, f4 ], Pcgs([ f1, f2, f3, f4 ]) -> [ f1*f4, f2, f3, f4 ], Pcgs([ f1, f2, f3, f4 ]) -> [ f1, f2*f4, f3, f4 ] ] If x1,?,x_n are elements of a group G then Group( [x1,?,x_n] ) is the subgroup generated by these elements. Sandeep > On 20 Apr 2015, at 11:10, abdulhakeem alayiwola wrote: > > when Gap list groups as shown below what does f1, f2, f3 and the rest stand > for... > gap> StructureDescription(A); > "C2 x D8" > > You can also list the automorphisms explicitly: > > gap> AsList(A); > [ [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1, f2*f4 ], > [ f1*f3, f2*f4 ] -> [ f1*f4, f2 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2 ], > [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2*f3*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f4, > f2*f3 ], > [ f1*f3, f2*f4 ] -> [ f1, f2*f3*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f3 > ], > [ f1*f3, f2*f4 ] -> [ f1*f3, f2 ], [ f1*f3, f2*f4 ] -> [ f1, f2 ], > [ f1*f3, f2*f4 ] -> [ f1*f4, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, > f2*f4 ], > [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1*f4, > f2*f3*f4 ], > [ f1*f3, f2*f4 ] -> [ f1, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f3*f4 > ] ] > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From sandeep at sandeepmurthy.is Mon Apr 20 12:04:23 2015 From: sandeep at sandeepmurthy.is (Murthy Sandeep) Date: Mon, 20 Apr 2015 12:04:23 +0100 Subject: [GAP Forum] what does Group([ f1 ]), Group ([ f2 ]), mean. In-Reply-To: <7FC4B96D-1190-41BC-BA01-81C3C7F312B3@gmail.com> References: <7FC4B96D-1190-41BC-BA01-81C3C7F312B3@gmail.com> Message-ID: <6132F6D7-A4CB-4BD2-A878-142983D0D087@sandeepmurthy.is> OK, if A was the product of D8 and C2 (i.e. if A := DirectProduct( DihedralGroup( 8 ), CyclicGroup( 2 ) )) then the output of AsList( A ); is gap> AsList( A ); [ of ..., f1, f2, f3, f4, f1*f2, f1*f3, f1*f4, f2*f3, f2*f4, f3*f4, f1*f2*f3, f1*f2*f4, f1*f3*f4, f2*f3*f4, f1*f2*f3*f4 ] which is not that given in the earlier message, which appear to be maps. Sandeep > On 20 Apr 2015, at 11:52, Mike Newman wrote: > > Hi, > > The group A is C2 x D8 not D16. > > Regards, > > Mike Newman > > > > > > > On 20/04/2015, at 8:24 PM, Murthy Sandeep wrote: > >> f1, f2, f3, f4 are labels for the generators of D16: >> >> gap> GeneratorsOfGroup( DihedralGroup( 16 ) ); >> [ f1, f2, f3, f4 ] >> >> and the generators of Aut( D16) are described in >> terms of these: >> >> gap> GeneratorsOfGroup( AutomorphismGroup( DihedralGroup( 16 ) ) ); >> [ Pcgs([ f1, f2, f3, f4 ]) -> [ f1*f2, f2, f3, f4 ], Pcgs([ f1, f2, f3, f4 ]) -> [ f1*f3*f4, f2, f3, f4 ], >> Pcgs([ f1, f2, f3, f4 ]) -> [ f1, f2*f3*f4, f3*f4, f4 ], Pcgs([ f1, f2, f3, f4 ]) -> [ f1*f4, f2, f3, f4 ], >> Pcgs([ f1, f2, f3, f4 ]) -> [ f1, f2*f4, f3, f4 ] ] >> >> If x1,?,x_n are elements of a group G then Group( [x1,?,x_n] ) is the subgroup generated >> by these elements. >> >> Sandeep >> >>> On 20 Apr 2015, at 11:10, abdulhakeem alayiwola wrote: >>> >>> when Gap list groups as shown below what does f1, f2, f3 and the rest stand >>> for... >>> gap> StructureDescription(A); >>> "C2 x D8" >>> >>> You can also list the automorphisms explicitly: >>> >>> gap> AsList(A); >>> [ [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1, f2*f4 ], >>> [ f1*f3, f2*f4 ] -> [ f1*f4, f2 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2 ], >>> [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2*f3*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f4, >>> f2*f3 ], >>> [ f1*f3, f2*f4 ] -> [ f1, f2*f3*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f3 >>> ], >>> [ f1*f3, f2*f4 ] -> [ f1*f3, f2 ], [ f1*f3, f2*f4 ] -> [ f1, f2 ], >>> [ f1*f3, f2*f4 ] -> [ f1*f4, f2*f4 ], [ f1*f3, f2*f4 ] -> [ f1*f3*f4, >>> f2*f4 ], >>> [ f1*f3, f2*f4 ] -> [ f1*f3*f4, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1*f4, >>> f2*f3*f4 ], >>> [ f1*f3, f2*f4 ] -> [ f1, f2*f3 ], [ f1*f3, f2*f4 ] -> [ f1*f3, f2*f3*f4 >>> ] ] >>> _______________________________________________ >>> 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 lovepgroups at gmail.com Mon Apr 20 14:44:21 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Mon, 20 Apr 2015 13:44:21 +0000 Subject: [GAP Forum] WHY ARE GROUPS REPEATED ? Message-ID: I got structure description of all Subgroups of A:=DihedralGroup(8); as gap> List(A, StructureDescription); [ "1" ,"C2", "C2","C2","C2","C2","C2?C2","C4","C2?C2","D8" ] but i see that "C2" is repeated five times and "C2?C2" repeated twice. I need explanation on the above. Thanks. From dmitrii.pasechnik at cs.ox.ac.uk Mon Apr 20 14:57:41 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dmitrii Pasechnik) Date: Mon, 20 Apr 2015 14:57:41 +0100 Subject: [GAP Forum] WHY ARE GROUPS REPEATED ? In-Reply-To: References: Message-ID: <20150420135741.GA32498@cs.ox.ac.uk> On Mon, Apr 20, 2015 at 01:44:21PM +0000, abdulhakeem alayiwola wrote: > I got structure description of all Subgroups of A:=DihedralGroup(8); as > > gap> List(A, StructureDescription); > [ "1" ,"C2", "C2","C2","C2","C2","C2?C2","C4","C2?C2","D8" ] but i see that > "C2" is repeated five times and "C2?C2" repeated twice. I need explanation > on the above. Thanks. A has 5 elements of order 2, and each of them corresponds to a different C2. Similarly with C2xC2... Hope this explains, Dmitrii From nagyg at math.u-szeged.hu Mon Apr 20 17:04:23 2015 From: nagyg at math.u-szeged.hu (Nagy Gabor) Date: Mon, 20 Apr 2015 18:04:23 +0200 Subject: [GAP Forum] Polynomial ring of indeterminates Message-ID: <55352387.2050609@math.u-szeged.hu> Dear Forum, Assume that the indetermines x,y are defined using the command as follows: q:=7; R:=PolynomialRing(GF(q^2),["x","y"]); x:=R.1; y:=R.2; Is it then possible to get back the base ring R from x or y? In need this for the following reason. Let H(u,v) be a fixed polynomial in two variables, say H(u,v)=u^2-v^3+v. I need a function rho which maps the polynomial f(u,v) to the univariate polynomial h(u)=Resultant(H,f,v). Now, I need this WHITOUT knowing the names of the indeterminates of f. So, my program should look like this: rho:=function(f) local indets, basering; basering:=BaseRingOrWhateverCommand(f); indets:=IndeterminatesOfPolynomialRing(basering); return Resultant(f,indets[1]^2-indets[2]^3+indets[2],indets[2]); end; The solution should work also when f depends only on 1 variable, or when f is a constant polynomial. Thanks for your help in advance! Bye, Gabor From stefan at mcs.st-and.ac.uk Mon Apr 20 18:11:03 2015 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Mon, 20 Apr 2015 18:11:03 +0100 (BST) Subject: [GAP Forum] Polynomial ring of indeterminates In-Reply-To: <55352387.2050609@math.u-szeged.hu> References: <55352387.2050609@math.u-szeged.hu> Message-ID: On Mon, April 20, 2015 5:04 pm, Nagy Gabor wrote: > > Assume that the indetermines x,y are defined using the command > as follows: > > q:=7; > R:=PolynomialRing(GF(q^2),["x","y"]); > x:=R.1; y:=R.2; > > Is it then possible to get back the base ring R from x or y? Not from one of the indeterminates -- but from both x and y, together with the coefficient field: gap> PolynomialRing(GF(q^2),[x,y]) = R; true The coefficient field is needed since for every characteristic, there is only one indeterminate -- i.e. gap> Indeterminate(GF(q)) = Indeterminate(GF(q^2)); true Hope this helps, Stefan From hulpke at math.colostate.edu Mon Apr 20 18:42:32 2015 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Mon, 20 Apr 2015 11:42:32 -0600 Subject: [GAP Forum] Polynomial ring of indeterminates In-Reply-To: <55352387.2050609@math.u-szeged.hu> References: <55352387.2050609@math.u-szeged.hu> Message-ID: <01179AB8-1CC9-47EA-92C3-1FB4F7BBD222@math.colostate.edu> Dear Forum, Dear Gabor, > On Apr 20, 2015, at 4/20/15 10:04, Nagy Gabor wrote: > > Dear Forum, > > Assume that the indetermines x,y are defined using the command as follows: > > q:=7; > R:=PolynomialRing(GF(q^2),["x","y"]); > x:=R.1; y:=R.2; > > Is it then possible to get back the base ring R from x or y? Alas this is not possible. The reason for this is that it internally implements a polynomial ring for a particular elements family (i.e. in this case it would be the polynomial ring for the algebraic of a closed field in characteristics 7) in countably many indeterminants. Doing so allows us to perform arithmetic amongst all these polynomials without conversion functions (for example if you introduce a new variable later), however it means that polynomials do not have anything which points back to the ring from whose generators they were created. What you can do however is to get the index number of the variables of a bivariate polynomial F from this polynomial and that way re-create the indeterminates. So your program would be: rho:=function(f) local indets,fam; indets:=OccuringVariableIndices(f); if Length(indets)<2 then Error("polynomial is not bivariate");fi; fam:=CoefficientsFamily(FamilyObj(f)); indets:=List(indets,x->UnivariateLaurentPolynomialByCoefficients( fam,[One(fam)],1,x)); return Resultant(f,indets[1]^2-indets[2]^3+indets[2],indets[2]); end; Regards, Alexander ? 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 nagyg at math.u-szeged.hu Tue Apr 21 16:20:15 2015 From: nagyg at math.u-szeged.hu (Nagy Gabor) Date: Tue, 21 Apr 2015 17:20:15 +0200 Subject: [GAP Forum] Polynomial ring of indeterminates In-Reply-To: <01179AB8-1CC9-47EA-92C3-1FB4F7BBD222@math.colostate.edu> References: <55352387.2050609@math.u-szeged.hu> <01179AB8-1CC9-47EA-92C3-1FB4F7BBD222@math.colostate.edu> Message-ID: <55366AAF.9030208@math.u-szeged.hu> Dear Alexandre, dear Stefan, Thanks for explaining the way GAP works with indeterminates and the ideas behind. It seems that I will have to change my approach into a more GAPish one. :-) Best regards, Gabor On 2015-04-20 19:42, Alexander Hulpke wrote: > Dear Forum, Dear Gabor, > >> On Apr 20, 2015, at 4/20/15 10:04, Nagy Gabor wrote: >> >> Dear Forum, >> >> Assume that the indetermines x,y are defined using the command as follows: >> >> q:=7; >> R:=PolynomialRing(GF(q^2),["x","y"]); >> x:=R.1; y:=R.2; >> >> Is it then possible to get back the base ring R from x or y? > > Alas this is not possible. The reason for this is that it internally implements a polynomial ring for a particular elements family (i.e. in this case it would be the polynomial ring for the algebraic of a closed field in characteristics 7) in countably many indeterminants. > > Doing so allows us to perform arithmetic amongst all these polynomials without conversion functions (for example if you introduce a new variable later), however it means that polynomials do not have anything which points back to the ring from whose generators they were created. > > What you can do however is to get the index number of the variables of a bivariate polynomial F from this polynomial and that way re-create the indeterminates. So your program would be: > > rho:=function(f) > local indets,fam; > indets:=OccuringVariableIndices(f); > if Length(indets)<2 then Error("polynomial is not bivariate");fi; > fam:=CoefficientsFamily(FamilyObj(f)); > indets:=List(indets,x->UnivariateLaurentPolynomialByCoefficients( > fam,[One(fam)],1,x)); > return Resultant(f,indets[1]^2-indets[2]^3+indets[2],indets[2]); > end; > > Regards, > > Alexander > > ? 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 lovepgroups at gmail.com Tue Apr 28 11:10:46 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Tue, 28 Apr 2015 10:10:46 +0000 Subject: [GAP Forum] Generators Message-ID: why does Gap list for example Dihedral group of order 8 as pc group of size 8 with 3 generators. when we know d8 has 2 generators? From lovepgroups at gmail.com Tue Apr 28 12:09:26 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Tue, 28 Apr 2015 11:09:26 +0000 Subject: [GAP Forum] Order of each element in a group Message-ID: how can one find the order of each element in group G using GAP. From sandeep at sandeepmurthy.is Tue Apr 28 12:28:52 2015 From: sandeep at sandeepmurthy.is (Murthy Sandeep) Date: Tue, 28 Apr 2015 12:28:52 +0100 Subject: [GAP Forum] Order of each element in a group In-Reply-To: References: Message-ID: <056DA22C-A4FE-44FE-9B28-D72402304373@sandeepmurthy.is> List( Elements( G ), x -> Order( x ) ); > On 28 Apr 2015, at 12:09, abdulhakeem alayiwola wrote: > > how can one find the order of each element in group G using GAP. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From max at quendi.de Tue Apr 28 13:09:07 2015 From: max at quendi.de (Max Horn) Date: Tue, 28 Apr 2015 14:09:07 +0200 Subject: [GAP Forum] Order of each element in a group In-Reply-To: <056DA22C-A4FE-44FE-9B28-D72402304373@sandeepmurthy.is> References: <056DA22C-A4FE-44FE-9B28-D72402304373@sandeepmurthy.is> Message-ID: On 28.04.2015, at 13:28, Murthy Sandeep wrote: > List( Elements( G ), x -> Order( x ) ); Or even shorter: List( G, Order ); Cheers, Max > >> On 28 Apr 2015, at 12:09, abdulhakeem alayiwola wrote: >> >> how can one find the order of each element in group G using GAP. >> _______________________________________________ >> 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 savicky at cs.cas.cz Tue Apr 28 13:18:11 2015 From: savicky at cs.cas.cz (Petr Savicky) Date: Tue, 28 Apr 2015 14:18:11 +0200 Subject: [GAP Forum] Generators In-Reply-To: References: Message-ID: <20150428121811.GA23224@cs.cas.cz> On Tue, Apr 28, 2015 at 10:10:46AM +0000, abdulhakeem alayiwola wrote: > why does Gap list for example Dihedral group of order 8 as pc group of size > 8 with 3 generators. when we know d8 has 2 generators? The description of pc groups is contained in sections 45 and 46 of the reference http://www.gap-system.org/Manuals/doc/ref/chap45.html#X86007B0083F60470 http://www.gap-system.org/Manuals/doc/ref/chap46.html#X7EAD57C97EBF7E67 In particular, Section 45.1 Polycyclic Generating Systems says For many applications we have to assume that each of the relative orders r_i is either a prime or infinity. This is equivalent to saying that there are no trivial factors in the pc series and the finite factors of the pc series are maximal refined. The generators of pc group for d8 correspond to the three prime factors of 8. Hope this helps. Petr Savicky. From savicky at cs.cas.cz Tue Apr 28 22:09:46 2015 From: savicky at cs.cas.cz (Petr Savicky) Date: Tue, 28 Apr 2015 23:09:46 +0200 Subject: [GAP Forum] Generators In-Reply-To: References: Message-ID: <20150428210946.GA8877@cs.cas.cz> On Tue, Apr 28, 2015 at 10:10:46AM +0000, abdulhakeem alayiwola wrote: > why does Gap list for example Dihedral group of order 8 as pc group of size > 8 with 3 generators. when we know d8 has 2 generators? The dihedral group can also be obtained as a permutation group DihedralGroup(IsPermGroup, 8); # Group([ (1,2,3,4), (2,4) ]) In this case, it has two generators. Hope this helps. Petr Savicky. From lovepgroups at gmail.com Wed Apr 29 14:49:11 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Wed, 29 Apr 2015 13:49:11 +0000 Subject: [GAP Forum] Defining a group G with generators say x and y. Message-ID: how do i use GAP to define a group say D8 with generators x and y and relation such that D8=< x,y | x^4=y^2, x^y=x^-1>....thanks From steve.linton at st-andrews.ac.uk Wed Apr 29 14:58:39 2015 From: steve.linton at st-andrews.ac.uk (Stephen Linton) Date: Wed, 29 Apr 2015 14:58:39 +0100 Subject: [GAP Forum] Defining a group G with generators say x and y. In-Reply-To: References: Message-ID: See http://www.gap-system.org/Manuals/doc/ref/chap47.html#X7AA982637E90B35A Steve > On 29 Apr 2015, at 14:49, abdulhakeem alayiwola wrote: > > how do i use GAP to define a group say D8 with generators x and y and > relation such that D8=< x,y | x^4=y^2, x^y=x^-1>....thanks > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From lovepgroups at gmail.com Thu Apr 30 15:16:02 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Thu, 30 Apr 2015 14:16:02 +0000 Subject: [GAP Forum] Central Automorphism group Message-ID: Using GAP how is one expected to find the central automorphism group of say D-16? From aodabas at ogu.edu.tr Thu Apr 30 15:51:51 2015 From: aodabas at ogu.edu.tr (=?iso-8859-9?Q?Alper_Odaba=FE?=) Date: Thu, 30 Apr 2015 17:51:51 +0300 Subject: [GAP Forum] Finite dimensional algebras Message-ID: <000701d08355$341d7930$9c586b90$@ogu.edu.tr> Dear Forum, Is it possible to construct a finite dimensional algebra in GAP rather then group algebra or matrix algebras. For example a finite dimensional polynomial ring such as F[X]/ for some polynomial p(X) and field F. Regards, Alper From anclecharly at gmail.com Thu Apr 30 17:02:13 2015 From: anclecharly at gmail.com (Kit Lessenger) Date: Thu, 30 Apr 2015 19:02:13 +0300 Subject: [GAP Forum] parallel in ParGAP Message-ID: <29BD817E-07DF-4F7F-A66E-9B3AE5BAA464@gmail.com> Hello. I tryed to write a function ParFilter. The function must filter a iterator by boolean function. I?ve got a mistake. gap> ParFilter([0..3],4,CheckNumbers); master -> 1: [ 0, 0, 0, 0 ] master -> 2: [ 0, 0, 0, 1 ] master -> 3: [ 0, 0, 0, 2 ] 1 -> master: false 2 -> master: false master -> 1: [ 0, 0, 0, 3 ] master -> 2: [ 0, 0, 1, 0 ] 3 -> master: true master -> 3: [ 0, 0, 1, 1 ] 1 -> master: true 2 -> master: false Error, List Element: [2] must have an assigned value in called from Sort( deltas );MasterSlaveDeadSlave( ); called from TOPCmasterSendTaskInput( SubmitTaskInput, taskAgglomCount ) called from TOPCmaster( SubmitTaskInput, CheckTaskResult, UpdateSharedData, taskAgglom ); called from MasterSlave( function ( ) if IsDoneIterator( iterator ) then return NOTASK; else return NextIterator( iterator ); fi; return; end, boolfnc, function ( input, output ) if output then Add( result, input ); fi; return NO_ACTION; end, Error ); called from CallFuncList( fnc, arg ) called from ... at line 3 of *stdin* you can 'return;' after assigning a value If need show a ?deltas? brk> deltas; [ ,, 0 ] I wrote the function ParFilter by example in ParGAP manual on pages 36-37. If necessary, the file with my code. Function ?CheckNumbers? is only example function. I need to use other function. From lovepgroups at gmail.com Thu Apr 30 18:51:39 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Thu, 30 Apr 2015 17:51:39 +0000 Subject: [GAP Forum] central automorphism Message-ID: how do i find central automorphim of a group, say D8? From steve.linton at st-andrews.ac.uk Thu Apr 30 20:15:12 2015 From: steve.linton at st-andrews.ac.uk (Stephen Linton) Date: Thu, 30 Apr 2015 20:15:12 +0100 Subject: [GAP Forum] central automorphism In-Reply-To: References: Message-ID: <3AE917E7-DC89-4BA8-BF97-4D102AF9C7B0@st-andrews.ac.uk> I don?t think there is a library or package function that does this job. For small groups it should be easy enough to simply find all the central automorphisms from the full automorphism group simply by using the definition and Filtered. Here is an example of such a calculation performed interactively for D16: gap> g := DihedralGroup(16); gap> a := AutomorphismGroup(g); gap> z := Centre(g); Group([ f4 ]) gap> Filtered(a, x->ForAll(g, y->y^-1*Image(x,y) in z)); [ [ f1*f2*f3*f4, f1*f3 ] -> [ f1*f2*f3*f4, f1*f3 ], [ f1*f2*f3*f4, f1*f3 ] -> [ f1*f2*f3, f1*f3*f4 ], [ f1*f2*f3*f4, f1*f3 ] -> [ f1*f2*f3, f1*f3 ], [ f1*f2*f3*f4, f1*f3 ] -> [ f1*f2*f3*f4, f1*f3*f4 ] ] The result is a list of four central automorphisms. This approach would be horrendously inefficient for larger groups and I am sure there are much better ways. You can find information about all the Gap Commands used here in the reference manual on the website, or using the builtin help of GAP. Steve > On 30 Apr 2015, at 18:51, abdulhakeem alayiwola wrote: > > how do i find central automorphim of a group, say D8? > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From tkohl at bu.edu Tue Apr 28 13:58:00 2015 From: tkohl at bu.edu (tkohl at bu.edu) Date: Tue, 28 Apr 2015 08:58:00 -0400 (EDT) Subject: [GAP Forum] Order of each element in a group In-Reply-To: References: Message-ID: List(Elements(G),g->Order(g)); On Tue, 28 Apr 2015, abdulhakeem alayiwola wrote: > how can one find the order of each element in group G using GAP. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From Colva.Roney-Dougal at st-andrews.ac.uk Fri May 1 14:29:00 2015 From: Colva.Roney-Dougal at st-andrews.ac.uk (Colva Roney-Dougal) Date: Fri, 1 May 2015 13:29:00 +0000 Subject: [GAP Forum] Correction to primitive groups database Message-ID: Dear All On Feb 25th, Gordon Royle reported that two primitive groups, both of degree 1575, were missing from the Primitive Groups library in GAP. These groups had previously been reported missing by Thomas Breuer, and somehow I had failed to correct the mistake. I am pleased to report that they are now added to the GAP database, as groups number 7 and 8 of degree 1575, and will be included in all future releases. My apologies for any problems this may have caused, and thanks to Alexander Hulpke for helping me to fix it. Best wishes Colva ************************************************************************ Colva Roney-Dougal Director of the Centre for Interdisciplinary Research in Computational Algebra Director of Undergraduate Mathematics Admissions Please note that my email address has changed! It is now colva.roney-dougal at st-andrews.ac.uk The University of St Andrews is a charity registered in Scotland : No SC013532 From lovepgroups at gmail.com Fri May 1 15:47:51 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Fri, 1 May 2015 14:47:51 +0000 Subject: [GAP Forum] central automorphisms Message-ID: i am using GAP and I want to know how to find central automorphisms of a finite p-group in GAP. Please give an example say D8..Thanks best regards. From lovepgroups at gmail.com Sat May 2 09:37:46 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Sat, 2 May 2015 08:37:46 +0000 Subject: [GAP Forum] maximal subgroups Message-ID: how do one find the maximal subgroups of a group say D8 using gap? From lovepgroups at gmail.com Sat May 2 09:41:31 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Sat, 2 May 2015 08:41:31 +0000 Subject: [GAP Forum] Inner automorphism Message-ID: please can anyone give hint on how to find inner automorphism of a group... From alexk at mcs.st-and.ac.uk Sat May 2 09:49:21 2015 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Sat, 2 May 2015 09:49:21 +0100 Subject: [GAP Forum] maximal subgroups In-Reply-To: References: Message-ID: Please see MaximalSubgroups (I presume you should know already how to construct D8 from previous replies, so I am not giving an example). This is how to find its documentation in GAP: gap> ?MaximalSubgroups Help: several entries match this topic - type ?2 to get match [2] [1] Reference: MaximalSubgroups [2] Reference: MaximalSubgroupsLattice [3] Reference: MaximalSubgroups for groups with pcgs [4] Reference: MaximalSubgroupsTom gap> Now type ?1 etc. Also, this is useful: http://www.gap-system.org/Faq/faq.html#7.7 HTH Alexander > On 2 May 2015, at 09:37, abdulhakeem alayiwola wrote: > > how do one find the maximal subgroups of a group say D8 using gap? > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From alexk at mcs.st-and.ac.uk Sat May 2 09:55:06 2015 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Sat, 2 May 2015 09:55:06 +0100 Subject: [GAP Forum] Inner automorphism In-Reply-To: References: Message-ID: <8FE3E005-7AEB-4265-9E7D-F3F857CCBADF@mcs.st-andrews.ac.uk> > On 2 May 2015, at 09:41, abdulhakeem alayiwola wrote: > > please can anyone give hint on how to find inner automorphism of a group... > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum This is how to find such things in the GAP manual: start GAP and then type ?Inner to see all manual entries starting from the string "Inner": gap> ?Inner Help: several entries match this topic - type ?2 to get match [2] [1] Reference: InnerAutomorphism [2] Reference: InnerAutomorphismNC Now follow the instructions on screen to see the relevant piece of the manual. You may also type ??Inner to see all entries that include the substring "Inner". This should lead you to InnerAutomorphism and also to InnerAutomorphisms from the SONATA package (the latter may work only for small examples). HTH Alexander From harshaarora.2008 at gmail.com Mon May 4 07:34:51 2015 From: harshaarora.2008 at gmail.com (Harsha Arora) Date: Mon, 4 May 2015 12:04:51 +0530 Subject: [GAP Forum] Fwd: How to find automorphism group of all the groups up to order p^4 Message-ID: Is there any method to find the automorphims of all the groups of order p^4 by defining their structures for any prime p. With regareds Harsha Arora On 04-May-2015 11:21 AM, harshaarora.2008 at gmail.com wrote: forum at gap-system. org On 04-May-2015 11:19 AM, harshaarora.2008 at gmail.com wrote: ---------- Forwarded message ---------- From: harshaarora.2008 at gmail.com Date: 03-May-2015 1:52 PM Subject: How to find automorphism group of all the groups up to order p^4 To: Cc: Is there any method to find the automorphims of all the groups of order p^4 by defining their structures for any prime p. . With regards Harsha From ABachle at vub.ac.be Mon May 4 08:48:57 2015 From: ABachle at vub.ac.be (=?UTF-8?Q?Andreas_B=C3=A4chle?=) Date: Mon, 04 May 2015 09:48:57 +0200 Subject: [GAP Forum] IsConjugatorIsomorphism for A5 Message-ID: <45ef4ff288cf4753dfbf29643c6365d2@imapproxy.vub.ac.be> Dear GAP-forum, I encountered some (at least for me) unexpected behavior of the command IsConjugatorIsomorphism. gap> G := SmallGroup(60,5);; StructureDescription(G); "A5" gap> S := SylowSubgroup(G, 2); Group([ (2,4)(3,5), (2,3)(4,5) ]) gap> A := AutomorphismGroup(G);; gap> f := AsList(A)[1]; ^() gap> g := RestrictedMapping(f, S); GeneralRestrictedMapping( ^(), Group([ (2,4)(3,5), (2,3)(4,5) ]), A5 ) gap> IsConjugatorIsomorphism(g); false When I run this with other groups from the SmallGroup library everything seems to work and I get the expected output "true". My first guess was that G (or S) is / are of a data type conflicting with the natural embedding described in http://www.gap-system.org/Manuals/doc/ref/chap40.html#X7F31FECC7A3D4A8A However gap> IsPermGroup(G); true gap> IsPermGroup(S); true When replacing G by an isomorphic fp-group (H := Image(IsomorphismFpGroup(G));) it works (but is quite slow). Also with other simple / perfect groups the result is as expected. What is so special about this case? And is there a good workaround to make this work for all groups from the SmallGroup library? Thanks in advance for any help, Andreas B?chle From hulpke at fastmail.fm Mon May 4 16:31:55 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Mon, 4 May 2015 09:31:55 -0600 Subject: [GAP Forum] IsConjugatorIsomorphism for A5 In-Reply-To: <45ef4ff288cf4753dfbf29643c6365d2@imapproxy.vub.ac.be> References: <45ef4ff288cf4753dfbf29643c6365d2@imapproxy.vub.ac.be> Message-ID: <03253016-DC48-45C3-B7B1-056A0E71219A@fastmail.fm> Dear Forum, Dear Andreas Baechle, > I encountered some (at least for me) unexpected behavior of the command IsConjugatorIsomorphism. > > gap> g := RestrictedMapping(f, S); > GeneralRestrictedMapping( ^(), Group([ (2,4)(3,5), (2,3)(4,5) ]), A5 ) > gap> IsConjugatorIsomorphism(g); > false > What happens is that the test for permutation groups (as a relic from an older, more restrictive definition) tests the map for `IsBijective? which causes the rejection. I will submit a fix (changing the test to be only for `IsInjective?) for inclusion in future releases. Regards, Alexander Hulpke > When I run this with other groups from the SmallGroup library everything seems to work and I get the expected output "true". > > My first guess was that G (or S) is / are of a data type conflicting with the natural embedding described in http://www.gap-system.org/Manuals/doc/ref/chap40.html#X7F31FECC7A3D4A8A However > > gap> IsPermGroup(G); > true > gap> IsPermGroup(S); > true > > When replacing G by an isomorphic fp-group (H := Image(IsomorphismFpGroup(G));) it works (but is quite slow). Also with other simple / perfect groups the result is as expected. What is so special about this case? And is there a good workaround to make this work for all groups from the SmallGroup library? > > Thanks in advance for any help, > Andreas B?chle > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From sandeep at sandeepmurthy.is Mon May 4 21:57:37 2015 From: sandeep at sandeepmurthy.is (Murthy Sandeep) Date: Mon, 4 May 2015 21:57:37 +0100 Subject: [GAP Forum] How to find automorphism group of all the groups up to order p^4 In-Reply-To: References: Message-ID: If p is a prime then AllSmallGroups( p^4 ) will give you the list of all small groups of order p^4, and for each of these you can get its automorphism group by AutomorphismGroup( ). You can make this into a function. Sandeep > On 4 May 2015, at 07:34, Harsha Arora wrote: > > Is there any method to find the automorphims of all the groups of order > p^4 by defining their structures for any prime p. > With regareds > Harsha Arora > On 04-May-2015 11:21 AM, harshaarora.2008 at gmail.com wrote: > > forum at gap-system. org > On 04-May-2015 11:19 AM, harshaarora.2008 at gmail.com wrote: > > ---------- Forwarded message ---------- > From: harshaarora.2008 at gmail.com > Date: 03-May-2015 1:52 PM > Subject: How to find automorphism group of all the groups up to order p^4 > To: > Cc: > > Is there any method to find the automorphims of all the groups of order > p^4 by defining their structures for any prime p. > . > > With regards > Harsha > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From lovepgroups at gmail.com Wed May 6 09:59:37 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Wed, 6 May 2015 08:59:37 +0000 Subject: [GAP Forum] how to save and convert to pdf file. Message-ID: Dear Forum, I need assistance on how to save and covert to PDF file, for work done in GAP? Thanks, Best regards From pabourdi at laas.fr Thu May 7 12:55:33 2015 From: pabourdi at laas.fr (Pierre-Alain BOURDIL) Date: Thu, 07 May 2015 13:55:33 +0200 Subject: [GAP Forum] Writing custom action on a set of list Message-ID: <554B52B5.7010009@laas.fr> Hi, I've tryed unsuccesfuly to implement an action on a set of list. Say G=S_2, Omega = [[1,rc1,2],[2,rc2,1]] where rc1, rc2 are rightcosets of Stabilizer(G,1) and a function : Act := function (x,g) local repr,comp,rc,orbital,g; #extract args comp := args[1]; rc := args[2]; orbital := args[3]; g := args[4]; # compute the coset repr:=rc*g; return [comp^g,repr,orbital]; end;; Now A:=Action(G,Omega,Act) gives a no method found errors. With ShowArguments i see that x and g are set with 1 and rc1 respectively. I do not find a way for x to be set to [1,rc1,2] and g with the current G's element. How can i implement such an action function ? -- Pierre-Alain BOURDIL pabourdi at laas.fr From pabourdi at laas.fr Thu May 7 13:34:14 2015 From: pabourdi at laas.fr (Pierre-Alain BOURDIL) Date: Thu, 07 May 2015 14:34:14 +0200 Subject: [GAP Forum] Writing custom action on a set of list(erratum) Message-ID: <554B5BC6.8010108@laas.fr> Sorry, wrong copy/paste on the function source code, corrected. Neverthelles i still get the problem. Hi, I've tryed unsuccesfuly to implement an action on a set of list. Say G=S_2, Omega = [[1,rc1,2],[2,rc2,1]] where rc1, rc2 are rightcosets of Stabilizer(G,1) and a function : Act := function (x,g) local repr,comp,rc,orbital,g; #extract args comp := x[1]; rc := x[2]; orbital := x[3]; # compute the coset repr:=rc*g; return [comp^g,repr,orbital]; end;; Now A:=Action(G,Omega,Act) gives a no method found errors. With ShowArguments i see that x and g are set with 1 and rc1 respectively. I do not find a way for x to be set to [1,rc1,2] and g with the current G's element. How can i implement such an action function ? -- Pierre-Alain BOURDIL pabourdi at laas.fr _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From alexander.konovalov at gmail.com Thu May 7 16:54:12 2015 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Thu, 7 May 2015 16:54:12 +0100 Subject: [GAP Forum] Writing custom action on a set of list(erratum) In-Reply-To: <554B5BC6.8010108@laas.fr> References: <554B5BC6.8010108@laas.fr> Message-ID: <767B6001-AEF5-4E17-B3DD-1509FD5BBF95@gmail.com> Dear Pierre-Alain, Let me first check that you have the same error as given below. First of all, > On 7 May 2015, at 13:34, Pierre-Alain BOURDIL wrote: > > Sorry, wrong copy/paste on the function source code, corrected. Neverthelles i still get the problem. > > Hi, > > I've tryed unsuccesfuly to implement an action on a set of list. > > > Say G=S_2, Omega = [[1,rc1,2],[2,rc2,1]] Omega is an operation in GAP, so it is protected and you can't assign this list to it (there is even a mild advise somewhere to tend to use name starting in lowercase to avoid name clashes). > where rc1, rc2 are rightcosets of Stabilizer(G,1) and a function : > > Act := function (x,g) > local repr,comp,rc,orbital,g; Also, this function can't be read in GAP, as 'g' is used for an argument and for a local variable > #extract args > comp := x[1]; > rc := x[2]; > orbital := x[3]; > # compute the coset > repr:=rc*g; > return [comp^g,repr,orbital]; > end;; > > Now > A:=Action(G,Omega,Act) > gives a no method found errors. With ShowArguments i see that x and g are set with 1 and rc1 respectively. I do not find a way for x to be set to [1,rc1,2] and g with the current G's element. > > How can i implement such an action function ? However, if I fix the two errors above, I still have a problem: gap> G:=SymmetricGroup(2); Sym( [ 1 .. 2 ] ) gap> stab:=Stabilizer(G,1); Group(()) gap> rc:=RightCosets(G,stab); [ RightCoset(Group( () ),()), RightCoset(Group( () ),(1,2)) ] gap> omega := [[1,rc[1],2],[2,rc[2],1]] ; [ [ 1, RightCoset(Group( () ),()), 2 ], [ 2, RightCoset(Group( () ),(1,2)), 1 ] ] gap> act := function (x,g) > local repr,comp,rc,orbital; > #extract args > comp := x[1]; > rc := x[2]; > orbital := x[3]; > # compute the coset > repr:=rc*g; > return [comp^g,repr,orbital]; > end;; gap> gap> A:=Action(G,omega,act); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `<' on 2 arguments called from func( elm ) called from ForAll( D, IsList and IsSSortedList ) called from ActionHomomorphismConstructor( xset, true ) called from attr( xset ) called from CallFuncList( ActionHomomorphism, arg ) called from ... at line 16 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> D; [ [ 1, RightCoset(Group( () ),()), 2 ], [ 2, RightCoset(Group( () ),(1,2)), 1 ] ] because GAP expects IsSSortedList to work on elements of omega, while it doesn't: gap> IsSSortedList(omega[1]); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `<' on 2 arguments called from ( ) called from read-eval loop at line 31 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> Before continuing, do we now at least see the same error message? Best, Alexander P.S. Actually, the following works: gap> G:=SymmetricGroup(2); Sym( [ 1 .. 2 ] ) gap> stab:=Stabilizer(G,1); Group(()) gap> rc:=RightCosets(G,stab); [ RightCoset(Group( () ),()), RightCoset(Group( () ),(1,2)) ] gap> A:=Action(G,rc,OnRight); Group([ (1,2) ]) and also gap> A:=Action(G,[1,2],OnPoints); Group([ (1,2) ]) - could any of these examples be helpful? From pabourdi at laas.fr Thu May 7 17:18:34 2015 From: pabourdi at laas.fr (Pierre-Alain BOURDIL) Date: Thu, 07 May 2015 18:18:34 +0200 Subject: [GAP Forum] Writing custom action on a set of list(erratum) In-Reply-To: <767B6001-AEF5-4E17-B3DD-1509FD5BBF95@gmail.com> References: <554B5BC6.8010108@laas.fr> <767B6001-AEF5-4E17-B3DD-1509FD5BBF95@gmail.com> Message-ID: <554B905A.5000803@laas.fr> Dear Alexander, we have the same error. As a workaround, i encapsulated each point of omega in a list (and modified act accordingly): omega := [[1,rc[1],2],[2,rc[2],1]] becomes omega:= [ [[1,rc[1],2]],[[2,rc[2],1]]] and act := function (xs,g) local repr,comp,rc,orbital,x; x:=xs[1]; comp := x[1]; rc := x[2]; orbital := x[3]; repr:=rc*g; return [[comp^g,repr,orbital]]; end;; The above code works Le 07/05/2015 17:54, Alexander Konovalov a ?crit : .... > gap> G:=SymmetricGroup(2); > Sym( [ 1 .. 2 ] ) > gap> stab:=Stabilizer(G,1); > Group(()) > gap> rc:=RightCosets(G,stab); > [ RightCoset(Group( () ),()), RightCoset(Group( () ),(1,2)) ] > gap> omega := [[1,rc[1],2],[2,rc[2],1]] ; > [ [ 1, RightCoset(Group( () ),()), 2 ], [ 2, RightCoset(Group( () > ),(1,2)), 1 ] ] > gap> act := function (x,g) >> local repr,comp,rc,orbital; >> #extract args >> comp := x[1]; >> rc := x[2]; >> orbital := x[3]; >> # compute the coset >> repr:=rc*g; >> return [comp^g,repr,orbital]; >> end;; > gap> > gap> A:=Action(G,omega,act); > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for `<' on 2 arguments called from > func( elm ) called from > ForAll( D, IsList and IsSSortedList ) called from > ActionHomomorphismConstructor( xset, true ) called from > attr( xset ) called from > CallFuncList( ActionHomomorphism, arg ) called from > ... at line 16 of *stdin* > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > brk> D; > [ [ 1, RightCoset(Group( () ),()), 2 ], > [ 2, RightCoset(Group( () ),(1,2)), 1 ] ] > > because GAP expects IsSSortedList to work on elements of omega, while it doesn't: > > gap> IsSSortedList(omega[1]); > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for `<' on 2 arguments called from > ( ) > called from read-eval loop at line 31 of *stdin* > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > brk> > > Before continuing, do we now at least see the same error message? > > Best, > Alexander > > P.S. Actually, the following works: > > gap> G:=SymmetricGroup(2); > Sym( [ 1 .. 2 ] ) > gap> stab:=Stabilizer(G,1); > Group(()) > gap> rc:=RightCosets(G,stab); > [ RightCoset(Group( () ),()), RightCoset(Group( () ),(1,2)) ] > gap> A:=Action(G,rc,OnRight); > Group([ (1,2) ]) > > and also > > gap> A:=Action(G,[1,2],OnPoints); > Group([ (1,2) ]) > > - could any of these examples be helpful? > > > > -- Pierre-Alain BOURDIL pabourdi at laas.fr From oyvind.solberg at math.ntnu.no Fri May 8 15:34:02 2015 From: oyvind.solberg at math.ntnu.no (=?UTF-8?B?w5h5dmluZCBTb2xiZXJn?=) Date: Fri, 08 May 2015 16:34:02 +0200 Subject: [GAP Forum] Finite dimensional algebras In-Reply-To: <000701d08355$341d7930$9c586b90$@ogu.edu.tr> References: <000701d08355$341d7930$9c586b90$@ogu.edu.tr> Message-ID: <554CC95A.4040507@math.ntnu.no> Dear GAP Forum and Alper, You can construct quotients of polynomial rings in the following way in GAP: ... GAP, Version 4.7.5 of 24-May-2014 (free software, GPL) ... gap> R := PolynomialRing(Rationals,["a"]); Rationals[a] gap> a := IndeterminatesOfPolynomialRing(R)[1]; a gap> I := Ideal(R, [a*a + 1]); gap> S := R/I; Note that I am using version 4.7.5, since in some of the earlier versions, the latter command gave an error message. You can also construct non-commutative polynomial rings as follows: gap> R := FreeAlgebraWithOne(Rationals, 2); gap> gens := GeneratorsOfAlgebra(R); [ (1)*, (1)*x.1, (1)*x.2 ] gap> x1 := gens[2]; (1)*x.1 gap> x2 := gens[3]; (1)*x.2 gap> I := Ideal(R, [x1^2, x1*x2 + x2*x1, x2^2]); , (3 generators)> gap> S := R/I; A third way of constructing finite dimensional algebras is to use the undeposited package QPA, which you find at http://sourceforge.net/projects/quiverspathalg/ and see http://www.math.ntnu.no/~oyvinso/QPA/ for further information. With this package you can construct and do computations for finite dimensional quotients of path algebras. In particular construct modules/representations, homomorphisms over these and do some homological algebra over these algebras. gap> Q := Quiver(1, [[1,1,"a"], [1,1,"b"]]); gap> KQ := PathAlgebra(Rationals, Q); ]> gap> AssignGeneratorVariables(KQ); #I Assigned the global variables [ v1, a, b ] gap> relations := [ a*a, a*b + 2*b*a, b*b]; [ (1)*a^2, (1)*a*b+(2)*b*a, (1)*b^2 ] gap> A := KQ/relations; # the quantum plane ]/ ]>, (3 generators)>> Best regards, Oeyvind Solberg. From graham.ellis at nuigalway.ie Fri May 8 16:25:59 2015 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Fri, 8 May 2015 15:25:59 +0000 Subject: [GAP Forum] 1-year positions at Galway In-Reply-To: References: Message-ID: The closing date for these two positions is 4 June and the advert is here: http://www.nuigalway.ie/media/nuigalwayie/content/files/hr/Lecturer-FT_Mathematics-2Posts.docx ________________________________________ From: Ellis, Grahamj Sent: Sunday, April 19, 2015 9:25 PM To: forum at gap-system.org Subject: 1-year positions at Galway The School of Maths at NUI Galway, Ireland will soon be advertizing two 12-month lectureships starting in September 2015. The official advert will be published in a few weeks. The teaching load will allow for significant research activity. Preference is likely to be given to candidates whose research interests intersect with current pure maths research in the School. See http://hamilton.nuigalway.ie/DeBrunCentre/people.shtml . Informal enquiries can be made to me: graham.ellis at nuigalway.ie, tel +353 91 493011 . Graham School of Mathematics, Statistics & Applied Mathematics National University of Ireland, Galway University Road, Galway Ireland http://hamilton.nuigalway.ie tel: 091 493011 From harshaarora.2008 at gmail.com Sun May 10 07:26:59 2015 From: harshaarora.2008 at gmail.com (Harsha Arora) Date: Sun, 10 May 2015 11:56:59 +0530 Subject: [GAP Forum] Getting problem in code Message-ID: Dear forum I have written a code it works for small groups. I got problem in larger groups. The problem is memory exceed o command option. What does it mean. Please help me out. Harsha Arora From steve.linton at st-andrews.ac.uk Sun May 10 09:29:24 2015 From: steve.linton at st-andrews.ac.uk (Stephen Linton) Date: Sun, 10 May 2015 09:29:24 +0100 Subject: [GAP Forum] Getting problem in code In-Reply-To: References: Message-ID: Dear Harsha, The error message means what it says. GAP was not able to store all the information needed to complete your calculation in the memory allowed. There are ways to allow it more memory, if your computer has more memory ? on UNIX or OS X this is done via the command line option, so instead of typing ?gap? you type something like ?gap -o 2g? (which allocates 2 Gigabytes to GAP). On Windows it?s a little more involved because Windows doesn?t have a proper command line, and I?ll leave it to someone who uses GAP on Windows to explain the details. HOWEVER, experience tells us that, rather than allocating more memory it is probably better to think whether your calculation can be done in a cleverer way. Without knowing what you are doing, it?s hard to be specific, but common errors include listing all the elements of a group when all you really need is conjugacy class representatives or to search for the first element with some property. If you?d like further help you could send more details of your problem to the support at gap-system.org or gap at gap-system.org mailing lists (the difference is that gap@? is public, so more people are available to help with your problem, but anyone can see what you asked). Steve > On 10 May 2015, at 07:26, Harsha Arora wrote: > > Dear forum > I have written a code it works for small groups. I got problem in larger > groups. The problem is memory exceed o command option. What does it mean. > Please help me out. > > Harsha Arora > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From anvita21 at gmail.com Sun May 10 12:30:27 2015 From: anvita21 at gmail.com (Anvita) Date: Sun, 10 May 2015 08:30:27 -0300 Subject: [GAP Forum] Composition of polynomials Message-ID: Dear Forum, Suppose that f1,...fn are polynomials in x1,...,xk and suppose that f is another such polynomial that can be represented in the form f = g(f1,...,fn) where g(y1,...,yn) is a new polynomial. Can I use GAP to find the polynomial g? For example, expressing a symmetric polynomial as a polynomial in the elementary symmetric polynomials is a particular case of this problem. Thank you, Anvita From hulpke at fastmail.fm Sun May 10 15:40:02 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Sun, 10 May 2015 08:40:02 -0600 Subject: [GAP Forum] Composition of polynomials In-Reply-To: References: Message-ID: <5ACCC1B5-F331-413C-8B63-954996ED1B27@fastmail.fm> Dear Forum, > On May 10, 2015, at 5:30 AM, Anvita wrote: > > Dear Forum, > > Suppose that f1,...fn are polynomials in x1,...,xk > and suppose that f is another such polynomial that > can be represented in the form > > f = g(f1,...,fn) > > where g(y1,...,yn) is a new polynomial. Can I use GAP > to find the polynomial g? In the generic case, algorithms for this have been proposed (e.g. http://link.springer.com/article/10.1007%2Fs00200-003-0122-8 http://www.sciencedirect.com/science/article/pii/S0747717108001818 ) which reduce to Gr?bner basis calculations. However, to the best of my knowledge, such algorithms have not been implemented in GAP. > For example, expressing a > symmetric polynomial as a polynomial in the elementary > symmetric polynomials is a particular case of this problem. If you want only this, I append a toy implementation of the basic algorithm. Regards Alexander Hulpke # basic decomposition in elementary symmetric polynomials. ElementarySymmetricDecomposition:=function(pol) local v,r,vars,n,G,e,s,i,m,l,t,j,d,b; v:=OccuringVariableIndices(pol); r:=LeftActingDomain(DefaultRing([pol])); vars:=List(v,x->X(r,x)); n:=Length(v); G:=SymmetricGroup(v); if not ForAll(GeneratorsOfGroup(G),x->OnIndeterminates(pol,x)=pol) then Error("polynomial is not symmetric"); fi; e:=[]; s:=[]; for i in [1..n] do Add(s,X(r,Concatenation("e",String(i)):old)); b:=Product(vars{[1..i]}); Add(e,Sum(Orbit(G,b,OnIndeterminates))); od; r:=rec(basis:=e, symbols:=s); d:=Zero(pol); m:=LeadingMonomial(pol); while Length(m)>0 do; l:=Length(m); t:=LeadingCoefficient(pol)*s[m[l-1]]^m[l]; for j in [l-3,l-5..1] do t:=t*s[m[j]]^(m[j+1]-m[j+3]); od; #Print("Found ",m,"->",t,"\n"); d:=d+t; pol:=pol-Value(t,s,e); m:=LeadingMonomial(pol); od; d:=d+pol; # constant term r.decomposition:=d; return r; end; Example: r:=PolynomialRing(Rationals,["x","y","z","w"]); v:=IndeterminatesOfPolynomialRing(r); c:=Combinations(v,2); p:=Product(List(c,x->(x[1]-x[2])^2)); then ElementarySymmetricDecomposition(p); returns: rec( basis := [ x+y+z+w, x*y+x*z+x*w+y*z+y*w+z*w, x*y*z+x*y*w+x*z*w+y*z*w, x*y*z*w ], decomposition := -27*e1^4*e4^2+18*e1^3*e2*e3*e4-4*e1^3*e3^3-4*e1^2*e2^3*e4+e\ 1^2*e2^2*e3^2+144*e1^2*e2*e4^2-6*e1^2*e3^2*e4-80*e1*e2^2*e3*e4+18*e1*e2*e3^3+1\ 6*e2^4*e4-4*e2^3*e3^2-192*e1*e3*e4^2-128*e2^2*e4^2+144*e2*e3^2*e4-27*e3^4+256*\ e4^3, symbols := [ e1, e2, e3, e4 ] ) From anvita21 at gmail.com Mon May 11 13:24:38 2015 From: anvita21 at gmail.com (Anvita) Date: Mon, 11 May 2015 09:24:38 -0300 Subject: [GAP Forum] Composition of polynomials In-Reply-To: <56353481-ef7d-46f0-9704-09f4275783d2@HUB1.rwth-ad.de> References: <56353481-ef7d-46f0-9704-09f4275783d2@HUB1.rwth-ad.de> Message-ID: Thank you, Mohamed, for suggesting a general solution. It may be useful to other users, so I am replying to the forum rather than privately. I hope you don't mind. Also, thank you to Alexander Hulpke for implementing the special case for symmetric polynomials. Best regards, Anvita On Sun, May 10, 2015 at 1:19 PM, Mohamed Barakat < mohamed.barakat at rwth-aachen.de> wrote: > Dear Anvita, > > this is a special case of computing the image of a subscheme under a > morphism of schemes, which is supported in the homalg project; homalg needs > an external computer algebra system with a Gr?bner basis engine. If you > have Singular installed and the GAP package IO compiled on a unix machine > then the following code should work: > > gap> LoadPackage( "GradedModules" ); > true > gap> Q := HomalgFieldOfRationalsInSingular( ); > Q > gap> A := Q * "x,y"; > Q[x,y] > gap> I := LeftSubmodule( "x^2+y^2", A ); > > gap> S := A / I; > Q[x,y]/( x^2+y^2 ) > gap> AssignGeneratorVariables( S ); > #I Assigned the global variables [ x, y ] > gap> T := Q * "e,f"; > Q[e,f] > gap> phi := RingMap( [ x+y, x*y ], T, S ); > > gap> J := KernelSubobject( phi ); > > gap> j := MatrixOfSubobjectGenerators( J ); > > gap> Assert( 0, NrRows( j ) = 1 ); > gap> result := MatElm( j, 1, 1 ); > e^2-2*f > > Best wishes, > > Mohamed > > From Colva.Roney-Dougal at st-andrews.ac.uk Tue May 12 10:28:44 2015 From: Colva.Roney-Dougal at st-andrews.ac.uk (Colva Roney-Dougal) Date: Tue, 12 May 2015 09:28:44 +0000 Subject: [GAP Forum] Maths lectureships in St Andrews Message-ID: <244AAEA2-2C28-4038-AEA2-3CC134D7D1ED@st-andrews.ac.uk> Dear all Following on from the appointment of Igor Rivin to the Regius Chair at St Andrews, we are now seeking to appoint a lecturer at St Andrews. The candidate needs to demonstrate outstanding research potential and broad mathematical outlook. They will typically have a strong track record and show outstanding promise in one or several core areas of mathematics. Interest in interdisciplinary and experimental approaches to mathematics and information sciences emanating from these core areas would be a distinctive bonus. We are also advertising a lectureship is in Mathematical Biology, to work with Mark Chaplain, who is our newly appointed Gregory Chair. Details here: http://www.jobs.ac.uk/job/ATV305/lecturers-in-mathematics-and-mathematical-biology-kc1856/ Please send any informal enquiries either to me or to mathshead at st-andrews.ac.uk. Best wishes Colva ************************************************************************ Colva Roney-Dougal Director of the Centre for Interdisciplinary Research in Computational Algebra Director of Undergraduate Mathematics Admissions Please note that my email address has changed! It is now colva.roney-dougal at st-andrews.ac.uk The University of St Andrews is a charity registered in Scotland : No SC013532 From lovepgroups at gmail.com Fri May 15 12:06:53 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Fri, 15 May 2015 11:06:53 +0000 Subject: [GAP Forum] Defining function In-Reply-To: References: Message-ID: Dear forum, If B is a subgroup of a group A and i wish to define a function such that i get only the elements of A that commutes with all elements of B. how can this be done using GAP. Thanks. Best regards. From steve.linton at st-andrews.ac.uk Fri May 15 12:10:56 2015 From: steve.linton at st-andrews.ac.uk (Stephen Linton) Date: Fri, 15 May 2015 12:10:56 +0100 Subject: [GAP Forum] Defining function In-Reply-To: References: Message-ID: <7118DAAB-6B6E-44B7-95AA-7640F7C13E3F@st-andrews.ac.uk> See Centralizer in the on-line help. Steve > On 15 May 2015, at 12:06, abdulhakeem alayiwola wrote: > > Dear forum, > If B is a subgroup of a group A and i wish to define a function such that > i get only the elements of A that commutes with all elements of B. how can > this be done using GAP. > Thanks. > Best regards. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From harshaarora.2008 at gmail.com Sat May 23 14:04:12 2015 From: harshaarora.2008 at gmail.com (Harsha Arora) Date: Sat, 23 May 2015 18:34:12 +0530 Subject: [GAP Forum] To get class representative Message-ID: Dear forum I have written a code to get some equivalence classes. But it take lot of time for compilations. I want to get just representatives of the classes to reduce compilations time. How can I get just representative if I have already a code to get equivalence classes. Harsha Arora From caj21 at st-andrews.ac.uk Sat May 23 14:32:44 2015 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Sat, 23 May 2015 13:32:44 +0000 Subject: [GAP Forum] To get class representative In-Reply-To: References: Message-ID: <7C16E6C3-30E6-4A1F-837F-D0976A81BCF3@st-andrews.ac.uk> What type of representatives exactly do you want? Chris On 23/05/2015 14:04, "forum-bounces at gap-system.org on behalf of Harsha Arora" wrote: >Dear forum > >I have written a code to get some equivalence classes. But it take lot of >time for compilations. I want to get just representatives of the classes >to reduce compilations time. How can I get just representative if I have >already a code to get equivalence classes. > >Harsha Arora >_______________________________________________ >Forum mailing list >Forum at mail.gap-system.org >http://mail.gap-system.org/mailman/listinfo/forum From anclecharly at gmail.com Sat May 23 17:00:20 2015 From: anclecharly at gmail.com (Kit Lessenger) Date: Sat, 23 May 2015 19:00:20 +0300 Subject: [GAP Forum] examples in ParGAP's manual Message-ID: <471FE3ED-4120-42AF-ADCB-FA7B1625215C@gmail.com> Hi, forum. I have some problems with ParGAP. I learned a manual of the package and tried to realize function MyParList from section 4.4 that manual. But I had a mistake Error, List Element: [1] must have an assigned value in Sort( deltas ); called from MasterSlaveDeadSlave( ); called from TOPCmasterSendTaskInput( SubmitTaskInput, taskAgglomCount ) called from TOPCmaster( SubmitTaskInput, CheckTaskResult, UpdateSharedData, taskAgglom ); called from MasterSlave( function ( ) ? I had got same mistake when a tried to realize an example from section 5.1 in terminal. I cannot understand what happens because native functions of ParGAP are working properly. Nurlan From alexander.konovalov at gmail.com Sun May 24 12:40:53 2015 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Sun, 24 May 2015 12:40:53 +0100 Subject: [GAP Forum] examples in ParGAP's manual In-Reply-To: <471FE3ED-4120-42AF-ADCB-FA7B1625215C@gmail.com> References: <471FE3ED-4120-42AF-ADCB-FA7B1625215C@gmail.com> Message-ID: Dear Nurlan, Could you please provide more details - what exactly was the input in your example? http://www.gap-system.org/Manuals/pkg/pargap/htm/CHAP004.htm shows the call of ParInstallTOPCGlobalFunction which then may be called with two arguments. If this is what you've tried, what are they? Does the built-in ParList from ParGAP work : ParList([1..100], x->x^2); on your machine? Best wishes Alexander > On 23 May 2015, at 17:00, Kit Lessenger wrote: > > Hi, forum. > > I have some problems with ParGAP. I learned a manual of the package and tried to realize function MyParList from section 4.4 that manual. But I had a mistake > > Error, List Element: [1] must have an assigned value in > Sort( deltas ); called from > MasterSlaveDeadSlave( ); called from > TOPCmasterSendTaskInput( SubmitTaskInput, taskAgglomCount ) called from > TOPCmaster( SubmitTaskInput, CheckTaskResult, UpdateSharedData, taskAgglom > ); called from > MasterSlave( function ( ) > ? > > I had got same mistake when a tried to realize an example from section 5.1 in terminal. I cannot understand what happens because native functions of ParGAP are working properly. > > Nurlan > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From pabourdi at laas.fr Fri May 29 15:48:54 2015 From: pabourdi at laas.fr (Pierre-Alain BOURDIL) Date: Fri, 29 May 2015 16:48:54 +0200 Subject: [GAP Forum] GAP Profiling Message-ID: <55687C56.6060105@laas.fr> Dear forum, is there a way to DisplayProfile() in a file and not on the standard output ? + -- Pierre-Alain BOURDIL pabourdi at laas.fr From shinyasakai at 163.com Sun May 31 09:48:59 2015 From: shinyasakai at 163.com (=?GBK?B?0e643w==?=) Date: Sun, 31 May 2015 16:48:59 +0800 (CST) Subject: [GAP Forum] Can GAP3 program construct the character table of projective general linear groups? Message-ID: <64b59922.a243.14da928e715.Coremail.shinyasakai@163.com> Dear forum: Is this the correct and most concise way to construct PGL(2,3) with GAP? > W:=GeneralLinearGroup(2,3);; > H:=Subgroup(W,[[[Z(3),0*Z(3)],[0*Z(3),Z(3)]]]);; > B:=W/H;; Morevoer, I want to construct the character table of this group. But there is ian error. >Display(CharTable(B)); Error, sorry, I don't know how to construct the table of in CharTable( B ) called from main loop So there are question I would like to ask. For constructing character tables, what kind of groups can GAP deal with? Can GAP construct the character table of PGL(n,m)? If the answer is yes, then how can I do this with it? Thanks to everyone. From dmitrii.pasechnik at cs.ox.ac.uk Sun May 31 11:11:26 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Sun, 31 May 2015 11:11:26 +0100 Subject: [GAP Forum] Can GAP3 program construct the character table of projective general linear groups? In-Reply-To: <64b59922.a243.14da928e715.Coremail.shinyasakai@163.com> References: <64b59922.a243.14da928e715.Coremail.shinyasakai@163.com> Message-ID: <20150531101125.GA13283@dimpase.cs.ox.ac.uk> On Sun, May 31, 2015 at 04:48:59PM +0800, ?? wrote: Do you work with GAP3? Is it really necessary for you? > > Is this the correct and most concise way to construct PGL(2,3) with GAP? In GAP4 you can just do gap> ProjectiveGeneralLinearGroup(2,3); Group([ (3,4), (1,2,4) ]) > > > > W:=GeneralLinearGroup(2,3);; > > H:=Subgroup(W,[[[Z(3),0*Z(3)],[0*Z(3),Z(3)]]]);; > > B:=W/H;; > > > Morevoer, I want to construct the character table of this group. But there is ian error. > > > >Display(CharTable(B)); > Error, sorry, I don't know how to construct the table of > in > CharTable( B ) called from > main loop well, GAP4 has no difficulty here: gap> H:=Subgroup(W,[[[Z(3),0*Z(3)],[0*Z(3),Z(3)]]]);; gap> B:=W/H;; gap> Display(CharacterTable(B)); CT2 2 3 2 . 3 2 3 1 . 1 . . 1a 2a 3a 2b 4a 2P 1a 1a 3a 1a 2b 3P 1a 2a 1a 2b 4a X.1 1 1 1 1 1 X.2 1 -1 1 1 -1 X.3 2 . -1 2 . X.4 3 -1 . -1 1 X.5 3 1 . -1 -1 gap> > So there are question I would like to ask. For constructing character tables, what kind of groups can GAP deal with? Can GAP construct the character table of PGL(n,m)? If the answer is yes, then how can I do this with it? You can contruct the character table of a given group, but it gets slower as the size etc grows. How far do you need to go with n and m? There are some infinite families of groups for which GAP can construct character tables directly, see http://www.gap-system.org/Manuals/pkg/ctbllib/doc/chap4.html#X81E3F9A384365282 E.g. for n=2 one can have tables of the PSL groups. HTH, Dmitrii > > > Thanks to everyone. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From e.obrien at auckland.ac.nz Tue Jun 2 07:09:26 2015 From: e.obrien at auckland.ac.nz (Eamonn O'Brien) Date: Tue, 02 Jun 2015 18:09:26 +1200 Subject: [GAP Forum] Kalman Visiting Fellowship in Mathematics at the University of Auckland Message-ID: <556D4896.2080305@auckland.ac.nz> Dear Colleagues: I would be grateful if you can draw the attention of your colleagues to a prestigious Visiting Fellowship available in mathematics at the University of Auckland. The purpose of the Kalman Visiting Fellowship is to enable a ?rising star? in mathematics and its applications to visit the University of Auckland. The Fellowship is for a person within 10 years of PhD. It is worth NZ$10,000, and can be spent on travel, accommodation, or other associated expenses. Full details of the Fellowship, including the simple application process, can be found at www.science.auckland.ac.nz/kalman. The closing date for applications is 17 July. Informal enquiries may be addressed to eadeansoffice at sfac.auckland.ac.nz or to me. Best wishes. Eamonn O'Brien From saadhala10 at hotmail.com Thu Jun 4 01:13:53 2015 From: saadhala10 at hotmail.com (Saad) Date: Thu, 4 Jun 2015 08:13:53 +0800 Subject: [GAP Forum] action of groups Message-ID: Dear all ; I want to implement some actions to get their permutation representation in GAP, those are : 1)G = symmetric group(n), omega = GL(n,F) or any subgroup of omega.(g,a) --->gag^-12) g=G Cartesian G, omega = as above((g,h),a) ----> gah^-1 3) G = (Sk ? Sn?k) ? (Sk ? Sn?k) omega = (0,1) -matrices thanks in advance, Too naive questions (give rise for new theories ! " I said that " From f.alibabaee at gmail.com Fri Jun 5 10:05:51 2015 From: f.alibabaee at gmail.com (fahime babaee) Date: Fri, 5 Jun 2015 10:05:51 +0100 Subject: [GAP Forum] Program Message-ID: Let F be a free group on two generator, I need the following program in GAP Suppose that w \in [F,F] and let x be its first letter. then x^{-1} must also occur in w, so w=xux^{-1}v for some u and v in F, and hence w=(xux^{-1})(uv) and it is sufficent to express uv as product of commutators. Since length of uv is two less than than w this process terminates. By this algorithm I can express w as a product of commutators. From alexk at mcs.st-and.ac.uk Fri Jun 5 11:06:19 2015 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Fri, 5 Jun 2015 11:06:19 +0100 Subject: [GAP Forum] Program In-Reply-To: References: Message-ID: <92FCF885-825D-4EF7-99DF-AFAE38126F64@mcs.st-andrews.ac.uk> FYI: cross-posted at http://math.stackexchange.com/questions/1310423/free-group-in-gap > On 5 Jun 2015, at 10:05, fahime babaee wrote: > > Let F be a free group on two generator, I need the following program in > GAP > Suppose that w \in [F,F] and let x be its first letter. then x^{-1} must > also occur in w, so w=xux^{-1}v for some u and v in F, and hence > w=(xux^{-1})(uv) and it is sufficent to express uv as product of > commutators. Since length of uv is two less than than w > this process terminates. By this algorithm I can express w as a product of > commutators. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From saadhala10 at hotmail.com Fri Jun 5 13:21:04 2015 From: saadhala10 at hotmail.com (Saad) Date: Fri, 5 Jun 2015 20:21:04 +0800 Subject: [GAP Forum] action of groupse In-Reply-To: References: Message-ID: sorry, in my last post it may not be clear enough, the actions are: G= symmetricgroup(n), omega = GL(n,F) or subgroup of GL(n,F). for any field F defined by: (g,a)-->gag^-1the second action: G = G cross G (i.e cartesian) , omega as above , defined by :((g,h),a)---->gah^-1 third: G = (Sk ? Sn?k) ? (Sk ? Sn?k) , omega = (0,1) -matrices thx Saad. > From: saadhala10 at hotmail.com > To: forum at gap-system.org > Date: Thu, 4 Jun 2015 08:13:53 +0800 > Subject: [GAP Forum] action of groups > > Dear all ; > I want to implement some actions to get their permutation representation in GAP, those are : > 1)G = symmetric group(n), omega = GL(n,F) or any subgroup of omega.(g,a) --->gag^-12) > g=G Cartesian G, omega = as above((g,h),a) ----> gah^-1 > 3) > G = (Sk ? Sn?k) ? (Sk ? Sn?k) omega = (0,1) -matrices > thanks in advance, > > > Too naive questions (give rise for new theories ! " I said that " > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From Jaco.Versfeld at wits.ac.za Fri Jun 5 14:19:44 2015 From: Jaco.Versfeld at wits.ac.za (Jaco Versfeld) Date: Fri, 5 Jun 2015 13:19:44 +0000 Subject: [GAP Forum] Factorizing polynomials over GF(2^m)? Message-ID: Good day, I want to factor polynomials over GF(2^m). As a quick test, I did the following: R:=PolynomialRing(GF(8),["x"]); x:=Indeterminate(GF(8),"x"); p := x^7 + 1; Factors(p); The result that I obtain is: [ x+Z(2)^0, x^3+x+Z(2)^0, x^3+x^2+Z(2)^0 ] This doesn't make sense, since I expected (x-\alpha^0), (x-\alpha^1) ... (x-\alpha^6) to have been the roots. What am I doing wrong? Kind Regards, Jaco _______________________________ Jaco Versfeld (D.Ing) Senior lecturer Centre for Telecommunications Access and Services School of Electrical and Information Engineering University of the Witwatersrand Johannesburg Tel: +27-11-717-7212 Email: jaco.versfeld at wits.ac.za web: http://school.eie.wits.ac.za/~versfeld=
This communication is intended for the addressee only. It is confidential. If you have received this communication in error, please notify us immediately and destroy the original message. You may not copy or disseminate this communication without the permission of the University. Only authorised signatories are competent to enter into agreements on behalf of the University and recipients are thus advised that the content of this message may not be legally binding on the University and may contain the personal views and opinions of the author, which are not necessarily the views and opinions of The University of the Witwatersrand, Johannesburg. All agreements between the University and outsiders are subject to South African Law unless the University agrees in writing to the contrary.
References: Message-ID: <9FC1B27B-B212-46BC-8AAC-FD33D42DBA47@fastmail.fm> Dear GAP Forum, > On Jun 5, 2015, at 7:19 AM, Jaco Versfeld wrote: > > I want to factor polynomials over GF(2^m). As a quick test, I did the following: > > R:=PolynomialRing(GF(8),["x"]); > x:=Indeterminate(GF(8),"x"); > p := x^7 + 1; > Factors(p); > > The result that I obtain is: > [ x+Z(2)^0, x^3+x+Z(2)^0, x^3+x^2+Z(2)^0 ] > > This doesn't make sense, since I expected (x-\alpha^0), (x-\alpha^1) ... (x-\alpha^6) to have been the roots. Polynomials do not carry the actual ring, but only the characteristic and get factored over their coefficient rings. To factor over GF(8), specify the polynomial ring, i.e. gap> Factors(R,p); [ x+Z(2)^0, x+Z(2^3), x+Z(2^3)^2, x+Z(2^3)^3, x+Z(2^3)^4, x+Z(2^3)^5, x+Z(2^3)^6 ] Regards, Alexander Hulpke From hulpke at fastmail.fm Fri Jun 5 14:33:08 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Fri, 5 Jun 2015 07:33:08 -0600 Subject: [GAP Forum] Program In-Reply-To: References: Message-ID: Dear Forum, Dear Fahime BAbaee, > Let F be a free group on two generator, I need the following program in > GAP This functionality is not built-in, you would have to write your own function. > Suppose that w \in [F,F] and let x be its first letter. then x^{-1} must > also occur in w, so w=xux^{-1}v for some u and v in F, and hence To get this decomposition you can use: let:=Subword(w,1,1); # I?m using `let? instead of `x? as `x? might have been used already. p:=PositionWord(w,let^-1); # position of x^-1 u:=Subword(w,2,p-1); v:=Subword(w,p+1,Length(w)); with this, it will be easy to write such a function. Regards, Alexander Hulpke > w=(xux^{-1})(uv) and it is sufficent to express uv as product of > commutators. Since length of uv is two less than than w > this process terminates. By this algorithm I can express w as a product of > commutators. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From Jaco.Versfeld at wits.ac.za Fri Jun 5 15:53:42 2015 From: Jaco.Versfeld at wits.ac.za (Jaco Versfeld) Date: Fri, 5 Jun 2015 14:53:42 +0000 Subject: [GAP Forum] Factorizing polynomials over GF(2^m)? In-Reply-To: <9FC1B27B-B212-46BC-8AAC-FD33D42DBA47@fastmail.fm> References: , <9FC1B27B-B212-46BC-8AAC-FD33D42DBA47@fastmail.fm> Message-ID: Thank you very much. ________________________________________ From: Alexander Hulpke [hulpke at fastmail.fm] Sent: 05 June 2015 03:28 PM To: Jaco Versfeld Cc: forum at gap-system.org Subject: Re: [GAP Forum] Factorizing polynomials over GF(2^m)? Dear GAP Forum, > On Jun 5, 2015, at 7:19 AM, Jaco Versfeld wrote: > > I want to factor polynomials over GF(2^m). As a quick test, I did the following: > > R:=PolynomialRing(GF(8),["x"]); > x:=Indeterminate(GF(8),"x"); > p := x^7 + 1; > Factors(p); > > The result that I obtain is: > [ x+Z(2)^0, x^3+x+Z(2)^0, x^3+x^2+Z(2)^0 ] > > This doesn't make sense, since I expected (x-\alpha^0), (x-\alpha^1) ... (x-\alpha^6) to have been the roots. Polynomials do not carry the actual ring, but only the characteristic and get factored over their coefficient rings. To factor over GF(8), specify the polynomial ring, i.e. gap> Factors(R,p); [ x+Z(2)^0, x+Z(2^3), x+Z(2^3)^2, x+Z(2^3)^3, x+Z(2^3)^4, x+Z(2^3)^5, x+Z(2^3)^6 ] Regards, Alexander Hulpke
This communication is intended for the addressee only. It is confidential. If you have received this communication in error, please notify us immediately and destroy the original message. You may not copy or disseminate this communication without the permission of the University. Only authorised signatories are competent to enter into agreements on behalf of the University and recipients are thus advised that the content of this message may not be legally binding on the University and may contain the personal views and opinions of the author, which are not necessarily the views and opinions of The University of the Witwatersrand, Johannesburg. All agreements between the University and outsiders are subject to South African Law unless the University agrees in writing to the contrary.
Dear forum When GAP displays the structure of a group as"(C2?C2?C2?C2):C2".What does the symbol : mean? Thanks. From alexk at mcs.st-and.ac.uk Wed Jun 10 15:21:22 2015 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Wed, 10 Jun 2015 15:21:22 +0100 Subject: [GAP Forum] What does this symbol : mean. In-Reply-To: References: Message-ID: <58D55585-2BD8-401C-9DD5-2C620F492813@mcs.st-andrews.ac.uk> It means a semidirect product of groups - see http://www.gap-system.org/Manuals/doc/ref/chap39.html#X8199B74B84446971 for this and other symbols that may appear in the output of StructureDescription HTH Alexander > On 10 Jun 2015, at 15:15, abdulhakeem alayiwola wrote: > > Dear forum > When GAP displays the structure of a group as"(C2?C2?C2?C2):C2".What does > the symbol : mean? > Thanks. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From Bill.Allombert at math.u-bordeaux.fr Wed Jun 10 15:45:42 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Wed, 10 Jun 2015 16:45:42 +0200 Subject: [GAP Forum] What does this symbol : mean. In-Reply-To: References: Message-ID: <20150610144542.GC3714@yellowpig> On Wed, Jun 10, 2015 at 02:15:52PM +0000, abdulhakeem alayiwola wrote: > Dear forum > When GAP displays the structure of a group as"(C2?C2?C2?C2):C2".What does > the symbol : mean? It means a semi-direct product of (C2?C2?C2?C2) by C2, see ?StructureDescription for the full documentation Cheers, Bill. From alexk at mcs.st-and.ac.uk Fri Jun 12 16:00:39 2015 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Fri, 12 Jun 2015 16:00:39 +0100 Subject: [GAP Forum] GAP 4.7.8 release announcement Message-ID: <8FBB4F3A-A115-4C5A-8283-3D101DDBEECB@mcs.st-andrews.ac.uk> Dear all, This is to announce the release of GAP 4.7.8, which could be downloaded from http://www.gap-system.org/Releases/ This is the first GAP release made from the official development repository for GAP on GitHub (https://github.com/gap-system/gap). It fixes several bugs which could lead to incorrect results: - Added two groups of degree 1575 which were missing in the library of primitive groups. [Reported by Gordon Royle] - Fixed the error in the code for algebra module elements in packed representation caused by the use of Objectify with the type of the given object instead of ObjByExtRep. The problem was that after calculating u+v where one of the summands was known to be zero, this knowledge was wrongly passed to the sum via the type. [Reported by Istvan Szollosi] - Fixed a bug in PowerMod (Reference: PowerMod) causing wrong results for univariate Laurent polynomials when the two polynomial arguments are stored with the same non-zero shift. [Reported by Max Horn] Furthermore, GAP 4.7.8 distribution includes two new GAP packages: - PatternClass by Michael Albert, Ruth Hoffmann and Steve Linton, allowing to explore the permutation pattern classes build by token passing networks. Amongst other things, it can compute the basis of a permutation pattern class, create automata from token passing networks and check if the deterministic automaton is a possible representative of a token passing network. - QPA by Edward Green and ?yvind Solberg, providing data structures and algorithms for computations with finite dimensional quotients of path algebras, and with finitely generated modules over such algebras. It implements data structures for quivers, quotients of path algebras, and modules, homomorphisms and complexes of modules over quotients of path algebras. as well as updates of 17 other GAP packages: Package name | Version | Date -------------------------------------------------- 4ti2Interface | 2015.04.29 | 29/04/2015 AutoDoc | 2015.04.29 | 29/04/2015 ExamplesForHomalg | 2013.07.06 | 06/07/2013 FR | 2.2.1 | 27/03/2015 gpd | 1.34 | 05/06/2015 homalg | 2015.03.31 | 31/03/2015 HomalgToCAS | 2015.03.20 | 20/03/2015 idrel | 2.31 | 01/06/2015 IntPic | 0.2.1 | 05/06/2015 IO_ForHomalg | 2015.03.16 | 16/03/2015 kan | 1.21 | 02/06/2015 Modules | 2015.03.19 | 19/03/2015 NumericalSgps | 1.0.1 | 05/06/2015 PolymakeInterface | 2015.01.26 | 26/01/2015 RingsForHomalg | 2015.02.11 | 11/02/2015 Semigroups | 2.5 | 01/06/2015 XMod | 2.41 | 05/06/2015 ================================================== We encourage all users to upgrade to GAP 4.7.8. If you need any help or would like to report any problems, please do not hesitate to contact us at support at gap-system.org or submit new issues on GitHub at https://github.com/gap-system/gap/issues Wishing you fun and success using GAP, The GAP Group From saadhala10 at hotmail.com Fri Jun 12 19:03:45 2015 From: saadhala10 at hotmail.com (Saad) Date: Sat, 13 Jun 2015 02:03:45 +0800 Subject: [GAP Forum] About actions and GAP Message-ID: Dear all, Before some days ago I asked about a way for implement some actions in GAP, is it too trivial , not possible ! thx, Saad From L.H.Soicher at qmul.ac.uk Mon Jun 15 10:13:44 2015 From: L.H.Soicher at qmul.ac.uk (Leonard Soicher) Date: Mon, 15 Jun 2015 10:13:44 +0100 Subject: [GAP Forum] Announcing the packages: Gpd, IdRel, Kan, and NumericalSgps Message-ID: <20150615091344.GA28033@maths.qmul.ac.uk> Dear GAP-Forum Members, I am very pleased to announce that officially accepted versions of four long-standing GAP packages are included in the recently released GAP 4.7.8. Authors of GAP Packages retain full credit, control and responsibility for their packages. This means that when you make use of an (accepted or deposited) package in your published research you should reference this package, as well as the GAP system, in your bibliography. It also means that any queries or bug reports should be directed to the package authors, via support at gap-system.org, or via the GAP Forum if the query or report is thought to be of interest to the wider GAP community. The four newly accepted packages are: Gpd 1.34, by Emma J. Moore and Christopher D. Wensley The Gpd package provides a collection of functions for computing with finite groupoids, graphs of groups, and graphs of groupoids. These are based on the more basic structures of magmas with objects and their mappings. It provides functions for normal forms of elements in Free Products with Amalgamation and in HNN extensions. IdRel 2.31, by Anne Heyworth and Christopher D. Wensley IdRel is a package for computing the identities among relations of a group presentation using rewriting, logged rewriting, monoid polynomials, module polynomials and Y-sequences. Kan 1.21, by Anne Heyworth and Christopher D. Wensley The Kan package provides a collection of functions for computing with all types of Kan extension, including double coset rewriting systems. NumericalSgps 1.0.1, by Manuel Delgado, Pedro A. Garcia-Sanchez and Jose Morais NumericalSgps is a package for computing with numerical semigroups. On behalf of the GAP Council, I thank all the authors of these packages for their contributions to GAP. Leonard Soicher (Chair of GAP Council) From lovepgroups at gmail.com Mon Jun 15 20:51:58 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Mon, 15 Jun 2015 19:51:58 +0000 Subject: [GAP Forum] Autocommutator and Absolute centre Message-ID: Dear forum, Is there any library or package available or any way one compute the autocommutator and absolute centre subgroup of a group using GAP. Thanks. From alexk at mcs.st-and.ac.uk Mon Jun 15 21:32:11 2015 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Mon, 15 Jun 2015 21:32:11 +0100 Subject: [GAP Forum] Autocommutator and Absolute centre In-Reply-To: References: Message-ID: <15CFCDB0-1CF6-4E36-961B-2BC221E85708@mcs.st-andrews.ac.uk> Dear Abdulhakeem Alayiwola, Is the group finite? If so, there are definitions at the beginning of http://www.fmf.uni-lj.si/~moravec/Papers/autCommExpRev1.pdf which may be pretty straightforwardly implemented at least for small groups, and perhaps with some optimisations for some larger groups with a "good" structure ... Hope this helps, Alexander > On 15 Jun 2015, at 20:51, abdulhakeem alayiwola wrote: > > Dear forum, > Is there any library or package available or any way one compute the > autocommutator and absolute centre subgroup of a group using GAP. > Thanks. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From nikos.ap at gmail.com Mon Jun 22 14:15:03 2015 From: nikos.ap at gmail.com (Nikos Apostolakis) Date: Mon, 22 Jun 2015 09:15:03 -0400 Subject: [GAP Forum] Define a group action only on generators Message-ID: Dear Forum, Is there a standard way of defining an action of a group only on the generators of a group? Say I have a free group, I want to define an function that explains how each generator and its inverse acts and then gap should know how each word acts. Thanks in advance for any help, Nikos -- ?? ??????? ?? ?? ?????? ???????. ??? ?????? ???????? ????? ??????? ?????????????. The frivolous can call me frivolous. In serious matters I've always been most diligent. K. P. Kavafy From ljj198123 at 126.com Mon Jun 22 21:06:43 2015 From: ljj198123 at 126.com (=?GBK?B?wfW9qL78?=) Date: Tue, 23 Jun 2015 04:06:43 +0800 (CST) Subject: [GAP Forum] Structure constants of E7(2) and E8(2) Message-ID: <62abdabd.3ea.14e1ce14b71.Coremail.ljj198123@126.com> Dear forum, I would like to know whether there is a way to compute the structure constants of Exceptional groups of Lie type E7(2) and E8(2) using GAP. The ?CharacterTable(SimpleGroup(E7(2))? returns an Error, so the command ?ClassMultiplicationCoefficient? is not valid. Is there a method to get it? Thanks. All the best, Jianjun Liu From hulpke at math.colostate.edu Mon Jun 22 21:38:13 2015 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Mon, 22 Jun 2015 14:38:13 -0600 Subject: [GAP Forum] Define a group action only on generators In-Reply-To: References: Message-ID: <5E172F72-FB9D-4939-BA66-97D4CC006E18@math.colostate.edu> Dear Forum, Dear Nikos Apostolakis, > Is there a standard way of defining an action of a group only on the > generators of a group? Say I have a free group, I want to define an > function that explains how each generator and its inverse acts and then gap > should know how each word acts. There are basically two ways of doing so. The first uses that such an action could be represented through homomorphic images. You can do so by giving generators and corresponding images: So for example, if F(2) acts on [1..3] by the permutations (1,2,3) and (2,3), you could use: gap> f:=FreeGroup(2); gap> hom:=ActionHomomorphism(f,[1..3],[f.1,f.2],[(1,2,3),(2,3)],OnPoints); or (if you also want to give inverses, e.g. because the generator images do not have finite order) gap> hom:=ActionHomomorphism(f,[1..3],[f.1,f.2,f.1^-1,f.2^-1],[(1,2,3),(2,3),(1,3,2),(2,3)],OnPoints); Then you can use e.g.: gap> Image(hom); Group([ (1,2,3), (2,3) ]) gap> Index(f,Kernel(hom)); 6 The manual http://www.gap-system.org/Manuals/doc/ref/chap41.html#X83661AFD7B7BD1D9 describes this syntax. Alternatively (but this is more of a hack), you could write your own action function that would identify the acting element (which will always be a generator) in a predefined list, and then do the appropriate thing. 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 frank.luebeck at math.rwth-aachen.de Mon Jun 22 21:42:50 2015 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Mon, 22 Jun 2015 22:42:50 +0200 Subject: [GAP Forum] Structure constants of E7(2) and E8(2) In-Reply-To: <62abdabd.3ea.14e1ce14b71.Coremail.ljj198123@126.com> References: <62abdabd.3ea.14e1ce14b71.Coremail.ljj198123@126.com> Message-ID: <20150622204250.GA32574@alkor.math.rwth-aachen.de> On Tue, Jun 23, 2015 at 04:06:43AM +0800, ??? wrote: > Dear forum, > > I would like to know whether there is a way to compute the structure > constants of Exceptional groups of Lie type E7(2) and E8(2) using GAP. > > The ?CharacterTable(SimpleGroup(E7(2))? returns an Error, so the > command ?ClassMultiplicationCoefficient? is not valid. > > Is there a method to get it? Dear Jianjun Liu, dear Forum, The character tables of these groups are not yet completely known. So, you cannot easily compute any structure constants. Nevertheless, for some structure constants only few character values are needed and these may be known or computable. See L?beck, F. and Malle, G., (2,3)-generation of exceptional groups, J. London Math. Soc., 59 (2), (1999), p. 109--122 for an example of this. With best regards, Frank L?beck -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Pontdriesch 14/16, \\\ 52062 Aachen, Germany /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ From Bill.Allombert at math.u-bordeaux.fr Mon Jun 22 22:00:40 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Mon, 22 Jun 2015 23:00:40 +0200 Subject: [GAP Forum] Structure constants of E7(2) and E8(2) In-Reply-To: <62abdabd.3ea.14e1ce14b71.Coremail.ljj198123@126.com> References: <62abdabd.3ea.14e1ce14b71.Coremail.ljj198123@126.com> Message-ID: <20150622210040.GC16849@yellowpig> On Tue, Jun 23, 2015 at 04:06:43AM +0800, ??? wrote: > Dear forum, > > I would like to know whether there is a way to compute the structure constants of Exceptional groups of Lie type E7(2) and E8(2) using GAP. > > The ?CharacterTable(SimpleGroup(E7(2))? returns an Error, so the command ?ClassMultiplicationCoefficient? is not valid. > > Is there a method to get it? I do not know if this is relevant, but the correct syntax is SimpleGroup("E7(2)"); (with quotes around E7(2)) Cheers, Bill From steve.linton at st-andrews.ac.uk Tue Jun 23 07:27:00 2015 From: steve.linton at st-andrews.ac.uk (Steve Linton) Date: Tue, 23 Jun 2015 07:27:00 +0100 Subject: [GAP Forum] Structure constants of E7(2) and E8(2) In-Reply-To: <20150622210040.GC16849@yellowpig> References: <62abdabd.3ea.14e1ce14b71.Coremail.ljj198123@126.com> <20150622210040.GC16849@yellowpig> Message-ID: Since you would want a character table from the library, you would not want to create the group first. So you really want CharacterTable(?E7?,2); or CharacterTable(?E7(2)?); However, As Frank says these are not actually known. CharacterTable(?E6(2)?) does work. Steve > On 22 Jun 2015, at 22:00, Bill Allombert wrote: > > On Tue, Jun 23, 2015 at 04:06:43AM +0800, ??? wrote: >> Dear forum, >> >> I would like to know whether there is a way to compute the structure constants of Exceptional groups of Lie type E7(2) and E8(2) using GAP. >> >> The ?CharacterTable(SimpleGroup(E7(2))? returns an Error, so the command ?ClassMultiplicationCoefficient? is not valid. >> >> Is there a method to get it? > > I do not know if this is relevant, but the correct syntax is > > SimpleGroup("E7(2)"); > > (with quotes around E7(2)) > > Cheers, > Bill > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From gcombar at hotmail.com Wed Jun 24 18:06:27 2015 From: gcombar at hotmail.com (German Combariza) Date: Wed, 24 Jun 2015 17:06:27 +0000 Subject: [GAP Forum] Semidirect Products Message-ID: Good day, I am trying to do a semidirect product of groups in GAP without any luck. I will appreciate if some body can show me a way to do it. The product is between the groups: G := CyclicGroup(4); N := FreeAbelianGroup(6); Via the homomorphism: hom := GroupHomomorphismByImages(N, N, [N.1, N.2,N.3,N.4,N.5,N.6], [N.1^-1, N.2^-1,N.4^-1,N.3,N.6^-1,N.5]); Thank you so much! From stefan at mcs.st-and.ac.uk Wed Jun 24 22:22:32 2015 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Wed, 24 Jun 2015 22:22:32 +0100 (BST) Subject: [GAP Forum] Semidirect Products In-Reply-To: References: Message-ID: On Wed, June 24, 2015 6:06 pm, German Combariza wrote: > > I am trying to do a semidirect product of groups in GAP without any luck. I will > appreciate if some body can show me a way to do it. > > The product is between the groups: > > G := CyclicGroup(4); > N := FreeAbelianGroup(6); > > Via the homomorphism: > > hom := GroupHomomorphismByImages(N, N, [N.1, N.2,N.3,N.4,N.5,N.6], [N.1^-1, > N.2^-1,N.4^-1,N.3,N.6^-1,N.5]); I think the following is supposed to work: gap> G := CyclicGroup(4); gap> N := FreeAbelianGroup(6); gap> hom := GroupHomomorphismByImages(N, N, [N.1,N.2,N.3,N.4,N.5,N.6], [N.1^-1, > N.2^-1,N.4^-1,N.3,N.6^-1,N.5]); [ f1, f2, f3, f4, f5, f6 ] -> [ f1^-1, f2^-1, f4^-1, f3, f6^-1, f5 ] gap> S := SemidirectProduct(Group(hom),N); Error, user interrupt in Though apparently this runs into an infinite loop. What you can do however is e.g. the following: gap> LoadPackage("rcwa"); gap> N := Group(List(AllResidueClassesModulo(6),ClassShift)); gap> StructureDescription(N); # free abelian group of rank 6 "Z x Z x Z x Z x Z x Z" gap> g := ClassReflection(0,6)*ClassReflection(1,6)*ClassReflection(3,6) > *ClassTransposition(2,6,3,6)*ClassReflection(5,6) > *ClassTransposition(4,6,5,6); gap> Order(g); 4 gap> S := ClosureGroup(N,g); # the desired semidirect product Some checks: gap> Action(S,AllResidueClassesModulo(6)); Group([ (), (), (), (), (), (), (3,4)(5,6) ]) gap> IsNormal(S,N); true gap> Q := S/N; Group([ (), (), (), (), (), (), (1,2,3,4) ]) gap> Size(Q); 4 Hope this helps, Stefan From hulpke at math.colostate.edu Wed Jun 24 22:34:48 2015 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed, 24 Jun 2015 15:34:48 -0600 Subject: [GAP Forum] Semidirect Products In-Reply-To: References: Message-ID: <90CF5870-2308-4EDF-8587-6107FF7CB287@math.colostate.edu> Dear Forum, Dear German Combariza, > On Jun 24, 2015, at 6/24/15 11:06, German Combariza wrote: > > Good day, > I am trying to do a semidirect product of groups in GAP without any luck. I will appreciate if some body can show me a way to do it. > > The product is between the groups: > > G := CyclicGroup(4); > N := FreeAbelianGroup(6); > > Via the homomorphism: > > hom := GroupHomomorphismByImages(N, N, [N.1, N.2,N.3,N.4,N.5,N.6], [N.1^-1, N.2^-1,N.4^-1,N.3,N.6^-1,N.5]); First, the syntax actually requires a homomorphism from G into the group containing hom: gap> gen:=SmallGeneratingSet(G)[1]; f1 gap> Order(gen); 4 gap> auhom:=GroupHomomorphismByImages(G,Group(hom),[gen],[hom]); [ f1 ] -> [ [ f1, f2, f3, f4, f5, f6 ] -> [ f1^-1, f2^-1, f4^-1, f3, f6^-1, f5 ] ] Then, GAP currently has no method for semidirect products with f.p. groups. The appended code provides such a method such that the standard call: gap> SemidirectProduct(G,auhom,N); works. 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 ## code starts here SemidirectFp:=function( G, aut, N ) local Go,No,giso,niso,FG,GP,FN,NP,F,GI,NI,rels,i,j,P; Go:=G; No:=N; if not IsFpGroup(G) then giso:=IsomorphismFpGroup(G); else giso:=IdentityMapping(G); fi; if not IsFpGroup(N) then niso:=IsomorphismFpGroup(N); else niso:=IdentityMapping(N); fi; G:=Image(giso,G); N:=Image(niso,N); FG:=FreeGeneratorsOfFpGroup(G); GP:=List(GeneratorsOfGroup(G),x->PreImagesRepresentative(giso,x)); FN:=FreeGeneratorsOfFpGroup(N); NP:=List(GeneratorsOfGroup(N),x->PreImagesRepresentative(niso,x)); F:=FreeGroup(List(Concatenation(FG,FN),String)); GI:=GeneratorsOfGroup(F){[1..Length(FG)]}; NI:=GeneratorsOfGroup(F){[Length(FG)+1..Length(GeneratorsOfGroup(F))]}; rels:=[]; for i in RelatorsOfFpGroup(G) do Add(rels,MappedWord(i,FG,GI)); od; for i in RelatorsOfFpGroup(N) do Add(rels,MappedWord(i,FN,NI)); od; for i in [1..Length(FG)] do for j in [1..Length(FN)] do Add(rels,NI[j]^GI[i]/( MappedWord(UnderlyingElement(Image(niso,Image(Image(aut,GP[i]),NP[j]))),FN,NI) )); od; od; P:=F/rels; GI:=GeneratorsOfGroup(P){[1..Length(FG)]}; NI:=GeneratorsOfGroup(P){[Length(FG)+1..Length(GeneratorsOfGroup(P))]}; # set the embeddings and projections i:=rec(groups:=[Go,No], embeddings:=[GroupHomomorphismByImagesNC(Go,P,GP,GI), GroupHomomorphismByImagesNC(No,P,NP,NI)], projections:=GroupHomomorphismByImagesNC(P,Go, Concatenation(GI,NI), Concatenation(GP,List(NI,x->One(Go)))) ); SetSemidirectProductInfo(P,i); return P; end; InstallMethod( SemidirectProduct,"fp with group",true, [ IsSubgroupFpGroup, IsGroupHomomorphism, IsGroup ], 0, SemidirectFp); InstallMethod( SemidirectProduct,"group with fp",true, [ IsGroup, IsGroupHomomorphism, IsSubgroupFpGroup ], 0, SemidirectFp); ## code ends here From gordon.royle at uwa.edu.au Thu Jun 25 01:37:56 2015 From: gordon.royle at uwa.edu.au (Gordon Royle) Date: Thu, 25 Jun 2015 08:37:56 +0800 Subject: [GAP Forum] Will my program ever finish? Message-ID: <88F8E566-9A17-4400-8B00-F511EA3C52F0@uwa.edu.au> I have four permutations, each of which has degree 76422528 (for those interested, this is the degree of a primitive representation of PSp(6,3)). The permutations generate a group, which I believe to have order 9170703360 (this is twice the order of PSp(6,3)). For various reasons, I wish to know how the extra factor of 2 is acting. I can read the four permutations into GAP, and I can form the group generated by them, but now I need to compute with it. I have just asked GAP for the order of the group, both for double-checking, and also so that it sets up the internal data structures needed for further computation. But now it is sitting there, consuming cpu-time, but with no other indication of progress. Initially it chewed up memory quite quickly for a while, but it has stabilised and seems to just be grinding on in the same memory footprint - I left it overnight, and the memory used has been constant. Is there any way that I can guess whether this will finish (a) tonight, (b) tomorrow, or (c) just before the sun goes supernova? Alternatively, can I ?help? it by *telling* GAP the order of the group? (In Magma, I can _assign_ the order of the group and then use RandomSchreier to generate a bases/s.g.s). Of course, I lose the double-checking aspect of things, but I?m willing to do that if necessary. Thanks Gordon From hulpke at fastmail.fm Thu Jun 25 03:31:25 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Wed, 24 Jun 2015 20:31:25 -0600 Subject: [GAP Forum] Will my program ever finish? In-Reply-To: <88F8E566-9A17-4400-8B00-F511EA3C52F0@uwa.edu.au> References: <88F8E566-9A17-4400-8B00-F511EA3C52F0@uwa.edu.au> Message-ID: <329DD0A5-DB19-4485-81E5-BE9EFDA45779@fastmail.fm> Dear Forum, Dear Gordon, GAP always calls a randomized Schreier-Sims but then calls a verification routine. I suspect GAP is in this verification routine. (You could interrupt with CTRL-C and call Where(500) to see the function callback to check.) Basically there are three ways to get this faster: - Skip most verification: StabChainOptions(G).random:=1; - Assign an order as known: SetOrder(G,9170703360); - Use the genss package (which performs better for huge degree groups but currently has no verification step). Best, Alexander > On Jun 24, 2015, at 6:37 PM, Gordon Royle wrote: > > I have four permutations, each of which has degree 76422528 (for those interested, this is the degree of a primitive representation of PSp(6,3)). > > The permutations generate a group, which I believe to have order 9170703360 (this is twice the order of PSp(6,3)). > > For various reasons, I wish to know how the extra factor of 2 is acting. > > > I can read the four permutations into GAP, and I can form the group generated by them, but now I need to compute with it. > > I have just asked GAP for the order of the group, both for double-checking, and also so that it sets up the internal data structures needed for further computation. > > > But now it is sitting there, consuming cpu-time, but with no other indication of progress. > > Initially it chewed up memory quite quickly for a while, but it has stabilised and seems to just be grinding on in the same memory footprint - I left it overnight, and the memory used has been constant. > > > Is there any way that I can guess whether this will finish (a) tonight, (b) tomorrow, or (c) just before the sun goes supernova? > > Alternatively, can I ?help? it by *telling* GAP the order of the group? (In Magma, I can _assign_ the order of the group and then use RandomSchreier to generate a bases/s.g.s). Of course, I lose the double-checking aspect of things, but I?m willing to do that if necessary. > > > Thanks > > Gordon > > > > > > > > > > > > > > > > > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From mohamed.barakat at rwth-aachen.de Fri Jun 26 17:05:19 2015 From: mohamed.barakat at rwth-aachen.de (Mohamed Barakat) Date: Fri, 26 Jun 2015 18:05:19 +0200 Subject: [GAP Forum] 3rd GAP Days at the NTNU Trondheim Message-ID: <68440192-5906-4394-a321-07357b2f0a6d@HUB2.rwth-ad.de> Dear all, we are happy to announce the 3rd GAP Days at the NTNU Trondheim School: September 14-18, 2015 & Coding sprint: September 19-23 For details please visit the webpage of the meeting http://gapdays.coxeter.de/gapdays2015-fall/ Best regards, ?yvind Solberg (local organizer), Mohamed Barakat, and Max Horn. From e.obrien at auckland.ac.nz Tue Jun 30 21:02:42 2015 From: e.obrien at auckland.ac.nz (Eamonn O'Brien) Date: Wed, 01 Jul 2015 08:02:42 +1200 Subject: [GAP Forum] Kalman Visiting Fellowship in Mathematics at the University of Auckland Message-ID: <5592F5E2.6040103@auckland.ac.nz> Dear Colleagues: I would be grateful if you can draw the attention of your colleagues to a prestigious Visiting Fellowship available in mathematics at the University of Auckland. The purpose of the Kalman Visiting Fellowship is to enable a ?rising star? in mathematics and its applications to visit the University of Auckland. The Fellowship is for a person within 10 years of PhD. It is worth NZ$10,000, and can be spent on travel, accommodation, or other associated expenses. Full details of the Fellowship, including the simple application process, can be found at www.science.auckland.ac.nz/kalman. The closing date for applications is 17 July. Informal enquiries may be addressed to eadeansoffice at sfac.auckland.ac.nz or to me. Best wishes. Eamonn O'Brien From akhileshyadav538 at gmail.com Sat Jul 4 14:07:26 2015 From: akhileshyadav538 at gmail.com (Akhilesh Yadav) Date: Sat, 4 Jul 2015 06:07:26 -0700 Subject: [GAP Forum] Codes for computing special maps for right loops with unique inverses. Message-ID: Dear Gap Forum I wants to compute bijective maps f on right loop L such that f(e)= e and f(x.y)= f(x')'. f(y) for all x y in L, where (L, .) is a right loop with unique inverses; that is, x' .x= e=x.x' for all x in S. Please provide me a code for GAP. I will be highly obliged Akhilesh Chandra Yadav Department Of Mathematics M G kashi Vidyapith Varanasi From arashrafi at kashanu.ac.ir Tue Jul 14 05:33:10 2015 From: arashrafi at kashanu.ac.ir (arashrafi at kashanu.ac.ir) Date: Tue, 14 Jul 2015 09:03:10 +0430 (IRDT) Subject: [GAP Forum] Conference on Computational Algebra and Computational Number Theory and Applications (CACNA 2015) In-Reply-To: <5015171.33710.1436848330086.JavaMail.root@mail.kashanu.ac.ir> Message-ID: <15673120.33712.1436848390739.JavaMail.root@mail.kashanu.ac.ir> Dear Forum, It is our great pleasure to invite you to participate in the Conference on Computational Algebra, Computational Number Theory and Applications, CACNA 2015, which will be held at the University of Kashan, Iran, from the 13th to the 15th October, 2015. The aim of CACNA 2015 is to bring together the mathematical community working on Computational Algebra and Computational Number Theory. The event will provide ample opportunity for conference delegates to network and improve their knowledge in an attractive, friendly and historical environment: Kashan, Iran. There are also open slots for contributed talks. Registration has now opened. The fee is 150 USD (100 USD for students). Some funding is available to contribute to the travel and accommodation expenses. Please contact Ali Reza Ashrafi at ashrafi at kashanu.ac.ir or cacna2015 at kashanu.ac.ir for further information and to apply for giving a talk. The meeting's website is http://www.cacna2015.kashanu.ac.ir/ Best Regards, Ali Reza Ashrafi Chair of the Scientific Committee (CACNA 2015) From akhileshyadav538 at gmail.com Tue Jul 14 17:49:18 2015 From: akhileshyadav538 at gmail.com (Akhilesh Yadav) Date: Tue, 14 Jul 2015 09:49:18 -0700 Subject: [GAP Forum] special bijective maps on right loops Message-ID: I asked a question on gap forum for calculating some special maps. But I realized that it was not properly written. So I apologize to you. I am again asking the same question: A groupoid (S, o) with identity e is called a right loop if for every $x, y $ in S, the equation $Xox = y$ has a unique solution in S. A right loop $(S, o)$ is called a right loop with unique inverses if for each x in S there exists a unique element $x^{\prime}$ (we call inverse of x) in S such that $x o x^{\prime} = e = x^{\prime} o x$. Suppose that (S, o) is a right loop with unique inverses. Then our question is: How to calculate bijective maps f on right loop S such that f(e)= e and $f(x o y) = [f(x^{\prime})]^{\prime} o f(y)$ ? From c.d.wensley at bangor.ac.uk Tue Jul 14 21:22:42 2015 From: c.d.wensley at bangor.ac.uk (Chris Wensley) Date: Tue, 14 Jul 2015 20:22:42 +0000 Subject: [GAP Forum] special bijective maps on right loops In-Reply-To: References: Message-ID: Dear Akhilesh Yadav This is not an attempt to answer your question, but just a comment on the terminology. Groupoids in GAP are categories in which every morphism is invertible (see package Gpd). The term 'groupoid' has also been used in mathematics to denote a set with a binary operation. Such structures in GAP use the other commonly used term, namely 'magma'. Best wishes, Chris Wensley ________________________________________ From: forum-bounces at gap-system.org on behalf of Akhilesh Yadav Sent: 14 July 2015 17:49 To: forum at gap-system.org Subject: [GAP Forum] special bijective maps on right loops I asked a question on gap forum for calculating some special maps. But I realized that it was not properly written. So I apologize to you. I am again asking the same question: A groupoid (S, o) with identity e is called a right loop if for every $x, y $ in S, the equation $Xox = y$ has a unique solution in S. A right loop $(S, o)$ is called a right loop with unique inverses if for each x in S there exists a unique element $x^{\prime}$ (we call inverse of x) in S such that $x o x^{\prime} = e = x^{\prime} o x$. Suppose that (S, o) is a right loop with unique inverses. Then our question is: How to calculate bijective maps f on right loop S such that f(e)= e and $f(x o y) = [f(x^{\prime})]^{\prime} o f(y)$ ? _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum Rhif Elusen Gofrestredig 1141565 - Registered Charity No. 1141565 Gall y neges e-bost hon, ac unrhyw atodiadau a anfonwyd gyda hi, gynnwys deunydd cyfrinachol ac wedi eu bwriadu i'w defnyddio'n unig gan y sawl y cawsant eu cyfeirio ato (atynt). Os ydych wedi derbyn y neges e-bost hon trwy gamgymeriad, rhowch wybod i'r anfonwr ar unwaith a dilewch y neges. Os na fwriadwyd anfon y neges atoch chi, rhaid i chi beidio a defnyddio, cadw neu ddatgelu unrhyw wybodaeth a gynhwysir ynddi. Mae unrhyw farn neu safbwynt yn eiddo i'r sawl a'i hanfonodd yn unig ac nid yw o anghenraid yn cynrychioli barn Prifysgol Bangor. Nid yw Prifysgol Bangor yn gwarantu bod y neges e-bost hon neu unrhyw atodiadau yn rhydd rhag firysau neu 100% yn ddiogel. Oni bai fod hyn wedi ei ddatgan yn uniongyrchol yn nhestun yr e-bost, nid bwriad y neges e-bost hon yw ffurfio contract rhwymol - mae rhestr o lofnodwyr awdurdodedig ar gael o Swyddfa Cyllid Prifysgol Bangor. This email and any attachments may contain confidential material and is solely for the use of the intended recipient(s). If you have received this email in error, please notify the sender immediately and delete this email. If you are not the intended recipient(s), you must not use, retain or disclose any information contained in this email. Any views or opinions are solely those of the sender and do not necessarily represent those of Bangor University. Bangor University does not guarantee that this email or any attachments are free from viruses or 100% secure. Unless expressly stated in the body of the text of the email, this email is not intended to form a binding contract - a list of authorised signatories is available from the Bangor University Finance Office. From jasonives1993 at hotmail.com Mon Jul 27 16:58:03 2015 From: jasonives1993 at hotmail.com (Jason Ives) Date: Mon, 27 Jul 2015 15:58:03 +0000 Subject: [GAP Forum] Error using ConjugacyClassesSubgroups on S14 Message-ID: GAP, Version 4.7.8 of 09-Jun-2015 (free software, GPL) gap> ConjugacyClassesSubgroups(SymmetricGroup(14)); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `LengthsTom' on 1 arguments called from LengthsTom( recog[2] ) called from TomDataSubgroupsAlmostSimple( G ) called from LatticeSubgroups( G ) called from ConjugacyClassesSubgroups( gold[1] ) called from SubgroupsTrivialFitting( G ) called from ... at line 1 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> Where(10); LengthsTom( recog[2] ) called from TomDataSubgroupsAlmostSimple( G ) called from LatticeSubgroups( G ) called from ConjugacyClassesSubgroups( gold[1] ) called from SubgroupsTrivialFitting( G ) called from LatticeSubgroups( G ) called from ( ) called from read-eval loop at line 1 of *errin* It works for n<14, but seems to error for 14 and above. Is this a known issue? I realize the computation may take time and memory, but 75154 classes for 14 should be manageable, no? Or is there a better way to get a representative of every permutation group for a given degree? From hulpke at fastmail.fm Mon Jul 27 20:41:32 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Mon, 27 Jul 2015 21:41:32 +0200 Subject: [GAP Forum] Error using ConjugacyClassesSubgroups on S14 In-Reply-To: References: Message-ID: Dear Forum, Dear Jason Ives, > On Jul 27, 2015, at 5:58 PM, Jason Ives wrote: > > GAP, Version 4.7.8 of 09-Jun-2015 (free software, GPL) > > gap> ConjugacyClassesSubgroups(SymmetricGroup(14)); > > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for `LengthsTom' on 1 arguments called from > LengthsTom( recog[2] ) called from > > It works for n<14, but seems to error for 14 and above. Is this a known issue? Thank you for reporting this issue. I will fix it for future releases. The problem is that GAP does not know the table of marks for A14 (or larger groups) and thus cannot use table lookup. However this means that after fixing the bug the command will run into generic code and almost certainly run out of memory. > > I realize the computation may take time and memory, but 75154 classes for 14 should be manageable, no? The issue is not just storing the result, but computing the groups which will involve conjugates (and thus far more groups than the class representatives) and the fact that a generic algorithm will not perform optimally in every special situation ? in this example I am doubtful about termination. > > Or is there a better way to get a representative of every permutation group for a given degree? Yes. First you might want to think whether you really need all classes, or only particular ones. Transitive groups have been classified for the degrees you are interested in, intransitive ones can be constructed as subdirect products (which is how this number 75154 was obtained by Holt). I might still have copies of such lists ? if you indeed need a full list of these groups for your research tell me what you are trying to do, and I will see whether I can find these lists. Regards, Alexander Hulpke -- Alexander Hulpke, Department of Mathematics, Colorado State University, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at math.colostate.edu, http://www.math.colostate.edu/~hulpke From lovepgroups at gmail.com Sat Aug 1 14:08:31 2015 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Sat, 1 Aug 2015 13:08:31 +0000 Subject: [GAP Forum] Mathieu group M11 Message-ID: Dear forum, Can someone help with the construction or presentation of Mathieu group M11 on GAP. Best regards. From gordon.royle at uwa.edu.au Sat Aug 1 14:43:49 2015 From: gordon.royle at uwa.edu.au (Gordon Royle) Date: Sat, 1 Aug 2015 21:43:49 +0800 Subject: [GAP Forum] Mathieu group M11 In-Reply-To: References: Message-ID: <60A0ACFD-090E-4C4D-98F9-6FD1FD66378F@uwa.edu.au> Yes, you can type "GAP Mathieu 11" into Google and the answer will appear with a reference to "Section 50 Group Libraries" of the GAP manual. Or you could cut out Google, and just direct go to the index of the GAP manual and search for "Mathieu" or "MathieuGroup" and the same answer will appear. Or you could go to Wikipedia and search for "Mathieu Group" and get the same information. > On 1 Aug 2015, at 9:23 pm, abdulhakeem alayiwola wrote: > > Dear forum, > Can someone help with the construction or presentation of Mathieu group > M11 on GAP. > Best regards. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From alexander.konovalov at st-andrews.ac.uk Sun Aug 2 21:30:37 2015 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Sun, 2 Aug 2015 20:30:37 +0000 Subject: [GAP Forum] Mathieu group M11 In-Reply-To: <60A0ACFD-090E-4C4D-98F9-6FD1FD66378F@uwa.edu.au> References: <60A0ACFD-090E-4C4D-98F9-6FD1FD66378F@uwa.edu.au> Message-ID: Or you could use GAP help system: http://www.gap-system.org/Manuals/doc/ref/chap2.html Just enter ?Mathieu in the GAP prompt and it will display the manual entry for MathieuGroup in the GAP session. gap> ?Mathieu Help: Showing `Reference: MathieuGroup' 50.1-11 MathieuGroup ? MathieuGroup( [filt, ]degree ) ???????????????????? function constructs the Mathieu group of degree degree in the category given by the filter filt, where degree must be in the set { 9, 10, 11, 12, 21, 22, 23, 24 }. If filt is not given it defaults to IsPermGroup (43.1-1). ??????????????????? Example ???????????????????? gap> MathieuGroup( 11 ); Group([ (1,2,3,4,5,6,7,8,9,10,11), (3,7,11,8)(4,10,5,6) ]) ????????????????????????????????????????????? You can also use SetHelpViewer function to change the default viewer - for example, on my computer I open GAP help pages with the browser. See SetHelpViewer documentation at http://www.gap-system.org/Manuals/doc/ref/chap2.html#X863FF9087EDA8DF9 and also "The gap.ini and gaprc files" for the documentation on customising GAP to use this setting by default http://www.gap-system.org/Manuals/doc/ref/chap3.html#X7FD66F977A3B02DF You can also type ??Mathieu - the difference is that with one `?` it looks for all help entries that *start* with "Mathieu", while with `??` it looks for all entries which contain the substring "Mathieu", so in this case you will be also pointed to an entry from the documentation for the Orb package: gap> ??Mathieu Help: several entries match this topic - type ?2 to get match [2] [1] Reference: MathieuGroup [2] orb (not loaded): The Mathieu group M_{11} acting in dimension 24 gap> ?2 Using ? and ?? is more reliable: it will search not only in the GAP manuals, but also in the manuals of all GAP packages available in your GAP installation. It guarantees to return results from the documentation precisely for the version of GAP you're using. Therefore, I'm encouraging everyone to use this feature of GAP and not just a search engine (which may return results in different order dependently on your location; may point you to GAP documentation for older versions of GAP still hosted elsewhere; may not point to the relevant pieces of functionality in GAP packages, etc.). Hope this helps Alexander > On 1 Aug 2015, at 14:43, Gordon Royle wrote: > > Yes, you can type "GAP Mathieu 11" into Google and the answer will appear with a reference to "Section 50 Group Libraries" of the GAP manual. > > Or you could cut out Google, and just direct go to the index of the GAP manual and search for "Mathieu" or "MathieuGroup" and the same answer will appear. > > Or you could go to Wikipedia and search for "Mathieu Group" and get the same information. > > >> On 1 Aug 2015, at 9:23 pm, abdulhakeem alayiwola wrote: >> >> Dear forum, >> Can someone help with the construction or presentation of Mathieu group >> M11 on GAP. >> Best regards. >> _______________________________________________ >> 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 -- Dr. Alexander Konovalov School of Computer Science & Centre for Interdisciplinary Research in Computational Algebra University of St Andrews Tel +44/0 (1334) 461633 http://blogs.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 anclecharly at gmail.com Mon Aug 3 19:36:51 2015 From: anclecharly at gmail.com (Kit Lessenger) Date: Mon, 3 Aug 2015 23:36:51 +0500 Subject: [GAP Forum] Indeterminates of polynomial function Message-ID: <927810A3-0B13-4F55-80E5-8DE41CDD6AB8@gmail.com> Hello, forum. Can you help me please. I need get a list of indeterminates of a polynom or maybe ring where the polynome is. For example: if f:=x^2y^3 + z then I wont get the list [x, y, z], or may be ring Rationals[x, y, z]. Nurlan From hulpke at fastmail.fm Mon Aug 3 19:52:05 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Mon, 3 Aug 2015 19:52:05 +0100 Subject: [GAP Forum] Indeterminates of polynomial function In-Reply-To: <927810A3-0B13-4F55-80E5-8DE41CDD6AB8@gmail.com> References: <927810A3-0B13-4F55-80E5-8DE41CDD6AB8@gmail.com> Message-ID: <496C7116-ED60-4762-868E-3E791370D50F@fastmail.fm> Dear Forum, Dear Kit Nurlan Lessenger-Anclecharly, > Can you help me please. > I need get a list of indeterminates of a polynom or maybe ring where the polynome is. > For example: if > > f:=x^2y^3 + z OccuringVariableIndices(f); will return a list of the index numbers of the occurring variables, and List(OccuringVariableIndices(f),x->UnivariatePolynomialByCoefficients(CoefficientsFamily(FamilyObj(f)),[0,1],x)); will return a list of the actual variables. Regards, Alexander Hulpke > > Nurlan > > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From rostamihojjat at yahoo.com Sat Aug 8 09:56:11 2015 From: rostamihojjat at yahoo.com (hojjat Rostami) Date: Sat, 8 Aug 2015 08:56:11 +0000 (UTC) Subject: [GAP Forum] Program for determining new graph Message-ID: <1501083019.1198990.1439024171513.JavaMail.yahoo@mail.yahoo.com> Dear forum, Can someone help with the construction?a graph for a group G, where its vertices set is G and two element x,y of G are connected if there exists ?some automorphism a such that a(x)=y or a(y)=x.Best regard From arashrafi at kashanu.ac.ir Sat Aug 8 10:34:37 2015 From: arashrafi at kashanu.ac.ir (arashrafi at kashanu.ac.ir) Date: Sat, 8 Aug 2015 14:04:37 +0430 (IRDT) Subject: [GAP Forum] Program for determining new graph In-Reply-To: <31777360.6329.1439025606633.JavaMail.root@mail.kashanu.ac.ir> Message-ID: <9737563.6344.1439026477839.JavaMail.root@mail.kashanu.ac.ir> Dear Hojjat, Suppose G is a group and \Gamma is the graph you define in your message. The group Aut(G) has a natural action on G. Consider an orbit \Delta of this action. Then the complete graph on \Delta is a component of \Gamma. So, \Gamma is a union of complete graphs. So, it is enough to find the orbits of the automorphism group under its natural action on G. Up to isomorphism, the length of orbits is enough. I hope this helps you. Regards, Alireza ----- Original Message ----- From: "hojjat Rostami" To: "forum at mail.gap-system.org" Sent: Saturday, August 8, 2015 1:26:11 PM Subject: [GAP Forum] Program for determining new graph Dear forum, Can someone help with the construction a graph for a group G, where its vertices set is G and two element x,y of G are connected if there exists some automorphism a such that a(x)=y or a(y)=x.Best regard _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From sven.reichard at tu-dresden.de Sat Aug 8 11:43:51 2015 From: sven.reichard at tu-dresden.de (Sven Reichard) Date: Sat, 08 Aug 2015 12:43:51 +0200 Subject: [GAP Forum] Program for determining new graph In-Reply-To: <1501083019.1198990.1439024171513.JavaMail.yahoo@mail.yahoo.com> References: <1501083019.1198990.1439024171513.JavaMail.yahoo@mail.yahoo.com> Message-ID: <14f0cd60dd8.27e5.ec1f6dda5507808bb11ef96b4d70ef6a@tu-dresden.de> In the graph you define, two elements are adjacent if they lie in the same orbit of the automorphism group. So one way to construct it is aut := AutomorphismGroup ( G ); adj := function (x,y) return x in Orbit (aut, y); end; Graph (aut, Elements (G), OnPoints, adj); Regards, Sven Reichard. Gesendet mit AquaMail f?r Android http://www.aqua-mail.com Am 8. August 2015 11:09:25 schrieb hojjat Rostami : > Dear forum, > Can someone help with the construction?a graph for a group G, where its > vertices set is G and two element x,y of G are connected if there exists > ?some automorphism a such that a(x)=y or a(y)=x.Best regard > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From oxeimon at gmail.com Sat Aug 15 18:44:07 2015 From: oxeimon at gmail.com (Will Chen) Date: Sat, 15 Aug 2015 13:44:07 -0400 Subject: [GAP Forum] Having trouble installing GAP 4.7.8 Message-ID: I'm running OS X Yosemite on a 2013 Macbook Pro, and I've tried installing gap 4.7.8 in two ways: 1. I downloaded the gap4r7p8_2015_06_09-20_27.tar file from here: http://www.gap-system.org/Releases/index.html Then I unpacked it, and in the resulting gap4r7 directory I entered "./configure; make" The configure seemed to go through without trouble. Make however ended in...: ... x gmp-5.0.5/tune/x86_64.asm x gmp-5.0.5/version.c x gmp-5.0.5/ylwrap Configuring GMP. Logging to bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. Please wait... Building GMP. Logging to bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. Please wait... Checking GMP. Logging to bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. Please wait... ***Error: GMP self-check has failed. See bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log for details.*** make[1]: *** [gmp_build] Error 1 make: *** [extern] Error 2 I don't understand the error. I've installed XCode, which seems to already be packaged with the apple command line tools. 2. I tried using BOB, following the directions here: http://gap-system.github.io/bob/#downloadtab including installing MacPorts and entering "sudo port install readline +universal ncurses +universal gawk wget xorg-libX11 xorg-libXaw" in the terminal. That seemed to go through fine, until I actually open Bob, at which point I get the error message in the terminal: Working on component GAP ... Getting component GAP Getting link file... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 9116 100 9116 0 0 102k 0 --:--:-- --:--:-- --:--:-- 103k Error:Link file /Users/wchen/gap_installation/bobdownloads/GAP.link corrupt. Error:Could not download GAP archive. Error:Stopping. Summary: Components with errors: GAP I've tried redownloading Bob to no avail. Any ideas? From alexander.konovalov at st-andrews.ac.uk Sat Aug 15 21:20:05 2015 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Sat, 15 Aug 2015 20:20:05 +0000 Subject: [GAP Forum] Having trouble installing GAP 4.7.8 In-Reply-To: References: Message-ID: Thank you for reporting this. Could you please tell which compiler are you using to build GAP by sending me the output of gcc -v ? On OS X, after XCode installation gcc actually calls clang, and my guess is that this may be may be a version of clang which is not compatible with GMP, so building GMP fails. There are several ways to fix this: 1) the fastest way is to build GAP without GMP support make clean ./configure --with-gmp=no make at the cost of a slightly slower integer arithmetic. 2) Install gcc compiler using, for example, homebrew (http://brew.sh), and then call make clean export CC=/usr/local/bin/gcc-4.9 ./configure --with-gmp=no make (adjust the part in export=... as required). Unfortunately, the BOB installer does not work at the moment. Hope this helps Alexander > On 15 Aug 2015, at 18:44, Will Chen wrote: > > I'm running OS X Yosemite on a 2013 Macbook Pro, and I've tried installing > gap 4.7.8 in two ways: > > 1. I downloaded the gap4r7p8_2015_06_09-20_27.tar file from here: > http://www.gap-system.org/Releases/index.html > Then I unpacked it, and in the resulting gap4r7 directory I entered > "./configure; make" > > The configure seemed to go through without trouble. Make however ended > in...: > > ... > > > x gmp-5.0.5/tune/x86_64.asm > > x gmp-5.0.5/version.c > > x gmp-5.0.5/ylwrap > > > Configuring GMP. Logging to > bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. > Please wait... > > > > Building GMP. Logging to > bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. > Please wait... > > > > Checking GMP. Logging to > bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. > Please wait... > > > > ***Error: GMP self-check has failed. See > bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log for > details.*** > > > make[1]: *** [gmp_build] Error 1 > > make: *** [extern] Error 2 > > > I don't understand the error. I've installed XCode, which seems to already > be packaged with the apple command line tools. > > > 2. I tried using BOB, following the directions here: > http://gap-system.github.io/bob/#downloadtab > > including installing MacPorts and entering "sudo port install readline > +universal ncurses +universal gawk wget xorg-libX11 xorg-libXaw" in the > terminal. > > That seemed to go through fine, until I actually open Bob, at which point I > get the error message in the terminal: > > Working on component GAP ... > > Getting component GAP > > Getting link file... > > % Total % Received % Xferd Average Speed Time Time Time > Current > > Dload Upload Total Spent Left > Speed > > 100 9116 100 9116 0 0 102k 0 --:--:-- --:--:-- --:--:-- > 103k > > Error:Link file /Users/wchen/gap_installation/bobdownloads/GAP.link corrupt. > > Error:Could not download GAP archive. > > Error:Stopping. > > Summary: > > > Components with errors: > > GAP > > I've tried redownloading Bob to no avail. > > Any ideas? > _______________________________________________ > 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://blogs.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 oxeimon at gmail.com Sun Aug 16 21:33:46 2015 From: oxeimon at gmail.com (Will Chen) Date: Sun, 16 Aug 2015 16:33:46 -0400 Subject: [GAP Forum] Having trouble installing GAP 4.7.8 In-Reply-To: References: Message-ID: Here's the output from gcc -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) Target: x86_64-apple-darwin14.1.0 Thread model: posix I'm trying to use your option 2. How do I install the gcc compiler with homebrew? I think I've installed homebrew, and entered "brew install wget". However, this is the output when I follow your instructions in (2): Zephyr:gap4r7 wchen$ ls CITATION config.log extern makepkgs sysinfo.in INSTALL configure gap.ini pkg trans Makefile.in configure.in gap.shi prim tst bin doc grp small cnf etc lib src Zephyr:gap4r7 wchen$ make clean make: *** No rule to make target `clean'. Stop. Zephyr:gap4r7 wchen$ export CC=/usr/local/bin/gcc-4.9 Zephyr:gap4r7 wchen$ ./configure --with-gmp=no checking for gcc... /usr/local/bin/gcc-4.9 checking whether the C compiler works... no configure: error: in `/Users/wchen/gap_installation/failed install/gap4r7': configure: error: C compiler cannot create executables See `config.log' for more details Zephyr:gap4r7 wchen$ make make: *** No targets specified and no makefile found. Stop. Zephyr:gap4r7 wchen$ :-( - will On Sat, Aug 15, 2015 at 4:20 PM, Alexander Konovalov < alexander.konovalov at st-andrews.ac.uk> wrote: > Thank you for reporting this. Could you please tell which compiler > are you using to build GAP by sending me the output of gcc -v ? > On OS X, after XCode installation gcc actually calls clang, and my > guess is that this may be may be a version of clang which is not > compatible with GMP, so building GMP fails. There are several > ways to fix this: > > > 1) the fastest way is to build GAP without GMP support > > make clean > ./configure --with-gmp=no > make > > at the cost of a slightly slower integer arithmetic. > > > 2) Install gcc compiler using, for example, homebrew (http://brew.sh), > and then call > > make clean > export CC=/usr/local/bin/gcc-4.9 > ./configure --with-gmp=no > make > > (adjust the part in export=... as required). > > > Unfortunately, the BOB installer does not work at the moment. > > > Hope this helps > Alexander > > > > > > > > > > > On 15 Aug 2015, at 18:44, Will Chen wrote: > > > > I'm running OS X Yosemite on a 2013 Macbook Pro, and I've tried > installing > > gap 4.7.8 in two ways: > > > > 1. I downloaded the gap4r7p8_2015_06_09-20_27.tar file from here: > > http://www.gap-system.org/Releases/index.html > > Then I unpacked it, and in the resulting gap4r7 directory I entered > > "./configure; make" > > > > The configure seemed to go through without trouble. Make however ended > > in...: > > > > ... > > > > > > x gmp-5.0.5/tune/x86_64.asm > > > > x gmp-5.0.5/version.c > > > > x gmp-5.0.5/ylwrap > > > > > > Configuring GMP. Logging to > > bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. > > Please wait... > > > > > > > > Building GMP. Logging to > > bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. > > Please wait... > > > > > > > > Checking GMP. Logging to > > bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. > > Please wait... > > > > > > > > ***Error: GMP self-check has failed. See > > bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log > for > > details.*** > > > > > > make[1]: *** [gmp_build] Error 1 > > > > make: *** [extern] Error 2 > > > > > > I don't understand the error. I've installed XCode, which seems to > already > > be packaged with the apple command line tools. > > > > > > 2. I tried using BOB, following the directions here: > > http://gap-system.github.io/bob/#downloadtab > > > > including installing MacPorts and entering "sudo port install readline > > +universal ncurses +universal gawk wget xorg-libX11 xorg-libXaw" in the > > terminal. > > > > That seemed to go through fine, until I actually open Bob, at which > point I > > get the error message in the terminal: > > > > Working on component GAP ... > > > > Getting component GAP > > > > Getting link file... > > > > % Total % Received % Xferd Average Speed Time Time Time > > Current > > > > Dload Upload Total Spent Left > > Speed > > > > 100 9116 100 9116 0 0 102k 0 --:--:-- --:--:-- --:--:-- > > 103k > > > > Error:Link file /Users/wchen/gap_installation/bobdownloads/GAP.link > corrupt. > > > > Error:Could not download GAP archive. > > > > Error:Stopping. > > > > Summary: > > > > > > Components with errors: > > > > GAP > > > > I've tried redownloading Bob to no avail. > > > > Any ideas? > > _______________________________________________ > > 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://blogs.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 alexander.konovalov at st-andrews.ac.uk Sun Aug 16 21:58:36 2015 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Sun, 16 Aug 2015 20:58:36 +0000 Subject: [GAP Forum] Having trouble installing GAP 4.7.8 In-Reply-To: References: Message-ID: <4805F098-E07C-4691-AFE2-591FF137B64E@st-andrews.ac.uk> Thanks. However, I can't reproduce this with exactly the same version of gcc(clang): $ gcc -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) Target: x86_64-apple-darwin14.4.0 Thread model: posix on a MacBook Pro running OS X Yosemite 10.10.4. Your build log contained the lines >>> ***Error: GMP self-check has failed. See >>> bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log >> for details.*** - have you checked what's in this file? Is the problem reproducible? > On 16 Aug 2015, at 21:33, Will Chen wrote: > > Here's the output from gcc -v > > Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr > --with-gxx-include-dir=/usr/include/c++/4.2.1 > > Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) > > Target: x86_64-apple-darwin14.1.0 > > Thread model: posix > > I'm trying to use your option 2. How do I install the gcc compiler with > homebrew? I think I've installed homebrew, and entered "brew install wget". Homebrew installation itself does not contain gcc. You need to call now brew install gcc to install it. Oh, and then call make clean export CC=/usr/local/bin/gcc-4.9 ./configure make since of course there is no need to use --with-gmp=no as we expect that this time GMP will be compiled. HTH Alexander > > However, this is the output when I follow your instructions in (2): > > Zephyr:gap4r7 wchen$ ls > > CITATION config.log extern makepkgs sysinfo.in > > INSTALL configure gap.ini pkg trans > > Makefile.in configure.in gap.shi prim tst > > bin doc grp small > > cnf etc lib src > > Zephyr:gap4r7 wchen$ make clean > > make: *** No rule to make target `clean'. Stop. > > Zephyr:gap4r7 wchen$ export CC=/usr/local/bin/gcc-4.9 > > Zephyr:gap4r7 wchen$ ./configure --with-gmp=no > > checking for gcc... /usr/local/bin/gcc-4.9 > > checking whether the C compiler works... no > > configure: error: in `/Users/wchen/gap_installation/failed install/gap4r7': > > configure: error: C compiler cannot create executables > > See `config.log' for more details > > Zephyr:gap4r7 wchen$ make > > make: *** No targets specified and no makefile found. Stop. > > Zephyr:gap4r7 wchen$ > > > :-( > > - will > > On Sat, Aug 15, 2015 at 4:20 PM, Alexander Konovalov < > alexander.konovalov at st-andrews.ac.uk> wrote: > >> Thank you for reporting this. Could you please tell which compiler >> are you using to build GAP by sending me the output of gcc -v ? >> On OS X, after XCode installation gcc actually calls clang, and my >> guess is that this may be may be a version of clang which is not >> compatible with GMP, so building GMP fails. There are several >> ways to fix this: >> >> >> 1) the fastest way is to build GAP without GMP support >> >> make clean >> ./configure --with-gmp=no >> make >> >> at the cost of a slightly slower integer arithmetic. >> >> >> 2) Install gcc compiler using, for example, homebrew (http://brew.sh), >> and then call >> >> make clean >> export CC=/usr/local/bin/gcc-4.9 >> ./configure --with-gmp=no >> make >> >> (adjust the part in export=... as required). >> >> >> Unfortunately, the BOB installer does not work at the moment. >> >> >> Hope this helps >> Alexander >> >> >> >> >> >> >> >> >> >>> On 15 Aug 2015, at 18:44, Will Chen wrote: >>> >>> I'm running OS X Yosemite on a 2013 Macbook Pro, and I've tried >> installing >>> gap 4.7.8 in two ways: >>> >>> 1. I downloaded the gap4r7p8_2015_06_09-20_27.tar file from here: >>> http://www.gap-system.org/Releases/index.html >>> Then I unpacked it, and in the resulting gap4r7 directory I entered >>> "./configure; make" >>> >>> The configure seemed to go through without trouble. Make however ended >>> in...: >>> >>> ... >>> >>> >>> x gmp-5.0.5/tune/x86_64.asm >>> >>> x gmp-5.0.5/version.c >>> >>> x gmp-5.0.5/ylwrap >>> >>> >>> Configuring GMP. Logging to >>> bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. >>> Please wait... >>> >>> >>> >>> Building GMP. Logging to >>> bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. >>> Please wait... >>> >>> >>> >>> Checking GMP. Logging to >>> bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log. >>> Please wait... >>> >>> >>> >>> ***Error: GMP self-check has failed. See >>> bin/x86_64-apple-darwin14.1.0-gcc-default64/extern/gmp-5.0.5/build_log >> for >>> details.*** >>> >>> >>> make[1]: *** [gmp_build] Error 1 >>> >>> make: *** [extern] Error 2 >>> >>> >>> I don't understand the error. I've installed XCode, which seems to >> already >>> be packaged with the apple command line tools. >>> >>> >>> 2. I tried using BOB, following the directions here: >>> http://gap-system.github.io/bob/#downloadtab >>> >>> including installing MacPorts and entering "sudo port install readline >>> +universal ncurses +universal gawk wget xorg-libX11 xorg-libXaw" in the >>> terminal. >>> >>> That seemed to go through fine, until I actually open Bob, at which >> point I >>> get the error message in the terminal: >>> >>> Working on component GAP ... >>> >>> Getting component GAP >>> >>> Getting link file... >>> >>> % Total % Received % Xferd Average Speed Time Time Time >>> Current >>> >>> Dload Upload Total Spent Left >>> Speed >>> >>> 100 9116 100 9116 0 0 102k 0 --:--:-- --:--:-- --:--:-- >>> 103k >>> >>> Error:Link file /Users/wchen/gap_installation/bobdownloads/GAP.link >> corrupt. >>> >>> Error:Could not download GAP archive. >>> >>> Error:Stopping. >>> >>> Summary: >>> >>> >>> Components with errors: >>> >>> GAP >>> >>> I've tried redownloading Bob to no avail. >>> >>> Any ideas? >>> _______________________________________________ >>> 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://blogs.cs.st-andrews.ac.uk/alexk/ Fax +44/0 (1334) 463278 >> The University of St Andrews is a charity registered in >> Scotland:No.SC013532 >> >> >> >> >> > _______________________________________________ > 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://blogs.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 tendshumba at yahoo.com Wed Aug 19 13:53:34 2015 From: tendshumba at yahoo.com (tendai shumba) Date: Wed, 19 Aug 2015 12:53:34 +0000 (UTC) Subject: [GAP Forum] Table of Marks Message-ID: <1521707508.1689848.1439988814522.JavaMail.yahoo@mail.yahoo.com> Dear forum, I have done the following calculation on a machine running GAP version 4.7.7 as well as on machines running older versions of the program:gap>to:=TableOfMarks("M11"); TableOfMarks( "M11" )gap> RepresentativeTom(to,19); Group([ (3,9)(4,7)(5,12)(10,11), (3,12)(4,5)(6,11)(7,9), (3,5)(4,6)(9,10) (11,12) ]). My question is that since we know that the Mathiue group M_11 is a permutation group of degree11, would it not mean that all the subgroups are of degree 11? If the answer to my question is in the affirmative then there is something wrong with the representative of the conjugacy class of groups given above since?the cycle (3,9)(4,7)(5,12)(10,11) because the third transposition (5,12) has a 12. Can someone explain? Assistance offered will be greatly appreciated. ?Regards, Tendai From hulpke at fastmail.fm Wed Aug 19 15:11:30 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Wed, 19 Aug 2015 08:11:30 -0600 Subject: [GAP Forum] Table of Marks In-Reply-To: <1521707508.1689848.1439988814522.JavaMail.yahoo@mail.yahoo.com> References: <1521707508.1689848.1439988814522.JavaMail.yahoo@mail.yahoo.com> Message-ID: Dear Forum, Dear Tendai Shumba, > On Aug 19, 2015, at 6:53 AM, tendai shumba wrote: > > Dear forum, > I have done the following calculation on a machine running GAP version 4.7.7 as well as on machines running older versions > of the program:gap>to:=TableOfMarks("M11"); > TableOfMarks( "M11" )gap> RepresentativeTom(to,19); > Group([ (3,9)(4,7)(5,12)(10,11), (3,12)(4,5)(6,11)(7,9), (3,5)(4,6)(9,10) > (11,12) ]). > My question is that since we know that the Mathiue group M_11 is a permutation group of degree11, would it not mean that all the subgroups are of degree 11? What is happening is that the group used for this table of marks: gap> g:=UnderlyingGroup(to); Group([ (1,2)(3,5)(4,9)(6,10), (1,3,4,7)(2,12,10,11) ]) is an M11 that acts on the points gap> MovedPoints(g); [ 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12 ] which is degree 11 but somewhat nonstandard. (I suspect this stems from getting information consistent with M12.) If you want your ``natural?? M11, you could use for example: gap> myM11:=MathieuGroup(11); # or whichever version you like Group([ (1,2,3,4,5,6,7,8,9,10,11), (3,7,11,8)(4,10,5,6) ]) gap> iso:=IsomorphismGroups(UnderlyingGroup(to),myM11); [ (4,11)(5,7)(6,9)(10,12), (1,12,3,11)(2,6,5,10) ] -> [ (2,7)(3,6)(4,10)(5,11), (1,6,4,5)(7,9,11,8) ] gap> Image(iso,RepresentativeTom(to,19)); Group([ (2,10)(3,8)(4,11)(5,7), (2,4)(3,10)(6,7)(8,11), (2,6)(3,5)(4,8)(7,11) ]) I 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 marcelobbarboza at gmail.com Fri Aug 21 14:22:33 2015 From: marcelobbarboza at gmail.com (Marcelo B. Barboza) Date: Fri, 21 Aug 2015 10:22:33 -0300 Subject: [GAP Forum] The Bob package to help compiling GAP from source on linux no longer works Message-ID: <55D72619.3010601@gmail.com> In a not so distant time in the past I used to have success when compiling GAP from source on linux, in general, either on Ubuntu or Fedora, with the package created by Mr Max Neunhoffer to do that. That package used to work like a charm and that's not the case anymore (at least for two of us, in any of our machines!). We both have emailed Mr Neunhoffer but nothing (I'm pretty sure he does not have the time -- I know, I know ;). I would like to know from you if this is temporary? Are the owners of the website going to keep the link to the package anyway? Sincerely, Marcelo. From alexander.konovalov at gmail.com Fri Aug 21 14:45:02 2015 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Fri, 21 Aug 2015 14:45:02 +0100 Subject: [GAP Forum] The Bob package to help compiling GAP from source on linux no longer works In-Reply-To: <55D72619.3010601@gmail.com> References: <55D72619.3010601@gmail.com> Message-ID: <53D77631-8019-4B90-91F8-6784299CB5E2@gmail.com> Dear Marcelo, > On 21 Aug 2015, at 14:22, Marcelo B. Barboza wrote: > > In a not so distant time in the past I used to have success when compiling GAP from source on linux, in general, either on Ubuntu or Fedora, with the package created by Mr Max Neunhoffer to do that. That package used to work like a charm and that's not the case anymore (at least for two of us, in any of our machines!). We both have emailed Mr Neunhoffer but nothing (I'm pretty sure he does not have the time -- I know, I know ;). thanks for your question. I've managed myself to update BOB twice for GAP 4.7.4 and GAP 4.7.5, but haven't managed to update it when in the next release larger changes were required. It does not work at the moment and is currently unmaintained, but anybody willing to help to get it back to work please start from https://github.com/gap-system/bob. > I would like to know from you if this is temporary? Are the owners of the website going to keep the link to the package anyway? If you mean the page http://www.gap-system.org/Download/index.html, then thanks for the pointer - I will edit it to remove currently misleading suggestion. Note that http://www.gap-system.org/Releases/4.7.8.html does not suggest alternative installers knowing that they do not provide GAP 4.7.8. Best wishes Alexander P.S. A different approach which may be interesting as a way to get a reference installation with as many packages in working order as possible is to Docker: see https://github.com/gap-system/gap-docker From vplkakkar at gmail.com Wed Aug 26 07:37:45 2015 From: vplkakkar at gmail.com (Vipul Kakkar) Date: Wed, 26 Aug 2015 12:07:45 +0530 Subject: [GAP Forum] How to find consistent polycyclic presentation Message-ID: Dear Members How can I find consistent polycyclic presentation form (1) the group that I chose from GAP library and (2) the group that I define by FreeGroup/Relation. For example, how to find consistent polycyclic presentation for g:=SmallGroup(81,5); and for f:=FreeGroup(2); g:=f/[f.1^4, f.2^2, (f.1*f.2)^2]; with regards Vipul Kakkar From mathieu.dutour at gmail.com Wed Aug 26 09:19:22 2015 From: mathieu.dutour at gmail.com (Mathieu Dutour) Date: Wed, 26 Aug 2015 10:19:22 +0200 Subject: [GAP Forum] Partition backtrack Message-ID: I would like to have a C/C++ library code which implements partition backtrack for computing Stabilizer/RepresentativeAction for the actions OnSets. This work seems to have its origin in the work of Jeffrey S. Leon as described in his paper "Permutation group algorithms based on partitions". and all source code originates from it. There is another code in permlib but it has performance problems. What are the variants of the code right now? I can think of several right now: ---The code of guava3.12 which contains the original code of leon. ---The C-code of GAP. ---The code in sage. But it is written in Cython and so available only via Python. As a side remark, the guava code provides partition backtrack for the action OnSetsSets, which is not in GAP as far as I know. The code of guava is the nearer to my needs but it has a number of problems: ---It is a standalone binary and not a library, Adapting it to a library is a non-trivial work since there are many global variables. ---It uses static variables which prevents it being included in a parallel program ---It has performance problems in some small cases (48 points) for testing equivalence (GAP has no problem at all). ---There are some segmentation faults in the program. What would be your recommendation for having a good C++ library for partition backtrack, that is: fast, clean and usable in parallel programs? Mathieu From savicky at cs.cas.cz Wed Aug 26 09:51:50 2015 From: savicky at cs.cas.cz (Petr Savicky) Date: Wed, 26 Aug 2015 10:51:50 +0200 Subject: [GAP Forum] How to find consistent polycyclic presentation In-Reply-To: References: Message-ID: <20150826085149.GA8461@cs.cas.cz> On Wed, Aug 26, 2015 at 12:07:45PM +0530, Vipul Kakkar wrote: > Dear Members > > How can I find consistent polycyclic presentation form > (1) the group that I chose from GAP library and > (2) the group that I define by FreeGroup/Relation. > > For example, how to find consistent polycyclic presentation > > for g:=SmallGroup(81,5); and > > for f:=FreeGroup(2); g:=f/[f.1^4, f.2^2, (f.1*f.2)^2]; Dear Vipul Kakkar: The former group is a pc group: g:=SmallGroup(81,5); which means that it is already represented using its polycyclic presentation: http://www.gap-system.org/Manuals/doc/ref/chap46.html#X7EAD57C97EBF7E67 The latter group can be transformed to this form as follows f:=FreeGroup(2); g:=f/[f.1^4, f.2^2, (f.1*f.2)^2]; hom := IsomorphismPcGroup(g); gAsPc := Image(hom, g); # Group([ f1, f2 ]) IsPcGroup(gAsPc); # true This is sufficient for computations with the groups. If you want to display the defining relations and the group is finite with a small number of the generators, then the following can be used printPcGroup := function(G) local f, i, j, k; f := Pcgs(G); Print(f, "\n"); Print(RelativeOrders(f), "\n"); Print("\n"); for i in [ 1..Length(f) ] do k := RelativeOrderOfPcElement(f, f[i]); Print("generator ", f[i], "\n"); Print(f[i], "^", k, " = ", f[i]^k, "\n"); for j in [ (i+1)..Length(f) ] do Print(f[j], "^", f[i], " = ", f[j]^f[i], "\n"); od; Print("\n"); od; end; For the latter group, this yields printPcGroup(gAsPc); Pcgs([ f1, f2, f3 ]) [ 2, 2, 2 ] generator f1 f1^2 = f3 f2^f1 = f2*f3 f3^f1 = f3 generator f2 f2^2 = of ... f3^f2 = f3 generator f3 f3^2 = of ... Best regards, Petr Savicky. From caj21 at st-andrews.ac.uk Wed Aug 26 10:19:59 2015 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Wed, 26 Aug 2015 09:19:59 +0000 Subject: [GAP Forum] Partition backtrack In-Reply-To: References: Message-ID: <21077361-57F7-4D9E-B017-8547F7DA5A05@st-andrews.ac.uk> I am working on such a library, which can be found here: https://github.com/gap-system/ferret This code is currently a GAP library, but it is designed so it can be used without GAP (I also use it for Graph Isomorphism testing). The library is in the YAPB++ directory, the code in src links this to GAP. There are a small number of calls in the YAPB++ code back into GAP -- the main one is to generate a base + strong generating set for a group (there are obviously other implementations of this available). The code is (I believe) tested and complete, although I continue to add new extensions which improve the performance beyond that of existing implementations. I have not yet tried building this code multi-threaded, but I believe it should not cause any great problems (it is a long term plan, but I was waiting while HPC-GAP before further stable, as the main current use of this library is to replace the partition backtrack code in GAP). This code implements currently the actions OnSets, OnSetsSets, OnSetsTuples and OnTuplesSets. Implementing others is easy. The code does not yet implement RepresentativeAction, but I aim to implement it shortly -- the code is missing coset search and I have no yet bothered to add it. An alternative to RepresentativeAction worth considering is CanonicalImagePerm, from my and Steve Linton's images package: https://github.com/gap-system/images This function returns a permutation and guarantees, given a group G, and sets S and T such that there exists g in G such that S^g = T that: S^CanonicalImagePerm(G, S) = T^CanonicalImagePerm(G,T) This can be used to find a mapping from S to T, and in particular can be more efficient if you have a list of sets S1, S2, ... , Sn, and want to place them into equivalence classes. This code is however currently just GAP code. It would be easy to turn into C++ give an implementation of strong+base generating set, and change of basis, and that is where the majority of the time is spent in the algorithm. Please let me know if you have any questions, or feedback if you look at the code -- in particular it is not really documented, and I would be happy to add some internal documentation if that would be useful. Chris On 26/08/2015, 09:19, "forum-bounces at gap-system.org on behalf of Mathieu Dutour" wrote: >I would like to have a C/C++ library code which implements partition >backtrack for computing Stabilizer/RepresentativeAction for the actions >OnSets. > >This work seems to have its origin in the work of Jeffrey S. Leon as >described in his paper "Permutation group algorithms based on partitions". >and all source code originates from it. There is another code in permlib >but it has performance problems. > >What are the variants of the code right now? I can think of several right >now: >---The code of guava3.12 which contains the original code of leon. >---The C-code of GAP. >---The code in sage. But it is written in Cython and so available only > via Python. >As a side remark, the guava code provides partition backtrack for >the action OnSetsSets, which is not in GAP as far as I know. > >The code of guava is the nearer to my needs but it has a number of problems: >---It is a standalone binary and not a library, Adapting it to a library is >a non-trivial work since there are many global variables. >---It uses static variables which prevents it being included in a parallel >program >---It has performance problems in some small cases (48 points) for testing >equivalence (GAP has no problem at all). >---There are some segmentation faults in the program. > >What would be your recommendation for having a good C++ library >for partition backtrack, that is: fast, clean and usable in parallel >programs? > > Mathieu >_______________________________________________ >Forum mailing list >Forum at mail.gap-system.org >http://mail.gap-system.org/mailman/listinfo/forum From savicky at cs.cas.cz Wed Aug 26 12:22:39 2015 From: savicky at cs.cas.cz (Petr Savicky) Date: Wed, 26 Aug 2015 13:22:39 +0200 Subject: [GAP Forum] How to find consistent polycyclic presentation In-Reply-To: References: <20150826085149.GA8461@cs.cas.cz> Message-ID: <20150826112238.GA21207@cs.cas.cz> On Wed, Aug 26, 2015 at 04:02:08PM +0530, Vipul Kakkar wrote: > Dear Prof Petr Savicky. > Thank you very much for the reply. > How can I see the defining relation for > the first case? Dear Vipul Kakkar: The function printPcGroup from the previous email can be used also for the first group: g:=SmallGroup(81,5); printPcGroup(g); Pcgs([ f1, f2, f3, f4 ]) [ 3, 3, 3, 3 ] generator f1 f1^3 = f3 f2^f1 = f2 f3^f1 = f3 f4^f1 = f4 generator f2 f2^3 = of ... f3^f2 = f3 f4^f2 = f4 generator f3 f3^3 = f4 f4^f3 = f4 generator f4 f4^3 = of ... Best regards, Petr Savicky. From sievers at math2.nat.tu-bs.de Wed Aug 26 18:17:18 2015 From: sievers at math2.nat.tu-bs.de (sievers at math2.nat.tu-bs.de) Date: Wed, 26 Aug 2015 19:17:18 +0200 Subject: [GAP Forum] FGA: bugfix and git repository Message-ID: <20150826171718.GA21562@math2.nat.tu-bs.de> Dear GAP Forum, yesterday saw the release of version 1.3.0 of the FGA package, a package for computing with free groups that is usually loaded automatically. It is available at the usual place at http://www.icm.tu-bs.de/ag_algebra/software/FGA/FGA-1.3.0.tar.gz This new version fixes a bug reported by Ignat Soroko, that in a few cases let RepresentiveAction(f,g,h) (where f, g and h are subgroups of free groups) return an element as a conjugating element when in fact none existed. That in turn also caused IsConjugate(f,g,h) to falsely return true in these cases. (Computations with single elements as second and third argument are not affected by this bug.) In detail, the bug would be triggered whenever g and h have the same rank and after cyclic reduction g and h have the same number of what Sims calls "important cosets", and there is an x in f such that g^x is a proper subgroup of h. Additionally, I'd like to announce that there is now a public git repository for the FGA package at https://github.com/chsievers/fga All the best, Christian Sievers From alexander.konovalov at gmail.com Thu Aug 27 22:18:40 2015 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Thu, 27 Aug 2015 22:18:40 +0100 Subject: [GAP Forum] The Bob package to help compiling GAP from source on linux no longer works In-Reply-To: <55D72619.3010601@gmail.com> References: <55D72619.3010601@gmail.com> Message-ID: <4F9FFF29-772D-4B80-BBD1-1FE93753CAD4@gmail.com> Dear Marcelo, dear Forum, > On 21 Aug 2015, at 14:22, Marcelo B. Barboza wrote: > > In a not so distant time in the past I used to have success when compiling GAP from source on linux, in general, either on Ubuntu or Fedora, with the package created by Mr Max Neunhoffer to do that. That package used to work like a charm and that's not the case anymore (at least for two of us, in any of our machines!). We both have emailed Mr Neunhoffer but nothing (I'm pretty sure he does not have the time -- I know, I know ;). I would like to know from you if this is temporary? Are the owners of the website going to keep the link to the package anyway? I've tried to remove the misleading link but then got diverted... As a result, I've provided at least a partial fix for BOB. The page http://gap-system.github.io/bob/ now offers: * bob-linux-64bit.tar.gz archive with BOB for 64-bit Linux and * bob-osx.tar.gz archive with BOB for OS X (Intel). Download the relevant archive, unpack it and run the 'bob' binary to install GAP. Why the fix is partial - formerly, Max (N.) was providing also BOB for 32-bit Linux, and another couple of BOB binaries compiled on some older machines. I don't have such opportunity, so I've prepared only the two versions above. Also, there is no dmg file for OS X any more. Finally, your mileage may vary with respect to packages: Filtered(RecNames(GAPInfo.PackagesInfo),x->LoadPackage(x)=fail); checks how many packages are not loadable and returns [ "itc", "json", "linboxing", "pargap", "xgap" ] on Ubuntu, but a larger list on OS X: [ "polymakeinterface", "cohomolo", "float", "itc", "json", "kbmag", "linboxing", "pargap", "xgap" ] Nevertheless, most of the packages that require compilation will be available. Please test it and submit any questions, comments or bug reports using BOB issue tracker at https://github.com/gap-system/bob/issues Hope this helps, Alexander P.S. Out of the non-available packages, itc, pargap and xgap are actually fine, because itc needs xgap, and both pargap and xgap are not loaded via LoadPackage. Linboxing package is not working at the moment. Json normally compiles, but is not yet supported by BOB, so if one needs json, one could build it manually after running BOB. From savicky at cs.cas.cz Sat Aug 29 08:16:51 2015 From: savicky at cs.cas.cz (Petr Savicky) Date: Sat, 29 Aug 2015 09:16:51 +0200 Subject: [GAP Forum] How to find consistent polycyclic presentation In-Reply-To: References: Message-ID: <20150829071651.GA4694@cs.cas.cz> On Wed, Aug 26, 2015 at 12:07:45PM +0530, Vipul Kakkar wrote: > Dear Members > > How can I find consistent polycyclic presentation form > (1) the group that I chose from GAP library and > (2) the group that I define by FreeGroup/Relation. > > For example, how to find consistent polycyclic presentation > > for g:=SmallGroup(81,5); and > > for f:=FreeGroup(2); g:=f/[f.1^4, f.2^2, (f.1*f.2)^2]; The polycyclic presentation can be displayed using Polycyclic package. In the first case one can use g := SmallGroup(81,5); g1 := ImagesSource(IsomorphismPcpGroup(g)); PrintPcpPresentation(g1); g1^3 = g3 g2^3 = id g3^3 = g4 g4^3 = id In the second case, the group has to be first converted to a polycyclic representation of pc type and then displayed as above f:=FreeGroup(2); g:=f/[f.1^4, f.2^2, (f.1*f.2)^2]; h := ImagesSource(IsomorphismPcGroup(g)); g2 := ImagesSource(IsomorphismPcpGroup(h)); PrintPcpPresentation(g2); g1^2 = g3 g2^2 = id g3^2 = id g2 ^ g1 = g2 * g3 Best regards, Petr Savicky. From marcelobbarboza at gmail.com Sun Aug 30 14:36:10 2015 From: marcelobbarboza at gmail.com (Marcelo B. Barboza) Date: Sun, 30 Aug 2015 10:36:10 -0300 Subject: [GAP Forum] The Bob package to help compiling GAP from source on linux no longer works In-Reply-To: <4F9FFF29-772D-4B80-BBD1-1FE93753CAD4@gmail.com> References: <55D72619.3010601@gmail.com> <4F9FFF29-772D-4B80-BBD1-1FE93753CAD4@gmail.com> Message-ID: <55E306CA.8020605@gmail.com> Thank you very much, Mr Alexander Konovalov. I'm going to try it right now! :-) Em 27/08/2015 18:18, Alexander Konovalov escreveu: > Dear Marcelo, dear Forum, > >> On 21 Aug 2015, at 14:22, Marcelo B. Barboza wrote: >> >> In a not so distant time in the past I used to have success when compiling GAP from source on linux, in general, either on Ubuntu or Fedora, with the package created by Mr Max Neunhoffer to do that. That package used to work like a charm and that's not the case anymore (at least for two of us, in any of our machines!). We both have emailed Mr Neunhoffer but nothing (I'm pretty sure he does not have the time -- I know, I know ;). I would like to know from you if this is temporary? Are the owners of the website going to keep the link to the package anyway? > I've tried to remove the misleading link but then got diverted... > As a result, I've provided at least a partial fix for BOB. > > The page > > http://gap-system.github.io/bob/ > > now offers: > > * bob-linux-64bit.tar.gz archive with BOB for 64-bit Linux > > and > > * bob-osx.tar.gz archive with BOB for OS X (Intel). > > Download the relevant archive, unpack it and run the 'bob' binary to install GAP. > > Why the fix is partial - formerly, Max (N.) was providing also BOB for 32-bit Linux, > and another couple of BOB binaries compiled on some older machines. I don't have > such opportunity, so I've prepared only the two versions above. Also, there is no > dmg file for OS X any more. Finally, your mileage may vary with respect to packages: > > Filtered(RecNames(GAPInfo.PackagesInfo),x->LoadPackage(x)=fail); > > checks how many packages are not loadable and returns > > [ "itc", "json", "linboxing", "pargap", "xgap" ] > > on Ubuntu, but a larger list on OS X: > > [ "polymakeinterface", "cohomolo", "float", "itc", "json", "kbmag", > "linboxing", "pargap", "xgap" ] > > Nevertheless, most of the packages that require compilation will be available. > Please test it and submit any questions, comments or bug reports using BOB > issue tracker at https://github.com/gap-system/bob/issues > > Hope this helps, > Alexander > > P.S. Out of the non-available packages, itc, pargap and xgap are actually fine, > because itc needs xgap, and both pargap and xgap are not loaded via LoadPackage. > Linboxing package is not working at the moment. Json normally compiles, but is > not yet supported by BOB, so if one needs json, one could build it manually after > running BOB. > > From benjamin.sambale at gmail.com Thu Sep 3 14:44:00 2015 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Thu, 3 Sep 2015 15:44:00 +0200 Subject: [GAP Forum] unexpected behavior of SchurCoverOfSymmetricGroup Message-ID: <55E84EA0.7050004@gmail.com> Dear all, the command SchurCoverOfSymmetricGroup can be used to define the two double covers of a symmetric group. According to the manual: "+1 gives a group where the preimage of an adjacent transposition (i,i+1) has order 4" I thought that the convention is just the other way around: in the "+" type cover the transpositions lift to involutions. Best wishes, Benjamin From f.alibabaee at gmail.com Tue Sep 8 11:48:27 2015 From: f.alibabaee at gmail.com (fahime babaee) Date: Tue, 8 Sep 2015 11:48:27 +0100 Subject: [GAP Forum] (no subject) Message-ID: Dear Forum By Schreiers formula we know that the rank of a finite index subgroup of a free group of finite rank is finite. How can I find this set of generators in gap? For example if we take natural homorphism from the free group f(x,y) to the symmetric group S_n, we know that the kernel has rank n!+1, How can I find a set of generators of the kernel? All the best From stefan at mcs.st-and.ac.uk Tue Sep 8 13:35:14 2015 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Tue, 8 Sep 2015 13:35:14 +0100 (BST) Subject: [GAP Forum] (no subject) In-Reply-To: References: Message-ID: On Tue, September 8, 2015 11:48 am, fahime babaee wrote: > > By Schreiers formula we know that the rank of a finite index subgroup of > a free group of finite rank is finite. How can I find this set of > generators in gap? For example if we take natural homorphism from the free > group f(x,y) to the symmetric group S_n, we know that the kernel has rank > n!+1, How can I find a set of generators of the kernel? You can do this as follows (for illustration, put n := 4): gap> F := FreeGroup("x","y"); gap> S4 := SymmetricGroup(4); Sym( [ 1 .. 4 ] ) gap> phi := GroupHomomorphismByImages(F,S4,GeneratorsOfGroup(F),GeneratorsOfGroup(S4)); [ x, y ] -> [ (1,2,3,4), (1,2) ] gap> K := Kernel(phi); Group() gap> gens := GeneratorsOfGroup(K); [ y^-2, x*y^-2*x^-1, x^-4, x^-1*y^-2*x, x^2*y^-2*x^-2, (y*x)^2*y^-1*x, y*(x*y^-1)^2*x, y*x^-4*y^-1, (y*x^-1)^2*y^-1*x^-1, y*(x^-1*y^-1)^2*x^-1, x*y*x^-4*y^-1*x^-1, x*(y*x^-1)^2*y^-1*x^-2, x*y*(x^-1*y^-1)^2*x^-2, x^-1*(y*x)^2*y^-1*x^-2, x^-1*y*(x*y^-1)^2*x^-2, x^-1*y*x^-4*y^-1*x, y*x^2*y^-2*x^-2*y^-1, x^2*y*x^-4*y^-1*x^-2, x*y*x^2*y^-2*x^-2*y^-1*x^-1, x^-1*y*x^2*y^-2*x^-2*y^-1*x, y*x^2*y*x*y^-1*x^-2*y^-1*x, y*x^2*y*(x^-1*y^-1*x^-1)^2, x^2*y*x^2*y^-1*(y^-1*x^-2)^2, x*y*x^2*y*(x^-1*y^-1*x^-1)^2*x^-1, x^-1*y*x^2*y*x*(y^-1*x^-2)^2 ] gap> Length(gens); 25 Hope this helps, Stefan From f.alibabaee at gmail.com Tue Sep 8 15:52:49 2015 From: f.alibabaee at gmail.com (fahime babaee) Date: Tue, 8 Sep 2015 15:52:49 +0100 Subject: [GAP Forum] Linear Diophantine Equations Message-ID: Dear forum Is it possible to solve Linear Diophantine Equations over integers in Gap? Bests From hulpke at math.colostate.edu Tue Sep 8 15:59:36 2015 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Tue, 8 Sep 2015 08:59:36 -0600 Subject: [GAP Forum] Linear Diophantine Equations In-Reply-To: References: Message-ID: <419F925B-FFBA-4D0F-8841-C1D5A74BD307@math.colostate.edu> Dear Forum, > On Sep 8, 2015, at 8:52 AM, fahime babaee wrote: > > Dear forum > > Is it possible to solve Linear Diophantine Equations over integers in Gap? Yes. GAP has the extended Gcd algorithm (e.g using the function Gcdex for integers, or GcdRepresentation over arbitrary rings) required for the standard method for solving such equations, hoever there is no turnkey interface that would simply take a set of equations and return their solutions. 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 Bill.Allombert at math.u-bordeaux.fr Tue Sep 8 18:00:33 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Tue, 8 Sep 2015 19:00:33 +0200 Subject: [GAP Forum] Linear Diophantine Equations In-Reply-To: <419F925B-FFBA-4D0F-8841-C1D5A74BD307@math.colostate.edu> References: <419F925B-FFBA-4D0F-8841-C1D5A74BD307@math.colostate.edu> Message-ID: <20150908170033.GR19096@yellowpig> On Tue, Sep 08, 2015 at 08:59:36AM -0600, Alexander Hulpke wrote: > Dear Forum, > > > On Sep 8, 2015, at 8:52 AM, fahime babaee wrote: > > > > Dear forum > > > > Is it possible to solve Linear Diophantine Equations over integers in Gap? > > Yes. GAP has the extended Gcd algorithm (e.g using the function Gcdex for > integers, or GcdRepresentation over arbitrary rings) required for the > standard method for solving such equations, hoever there is no turnkey > interface that would simply take a set of equations and return their > solutions. Well, GAP has also more elaborated functions like HermiteNormalFormIntegerMatTransform() which can be used to solve higher-dimensional linear Diophantine equations over the integers. Cheers, Bill. From f.alibabaee at gmail.com Thu Sep 10 09:44:54 2015 From: f.alibabaee at gmail.com (fahime babaee) Date: Thu, 10 Sep 2015 09:44:54 +0100 Subject: [GAP Forum] (no subject) Message-ID: Dear forum I have a finitely generated subgroup H of a free group and I want the generators of the quotient of H over the commutator subgroup of H. How can I do it? Sincerely From hulpke at math.colostate.edu Thu Sep 10 16:30:49 2015 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Thu, 10 Sep 2015 09:30:49 -0600 Subject: [GAP Forum] Abelian Quotient of subgroup (was: no subject) In-Reply-To: References: Message-ID: <8CEFF371-1C01-4937-B98B-518276B27135@math.colostate.edu> Dear Forum, > On Sep 10, 2015, at 2:44 AM, fahime babaee wrote: > I have a finitely generated subgroup H of a free group and I want the > generators of the quotient of H over the commutator subgroup of H. How can > I do it? Assuming the subgroup is of finite index, you could apply `MaximalAbelianQuotient? which gives you an epimorphism onto this quotient. By taking pre-images of the generators of the image you can get the generating set you want. 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 hulpke at math.colostate.edu Thu Sep 10 21:05:38 2015 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Thu, 10 Sep 2015 14:05:38 -0600 Subject: [GAP Forum] unexpected behavior of SchurCoverOfSymmetricGroup In-Reply-To: <55E84EA0.7050004@gmail.com> References: <55E84EA0.7050004@gmail.com> Message-ID: <44B609F8-CE47-4029-8478-C41AF0525206@math.colostate.edu> Der Forum, > On Sep 3, 2015, at 7:44 AM, Benjamin Sambale wrote: > > the command SchurCoverOfSymmetricGroup can be used to define the two double covers of a symmetric group. According to the manual: > > "+1 gives a group where the preimage of an adjacent transposition (i,i+1) has order 4" > > I thought that the convention is just the other way around: in the "+" type cover the transpositions lift to involutions. Looking through the literature going back to Schur?s original papers it seems that what is considered the ``canonical?? or ``+1?? cover is not consistent. GAP?s convention thus represents a necessary choice made by the code authors which I find hard to criticise. We will add a warning line to the manual to alert users to this difference of conventions, thus hopefully avoiding further confusion. 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 oxeimon at gmail.com Fri Sep 11 08:55:12 2015 From: oxeimon at gmail.com (Will Chen) Date: Fri, 11 Sep 2015 03:55:12 -0400 Subject: [GAP Forum] efficient ways of computing orbit-stabilizers on equivalence classes of surjections Message-ID: Let me preface this by saying that my version of gap is rather dated (version 4.6.4), though I do have a newer build which I had to compile with the option "./configure --with-gmp=no" Anyway, my problem is this: Let F2 be the free group on two generators, and let G be a finite group (I'm mostly interested in the case where G is simple) Let X be the set of equivalence classes of surjective homomorphisms F2 -> G, modulo conjugation in G. There's a natural action of the SL(2,Z) on X, acting as outer automorphisms of F2. I want to compute everything about this action, namely the orbits, and the stabilizers. My current routine essentially goes like this: 1. Compute GQuotients(F2,G) 2. Compute the orbits of Aut(G) on GQuotients(F2,G) to get a complete list of surjections F2 -> G, call it GQComplete 3. Compute the orbits of Inn(G) on GQComplete, store each orbit "AsSSortedList" (strictly sorted list) 4. Let SAut(F2) be the subgroup of Aut(F2) mapping onto SL(2,Z) (ie, automorphisms of "determinant 1"). Then I compute the orbits of SAut(F2) acting by composition on the set of orbits from (3), where each orbit is a "strictly sorted list". 5. Pick representatives of each orbit, compute their stabilizers. Is this basically the best one can do? In particular, are there better alternatives to strictly sorted lists for computing actions on equivalence classes of this form? Are there better ways of getting all surjections immediately without the Aut(G)-orbit computation? So far the largest group my computer seems to be able to handle with my current routine without running out of memory is PSL(2,7) of size 168. Any ideas? thanks - will From hulpke at math.colostate.edu Fri Sep 11 16:03:05 2015 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Fri, 11 Sep 2015 09:03:05 -0600 Subject: [GAP Forum] efficient ways of computing orbit-stabilizers on equivalence classes of surjections In-Reply-To: References: Message-ID: <7AA769AF-6909-448A-9824-782F043E4659@math.colostate.edu> Dear Forum, Dear Will Chen, While it always is worth to use a recent version of GAP, I don?t think the issue you describe would have changed since the release you use. Also PSL2(7) looks pathetically small for what you?re doing ? I would expect that this should be doable easily for orders up in the millions. > My current routine essentially goes like this: Without knowing the commands it is somewhat hard to point to where the issue is, but here are a few pointers that might be of help: First, instrumentize your code. Have it print out where in your algorithm you are. Before running it call GASMAN(?messages?); to get some printout about memory usage. Then run the code on a larger example and see where memory actually gets used (I have a suspicion below). > > 1. Compute GQuotients(F2,G) > 2. Compute the orbits of Aut(G) on GQuotients(F2,G) to get a complete list > of surjections F2 -> G, call it GQComplete It is of course slightly ironic that GQuotients first does work to eliminate Aut(G)-conjugates and you then recreate them... > 3. Compute the orbits of Inn(G) on GQComplete, store each orbit > "AsSSortedList" (strictly sorted list) > 4. Let SAut(F2) be the subgroup of Aut(F2) mapping onto SL(2,Z) (ie, > automorphisms of "determinant 1"). Then I compute the orbits of SAut(F2) > acting by composition on the set of orbits from (3), where each orbit is a > "strictly sorted list?. I think one issue could be the representation of objects (and the cost of strictly sorting homomorphisms). Could you ? instead of storing homomorphisms ? simply store the element tuples that are images of the standard generators of F2. These element tuples are are more easily, and should also have decent methods if you decided to use dictionaries. Then instead of GQuotients, you would simply take those pairs out of the cartesian product G X G that generate G. Next you might want to work with Inn(G)-orbits by picking a ``canonical?? orbit representative. For the pair (a,b), conjugate a to its canonical conjugacy class representative (using `RepresentativeAction?) with an element x, getting (a^x,b^x), and then minimize b^x under the centralizer of a^x. For larger groups (once we get to millions) this could substantially save on storage. > 5. Pick representatives of each orbit, compute their stabilizers. This stabilizer calculation is where I would suspect memory gets used. You have an infinite group ? SL2(Z) ? in a nonstandard representation (automorphisms) and will fall into the standard method for stabilizer (at least I think so) that is aimed at finite groups. If you can confirm that this suspicion is true, let me know, because I think there is another way to calculate this stabilizer from the action on the image by changing the representation. 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 oxeimon at gmail.com Sat Sep 12 05:54:04 2015 From: oxeimon at gmail.com (Will Chen) Date: Sat, 12 Sep 2015 00:54:04 -0400 Subject: [GAP Forum] How does the function "Minimum()" work? Message-ID: Thanks to Alexander Hulpke, my code has experienced a speedup of about two orders of magnitude. However, in order to efficiently compute actions on representatives of equivalence classes, I'm using "Minimum" to choose "minimal representatives". Ie, I often turn orbits consisting of elements of G into lists and then consider their minimum. If O is an orbit of elements of G under some action, then what does Minimum(List(O)) really do? Is this minimum guaranteed to be unique? When I create the group G, is every element of G secretly assigned an integer "size", and Minimum is just tapping into that data? thanks, - will From oxeimon at gmail.com Sat Sep 12 19:58:47 2015 From: oxeimon at gmail.com (Will Chen) Date: Sat, 12 Sep 2015 14:58:47 -0400 Subject: [GAP Forum] Is CrcString deterministic? Message-ID: CrcString reads any input string and returns an integer to be thought of as a "checksum". Is the method deterministic? Ie, if I type in, say CrcString("12jksma9-3oxz381sADd3"); on two different computers running different versions of gap, will CrcString give the same output? Of course it's possible that even if CrcString is deterministic, then the implementation for CrcString may have changed over the years, which leads to another question - when was the last time the implementation of CrcString could have changed? A related question is - are the commands for constructing finite simple groups (and other families of common groups) deterministic? For example, when I type in PSU(n,q) or PSL(n,q) or AlternatingGroup(n), GAP seems to represent them as permutation groups. Is the representation of these common groups as permutation groups deterministic? When I type in PSU(...) or PSL(...), will I always get the same permutation group? -- William Chen Ph.D. Student & Graduate Teaching Associate Department of Mathematics Pennsylvania State University, University Park, PA, 16801 chen_w at math.psu.edu oxeimon at gmail.com From dmitrii.pasechnik at cs.ox.ac.uk Sat Sep 12 20:38:36 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Sat, 12 Sep 2015 12:38:36 -0700 Subject: [GAP Forum] Is CrcString deterministic? In-Reply-To: References: Message-ID: <20150912193836.GB24005@dimpase.cs.ox.ac.uk> On Sat, Sep 12, 2015 at 02:58:47PM -0400, Will Chen wrote: > CrcString reads any input string and returns an integer to be thought of as > a "checksum". > > Is the method deterministic? Ie, if I type in, say > > CrcString("12jksma9-3oxz381sADd3"); > > on two different computers running different versions of gap, will > CrcString give the same output? > > Of course it's possible that even if CrcString is deterministic, then the > implementation for CrcString may have changed over the years, which leads > to another question - when was the last time the implementation of > CrcString could have changed? I don't know. Read the source? > > A related question is - are the commands for constructing finite simple > groups (and other families of common groups) deterministic? > > For example, when I type in PSU(n,q) or PSL(n,q) or AlternatingGroup(n), > GAP seems to represent them as permutation groups. Is the representation of > these common groups as permutation groups deterministic? When I type in > PSU(...) or PSL(...), will I always get the same permutation group? yes, these are deterministic. HTH, Dima From hulpke at math.colostate.edu Mon Sep 14 16:22:09 2015 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Mon, 14 Sep 2015 09:22:09 -0600 Subject: [GAP Forum] How does the function "Minimum()" work?/Is CrcString deterministic? In-Reply-To: References: Message-ID: Dear Forum, Dear Will Chen, > However, in order to efficiently compute actions on representatives of > equivalence classes, I'm using "Minimum" to choose "minimal > representatives". > > Ie, I often turn orbits consisting of elements of G into lists and then > consider their minimum. > > If O is an orbit of elements of G under some action, then what does > Minimum(List(O)) really do? Is this minimum guaranteed to be unique? When I > create the group G, is every element of G secretly assigned an integer > "size", and Minimum is just tapping into that data? GAP internally defines a total order for all (well, up to omissions and exceptions) objects, using the < and = operators. Functions such as `Sort?, `Minimum? etc. then just rely on this ordering. For some objects (such as rational numbers, but *not* real cyclotomics) the ordering used coincides with the natural order, for some objects (polynomials, pemutations) it is based on a lexicographic ordering using the internal representation. For objects that do not have a unique representation (subgroups or cosets, say) the comparison is typically aiming to compare as sets of elements. This can come at a notable time cost (e.g. to compare permutation groups a lexicographically minimal generating set is computed). In some cases (e.g. elements of finitely presented groups) this can mean that the ordering used is dependent on the particular instance of the objects ? Two different finitely presented groups with the same presentation might end up with incompatible element ordering. If you have a collection of objects and want to know whether the ` CanEasilySortElements(AlternatingGroup(5)); true gap> CanEasilySortElements(Image(IsomorphismFpGroup(AlternatingGroup(5)))); false > For example, when I type in PSU(n,q) or PSL(n,q) or AlternatingGroup(n), > GAP seems to represent them as permutation groups. Is the representation of > these common groups as permutation groups deterministic? When I type in > PSU(...) or PSL(...), will I always get the same permutation group? Within one release of GAP the construction is deterministic. If you are looking beyond one release we do not actively plan to change the choice of generators (and are not aware of any reason why we should do so), but neither have made a commitment to fix the current generators in perpetuity. If you want to publish work that depends on a choice of generators, I would either describe the generators by properties or use ``standard?? generators as have been classified in the literature, e.g. MR1409225 (98e:20025) Reviewed Wilson, Robert A.(4-BIRM-SM) Standard generators for sporadic simple groups. J. Algebra 184 (1996), no. 2, 505?515. 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 r_n_tsai at yahoo.com Tue Sep 15 23:50:15 2015 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Tue, 15 Sep 2015 22:50:15 +0000 (UTC) Subject: [GAP Forum] superlie algebras In-Reply-To: <1392580602.83900.YahooMailNeo@web121206.mail.ne1.yahoo.com> References: <1392580602.83900.YahooMailNeo@web121206.mail.ne1.yahoo.com> Message-ID: <207889948.41401.1442357415550.JavaMail.yahoo@mail.yahoo.com> Dear GAP forum, Is there anything in gap or its packages that deals with superlie algebras?I'm interested mainly in the orthosymplectic algebras; if I can get a way todefine their structure (either as a multiplication table of generators or as a quotient of a free algebra)I think I can build on top of that.Thanks,R.N. From stefanosaivazidis at gmail.com Sun Sep 20 05:24:50 2015 From: stefanosaivazidis at gmail.com (thefox235 .) Date: Sun, 20 Sep 2015 04:24:50 +0000 Subject: [GAP Forum] Constructing the generalised Fitting subgroup Message-ID: Dear forum, My question is really the titular statement: could someone please provide a routine for constructing the generalised Fitting subgroup of a finite group G? Provided that I have scanned the GAP manual thoroughly, this is not already implemented in GAP, and I hope that others may benefit from my question as well. With many thanks and best wishes, Stefanos From aliasar at gazi.edu.tr Thu Sep 24 21:03:28 2015 From: aliasar at gazi.edu.tr (Ali Osman ASAR) Date: Thu, 24 Sep 2015 23:03:28 +0300 (EEST) Subject: [GAP Forum] (no subject) In-Reply-To: <2058299773.388688.1443123870832.JavaMail.root@gazi.edu.tr> Message-ID: <1366123698.389112.1443125008329.JavaMail.root@gazi.edu.tr> Dear GAP People, I would be very grateful if someone could help me with the following. Let G be a 2-subgroup of ,say, SymmetricGroup(512) and D={1,...,32} be a block for G. How can I obtain the pointwise stabilizer G_D? Sincerely yours A.O.Asar From J.Howie at hw.ac.uk Fri Sep 25 11:54:31 2015 From: J.Howie at hw.ac.uk (Jim Howie) Date: Fri, 25 Sep 2015 11:54:31 +0100 Subject: [GAP Forum] Mathematics job(s) at Heriot-Watt Message-ID: <560527E7.9070804@hw.ac.uk> Dear colleagues, Heriot-Watt is advertising one or more academic positions in mathematics, with a closing date of 27 October. For details see http://www.jobs.ac.uk/job/AMB314 or http://www.hw.ac.uk/about/careers/jobs/job_495243393435.htm Please forward to anyone you think may be interested. Thanks, Jim Howie. ----- We invite research leaders and ambitious early career researchers to join us in leading and driving research in key inter-disciplinary themes. Please see www.hw.ac.uk/researchleaders for further information and how to apply. Heriot-Watt University is a Scottish charity registered under charity number SC000278. From laurent.bartholdi at gmail.com Mon Sep 28 23:44:09 2015 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Mon, 28 Sep 2015 22:44:09 +0000 Subject: [GAP Forum] Unitary representations Message-ID: Dear all, I'm looking for the 2-dimensional unitary representation of SL(2,5). I thought GAP would give it to me, but gap> rep := First(IrreducibleRepresentations(SL(2,5)),r->Length(Image(r).1)=2); CompositionMapping( [ (2,5,4,3)(6,11,16,21)(7,15,19,23)(8,12,20,24)(9,13,17,25)(10,14,18,22), (2,16,9)(3,21,15)(4,6,17)(5,11,23)(7,22,10)(8,12,13)(14,18,19)(20,24,25) ] -> [ [ [ -E(5)+E(5)^4, E(5)^2+E(5)^3 ], [ E(5)^2+E(5)^3, E(5)-E(5)^4 ] ], [ [ E(5)+E(5)^2, -E(5)^2-E(5)^3 ], [ 1, E(5)^3+E(5)^4 ] ] ], ) does *not* give unitary matrices. Now, classically, I can define s = Sum(SL(2,5),g->g^rep*TransposedMat(ComplexConjugate(g^rep))), which is the Gram matrix of a positive-definite invariant sesquilinear form; but I don't know how to factor s as t*TransposedMat(ComplexConjugate(t)) so as to conjugate rep by t. Any ideas? Thanks in advance, Laurent From hulpke at fastmail.fm Mon Sep 28 23:56:47 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Mon, 28 Sep 2015 16:56:47 -0600 Subject: [GAP Forum] Unitary representations In-Reply-To: References: Message-ID: Dear Laurent, Dear Forum, In principle (in recent versions of GAP, this got added later), adding the option `unitary?, i.e. IrreducibleRepresentations(SL(2,5):unitary); will produce unitary representations. > Now, classically, I can define s = > Sum(SL(2,5),g->g^rep*TransposedMat(ComplexConjugate(g^rep))), which is the > Gram matrix of a positive-definite invariant sesquilinear form; but I don't > know how to factor s as t*TransposedMat(ComplexConjugate(t)) so as to > conjugate rep by t. This is a Cholesky decomposition, which (Wikipedia be thanked) seems to be a standard operation in the numerical world, and this is exactly what GAP uses. However in your concrete example this fails yet ? the reason is that the Cholesky decomposition requires square roots, and the existing code for CholeskyDecomp in GAP cannot deal with square roots for irrationals. (It would have to construct a larger field etc. which makes the code far more complicated.) Anyhow, this might tell you how to do it by hand. Best, Alexander > > Any ideas? > > Thanks in advance, Laurent > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From dmitrii.pasechnik at cs.ox.ac.uk Tue Sep 29 00:31:31 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Mon, 28 Sep 2015 16:31:31 -0700 Subject: [GAP Forum] Unitary representations In-Reply-To: References: Message-ID: <20150928233131.GA23649@dimpase.cs.ox.ac.uk> On Mon, Sep 28, 2015 at 04:56:47PM -0600, Alexander Hulpke wrote: > Dear Laurent, Dear Forum, > > > In principle (in recent versions of GAP, this got added later), adding the option `unitary?, i.e. > > IrreducibleRepresentations(SL(2,5):unitary); > > will produce unitary representations. well, yes, it does in GAP 4.7.8; however, the documentation is silent on this. I just opened https://github.com/gap-system/gap/issues/265 to bring this up. Dima From dmitrii.pasechnik at cs.ox.ac.uk Tue Sep 29 00:51:13 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Mon, 28 Sep 2015 16:51:13 -0700 Subject: [GAP Forum] Unitary representations In-Reply-To: References: Message-ID: <20150928235113.GB23649@dimpase.cs.ox.ac.uk> On Mon, Sep 28, 2015 at 04:56:47PM -0600, Alexander Hulpke wrote: > > Now, classically, I can define s = > > Sum(SL(2,5),g->g^rep*TransposedMat(ComplexConjugate(g^rep))), which is the > > Gram matrix of a positive-definite invariant sesquilinear form; but I don't > > know how to factor s as t*TransposedMat(ComplexConjugate(t)) so as to > > conjugate rep by t. > > This is a Cholesky decomposition, which (Wikipedia be thanked) seems to be a standard operation in the numerical world, and this is exactly what GAP uses. > > However in your concrete example this fails yet ? the reason is that the Cholesky decomposition requires square roots, and the existing code for CholeskyDecomp in GAP cannot deal with square roots for irrationals. (It would have to construct a larger field etc. which makes the code far more complicated.) Do you mean the code in pkg/HAPcryst/examples/orbitcoloring.gap ? In the numerical world people avoid doing the classical Cholesky decomposition; they do LDL* decomposition (same Wikipedia article), which does not need square roots, but leaves you with a diagonal sesqulinear form with positive coefficients. I imagine in some cases it'd just give you a scalar that you can cancel... Best, Dima From laurent.bartholdi at gmail.com Tue Sep 29 09:46:28 2015 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Tue, 29 Sep 2015 10:46:28 +0200 Subject: [GAP Forum] Unitary representations In-Reply-To: <20150928235113.GB23649@dimpase.cs.ox.ac.uk> References: <20150928235113.GB23649@dimpase.cs.ox.ac.uk> Message-ID: Dear Dima and Alexander: Thanks for the quick replies! Indeed, I was trying to the Cholesky factorization by hand, but GAP can't extract square roots of cyclotomics, only of rationals. Since the matrices are 2x2, there's no stability issue; and, to get a unitary representation, it's crucial to make the invariant scalar product orthonormal, not just orthogonal (and the field has to go up to CyclotomicField(60) in this case.) On Tue, Sep 29, 2015 at 1:51 AM, Dima Pasechnik < dmitrii.pasechnik at cs.ox.ac.uk> wrote: > On Mon, Sep 28, 2015 at 04:56:47PM -0600, Alexander Hulpke wrote: > > > Now, classically, I can define s = > > > Sum(SL(2,5),g->g^rep*TransposedMat(ComplexConjugate(g^rep))), which is > the > > > Gram matrix of a positive-definite invariant sesquilinear form; but I > don't > > > know how to factor s as t*TransposedMat(ComplexConjugate(t)) so as to > > > conjugate rep by t. > > > > This is a Cholesky decomposition, which (Wikipedia be thanked) seems to > be a standard operation in the numerical world, and this is exactly what > GAP uses. > > > > However in your concrete example this fails yet ? the reason is that the > Cholesky decomposition requires square roots, and the existing code for > CholeskyDecomp in GAP cannot deal with square roots for irrationals. (It > would have to construct a larger field etc. which makes the code far more > complicated.) > > Do you mean the code in pkg/HAPcryst/examples/orbitcoloring.gap ? > > In the numerical world people avoid doing the classical Cholesky > decomposition; > they do LDL* decomposition (same Wikipedia article), > which does not need square roots, but leaves you > with a diagonal sesqulinear form with positive coefficients. > > I imagine in some cases it'd just give you a scalar that you can cancel... > > Best, > Dima > -- Prof. Dr. Laurent Bartholdi \ laurent.bartholdigmailcom G.-A. Universit?t zu G?ttingen \ Phone: +49 551 39 7826 Bunsenstra?e 3-5 \ Secr: +49 551 39 7752 D-37073 G?ttingen, Germany \ Fax: +49 551 39 22674 From vplkakkar at gmail.com Thu Oct 1 11:22:16 2015 From: vplkakkar at gmail.com (Vipul Kakkar) Date: Thu, 1 Oct 2015 15:52:16 +0530 Subject: [GAP Forum] Why is following error coming Message-ID: Dear Members I am trying following calculation in GAP f:=FreeGroup(3); g:=f/[f.1^7,f.2^7,f.3^(7^3),f.1^-1*f.2^-1*f.1*f.2*(f.3^-1)^49,f.1^-1*f.3^-1*f.1*f.3,f.2^-1*f.3^-1*f.2*f.3]; The order of g is 7^5. I tried to find the maximal subgroups or all Subgroups of g, but I get following error Error, the coset enumeration has defined more than 16384000 cosets called from TCENUM.CosetTableFromGensAndRels( fgens, grels, fsgens ) called from CosetTableFromGensAndRels( fgens, grels, fsgens ) called from TryCosetTableInWholeGroup( H ) called from CosetTableInWholeGroup( H ) called from IndexInWholeGroup( H ) called from ... at line 8 of *stdin* type 'return;' if you want to continue with a new limit of 32768000 cosets, type 'quit;' if you want to quit the coset enumeration, type 'maxlimit := 0; return;' in order to continue without a limit Why is it coming? How can I get rid of this situation and how to find them? with regards Vipul Kakkar From sal at mcs.st-and.ac.uk Thu Oct 1 12:08:23 2015 From: sal at mcs.st-and.ac.uk (Steve Linton) Date: Thu, 1 Oct 2015 12:08:23 +0100 Subject: [GAP Forum] Why is following error coming In-Reply-To: References: Message-ID: <825975D2-6252-4A9D-978C-59A446243F43@mcs.st-and.ac.uk> Dear GAP Forum, Dear Vipul, When you give GAP a finite presentation for a group it does not immediately know that the group is finite let alone a p-group and so it will not always choose the best methods for computing in the group. In this case, it ends up very inefficiently trying to compute the index of one subgroup in another using presentations and runs out of memory. You can make things better by first asking GAP to compute the size of the whole group. Once that completes GAP knows that the group is finite and chooses better algorithms. So gap> g:=f/[f.1^7,f.2^7,f.3^(7^3),f.1^-1*f.2^-1*f.1*f.2*(f.3^-1)^49,f.1^-1*f.3^-1*f.1*f.3,f.$ gap> Size(g); 16807 gap> ConjugacyClassesMaximalSubgroups(g);; completes for me in a few seconds. This is still not the best way to work in this group g though. In general if you know that a group is finite soluble, you are best representing it as what is called a ?pc-group?. You can find lots of information about this representation in (e.g.) (Rick, Holt & O?Brien?s book). In GAP terms this is : gap> phi := IsomorphismPcGroup(g); [ f1, f2, f3 ] -> [ f1, f2, f3 ] gap> g2 := ImagesSource(phi); Group([ f1, f2, f3 ]) gap> ConjugacyClassesMaximalSubgroups(g2);; The first line takes a few seconds, but after that computations in g2 are very fast (e.g. the maximal subgroups computation takes 12 ms). In fact in this case, since your presentation is basically in power-commutator form anyway, you can use g2 := RefinedPcGroup(PcGroupFpGroup(g)); to avoid the relatively slow computation of phi. Steve > On 1 Oct 2015, at 11:22, Vipul Kakkar wrote: > > Dear Members > > I am trying following calculation in GAP > f:=FreeGroup(3); > g:=f/[f.1^7,f.2^7,f.3^(7^3),f.1^-1*f.2^-1*f.1*f.2*(f.3^-1)^49,f.1^-1*f.3^-1*f.1*f.3,f.2^-1*f.3^-1*f.2*f.3]; > > The order of g is 7^5. I tried to find the maximal subgroups or all > Subgroups of g, but I get following error > > Error, the coset enumeration has defined more than 16384000 cosets > called from > TCENUM.CosetTableFromGensAndRels( fgens, grels, fsgens ) called from > CosetTableFromGensAndRels( fgens, grels, fsgens ) called from > TryCosetTableInWholeGroup( H ) called from > CosetTableInWholeGroup( H ) called from > IndexInWholeGroup( H ) called from > ... at line 8 of *stdin* > type 'return;' if you want to continue with a new limit of 32768000 cosets, > type 'quit;' if you want to quit the coset enumeration, > type 'maxlimit := 0; return;' in order to continue without a limit > > Why is it coming? > How can I get rid of this situation and how to find them? > > > with regards > > Vipul Kakkar > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From shinyasakai at 163.com Sat Oct 3 14:22:55 2015 From: shinyasakai at 163.com (=?GBK?B?0e643w==?=) Date: Sat, 3 Oct 2015 21:22:55 +0800 (CST) Subject: [GAP Forum] What can I do to load the package CHEVIE in GAP4 Message-ID: <317b9a1c.baa0.1502dde9d58.Coremail.shinyasakai@163.com> I have done a lot of work with GAP3, together with CHEVIE, so many thanks to the developers. Now I want to use GAP4 with CHEVIE. But I failed in loading this package. This is what I have done. 1. Install gap4r7p8_2015_06_09-20_27.exe to E:\GAP4\gap4r7\ 2. Download the package CHEVIE and release it and put it to E:\GAP4\gap4r7\pkg 3. Run E:\GAP4\gap4r7\bin\gap.bat 4. try >LoadPackage("chevie"); or >RequirePackage("chevie"); But both return "fail". Am I wrong in using the package here? Or is it impossible to use CHEVIE in GAP4? If I cannot use CHEVIE in GAP4, then is it possible to use both GAP3 and GAP4 in one program, like passing data from one to another in the runtime of a program? Thanks very much. From alexander.konovalov at st-andrews.ac.uk Mon Oct 5 11:15:00 2015 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 5 Oct 2015 10:15:00 +0000 Subject: [GAP Forum] First CoDiMa Training School in Computational Discrete Mathematics Message-ID: <12EC0C73-D94D-4237-B21B-D5DB65DA99A4@st-andrews.ac.uk> -------------------------------------------------------------------- CoDiMa Training School in Computational Discrete Mathematics University of Manchester, November 16th-20th, 2015 http://www.codima.ac.uk/school2015/ -------------------------------------------------------------------- This is the announcement of the CoDiMa Training School in Computational Discrete Mathematics. CoDiMa is the Collaborative Computational Project (CCP) in the area of Computational Discrete Mathematics, supported by the EPSRC (EP/M022641/1). It is centred on GAP and SageMath - open source software systems which are widely used for research and teaching in abstract algebra, number theory, cryptography, combinatorics, graph theory, coding theory, optimisation and search, among other areas. CoDiMa supports a number of activities to support users, extenders and developers of these systems and encourage best practice in their use. One of them is the Training School in Computational Discrete Mathematics, intended for PhD students and researchers from UK institutions. It will start with the 2-days hands-on Software Carpentry workshop covering basic concepts and tools, including working with the command line, version control and task automation, continued with introductions to GAP and SageMath systems, and followed by the series of lectures and exercise classes on a selection of topics in computational discrete mathematics. The school will finish at Friday lunchtime, with an option to stay for the NBSAN (North British Semigroups and Applications Network meeting on Friday afternoon (http://www.maths.manchester.ac.uk/~mkambites/nbsan.php). Speakers * Derek Holt (Warwick) * Christopher Jefferson (St Andrews) * Alexander Konovalov (St Andrews) * James Mitchell (St Andrews) * Dmitrii Pasechnik (Oxford) Registration Participation in the Training School is free of charge, but attendees need to be registered in advance as the number of places is limited. To register, please proceed to the Software Carpentry workshop page: http://kkwakwa.github.io/2015-11-16-manchester-codima/ where you will find further information and the link to the registration form on Eventbrite. By registering there, you will automatically register for the whole week. You will have an option to specify whether you are also staying for the NBSAN meeting on Friday afternoon. Financial Support A limited financial support to cover travel expenses and stay in Manchester is available to PhD students from UK Universities who are coming for the whole duration of the Training School (from Monday until Friday lunchtime). Students wishing to apply for the support should register online and then ask their PhD supervisor to email to contact at codima.ac.uk a recommendation that they should take part. Travel and accommodation Attendees are asked to make their own arrangements for travel and accommodation. You may find some suggestions following the links below: * Maps and travel information on the University of Manchester website: http://www.manchester.ac.uk/discover/maps/ * Some informal information for visitors to Manchester collected by Mark Kambites: http://www.maths.manchester.ac.uk/~mkambites/visitors.php Contact If you have questions or suggestions, please contact the organisers: * Alexander Konovalov: alexander.konovalov at st-andrews.ac.uk * Matthew Taylor (local organiser): matthew.taylor-14 at postgrad.manchester.ac.uk You may also follow updates on Twitter: https://twitter.com/codima_project From oxeimon at gmail.com Tue Oct 6 02:06:02 2015 From: oxeimon at gmail.com (Will Chen) Date: Mon, 5 Oct 2015 21:06:02 -0400 Subject: [GAP Forum] "couldn't load saved workspace" error Message-ID: Hi all, For some reason, loading saved workspaces doesn't seem to be working... (this is my first time trying it) Zephyr:~ wchen$ sage -gap ????????? GAP, Version 4.6.4 of 04-May-2013 (free software, GPL) ? GAP ? http://www.gap-system.org ????????? Architecture: x86_64-apple-darwin13.0.0-gcc-default64 Libs used: gmp, readline Loading the library and packages ... Components: trans 1.0, prim 2.1, small* 1.0, id* 1.0 Packages: Alnuth 3.0.0, AutPGrp 1.6, CTblLib 1.2.2, FactInt 1.5.3, FGA 1.2.0, GAPDoc 1.5.1, Polycyclic 2.11, TomLib 1.2.2 Try '?help' for help. See also '?copyright' and '?authors' gap> Read("~/Documents/gap/setup.g"); ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? Loading Congruence 1.0.3 (Congruence subgroups of SL(2,Integers)) by Ann Dooms (http://homepages.vub.ac.be/~andooms), Eric Jespers (http://homepages.vub.ac.be/~efjesper), Alexander Konovalov (http://www.cs.st-andrews.ac.uk/~alexk/), and Helena Verrill (http://www.math.lsu.edu/~verrill). Homepage: http://www.cs.st-andrews.ac.uk/~alexk/congruence/ ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? gap> SaveWorkspace("~/Documents/gap/savedworkplace.dnc"); true gap> quit; Zephyr:~ wchen$ sage -gap -L "~/Documents/gap/savedworkplace.dnc"; Couldn't open saved workspace ~/Documents/gap/savedworkplace.dnc Anyone know why? Could it be because my version of gap is being called through sage? - will -- William Yun Chen Ph.D. Student & Graduate Teaching Associate Department of Mathematics Pennsylvania State University, University Park, PA, 16801 chen_w at math.psu.edu oxeimon at gmail.com From Bill.Allombert at math.u-bordeaux.fr Tue Oct 6 08:37:53 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Tue, 6 Oct 2015 09:37:53 +0200 Subject: [GAP Forum] "couldn't load saved workspace" error In-Reply-To: References: Message-ID: <20151006073753.GF23667@yellowpig> On Mon, Oct 05, 2015 at 09:06:02PM -0400, Will Chen wrote: > > gap> SaveWorkspace("~/Documents/gap/savedworkplace.dnc"); > > true > > gap> quit; > > Zephyr:~ wchen$ sage -gap -L "~/Documents/gap/savedworkplace.dnc"; > > Couldn't open saved workspace ~/Documents/gap/savedworkplace.dnc > > Anyone know why? Could it be because my version of gap is being called > through sage? Try to remove the "": gap -L ~/Documents/gap/savedworkplace.dnc Quoting the ~ make it litteral, which is not what you want. (also check that ~/Documents/gap/savedworkplace.dnc does exist, of course). Cheers, Bill. From hamze2006 at yahoo.com Sun Oct 11 08:54:32 2015 From: hamze2006 at yahoo.com (asma hamze) Date: Sun, 11 Oct 2015 07:54:32 +0000 (UTC) Subject: [GAP Forum] Program for graph References: <892062097.1943131.1444550072938.JavaMail.yahoo@mail.yahoo.com> Message-ID: <892062097.1943131.1444550072938.JavaMail.yahoo@mail.yahoo.com> Dear forum, Can someone help with the construction a graph with program in GAP?A graph fora group G, where its vertices set is G and two element x,y of G are connectedif o(x)|o(y) or o(y)|o(x). Also, what is the automorphism group of this graph? With best regards. Asma. From alexander.konovalov at gmail.com Sun Oct 11 09:55:41 2015 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Sun, 11 Oct 2015 09:55:41 +0100 Subject: [GAP Forum] Program for graph In-Reply-To: <892062097.1943131.1444550072938.JavaMail.yahoo@mail.yahoo.com> References: <892062097.1943131.1444550072938.JavaMail.yahoo@mail.yahoo.com> <892062097.1943131.1444550072938.JavaMail.yahoo@mail.yahoo.com> Message-ID: <824ACB60-BF86-4ED5-80A8-F10FAF259B17@gmail.com> Dear Asma, There is a question "Permutability Graph with GAP" on Mathematics Q&A site, which you may find useful: http://math.stackexchange.com/q/1149728/ You may start with modifying the construction of the adjacency matrix for a different vertices set and different condition for the vertices to be connected. Hope this helps Alexander > On 11 Oct 2015, at 08:54, asma hamze wrote: > > Dear forum, > Can someone help with the construction a graph with program in GAP?A graph fora group G, where its vertices set is G and two element x,y of G are connectedif o(x)|o(y) or o(y)|o(x). Also, what is the automorphism group of this graph? > With best regards. > Asma. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From benjamin.sambale at gmail.com Sun Oct 11 19:07:07 2015 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Sun, 11 Oct 2015 20:07:07 +0200 Subject: [GAP Forum] ncurses and gmp updates Message-ID: <561AA54B.20307@gmail.com> Dear forum, my linux distribution (arch linux) switched from ncurses5 to ncurses6 recently. Since then, I am unable to use GAP (4,7.8). It opens with #W dlopen() error: libpanelw.so.5: cannot open shared object file: No such file or directory Error, module '/usr/local/gap4r7/pkg/Browse/bin/x86_64-unknown-linux-gnu-gcc-default64/ncurses.so' not found and several commands do not work properly. Strangely, the problem persists after recompiling. I also notice that the compiling process downloads gmp5 instead of using gmp6 already provided by the system. Can someone provide a fix? Best wishes, Benjamin From alexander.konovalov at gmail.com Sun Oct 11 19:29:05 2015 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Sun, 11 Oct 2015 19:29:05 +0100 Subject: [GAP Forum] ncurses and gmp updates In-Reply-To: <561AA54B.20307@gmail.com> References: <561AA54B.20307@gmail.com> Message-ID: Dear Benjamin, > On 11 Oct 2015, at 19:07, Benjamin Sambale wrote: > > Dear forum, > > my linux distribution (arch linux) switched from ncurses5 to ncurses6 recently. Since then, I am unable to use GAP (4,7.8). It opens with > > #W dlopen() error: libpanelw.so.5: cannot open shared object file: No such file or directory > Error, module '/usr/local/gap4r7/pkg/Browse/bin/x86_64-unknown-linux-gnu-gcc-default64/ncurses.so' not found Just to check - have you recompiled both the GAP kernel and the Browse package in this case? > > and several commands do not work properly. Strangely, the problem persists after recompiling. I also notice that the compiling process downloads gmp5 instead of using gmp6 already provided by the system. This is the default behaviour - it uses GMP version included in the GAP distribution, that is the same that we're using in regression testing. If you wish to use the system one, build it with ./configure --with-gmp=system make The master branch in GAP git repository already uses GMP 6.0.0 and we haven't observed any problems. Hope this helps Alexander > > Can someone provide a fix? > > Best wishes, > Benjamin > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From benjamin.sambale at gmail.com Sun Oct 11 19:41:19 2015 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Sun, 11 Oct 2015 20:41:19 +0200 Subject: [GAP Forum] ncurses and gmp updates In-Reply-To: References: <561AA54B.20307@gmail.com> Message-ID: <561AAD4F.7030800@gmail.com> Am 11.10.2015 um 20:29 schrieb Alexander Konovalov: > Just to check - have you recompiled both the GAP kernel and the Browse package in this case? Thanks! I forgot to recompile Browse. Now it is working again. Benjamin From vplkakkar at gmail.com Mon Oct 12 10:23:46 2015 From: vplkakkar at gmail.com (Vipul Kakkar) Date: Mon, 12 Oct 2015 14:53:46 +0530 Subject: [GAP Forum] Problem to load cohomolo package Message-ID: Dear Members I am using Intel(R) Celeron(R) CPU N2807 64-bit window 8 system. I am trying to load cohomolo package. The following message is comming #I Package "cohomolo": The program 'extprun' (for example) is not complied # 'cohomolo' is thus unavailable #I See the installation instructions; type: ? Installing the package fail What is the problem? How can I load the package? with regards vipul kakkar From alexander.konovalov at gmail.com Mon Oct 12 11:46:52 2015 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Mon, 12 Oct 2015 11:46:52 +0100 Subject: [GAP Forum] Problem to load cohomolo package In-Reply-To: References: Message-ID: <8CB1CCD8-F358-4551-B704-D70318C6949A@gmail.com> Dear Vipul, cohomolo binaries are not included in the Windows distribution. You need to run in the UNIX environment. If you don't have access to another machine, you may, for example: a) install Cygwin (https://cygwin.com/) and compile GAP and packages there b) use virtual machine with e.g. VirtualBox (https://www.virtualbox.org/) c) use Docker (https://www.docker.com/) and run Docker container for GAP and all packages redistributed with it: https://hub.docker.com/r/gapsystem/gap-docker/ Probably (c) is the fastest way to get it up and running without spending too much time on configuring the system and satisfying all dependencies. d) Tell us what you're trying to compute in case there may be any alternatives. HTH Alexander > On 12 Oct 2015, at 10:23, Vipul Kakkar wrote: > > Dear Members > > I am using Intel(R) Celeron(R) CPU N2807 64-bit window 8 system. > I am trying to load cohomolo package. The following message is comming > #I Package "cohomolo": The program 'extprun' (for example) is not complied > # 'cohomolo' is thus unavailable > #I See the installation instructions; type: ? Installing the package fail > > > What is the problem? How can I load the package? > > with regards > > vipul kakkar > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From alexander.konovalov at gmail.com Mon Oct 12 13:50:04 2015 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Mon, 12 Oct 2015 13:50:04 +0100 Subject: [GAP Forum] =?utf-8?q?First_Joint_GAP-=E2=80=8BSage_Days_=28St_An?= =?utf-8?q?drews=2C_January_2016=29?= Message-ID: Dear all, we are happy to announce the First Joint GAP-?Sage Days which will take place in St Andrews on January 18th-22nd, 2016. They will be preceded by a GAP Coding Sprint on January 13th-16th. For the 1st Joint GAP-Sage Days, the focus of the workshop will be on improving GAP-SageMath integration and interaction between our systems and between their developers. The focus of the GAP Coding Sprint will be on converging GAP and HPC-GAP development branches. For details please visit the webpage of the meeting: http://gapdays.de/gap-sage-days2016/ Best regards, The organisers: - Max Horn - Alexander Konovalov (local organizer) - Dmitrii Pasechnik - Markus Pfeiffer (local organizer) From Bill.Allombert at math.u-bordeaux.fr Sun Oct 18 10:15:00 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Sun, 18 Oct 2015 11:15:00 +0200 Subject: [GAP Forum] natural representation and orbits Message-ID: <20151018091500.GE4387@yellowpig> Dear GAP forum, Let G be a primitive transitive subgroup of S_n. I am interested by the links between: 1) the lengths of the orbits of {1,...,n} under the action of the stabilisator of 1 by G. 2) the degrees of the irreducible representations occuring in the natural representation of G. I wrote the GAP code below that shows the two entities above are often equal. (I had to filter out representation of degree 1 because Orbits() does not return orbits of length 1). orb:=function(T) return List(Orbits(Stabilizer(T,1)),Length); end; irr:=function(T) return Filtered(List(ConstituentsOfCharacter(NaturalCharacter(T)),DegreeOfCharacter),x->x>1); end; nat:=function(n) local L; L:=AllTransitiveGroups(NrMovedPoints,n,IsPrimitive,true); return Filtered(L,T->orb(T) <> irr(T)); end; for i in [2..17] do Print(i, ":", nat(i),"\n"); od; This the list of counter-examples for n<=17 2:[ ] 3:[ ] 4:[ ] 5:[ ] 6:[ ] 7:[ ] 8:[ ] 9:[ ] 10:[ A_5(10), S_5(10d) ] 11:[ ] 12:[ ] 13:[ ] 14:[ ] 15:[ A_6(15), S_6(15) ] 16:[ t16n708, t16n711, t16n1030, t16n1034, t16n1294 ] 17:[ ] So I would be very much interested by pointers to an explanation of this phenomena. Sorry that my question is more about group theory than GAP itself, but I would have had trouble expressing it without GAP. Cheers, Bill. From hulpke at fastmail.fm Sun Oct 18 15:49:15 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Sun, 18 Oct 2015 08:49:15 -0600 Subject: [GAP Forum] natural representation and orbits In-Reply-To: <20151018091500.GE4387@yellowpig> References: <20151018091500.GE4387@yellowpig> Message-ID: Dear Bill, > Dear GAP forum, > > Let G be a primitive transitive subgroup of S_n. > I am interested by the links between: > 1) the lengths of the orbits of {1,...,n} under the action of the stabilisator > of 1 by G. > 2) the degrees of the irreducible representations occuring in the natural > representation of G. Frobenius reciprocity and the fact that the permutation character (=natural character) is the induced trivial representation of the point stabilizer show that the permutation character has inner product m with itself, where m is the number of orbits of the point stabilizer. Thus the observation is true for doubly transitive groups: the permutation character has the form 1+chi with chi irreducible, so deg chi must be | \Omega |-1, thus proving the statement. It also is true (for trivial reasons) for regular groups and (an ad-hoc observation) dihedral groups of prime degree. This covers all but 22 of the primitive groups of degree up to 17. Of these, 7 are Frobenius groups for which I think again an ad-hoc argument works, leaving 15 groups, of which 9 fail (and 6 pass) the conjecture. So chances are about 50%. But 50% is still somewhat surprising. I suspect the reason is that character degrees must divide up the group order and length of stabilizer orbits divide the stabilizer order. Trying to write a smallish (in this case <=17) number as sum of a few divisors leaves open only a few possibilities, making it likely that the same numbers are involved. Best, Alexander From stefanosaivazidis at gmail.com Sun Oct 18 18:01:33 2015 From: stefanosaivazidis at gmail.com (Stefanos Aivazidis) Date: Sun, 18 Oct 2015 20:01:33 +0300 Subject: [GAP Forum] Problem with perfect groups Message-ID: Dear GAP forum, The following code produces an error and I am not sure what I'm doing wrong. The same thing works fine with groups of small (<300) order. Best wishes, Stefanos gap> counter:=0;; gap> for n in SizesPerfectGroups() do > for k in [1..NrPerfectLibraryGroups(n)] do > G:=PerfectGroup(n,k);; > if Order(FrattiniSubgroup(G))=1 then > for N in NormalSubgroups(G) do > counter:=counter+Order(FrattiniSubgroup(FactorGroup(G,N))); > od; > if counter=Size(NormalSubgroups(G)) then > Print(StructureDescription(G:short)," ",IdSmallGroup(G),"\n"); > fi; > fi; > counter:=0;; > od; > od; A5 [ 60, 5 ] Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 2nd choice method found for `FittingFreeLiftSetup' on 1 arguments called from FittingFreeLiftSetup( G ) called from MaximalSubgroupClassesSol( G ) called from FrattiniSubgroup( G ) called from ( ) called from read-eval loop at line 50 of *stdin* From hulpke at fastmail.fm Sun Oct 18 18:10:27 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Sun, 18 Oct 2015 11:10:27 -0600 Subject: [GAP Forum] Problem with perfect groups In-Reply-To: References: Message-ID: Dear Forum, Dear Stefanos, > The following code produces an error and I am > not sure what I'm doing wrong. The perfect groups library returns by default groups as finitely presented groups and I t the code on which `MaximalSubgroups? relies has no special hook for such groups (which would be to first translate to permutation groups). The fix is easy: Construct the perfect groups as permutation groups by calling G:=PerfectGroup(IsPermGroup,n,k);; Regards, Alexander Hulpke From Bill.Allombert at math.u-bordeaux.fr Thu Oct 22 13:57:26 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Thu, 22 Oct 2015 14:57:26 +0200 Subject: [GAP Forum] natural representation and orbits In-Reply-To: References: <20151018091500.GE4387@yellowpig> Message-ID: <20151022125726.GE29939@yellowpig> On Sun, Oct 18, 2015 at 08:49:15AM -0600, Alexander Hulpke wrote: > Dear Bill, > > > Dear GAP forum, > > > > Let G be a primitive transitive subgroup of S_n. > > I am interested by the links between: > > 1) the lengths of the orbits of {1,...,n} under the action of the stabilisator > > of 1 by G. > > 2) the degrees of the irreducible representations occuring in the natural > > representation of G. > > Frobenius reciprocity and the fact that the permutation character (=natural > character) is the induced trivial representation of the point stabilizer show > that the permutation character has inner product m with itself, where m is > the number of orbits of the point stabilizer. > > Thus the observation is true for doubly transitive groups: the permutation > character has the form 1+chi with chi irreducible, so deg chi must be | > \Omega |-1, thus proving the statement. > > It also is true (for trivial reasons) for regular groups and (an ad-hoc > observation) dihedral groups of prime degree. > > This covers all but 22 of the primitive groups of degree up to 17. Of these, > 7 are Frobenius groups for which I think again an ad-hoc argument works, > leaving 15 groups, of which 9 fail (and 6 pass) the conjecture. So chances > are about 50%. > > But 50% is still somewhat surprising. I suspect the reason is that character > degrees must divide up the group order and length of stabilizer orbits divide > the stabilizer order. Trying to write a smallish (in this case <=17) number > as sum of a few divisors leaves open only a few possibilities, making it > likely that the same numbers are involved. Thanks for your very useful answer. Maybe I should give some motivation: Let K be a number field, L its Galois closure over Q (the rational field), and G = Gal(L/Q). The Dedekind Zeta function of K is equal to the Artin L function associated to the natural representation of G (seen as acting on the complex embedding of K). (the Artin L function is an arithmetic object functiorialy attached to representations of Galois groups of numbers field). Thus it factors as a product of Artin L functions associated to the irreducible representations that occurs in the natural representation. Computing this factorization is very important for computing the Dedekind Zeta function. However computing the Galois group G is difficult (This is the GAP function GaloisType). But some property of G are easy to compute (e.g. primitiveness, and the orbits under the stabilisator of a point). So any trick which can allow to compute the factorization without computing the exact Galois group is useful. Cheers, Bill From dmitrii.pasechnik at cs.ox.ac.uk Thu Oct 22 16:58:40 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Thu, 22 Oct 2015 08:58:40 -0700 Subject: [GAP Forum] natural representation and orbits In-Reply-To: <20151022125726.GE29939@yellowpig> References: <20151018091500.GE4387@yellowpig> <20151022125726.GE29939@yellowpig> Message-ID: <20151022155840.GA31813@dimpase.cs.ox.ac.uk> Dear all, On Thu, Oct 22, 2015 at 02:57:26PM +0200, Bill Allombert wrote: > On Sun, Oct 18, 2015 at 08:49:15AM -0600, Alexander Hulpke wrote: > > > Let G be a primitive transitive subgroup of S_n. > > > I am interested by the links between: > > > 1) the lengths of the orbits of {1,...,n} under the action of the stabilisator > > > of 1 by G. > > > 2) the degrees of the irreducible representations occuring in the natural > > > representation of G. > > > > Frobenius reciprocity and the fact that the permutation character (=natural > > character) is the induced trivial representation of the point stabilizer show > > that the permutation character has inner product m with itself, where m is > > the number of orbits of the point stabilizer. > > > > Thus the observation is true for doubly transitive groups: the permutation > > character has the form 1+chi with chi irreducible, so deg chi must be | > > \Omega |-1, thus proving the statement. > > > > It also is true (for trivial reasons) for regular groups and (an ad-hoc > > observation) dihedral groups of prime degree. > > > > This covers all but 22 of the primitive groups of degree up to 17. Of these, > > 7 are Frobenius groups for which I think again an ad-hoc argument works, > > leaving 15 groups, of which 9 fail (and 6 pass) the conjecture. So chances > > are about 50%. > > > > But 50% is still somewhat surprising. I suspect the reason is that character > > degrees must divide up the group order and length of stabilizer orbits divide > > the stabilizer order. Trying to write a smallish (in this case <=17) number > > as sum of a few divisors leaves open only a few possibilities, making it > > likely that the same numbers are involved. There is more useful theory here known: namely, for a large class of such groups these two sets of these degrees/lengths are indeed the same; namely, for groups with a regular normal Abelian subgroup (in particular for Frobenius groups). This goes back to notion of S-ring, see e.g. the book on permutation groups by Wielandt, or Section II.6 in Bannai, Ito "Algebraic combinatorics I". (Specifically, I refer to Thm 6.1 in the latter). There are also results about recognising a primitive G from the lengths of the orbits of the stabilizer alone. Often under an assumption that the representation is multiplicity-free, i.e. each irreducible character occurs at most once in the decomposition. More generally, one can compute the multiplicites from the multiplication table of the algebra of the orbitals of G. (the orbitals are 0-1 matrices associated in the natural way, i.e. as indicator functions, to the orbits of G on the ordered pairs). (this is of course more infomation than the lengths of the orbits of the stabilizer on {1..n}.) > > Thanks for your very useful answer. Maybe I should give some motivation: > > Let K be a number field, L its Galois closure over Q (the rational field), and > G = Gal(L/Q). The Dedekind Zeta function of K is equal to the Artin L function > associated to the natural representation of G (seen as acting on the complex > embedding of K). (the Artin L function is an arithmetic object functiorialy > attached to representations of Galois groups of numbers field). > > Thus it factors as a product of Artin L functions associated to the irreducible > representations that occurs in the natural representation. > > Computing this factorization is very important for computing the Dedekind Zeta > function. > > However computing the Galois group G is difficult (This is the GAP function > GaloisType). But some property of G are easy to compute (e.g. primitiveness, > and the orbits under the stabilisator of a point). Is it also easy to compute orbits of stabilisers of pairs of points? If yes, then it should be easy to compute the orbitals, and thus the multiplicites, without knowing the whole group, as I mentioned above. HTH, Dima > > So any trick which can allow to compute the factorization without computing > the exact Galois group is useful. > > Cheers, > Bill > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From anvita21 at gmail.com Sat Oct 24 01:04:34 2015 From: anvita21 at gmail.com (Anvita) Date: Sat, 24 Oct 2015 06:04:34 +0600 Subject: [GAP Forum] Efficient transposition Message-ID: Dear Forum, Is there a way to transpose economically a large rectangular matrix? By `economically' I mean without using much additional memory, but possibly destroying the original matrix. I keep getting an error of the following kind. ------------------------------------------------------------------ gap> M:=NullMat(4,6,GF(5)); gap> TransposedMatDestructive(M); Error, Unbind of entry of locked compressed vector is forbidden in Unbind( mat[j][m + i] ); called from ( ) called from read-eval loop at line 62 of *stdin* You can `return;' to ignore the assignment ------------------------------------------------------------------ Thank you Anvita From sl4 at st-andrews.ac.uk Sat Oct 24 08:13:12 2015 From: sl4 at st-andrews.ac.uk (Stephen Linton) Date: Sat, 24 Oct 2015 07:13:12 +0000 Subject: [GAP Forum] Efficient transposition In-Reply-To: References: Message-ID: Dear Anvita, This looks like a bug at the very least in the sense that a better error message should be produced. M is constructed here in a compressed form, and I am not sure it is possible to transpose a matrix destructively in that form. On the other hand, this form is quite space efficient, so making a copy with TransposedMat and then letting the garbage collector get rid of the old copy shouldn?t be too bad. In particular it probably uses less memory that converting the matrix to a different form and then transposing it. Steve > On 24 Oct 2015, at 01:04, Anvita wrote: > > Dear Forum, > > Is there a way to transpose economically a large rectangular matrix? > By `economically' I mean without using much additional memory, > but possibly destroying the original matrix. > I keep getting an error of the following kind. > > ------------------------------------------------------------------ > gap> M:=NullMat(4,6,GF(5)); > gap> TransposedMatDestructive(M); > Error, Unbind of entry of locked compressed vector is forbidden in > Unbind( mat[j][m + i] ); called from > ( ) > called from read-eval loop at line 62 of *stdin* > You can `return;' to ignore the assignment > ------------------------------------------------------------------ > > Thank you > Anvita > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From max at quendi.de Sat Oct 24 16:16:28 2015 From: max at quendi.de (Max Horn) Date: Sat, 24 Oct 2015 17:16:28 +0200 Subject: [GAP Forum] Efficient transposition In-Reply-To: References: Message-ID: <6E293676-62A3-4933-95DE-38373C4AEF6A@quendi.de> Dear Anvita, dear Steve, > On 24.10.2015, at 09:13, Stephen Linton wrote: > > Dear Anvita, > > This looks like a bug at the very least in the sense that a better error message should be produced. > M is constructed here in a compressed form, and I am not sure it is possible to transpose a matrix destructively in that form. Yet the documentation of TransposedMatDestructive does not mention any restrictions of that kind, so it is a bug in GAP. I logged a bug report for this now: https://github.com/gap-system/gap/issues/303 There is also a related issue: TransposedMatDestructive does not work for immutable matrices, even though the documentation suggests that it does. Of course that may just be a bug in the documentation. > > On the other hand, this form is quite space efficient, so making a copy with TransposedMat and then letting the garbage collector get rid of the old copy shouldn?t be too bad. In particular it probably uses less memory that converting the matrix to a different form and then transposing it. Depending on what you do, another alternative might be to use the cvec package: http://gap-packages.github.io/cvec/ It provides very efficient routines to work with matrices over finite fields, and in particular, can efficiently transpose matrices in-place. Best wishes, Max From colva.roney-dougal at st-andrews.ac.uk Sun Oct 25 13:33:41 2015 From: colva.roney-dougal at st-andrews.ac.uk (Colva Roney-Dougal) Date: Sun, 25 Oct 2015 13:33:41 +0000 Subject: [GAP Forum] Workshop on the Maths of Big Data Message-ID: Dear all, There will be a joint meeting of the London and Edinburgh Mathematical Societies on "Mathematical Aspect of Big Data? at ICMS Edinburgh, December 10-11, 2015 http://www.icms.org.uk/workshop.php?id=391. The speakers have been instructed to have a general mathematics audience in mind rather than specialists, so if you always wanted to know what Big Data means, this is an opportunity to find out. Postgraduate students are particularly encouraged to attend. Jacek Brodzki, University of Southampton Coralia Cartis, University of Oxford Ronald Coifman, Yale University Ilias Diakonikolas, University of Edinburgh Colin McDiarmid, University of Oxford Sofia Olhede, University College London Igor Rivin, University of St. Andrews Marian Scott, University of Glasgow Eva Tardos, Cornell University The meeting is free, but registration is required. Please register via the ICMS website link above. Best wishes Colva From markus.szymik at math.ntnu.no Wed Oct 28 10:22:44 2015 From: markus.szymik at math.ntnu.no (Markus Szymik) Date: Wed, 28 Oct 2015 10:22:44 +0000 Subject: [GAP Forum] GL( m, p ) x GL( n, p ) as a subgroup of GL( m+n, p ) Message-ID: <82CF316F-B174-4CC3-93B2-03CE2FDA9CEA@math.ntnu.no> Dear Forum, I would like to construct an isomorphic copy of the product GL( m, p ) x GL( n, p ) as the subgroup of block matrices in GL( m+n, p ). What would you say is the best way to do it? Thanks and all the best, Markus From stefan at mcs.st-and.ac.uk Wed Oct 28 11:41:23 2015 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Wed, 28 Oct 2015 11:41:23 -0000 (UTC) Subject: [GAP Forum] GL( m, p ) x GL( n, p ) as a subgroup of GL( m+n, p ) In-Reply-To: <82CF316F-B174-4CC3-93B2-03CE2FDA9CEA@math.ntnu.no> References: <82CF316F-B174-4CC3-93B2-03CE2FDA9CEA@math.ntnu.no> Message-ID: On Wed, October 28, 2015 10:22 am, Markus Szymik wrote: > > I would like to construct an isomorphic copy of the product GL( m, p ) x GL( n, p ) > as the subgroup of block matrices in GL( m+n, p ). What would you say is the > best way to do it? Ideally, there would already be a `DirectProduct' method which returns a group in the desired representation. But since there is no such method so far, you can use e.g. the following function: DirectProductOfGLs := function ( m, n, p ) local G, gens_m, gens_n, gens_mn, g, h; gens_m := GeneratorsOfGroup(GL(m,p)); gens_n := GeneratorsOfGroup(GL(n,p)); gens_mn := []; for g in gens_m do h := IdentityMat(m+n,GF(p)); h{[1..m]}{[1..m]} := g; Add(gens_mn,h); od; for g in gens_n do h := IdentityMat(m+n,GF(p)); h{[m+1..m+n]}{[m+1..m+n]} := g; Add(gens_mn,h); od; G := Group(gens_mn); return G; end; Hope this helps, Stefan ----------------------------------------------------------------------------- http://www.gap-system.org/DevelopersPages/StefanKohl/ ----------------------------------------------------------------------------- From benjamin.sambale at gmail.com Fri Oct 30 19:53:50 2015 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Fri, 30 Oct 2015 20:53:50 +0100 Subject: [GAP Forum] bug in LLLReducedGramMat? Message-ID: <5633CACE.2000408@gmail.com> Dear GAP people, the command LLLReducedGramMat is supposed to perform the LLL reduction algorithm for symmetric square matrices. Most of the time I'm satisfied with the output, but now I ran into the following: M:= [ [ 4, 1, 1, 1, 8 ], [ 1, 2, 2, 2, 2 ], [ 1, 2, 2, 2, 2 ], [ 1, 2, 2, 2, 2 ], [ 8, 2, 2, 2, 4 ] ]; LLLReducedGramMat(M); Error, List Element: [2] must have an assigned value The matrix M is symmetric, but not invertible. However, this is certainly not the problem here, since even a zero matrix gives no error. It seems to me that there is a very subtle detail strongly related to this matrix which goes wrong. Btw, I'm using GAP 4.7.8 under linux. Best wishes, Benjamin From benjamin.sambale at gmail.com Fri Oct 30 20:11:15 2015 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Fri, 30 Oct 2015 21:11:15 +0100 Subject: [GAP Forum] bug in LLLReducedGramMat? II Message-ID: <5633CEE3.4060502@gmail.com> Meanwhile, I figured that M in my last email is not positive semidefinite, and so it is not a Gram matrix as required in the manual. But since many other non-semidefinite matrices do work, one should at least change the error message. Best, Benjamin From Bill.Allombert at math.u-bordeaux.fr Fri Oct 30 22:23:40 2015 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Fri, 30 Oct 2015 23:23:40 +0100 Subject: [GAP Forum] bug in LLLReducedGramMat? II In-Reply-To: <5633CEE3.4060502@gmail.com> References: <5633CEE3.4060502@gmail.com> Message-ID: <20151030222340.GC10400@yellowpig> On Fri, Oct 30, 2015 at 09:11:15PM +0100, Benjamin Sambale wrote: > Meanwhile, I figured that M in my last email is not positive > semidefinite, and so it is not a Gram matrix as required in the > manual. But since many other non-semidefinite matrices do work, one > should at least change the error message. I am curious, how do you define 'work' ? Cheers, Bill. From dmitrii.pasechnik at cs.ox.ac.uk Fri Oct 30 23:33:06 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Fri, 30 Oct 2015 23:33:06 +0000 Subject: [GAP Forum] bug in LLLReducedGramMat? II In-Reply-To: <20151030222340.GC10400@yellowpig> References: <5633CEE3.4060502@gmail.com> <20151030222340.GC10400@yellowpig> Message-ID: <20151030233306.GA11274@dimpase.cs.ox.ac.uk> On Fri, Oct 30, 2015 at 11:23:40PM +0100, Bill Allombert wrote: > On Fri, Oct 30, 2015 at 09:11:15PM +0100, Benjamin Sambale wrote: > > Meanwhile, I figured that M in my last email is not positive > > semidefinite, and so it is not a Gram matrix as required in the > > manual. But since many other non-semidefinite matrices do work, one > > should at least change the error message. > > I am curious, how do you define 'work' ? check this out: gap> M:=[[0,1],[1,0]]; [ [ 0, 1 ], [ 1, 0 ] ] gap> LLLReducedGramMat(M); rec( B := [ ], mue := [ ], relations := [ [ 1, 0 ], [ 0, 1 ] ], remainder := [ ], transformation := [ ] ) gap> I suppose "works" means "returns stuff", or "gives up silently" rather than "throws an error" Dima From benjamin.sambale at gmail.com Sat Oct 31 06:29:50 2015 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Sat, 31 Oct 2015 07:29:50 +0100 Subject: [GAP Forum] bug in LLLReducedGramMat? II In-Reply-To: <20151030233306.GA11274@dimpase.cs.ox.ac.uk> References: <5633CEE3.4060502@gmail.com> <20151030222340.GC10400@yellowpig> <20151030233306.GA11274@dimpase.cs.ox.ac.uk> Message-ID: <56345FDE.50905@gmail.com> Yes, that is basically what I mean. Usually, I'm not interested in basis vectors of lattices. I just want to transform a symmetric matrix M via SMS^t so that the resulting matrix has "nicer" shape. In this sense the following non-semidefinite matrix "works" perfectly: LLLReducedGramMat([[1,2],[2,1]]); rec( B := [ -3, 1 ], mue := [ [ ], [ 0 ] ], relations := [ ], remainder := [ [ -3, 0 ], [ 0, 1 ] ], transformation := [ [ -2, 1 ], [ 1, 0 ] ] ) Best, Benjamin Am 31.10.2015 um 00:33 schrieb Dima Pasechnik: > On Fri, Oct 30, 2015 at 11:23:40PM +0100, Bill Allombert wrote: >> On Fri, Oct 30, 2015 at 09:11:15PM +0100, Benjamin Sambale wrote: >>> Meanwhile, I figured that M in my last email is not positive >>> semidefinite, and so it is not a Gram matrix as required in the >>> manual. But since many other non-semidefinite matrices do work, one >>> should at least change the error message. >> I am curious, how do you define 'work' ? > check this out: > > gap> M:=[[0,1],[1,0]]; > [ [ 0, 1 ], [ 1, 0 ] ] > gap> LLLReducedGramMat(M); > rec( B := [ ], mue := [ ], relations := [ [ 1, 0 ], [ 0, 1 ] ], remainder := [ ], transformation := [ ] ) > gap> > > I suppose "works" means "returns stuff", or "gives up silently" > rather than "throws an error" > > Dima > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From dmitrii.pasechnik at cs.ox.ac.uk Sat Oct 31 10:35:21 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Sat, 31 Oct 2015 10:35:21 +0000 Subject: [GAP Forum] bug in LLLReducedGramMat? II In-Reply-To: <56345FDE.50905@gmail.com> References: <5633CEE3.4060502@gmail.com> <20151030222340.GC10400@yellowpig> <20151030233306.GA11274@dimpase.cs.ox.ac.uk> <56345FDE.50905@gmail.com> Message-ID: <20151031103521.GA14622@dimpase.cs.ox.ac.uk> On Sat, Oct 31, 2015 at 07:29:50AM +0100, Benjamin Sambale wrote: > Yes, that is basically what I mean. Usually, I'm not interested in > basis vectors of lattices. I just want to transform a symmetric > matrix M via SMS^t so that the resulting matrix has "nicer" shape. Well, define "nicer"... > In this sense the following non-semidefinite matrix "works" > perfectly: > > LLLReducedGramMat([[1,2],[2,1]]); > rec( B := [ -3, 1 ], mue := [ [ ], [ 0 ] ], relations := [ ], > remainder := [ [ -3, 0 ], [ 0, 1 ] ], transformation := [ [ -2, 1 ], > [ 1, 0 ] ] ) > You can add sufficently scaled indentity matrix to the input, and then subtract the term resulting from it from the output. Of course this is an heuristic, but we seem to be doing heuristics here. Cheers, Dima > Best, > Benjamin > > Am 31.10.2015 um 00:33 schrieb Dima Pasechnik: > >On Fri, Oct 30, 2015 at 11:23:40PM +0100, Bill Allombert wrote: > >>On Fri, Oct 30, 2015 at 09:11:15PM +0100, Benjamin Sambale wrote: > >>>Meanwhile, I figured that M in my last email is not positive > >>>semidefinite, and so it is not a Gram matrix as required in the > >>>manual. But since many other non-semidefinite matrices do work, one > >>>should at least change the error message. > >>I am curious, how do you define 'work' ? > >check this out: > > > >gap> M:=[[0,1],[1,0]]; > >[ [ 0, 1 ], [ 1, 0 ] ] > >gap> LLLReducedGramMat(M); > >rec( B := [ ], mue := [ ], relations := [ [ 1, 0 ], [ 0, 1 ] ], remainder := [ ], transformation := [ ] ) > >gap> > > > >I suppose "works" means "returns stuff", or "gives up silently" > >rather than "throws an error" > > > >Dima > > > >_______________________________________________ > >Forum mailing list > >Forum at mail.gap-system.org > >http://mail.gap-system.org/mailman/listinfo/forum > > > From benjamin.sambale at gmail.com Sun Nov 1 20:24:59 2015 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Sun, 1 Nov 2015 21:24:59 +0100 Subject: [GAP Forum] bug in LLLReducedGramMat? II In-Reply-To: <20151031103521.GA14622@dimpase.cs.ox.ac.uk> References: <5633CEE3.4060502@gmail.com> <20151030222340.GC10400@yellowpig> <20151030233306.GA11274@dimpase.cs.ox.ac.uk> <56345FDE.50905@gmail.com> <20151031103521.GA14622@dimpase.cs.ox.ac.uk> Message-ID: <5636751B.1050107@gmail.com> Thanks for the suggestion to add a scaled identity matrix, this is a good idea. Just to clarify: my last email wasn't meant as a follow-up question. I totally understand that LLL will not work for non Gram matrices. But I was very confused to get this misleading error message for one particular example while at the same time other non Gram matrices give no error. If I had observed this earlier, I would not have sent any email to the list. Best wishes, Benjamin Am 31.10.2015 um 11:35 schrieb Dima Pasechnik: > On Sat, Oct 31, 2015 at 07:29:50AM +0100, Benjamin Sambale wrote: >> Yes, that is basically what I mean. Usually, I'm not interested in >> basis vectors of lattices. I just want to transform a symmetric >> matrix M via SMS^t so that the resulting matrix has "nicer" shape. > Well, define "nicer"... > >> In this sense the following non-semidefinite matrix "works" >> perfectly: >> >> LLLReducedGramMat([[1,2],[2,1]]); >> rec( B := [ -3, 1 ], mue := [ [ ], [ 0 ] ], relations := [ ], >> remainder := [ [ -3, 0 ], [ 0, 1 ] ], transformation := [ [ -2, 1 ], >> [ 1, 0 ] ] ) >> > You can add sufficently scaled indentity matrix to the input, and then subtract the > term resulting from it from the output. Of course this is an heuristic, but we seem to > be doing heuristics here. > > Cheers, > Dima > > >> Best, >> Benjamin >> >> Am 31.10.2015 um 00:33 schrieb Dima Pasechnik: >>> On Fri, Oct 30, 2015 at 11:23:40PM +0100, Bill Allombert wrote: >>>> On Fri, Oct 30, 2015 at 09:11:15PM +0100, Benjamin Sambale wrote: >>>>> Meanwhile, I figured that M in my last email is not positive >>>>> semidefinite, and so it is not a Gram matrix as required in the >>>>> manual. But since many other non-semidefinite matrices do work, one >>>>> should at least change the error message. >>>> I am curious, how do you define 'work' ? >>> check this out: >>> >>> gap> M:=[[0,1],[1,0]]; >>> [ [ 0, 1 ], [ 1, 0 ] ] >>> gap> LLLReducedGramMat(M); >>> rec( B := [ ], mue := [ ], relations := [ [ 1, 0 ], [ 0, 1 ] ], remainder := [ ], transformation := [ ] ) >>> gap> >>> >>> I suppose "works" means "returns stuff", or "gives up silently" >>> rather than "throws an error" >>> >>> Dima >>> >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >>> From alexander.konovalov at st-andrews.ac.uk Mon Nov 2 21:31:44 2015 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 2 Nov 2015 21:31:44 +0000 Subject: [GAP Forum] Beta release of GAP 4.8 Message-ID: Dear package authors, GAP users and developers, This is to announce GAP 4.8.0 (the beta release of GAP 4.8), which may be downloaded from * http://www.gap-system.org/pub/gap/gap48/beta/gap4r8p0_2015_11_01-13_28.tar.gz for Linux and OS X, and from * http://www.gap-system.org/pub/gap/gap48/beta/gap4r8p0_2015_11_01-13_28-win.zip * http://www.gap-system.org/pub/gap/gap48/beta/gap4r8p0_2015_11_01-13_28-noreadline-win.zip for Windows (with GAP binaries compiled with and without readline support respectively). All listed above archives contain 3 new GAP packages and 27 GAP packages updated after the release of GAP 4.7.8. There is also an archive of the core GAP 4.8.0 system without packages: * http://www.gap-system.org/pub/gap/gap48/beta/gap4r8p0_core2015_11_01-13_28.zip GAP 4.8 will be the first major GAP release that will be made from the official development repository for GAP on GitHub (https://github.com/gap-system/gap). The changes in GAP 4.8 are documented in the Changes manual, which is included in GAP 4.8.0 distribution. They are also listed on this Wiki page, which contains some additional details and may list further changes in the future: https://github.com/gap-system/gap/wiki/Changes-between-GAP-4.7-and-GAP-4.8 We invite users and developers to test the beta release and report any problems using one of the following channels: * the GAP issue tracker: https://github.com/gap-system/gap/issues * Open GAP Development mailing list: http://mail.gap-system.org/mailman/listinfo/gap * GAP Support: http://www.gap-system.org/Contacts/People/supportgroup.html Package authors are recommended to test and update their packages for GAP 4.8 during the next three months. We are asking for all updates to be made available by February 1st, 2016, and will be planning the first public release shortly after that. Best wishes, Alexander From f.alibabaee at gmail.com Fri Nov 6 11:36:27 2015 From: f.alibabaee at gmail.com (fahime babaee) Date: Fri, 6 Nov 2015 11:36:27 +0000 Subject: [GAP Forum] Isomorphic group in gap Message-ID: Dear Forum I have a group of rank 18 and I want to know if this group is isomorphic to the group (18,3) in Gap. How can I do that? Sincerely Fahime Alibabaei PhD student of Pure Mathematics(Algebra) University of Porto. From ekpenogiugo at gmail.com Sun Nov 8 21:37:44 2015 From: ekpenogiugo at gmail.com (ekpen ogiugo) Date: Sun, 8 Nov 2015 22:37:44 +0100 Subject: [GAP Forum] Maximal Subgroup Message-ID: Dear forum. , My question is I am trying to use GAP to get all maximal subgroups of a symmetric group. Many thanks Mike From alexander.konovalov at gmail.com Sun Nov 8 21:52:36 2015 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Sun, 8 Nov 2015 21:52:36 +0000 Subject: [GAP Forum] Maximal Subgroup In-Reply-To: References: Message-ID: Dear Mike, Please see MaximalSubgroupClassReps and MaximalSubgroups at http://www.gap-system.org/Manuals/doc/ref/chap39.html#X798BF55C837DB188 This hint could be also found in GAP F.A.Q: see 7.7: How do I get the subgroups of my group? at http://www.gap-system.org/Faq/faq.html#7.7 For large groups, looking at them up to conjugacy with MaximalSubgroupClassReps is very much recommended. Hope this helps Alexander > On 8 Nov 2015, at 21:37, ekpen ogiugo wrote: > > Dear forum. > , > My question is I am trying to use GAP to get all maximal subgroups of a > symmetric group. > Many thanks > Mike From w_becker at hotmail.com Sun Nov 8 22:04:51 2015 From: w_becker at hotmail.com (Walter Becker) Date: Sun, 8 Nov 2015 13:04:51 -0900 Subject: [GAP Forum] question on automorphism group presentation Message-ID: Gap Forum question on automorphism groups. I am interested in getting a presentation for the automorphism group of the group (288, number 873) whose presentation is given by the following relations: a1^8=b1^2=c1^2=(a1,b1)*a1^2=(a1,c1)=(b1,c1)= d1^p=e1^p=(d1,e1)= d1^a1*e1=e1^a1*d1^-1= (b1,d1)=e1^b1*e1= d1^c1*d1,e1^c1*e1=1. The4 structure of this automoprhism group takes the form: [ (18, numbere 4) X (32, nuumber 340] @ D_4. The prsentations of the groups (18,4) and (32, 34) are: a^3=b^3=(a,b)=c^2=a^c*a=b^c*b=1 and d^4=e^4=(d,e)=f^2=d^f*d=e^f*e=1. The action of the D_4 quotient on the order 18 group gives the group (144,182), and the action of the D_4 group on the order 32 group gives rise to the group (256, number 16870). Note an alternate, but less desirable for form for the D_4 action on the order 32 group yields the group (256,16885). The problem here is how to identify the common quotient groups so as to obtain a presentation in terms of the group generators (a,b,c,d,e,f) plus the generators of the D_4 group. I have explicit presentations for these quotient groups but my relations do not yield the correct presentation for the automorphism group. One presentation of the group [(C_3 X C_3) @ C_2] @ D_4 takes the form: a^4=b^2=a^b*a=c^8=a^-1*c^2=b^c*a*b=(a,c)=d^3=e^3=(d,e)= d^a*e^-1=e^a*d=(d,b)=e^b*e=d^c*d^-1*e=e^c*d^-1*e^-1=1 Note this involves a different form for the generators of the order 18 group here. The extension is also not a semi-direct product. Here (a,b,c) genrates the order 16 quotient group QD_8 rather than (18 number 4). A presentation for the order 256 (number 16870) group is a^4=b^4=c^2=(a,b)=a^c*a=b^c*b=d^4=e^2=f^2 = a^2 * d^-2 =d * c * f = (a, d)=b^-1 * d^-1 * b^-1 * d =b^e*b = e * b * a^-1 * e * a=e * b * c * e * c= (d^-1 * e)^4=1. Again here the generators for this order 256 group has a somewhat altered form (the order 34 group here is generated by (a,b,c) rather than (d,e,f). I also believe that this required automorphism group is a subgroup but not a normal subgroup of the direct product of these order 182 and 256 groups. Any guesses or ideas on how to come up with the desired form of the automorphism group of the group (288, number 873). Walter Becker From f.k.moftakhar at gmail.com Mon Nov 9 17:26:23 2015 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Mon, 9 Nov 2015 20:56:23 +0330 Subject: [GAP Forum] Report of a bug in gap4r7 Message-ID: Dear Pubbers It is well known that Out(J2) =2. I found permutation representation of this group in the website of "Atlas of Finite Group Representations". In GAP, these permutations generate the group J2, but Aut(J2) is again isomorphic to J2. What is happened? In gap4r6 we have: gap> b11 := (1,84)(2,20)(3,48)(4,56)(5,82)(6,67)(7,55)(8,41)(9,35)(10,40)(11,78)(12, > 100)(13,49)(14,37)(15,94)(16,76)(17,19)(18,44)(21,34)(22,85)(23,92)(24, > 57)(25,75)(26,28)(27,64)(29,90)(30,97)(31,38)(32,68)(33,69)(36,53)(39,61) > (42,73)(43,91)(45,86)(46,81)(47,89)(50,93)(51,96)(52,72)(54,74)(58,99) > (59,95)(60,63)(62,83)(65,70)(66,88)(71,87)(77,98)(79,80);; gap> b21 := (1,80,22)(2,9,11)(3,53,87)(4,23,78)(5,51,18)(6,37,24)(8,27,60)(10,62,47) > (12,65,31)(13,64,19)(14,61,52)(15,98,25)(16,73,32)(17,39,33)(20,97,58) > (21,96,67)(26,93,99)(28,57,35)(29,71,55)(30,69,45)(34,86,82)(38,59,94) > (40,43,91)(42,68,44)(46,85,89)(48,76,90)(49,92,77)(50,66,88)(54,95,56) > (63,74,72)(70,81,75)(79,100,83);; gap> g:=Group(b11,b21);; gap> h:=AutomorphismGroup(g);; gap> Size(g); 604800 gap> Size(h); 1209600 gap> Size(h)/2; 604800 But in gap4r7 we obtain that Size(g)=Size(h). This shows that probably gap4r7 has a bug. Am I right? Best regards Fatemeh -- Regards; Miss Fatemeh Koorepazan-Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From hulpke at fastmail.fm Mon Nov 9 18:05:50 2015 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Mon, 9 Nov 2015 11:05:50 -0700 Subject: [GAP Forum] Report of a bug in gap4r7 In-Reply-To: References: Message-ID: <1E2EC680-6FC4-455D-9F3E-F453247AE8AA@fastmail.fm> Dear Forum, Dear Ms. Mofatkhar, > It is well known that Out(J2) =2. I found permutation representation of > this group in the website of "Atlas of Finite Group Representations". In > GAP, these permutations generate the group J2, but Aut(J2) is again > isomorphic to J2. What is happened? This is a misprint in a stored list of automorphism group orders: The list for sporadic groups with automorphism group of order 2 lists ?HJ? instead of the consistent ?J2? (as which the group is recognized) and thus the automorphism group routine does not realize there is an automorphism to be looked for. This will be fixed in the next release. Thank you for reporting the error, Alexander Hulpke > > In gap4r6 we have: > > gap> b11 := > (1,84)(2,20)(3,48)(4,56)(5,82)(6,67)(7,55)(8,41)(9,35)(10,40)(11,78)(12, >> > 100)(13,49)(14,37)(15,94)(16,76)(17,19)(18,44)(21,34)(22,85)(23,92)(24, >> > 57)(25,75)(26,28)(27,64)(29,90)(30,97)(31,38)(32,68)(33,69)(36,53)(39,61) >> > (42,73)(43,91)(45,86)(46,81)(47,89)(50,93)(51,96)(52,72)(54,74)(58,99) >> (59,95)(60,63)(62,83)(65,70)(66,88)(71,87)(77,98)(79,80);; > gap> b21 := > (1,80,22)(2,9,11)(3,53,87)(4,23,78)(5,51,18)(6,37,24)(8,27,60)(10,62,47) >> > (12,65,31)(13,64,19)(14,61,52)(15,98,25)(16,73,32)(17,39,33)(20,97,58) >> > (21,96,67)(26,93,99)(28,57,35)(29,71,55)(30,69,45)(34,86,82)(38,59,94) >> > (40,43,91)(42,68,44)(46,85,89)(48,76,90)(49,92,77)(50,66,88)(54,95,56) >> (63,74,72)(70,81,75)(79,100,83);; > gap> g:=Group(b11,b21);; > gap> h:=AutomorphismGroup(g);; > gap> Size(g); > 604800 > gap> Size(h); > 1209600 > gap> Size(h)/2; > 604800 > > But in gap4r7 we obtain that Size(g)=Size(h). This shows that probably > gap4r7 has a bug. Am I right? > > Best regards > Fatemeh > > -- > Regards; > Miss Fatemeh Koorepazan-Moftakhar > PhD Candidate, > Department of Pure Mathematics, > Faculty of Mathematical Sciences, > University of Kashan, Kashan, Iran > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From csaba.schneider at gmail.com Tue Nov 10 01:07:54 2015 From: csaba.schneider at gmail.com (Csaba Schneider) Date: Mon, 9 Nov 2015 23:07:54 -0200 Subject: [GAP Forum] =?utf-8?q?Fwd=3A_Escola_de_=C3=81lgebra_--_Brazilian_?= =?utf-8?q?Algebra_Meeting_--_2016?= In-Reply-To: References: Message-ID: Dear Colleagues Please find below the Second Announcement of the Brazilian Algebra Meeting 2016. Sorry for the possible multiple posting. Csaba Second Announcement Brazilian Algebra Meeting Diamantina, Minas Gerais, Brazil 31 July - 5 August, 2016 The 24-th Brazilian Algebra Meeting (XXIV Escola de ?lgebra), organized by the Department of Mathematics of the Federal University of Minas Gerais (UFMG) in collaboration with the Federal University of the Valleys of Jequitinhonha and Mucuri (UFVJM), will take place in the town of Diamantina (Minas Gerais, Brazil), between 31 July and 5 August of 2016. The Brazilian Algebra Meeting, held biennially, is the largest conference in Brazil that is devoted entirely to Algebra and related topics. Its main objective is to provide an opportunity for researchers and students to exchange ideas with Brazilian and international scientists, and to communicate research findings in all branches of Algebra. It will be helpful for us to have an idea of how many people we can expect at the meeting. If you are interested in coming, please fill in a short pre-registration form available on the conference website (bit.ly/1Mo11uV). We will keep pre-registered participants up-to-date by e-mail, but by pre-registering you do not commit yourself to anything. The activities of the conference will include plenary talks, invited lectures, thematic sessions, mini-courses, communications and posters. The following speakers have accepted our invitation to present plenary talks: Dale Cutkosky (University of Missoury) Efim Zelmanov (University of California, San Diego) Harald Helfgott (Universit? Paris VII) Kate Juschenko (Northwestern University) Marston Conder (University of Auckland) Said Sidki (Universidade de Bras?lia) Victor Petrogradsky (Universidade de Bras?la) Vyacheslav Futorny (Universidade de S?o Paulo) The conference program includes minicourses of four sessions on currently active research topics given by Andr? Contiero e Renato Vidal (Univesidade Federal de Minas Gerais) Bernard Leclerc (Universit? de Caen) Diego Marques (Universidade de Bras?lia) e Fabio Brochero (Universidade Federal de Minas Gerias) Leonid Makar-Limanov (Wayne State University) Marcelo Lanzilotta (Universidade de La Rep?blica, Uruguay) Robert Gray (University of East Anglia) Volodymyr Mazorchuk (Uppsala Universitet) The scientific committee of the conference consists of Aron Simis (UFPE) Csaba Schneider (UFMG) Eduardo Esteves (IMPA) Israel Vainsencher (UFMG) - Chair Ivan Shestakov (USP) Plamen Koshlukov (UNICAMP) Said Sidki (UnB) Vyacheslav Futorny (USP) The conference site, Diamantina, is a historical town in the state of Minas Gerais, Brazil. In the 18-th and 19-th centuries, it was a center of diamond mining. As a well-preserved example of Brazilian Baroque architecture, the historical town center of Diamantina is a UNESCO World Heritage Site. More information, concerning the conference program, registration, local information, etc, is available on the conference website: www.mat.ufmg.br/algebra2016. Information can also be obtained through the email algebra2016 at mat.ufmg.br. We hope to see you all in Diamantina in 2016! Ana Cristina Vieira (chair of the local organizing committee) ##################################### Segunda Circular XXIV Escola de ?lgebra Diamantina, Minas Gerais 31 de julho - 5 de agosto, 2016 A XXIV Escola de ?lgebra, internacionalmente conhecida como Brazilian Algebra Meeting, organizada pelo Departamento de Matem?tica da Universidade Federal de Minas Gerais (UFMG) com a colabora??o da Universidade Federal dos Vales do Jequitinhonha e Mucuri (UFVJM), ocorrer? na cidade de Diamantina, Minas Gerais, entre 31 de julho e 5 de agosto de 2016. A Escola de ?lgebra ? o maior evento cient?fico no Brasil totalmente devotado ? ?lgebra e t?picos relacionados e ocorre a cada dois anos. Seu maior objetivo ? proporcionar uma oportunidade de troca de ideias entre cientistas brasileiros e internacionais e comunicar ? comunidade de algebristas as pesquisas recentemente desenvolvidas em todos os ramos da ?lgebra. Ser? ?til para a organiza??o, termos uma ideia do n?mero de pessoas que esperamos ter presentes no evento. Se voc? estiver interessado em participar, por favor preencha uma pequena ficha de pr?-registro que se encontra dispon?vel na p?gina da Escola (bit.ly/1PtP1cb). Pretendemos manter os participantes pr?-registrados informados sobre o evento atrav?s de email. As atividades do evento incluir?o: palestras plen?rias, sess?es tem?ticas, minicursos, comunica??es e apresenta??es de p?steres. Os seguintes algebristas aceitaram nosso convite para apresentar palestras plen?rias: Dale Cutkosky (University of Missoury) Efim Zelmanov (University of California, San Diego) Harald Helfgott (Universit? Paris VII) Kate Juschenko (Northwestern University) Marston Conder (University of Auckland) Said Sidki (Universidade de Bras?lia) Victor Petrogradsky (Universidade de Bras?la) Vyacheslav Futorny (Universidade de S?o Paulo). O programa do evento inclui minicursos, de quatro sess?es cada um, sobre t?picos de pesquisa ativos dados pelos seguintes matem?ticos: Andr? Contiero e Renato Vidal (Universidade Federal de Minas Gerais) Bernard Leclerc (Universit? de Caen) Diego Marques (Universidade de Bras?lia) e Fabio Brochero (Universidade Federal de Minas Gerais) Leonid Makar-Limanov (Wayne State University) Marcelo Lanzilotta (Universidade de La Rep?blica, Uruguay) Robert Gray (University of East Anglia) Volodymyr Mazorchuk (Uppsala Universitet). O comit? cient?fico do evento ? formado por: Aron Simis (UFPE) Csaba Schneider (UFMG) Eduardo Esteves (IMPA) Israel Vainsencher (UFMG) - Coordenador Ivan Shestakov (USP) Plamen Koshlukov (UNICAMP) Said Sidki (UnB) Vyacheslav Futorny (USP). O local onde ser? realizada a Escola, Diamantina, ? uma cidade hist?rica no Estado de Minas Gerais que durante os S?culos XVIII e XIX era um grande centro de minas de diamante. Como um exemplo da boa preserva??o da arquitetura Barroca, o centro hist?rico de Diamantina ? Patrim?nio Hist?rico Cultural pela UNESCO. Mais detalhes a respeito da programa??o da Escola, registros, informa??es locais, etc, est?o dispon?veis na p?gina web: www.mat.ufmg.br/algebra2016. Outras informa??es tamb?m podem ser obtidas atrav?s do email: algebra2016 at mat.ufmg.br. Esperamos v?-lo em Diamantina em 2016! Ana Cristina Vieira Coordenadora da XXIV Escola de ?lgebra From benoitjacob at google.com Wed Nov 11 15:52:29 2015 From: benoitjacob at google.com (Benoit Jacob) Date: Wed, 11 Nov 2015 10:52:29 -0500 Subject: [GAP Forum] Cohomology of nontrivial G-modules? Message-ID: Hello, I need to compute cohomology groups of the form H^n(G, A) where G is a finite group and A is a nontrivial G-module. More specifically, A is a finite-dimensional vector space over Z/2Z on which G acts non-trivially. Any example code would be greatly appreciated; I searched for existing help and documentation but only found examples dealing with trivial G-modules. Thanks, Benoit From dmitrii.pasechnik at cs.ox.ac.uk Wed Nov 11 16:34:06 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Wed, 11 Nov 2015 16:34:06 +0000 Subject: [GAP Forum] Cohomology of nontrivial G-modules? In-Reply-To: References: Message-ID: <20151111163406.GA3000@dimpase.cs.ox.ac.uk> On Wed, Nov 11, 2015 at 10:52:29AM -0500, Benoit Jacob wrote: > I need to compute cohomology groups of the form > > H^n(G, A) > > where G is a finite group and A is a nontrivial G-module. More > specifically, A is a finite-dimensional vector space over Z/2Z on which G > acts non-trivially. > > Any example code would be greatly appreciated; I searched for existing help > and documentation but only found examples dealing with trivial G-modules. did you look at GAP's packages? E.g. http://gap-system.org/Packages/hap.html seems to be just what you need. HTH, Dima From benoitjacob at google.com Wed Nov 11 16:37:39 2015 From: benoitjacob at google.com (Benoit Jacob) Date: Wed, 11 Nov 2015 11:37:39 -0500 Subject: [GAP Forum] Cohomology of nontrivial G-modules? In-Reply-To: <20151111163406.GA3000@dimpase.cs.ox.ac.uk> References: <20151111163406.GA3000@dimpase.cs.ox.ac.uk> Message-ID: On Wed, Nov 11, 2015 at 11:34 AM, Dima Pasechnik < dmitrii.pasechnik at cs.ox.ac.uk> wrote: > On Wed, Nov 11, 2015 at 10:52:29AM -0500, Benoit Jacob wrote: > > I need to compute cohomology groups of the form > > > > H^n(G, A) > > > > where G is a finite group and A is a nontrivial G-module. More > > specifically, A is a finite-dimensional vector space over Z/2Z on which G > > acts non-trivially. > > > > Any example code would be greatly appreciated; I searched for existing > help > > and documentation but only found examples dealing with trivial G-modules. > > did you look at GAP's packages? E.g. > http://gap-system.org/Packages/hap.html > seems to be just what you need. > Thanks for the answer. HAP does seem like just what I need, but, being a GAP beginner, I need something more pedestrian than the functions reference documentation I see there. Is there any self-contained example code going through the steps of defining a G-module, then computing its cohomology? Thanks, Benoit > > HTH, > Dima > From dmitrii.pasechnik at cs.ox.ac.uk Wed Nov 11 21:30:01 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Wed, 11 Nov 2015 21:30:01 +0000 Subject: [GAP Forum] Cohomology of nontrivial G-modules? In-Reply-To: References: <20151111163406.GA3000@dimpase.cs.ox.ac.uk> Message-ID: <20151111213001.GA3634@dimpase.cs.ox.ac.uk> On Wed, Nov 11, 2015 at 11:37:39AM -0500, Benoit Jacob wrote: > On Wed, Nov 11, 2015 at 11:34 AM, Dima Pasechnik < > dmitrii.pasechnik at cs.ox.ac.uk> wrote: > > > On Wed, Nov 11, 2015 at 10:52:29AM -0500, Benoit Jacob wrote: > > > I need to compute cohomology groups of the form > > > > > > H^n(G, A) > > > > > > where G is a finite group and A is a nontrivial G-module. More > > > specifically, A is a finite-dimensional vector space over Z/2Z on which G > > > acts non-trivially. > > > > > > Any example code would be greatly appreciated; I searched for existing > > help > > > and documentation but only found examples dealing with trivial G-modules. > > > > did you look at GAP's packages? E.g. > > http://gap-system.org/Packages/hap.html > > seems to be just what you need. > > > > Thanks for the answer. HAP does seem like just what I need, but, being a > GAP beginner, I need something more pedestrian than the functions reference > documentation I see there. Is there any self-contained example code going > through the steps of defining a G-module, then computing its cohomology? did you look at http://hamilton.nuigalway.ie/Hap/www/ ? (it's more or less the 1st link on http://gap-system.org/Packages/hap.html) It has a section called Tutorial. HTH, Dima From benoitjacob at google.com Wed Nov 11 21:31:58 2015 From: benoitjacob at google.com (Benoit Jacob) Date: Wed, 11 Nov 2015 16:31:58 -0500 Subject: [GAP Forum] Cohomology of nontrivial G-modules? In-Reply-To: <20151111213001.GA3634@dimpase.cs.ox.ac.uk> References: <20151111163406.GA3000@dimpase.cs.ox.ac.uk> <20151111213001.GA3634@dimpase.cs.ox.ac.uk> Message-ID: On Wed, Nov 11, 2015 at 4:30 PM, Dima Pasechnik < dmitrii.pasechnik at cs.ox.ac.uk> wrote: > On Wed, Nov 11, 2015 at 11:37:39AM -0500, Benoit Jacob wrote: > > On Wed, Nov 11, 2015 at 11:34 AM, Dima Pasechnik < > > dmitrii.pasechnik at cs.ox.ac.uk> wrote: > > > > > On Wed, Nov 11, 2015 at 10:52:29AM -0500, Benoit Jacob wrote: > > > > I need to compute cohomology groups of the form > > > > > > > > H^n(G, A) > > > > > > > > where G is a finite group and A is a nontrivial G-module. More > > > > specifically, A is a finite-dimensional vector space over Z/2Z on > which G > > > > acts non-trivially. > > > > > > > > Any example code would be greatly appreciated; I searched for > existing > > > help > > > > and documentation but only found examples dealing with trivial > G-modules. > > > > > > did you look at GAP's packages? E.g. > > > http://gap-system.org/Packages/hap.html > > > seems to be just what you need. > > > > > > > Thanks for the answer. HAP does seem like just what I need, but, being a > > GAP beginner, I need something more pedestrian than the functions > reference > > documentation I see there. Is there any self-contained example code going > > through the steps of defining a G-module, then computing its cohomology? > > did you look at http://hamilton.nuigalway.ie/Hap/www/ ? > (it's more or less the 1st link on http://gap-system.org/Packages/hap.html > ) > It has a section called Tutorial. > I did, buton first reading I missed where it showed how to define arbitrary G-modules. Now I see that GModuleByMats function in http://hamilton.nuigalway.ie/Hap/www/SideLinks/About/aboutIntro.html Thanks! Benoit > HTH, > Dima > From graham.ellis at nuigalway.ie Wed Nov 11 22:09:30 2015 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Wed, 11 Nov 2015 22:09:30 +0000 Subject: [GAP Forum] Cohomology of nontrivial G-modules? In-Reply-To: References: <20151111163406.GA3000@dimpase.cs.ox.ac.uk>, Message-ID: Hi Benoit, On Wed, Nov 11, 2015 at 10:52:29AM -0500, Benoit Jacob wrote: > > I need to compute cohomology groups of the form > > > > H^n(G, A) > > > > where G is a finite group and A is a nontrivial G-module. More > > specifically, A is a finite-dimensional vector space over Z/2Z on which G > > acts non-trivially. > > > > Any example code would be greatly appreciated; I think the answer to you question depends very much on the type of input (how large is your n? what nice properties does G have? what is the dimension of the module A?) and on the required output (do you only want the abelian invariants of the cohomology group, or do you also need things like explicit cocycles?). For n=1,2 you might have most success using the Coho package. If you send me details I'd be glad to try to help. The following example code calculates the abelian invariants of H^6(G,A)=Z_2 x Z_2 x Z_2 x Z_2 x Z_5 for G=S_5 the symmetric group of degree 5 and A the vector space of dimension 5 over GF(2) with permutation action. But with a tiny bit of programming (involving Sylow subgroups) this example can be significantly improved. gap> G:=SymmetricGroup(5);; gap> gap> V:=AbelianGroup(IsPcGroup,[2,2,2,2,2]);; gap> gensV:=GeneratorsOfGroup(V);; gap> w:=GroupHomomorphismByImages(V,V,gensV,gensV{[2,1,3,4,5]});; gap> x:=GroupHomomorphismByImages(V,V,gensV,gensV{[1,3,2,4,5]});; gap> y:=GroupHomomorphismByImages(V,V,gensV,gensV{[1,2,4,3,5]});; gap> z:=GroupHomomorphismByImages(V,V,gensV,gensV{[1,2,3,5,4]});; gap> G1:=Group([w,x,y,z]);; gap> gap> iso:=GroupHomomorphismByImages(G,G1,[(1,2),(2,3),(3,4),(4,5)],[w,x,y,z]);; gap> action:=function(g,v); return v^Image(iso,g^-1); end;; #HAP uses left actions!!! gap> gap> A:=GOuterGroup();; gap> SetActedGroup(A,V);; gap> SetActingGroup(A,G);; gap> SetOuterAction(A,action);; gap> gap> R:=ResolutionFiniteGroup(G,7);; gap> C:=HomToGModule(R,A);; gap> gap> H6:=Cohomology(C,6); [ 2, 2, 2, 2, 2 ] All the best, Graham School of Mathematics, Statistics & Applied Mathematics National University of Ireland, Galway University Road, Galway Ireland http://hamilton.nuigalway.ie tel: 091 493011 From benoitjacob at google.com Fri Nov 13 14:53:24 2015 From: benoitjacob at google.com (Benoit Jacob) Date: Fri, 13 Nov 2015 09:53:24 -0500 Subject: [GAP Forum] Cohomology of nontrivial G-modules? In-Reply-To: References: <20151111163406.GA3000@dimpase.cs.ox.ac.uk> Message-ID: Hi Graham, Thank you very much for this full example! That's exactly what I needed. I made some progress toward successfully running it: First I found about two things: - I needed to LoadPackage("hap"); - A:=GOuterGroup();; failed, but A:=GOuterGroup(V);; succeeded, so I am using that. I now run into this problem: gap> G:=SymmetricGroup(5);; gap> V:=AbelianGroup(IsPcGroup,[2,2,2,2,2]);; gap> A:=GOuterGroup(V);; gap> SetActedGroup(A,V);; gap> SetActingGroup(A,G);; gap> gensV:=GeneratorsOfGroup(V);; gap> w:=GroupHomomorphismByImages(V,V,gensV,gensV{[2,1,3,4,5]});; gap> x:=GroupHomomorphismByImages(V,V,gensV,gensV{[1,3,2,4,5]});; gap> y:=GroupHomomorphismByImages(V,V,gensV,gensV{[1,2,4,3,5]});; gap> z:=GroupHomomorphismByImages(V,V,gensV,gensV{[1,2,3,5,4]});; gap> G1:=Group([w,x,y,z]);; gap> iso:=GroupHomomorphismByImages(G,G1,[(1,2),(2,3),(3,4),(4,5)],[w,x,y,z]);; gap> action:=function(g,v); return v^Image(iso,g^-1); end;; #HAP uses left actions!!! gap> SetOuterAction(A,action);; gap> R:=ResolutionFiniteGroup(G,7);; gap> C:=HomToGModule(R,A);; gap> H6:=Cohomology(C,6); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `*' on 2 arguments called from g * a at /usr/local/google/home/benoitjacob/gap/pkg/Hap1.10/lib/GOuterGroups/ goutergroup.gi:178 called from act( R!.elts[AbsInt( x )], a ) at /usr/local/google/home/benoitjacob/gap/pkg/Hap1.10/lib/GOuterGroups/ homtogouter.gi:36 called from fn( j, Image( Projection( UM, j ), x ) ) at /usr/local/google/home/benoitjacob/gap/pkg/Hap1.10/lib/GOuterGroups/ homtogouter.gi:44 called from func( C[i] ) at /usr/local/google/home/benoitjacob/gap/lib/coll.gi:745 called from List( [ 1 .. R!.dimension( n ) ], function ( j ) return fn( j, Image( Projection( UM, j ), x ) ); end ) at /usr/local/google/home/benoitjacob/gap/pkg/Hap1.10/lib/GOuterGroups/ homtogouter.gi:44 called from ... at line 22 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> ShowDetails(); -------------------------------------------- Information about a `No method found'-error: -------------------------------------------- Operation : * Number of Arguments : 2 Operation traced : false IsConstructor : false Choice : 1st brk> ShowArguments(); [ (4,5), f1 ] Cheers, Benoit On Wed, Nov 11, 2015 at 5:09 PM, Ellis, Grahamj wrote: > Hi Benoit, > > On Wed, Nov 11, 2015 at 10:52:29AM -0500, Benoit Jacob wrote: > > > I need to compute cohomology groups of the form > > > > > > H^n(G, A) > > > > > > where G is a finite group and A is a nontrivial G-module. More > > > specifically, A is a finite-dimensional vector space over Z/2Z on > which G > > > acts non-trivially. > > > > > > Any example code would be greatly appreciated; > > I think the answer to you question depends very much on the type of input > (how large is your n? what nice properties does G have? what is the > dimension of the module A?) and on the required output (do you only want > the abelian invariants of the cohomology group, or do you also need things > like explicit cocycles?). For n=1,2 you might have most success using the > Coho package. If you send me details I'd be glad to try to help. > > The following example code calculates the abelian invariants of > > H^6(G,A)=Z_2 x Z_2 x Z_2 x Z_2 x Z_5 > > for G=S_5 the symmetric group of degree 5 and A the vector space of > dimension 5 over GF(2) with permutation action. But with a tiny bit of > programming (involving Sylow subgroups) this example can be significantly > improved. > > gap> G:=SymmetricGroup(5);; > gap> > gap> V:=AbelianGroup(IsPcGroup,[2,2,2,2,2]);; > gap> gensV:=GeneratorsOfGroup(V);; > gap> w:=GroupHomomorphismByImages(V,V,gensV,gensV{[2,1,3,4,5]});; > gap> x:=GroupHomomorphismByImages(V,V,gensV,gensV{[1,3,2,4,5]});; > gap> y:=GroupHomomorphismByImages(V,V,gensV,gensV{[1,2,4,3,5]});; > gap> z:=GroupHomomorphismByImages(V,V,gensV,gensV{[1,2,3,5,4]});; > gap> G1:=Group([w,x,y,z]);; > gap> > gap> > iso:=GroupHomomorphismByImages(G,G1,[(1,2),(2,3),(3,4),(4,5)],[w,x,y,z]);; > gap> action:=function(g,v); return v^Image(iso,g^-1); end;; #HAP uses > left actions!!! > gap> > gap> A:=GOuterGroup();; > gap> SetActedGroup(A,V);; > gap> SetActingGroup(A,G);; > gap> SetOuterAction(A,action);; > gap> > gap> R:=ResolutionFiniteGroup(G,7);; > gap> C:=HomToGModule(R,A);; > gap> > gap> H6:=Cohomology(C,6); > [ 2, 2, 2, 2, 2 ] > > > All the best, > > Graham > > School of Mathematics, Statistics & Applied Mathematics > National University of Ireland, Galway > University Road, > Galway > Ireland > > http://hamilton.nuigalway.ie > tel: 091 493011 > From hebert.perez at gmail.com Wed Nov 18 15:25:30 2015 From: hebert.perez at gmail.com (=?UTF-8?B?SGViZXJ0IFDDqXJlei1Sb3PDqXM=?=) Date: Wed, 18 Nov 2015 16:25:30 +0100 Subject: [GAP Forum] strange result of FactorGroupFpGroupByRels Message-ID: Dear Forum, I am working with the group 17 of order 108, from the small group library, which I henceforth denote by H. I am getting a strange result when I try to factor H, and I wonder if you could help me find an explanation. The subgroup I, generated by the last generator, F.5, is a normal subgroup of order 3, and indeed, the factor group H/I is S_3 x S_3, of order 36. Now, I my understanding is that the group J, generated by [F.1, F.2, F.3, F,4] should have index 3 in H, but GAP tells me this index is 1. I am including the code below for reference. Ultimately, I presume that H is a semidirect product of S_3 x S_3 and C_3, and I would like to find the homomorphism phi: S_3 x S_3 ----> Aut(C_3). How can I do that? By the way, I am using GAP 4.4.12. Best regards, Hebert P?rez-Ros?s, University of Lleida, Spain =================================== gap> G:= SmallGroup(108,17); gap> H:= Image(IsomorphismFpGroup(G)); gap> RelatorsOfFpGroup(H); [ F1^2, F2^-1*F1^-1*F2*F1, F3^-1*F1^-1*F3*F1, F4^-1*F1^-1*F4*F1*F4^-1, F5^-1*F1^-1*F5*F1*F5^-1, F2^2, F3^-1*F2^-1*F3*F2*F3^-1, F4^-1*F2^-1*F4*F2, F5^-1*F2^-1*F5*F2*F5^-1, F3^3, F4^-1*F3^-1*F4*F3*F5^-1, F5^-1*F3^-1*F5*F3, F4^3, F5^-1*F4^-1*F5*F4, F5^3 ] gap> I:= FactorGroupFpGroupByRels(H,[H.5]); gap> StructureDescription(I); "S3 x S3" gap> J:= FactorGroupFpGroupByRels(H,[H.1,H.2,H.3,H.4]); gap> StructureDescription(J); "1" # At this point I thought that GAP's answer was due to the fact that the subgroup generated by [H.1, ..., H.4] was not normal, but when I tried to verify this conjecture, I got: gap> S:= Subgroup(H, [H.1,H.2,H.3,H.4]); Group ([ F1, F2, F3, F4 ]) gap> IsNormal(H, S); true gap> Index(H, S); 1 # Where is the problem here? Have I missed something? From D.F.Holt at warwick.ac.uk Wed Nov 18 15:58:19 2015 From: D.F.Holt at warwick.ac.uk (Derek Holt) Date: Wed, 18 Nov 2015 15:58:19 +0000 Subject: [GAP Forum] strange result of FactorGroupFpGroupByRels In-Reply-To: References: Message-ID: <20151118155819.GA27378@warwick.ac.uk> Dear Hebert, Forum, On Wed, Nov 18, 2015 at 04:25:30PM +0100, Hebert P?rez-Ros?s wrote: > Dear Forum, > > I am working with the group 17 of order 108, from the small group library, > which I henceforth denote by H. I am getting a strange result when I try to > factor H, and I wonder if you could help me find an explanation. > > The subgroup I, generated by the last generator, F.5, is a normal subgroup > of order 3, and indeed, the factor group H/I is S_3 x S_3, of order 36. > > Now, I my understanding is that the group J, generated by [F.1, F.2, F.3, > F,4] should have index 3 in H, but GAP tells me this index is 1. I am > including the code below for reference. There is no reason to expect J to have index 3 in H. > Ultimately, I presume that H is a semidirect product of S_3 x S_3 and C_3, > and I would like to find the homomorphism phi: S_3 x S_3 ----> Aut(C_3). > How can I do that? But it isn't a semidirect product - it is a non-split extension. So in fact there was no possibility that the group J could have has index 3 in H. You can verify that in GAP as follows: gap> G:= SmallGroup(108,17);; gap> H:=Subgroup(G,[G.5]);; gap> ComplementClassesRepresentativesEA(G,H); [ ] There is however still a well defined homomorphism phi: S_3 x S_3 ----> Aut(C_3) defined by conjugation. Regards, Derek Holt. > By the way, I am using GAP 4.4.12. > > Best regards, > > Hebert P?rez-Ros?s, > University of Lleida, Spain > > =================================== > > gap> G:= SmallGroup(108,17); > > > gap> H:= Image(IsomorphismFpGroup(G)); > > > gap> RelatorsOfFpGroup(H); > > [ F1^2, F2^-1*F1^-1*F2*F1, F3^-1*F1^-1*F3*F1, F4^-1*F1^-1*F4*F1*F4^-1, > F5^-1*F1^-1*F5*F1*F5^-1, F2^2, F3^-1*F2^-1*F3*F2*F3^-1, > F4^-1*F2^-1*F4*F2, > F5^-1*F2^-1*F5*F2*F5^-1, F3^3, F4^-1*F3^-1*F4*F3*F5^-1, > F5^-1*F3^-1*F5*F3, > F4^3, F5^-1*F4^-1*F5*F4, F5^3 ] > > gap> I:= FactorGroupFpGroupByRels(H,[H.5]); > > > gap> StructureDescription(I); > "S3 x S3" > > gap> J:= FactorGroupFpGroupByRels(H,[H.1,H.2,H.3,H.4]); > > > gap> StructureDescription(J); > "1" > > # At this point I thought that GAP's answer was due to the fact that the > subgroup generated by [H.1, ..., H.4] was not normal, but when I tried to > verify this conjecture, I got: > > gap> S:= Subgroup(H, [H.1,H.2,H.3,H.4]); > Group ([ F1, F2, F3, F4 ]) > > gap> IsNormal(H, S); > true > > gap> Index(H, S); > 1 > > # Where is the problem here? Have I missed something? > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From hebert.perez at gmail.com Wed Nov 18 16:43:18 2015 From: hebert.perez at gmail.com (=?UTF-8?B?SGViZXJ0IFDDqXJlei1Sb3PDqXM=?=) Date: Wed, 18 Nov 2015 17:43:18 +0100 Subject: [GAP Forum] strange result of FactorGroupFpGroupByRels In-Reply-To: <20151118155819.GA27378@warwick.ac.uk> References: <20151118155819.GA27378@warwick.ac.uk> Message-ID: Thanks a lot, Derek. That explains everything. 2015-11-18 16:58 GMT+01:00 Derek Holt : > Dear Hebert, Forum, > > On Wed, Nov 18, 2015 at 04:25:30PM +0100, Hebert P?rez-Ros?s wrote: > > Dear Forum, > > > > I am working with the group 17 of order 108, from the small group > library, > > which I henceforth denote by H. I am getting a strange result when I try > to > > factor H, and I wonder if you could help me find an explanation. > > > > The subgroup I, generated by the last generator, F.5, is a normal > subgroup > > of order 3, and indeed, the factor group H/I is S_3 x S_3, of order 36. > > > > Now, I my understanding is that the group J, generated by [F.1, F.2, F.3, > > F,4] should have index 3 in H, but GAP tells me this index is 1. I am > > including the code below for reference. > > There is no reason to expect J to have index 3 in H. > > > Ultimately, I presume that H is a semidirect product of S_3 x S_3 and > C_3, > > and I would like to find the homomorphism phi: S_3 x S_3 ----> Aut(C_3). > > How can I do that? > > But it isn't a semidirect product - it is a non-split extension. So in > fact there was no possibility that the group J could have has index 3 in H. > You can verify that in GAP as follows: > > gap> G:= SmallGroup(108,17);; > gap> H:=Subgroup(G,[G.5]);; > gap> ComplementClassesRepresentativesEA(G,H); > [ ] > > There is however still a well defined homomorphism > phi: S_3 x S_3 ----> Aut(C_3) > defined by conjugation. > > Regards, > Derek Holt. > > > > By the way, I am using GAP 4.4.12. > > > > Best regards, > > > > Hebert P?rez-Ros?s, > > University of Lleida, Spain > > > > =================================== > > > > gap> G:= SmallGroup(108,17); > > > > > > gap> H:= Image(IsomorphismFpGroup(G)); > > > > > > gap> RelatorsOfFpGroup(H); > > > > [ F1^2, F2^-1*F1^-1*F2*F1, F3^-1*F1^-1*F3*F1, F4^-1*F1^-1*F4*F1*F4^-1, > > F5^-1*F1^-1*F5*F1*F5^-1, F2^2, F3^-1*F2^-1*F3*F2*F3^-1, > > F4^-1*F2^-1*F4*F2, > > F5^-1*F2^-1*F5*F2*F5^-1, F3^3, F4^-1*F3^-1*F4*F3*F5^-1, > > F5^-1*F3^-1*F5*F3, > > F4^3, F5^-1*F4^-1*F5*F4, F5^3 ] > > > > gap> I:= FactorGroupFpGroupByRels(H,[H.5]); > > > > > > gap> StructureDescription(I); > > "S3 x S3" > > > > gap> J:= FactorGroupFpGroupByRels(H,[H.1,H.2,H.3,H.4]); > > > > > > gap> StructureDescription(J); > > "1" > > > > # At this point I thought that GAP's answer was due to the fact that the > > subgroup generated by [H.1, ..., H.4] was not normal, but when I tried to > > verify this conjecture, I got: > > > > gap> S:= Subgroup(H, [H.1,H.2,H.3,H.4]); > > Group ([ F1, F2, F3, F4 ]) > > > > gap> IsNormal(H, S); > > true > > > > gap> Index(H, S); > > 1 > > > > # Where is the problem here? Have I missed something? > > _______________________________________________ > > Forum mailing list > > Forum at mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum > From alexander.konovalov at gmail.com Fri Nov 20 13:21:58 2015 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Fri, 20 Nov 2015 13:21:58 +0000 Subject: [GAP Forum] GAP Software Carpentry lesson Message-ID: Dear all, There is now a new training material for GAP beginners. This is a Software Carpentry lesson "Programming with GAP": http://alex-konovalov.github.io/gap-lesson/ which has been beta-tested earlier this week at the Software Carpentry Workshop in Manchester. This workshop opened the CoDiMa Training School in Computational Discrete Mathematics (which is finishing today): http://www.codima.ac.uk/school2015/ If you will have any suggestions or corrections, or would like to contribute to further development of this lesson, then you may find the source code (in Markdown format) and the issue tracker on GitHub here: https://github.com/alex-konovalov/gap-lesson Thanks, Alexander From oxeimon at gmail.com Sat Nov 21 21:20:33 2015 From: oxeimon at gmail.com (Will Chen) Date: Sat, 21 Nov 2015 16:20:33 -0500 Subject: [GAP Forum] Is there a routine to compute the Jacobson radical of a finite group? Message-ID: Here by Jacobson radical I mean the intersection of all maximal normal subgroups. Thanks, - Will -- William Yun Chen Ph.D. Student & Graduate Teaching Associate Department of Mathematics Pennsylvania State University, University Park, PA, 16801 chen_w at math.psu.edu oxeimon at gmail.com From sl4 at st-andrews.ac.uk Sun Nov 22 10:13:30 2015 From: sl4 at st-andrews.ac.uk (Stephen Linton) Date: Sun, 22 Nov 2015 10:13:30 +0000 Subject: [GAP Forum] Is there a routine to compute the Jacobson radical of a finite group? In-Reply-To: References: Message-ID: <752146F8-E7EF-4B1E-BAA3-E9A7849DE237@st-andrews.ac.uk> For at least some groups, the obvious commands work: for instance gap> g := SmallGroup(1536,10^6); gap> Intersection(MaximalNormalSubgroups(g)); Group([ f6, f7, f8, f9 ]) gap> s := TransitiveGroup(24,1000); t24n1000 gap> Intersection(MaximalNormalSubgroups(s)); I?m not sure what the limitations of the available methods fro MaximalNormalSubgroups are, nor whether a method targeted directly at the Radical could be significantly more efficient. Steve > On 21 Nov 2015, at 21:20, Will Chen wrote: > > Here by Jacobson radical I mean the intersection of all maximal normal > subgroups. > > Thanks, > > - Will > > -- > > William Yun Chen > Ph.D. Student & Graduate Teaching Associate > Department of Mathematics > Pennsylvania State University, University Park, PA, 16801 > chen_w at math.psu.edu > oxeimon at gmail.com > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From andrewpenland at gmail.com Wed Nov 18 15:02:32 2015 From: andrewpenland at gmail.com (Andrew Penland) Date: Wed, 18 Nov 2015 10:02:32 -0500 Subject: [GAP Forum] Handling Errors Automatically? Message-ID: Hi all, Is there a way to gracefully work around errors in GAP without a human in the loop? I know about OnBreak, but I haven't been able to get it to do what I have in mind. I am working with groups which are finite but very large. I want to iterate over a collection of such groups and try to use the Factorization algorithm to find a certain element in each one. Sometimes this runs out of memory.I would like to have GAP catch the error, Print("This group used too much memory. \n"), then go on to the next group in the list without me being involved. Is there any way to do this? Thank you, Andrew Penland From dmitrii.pasechnik at cs.ox.ac.uk Mon Nov 23 10:29:55 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Mon, 23 Nov 2015 10:29:55 +0000 Subject: [GAP Forum] Handling Errors Automatically? In-Reply-To: References: Message-ID: <20151123102955.GB10459@dimpase.cs.ox.ac.uk> Dear Andrew, On Wed, Nov 18, 2015 at 10:02:32AM -0500, Andrew Penland wrote: > Hi all, > > Is there a way to gracefully work around errors in GAP without a human in > the loop? I know about OnBreak, but I haven't been able to get it to do > what I have in mind. > > I am working with groups which are finite but very large. I want to > iterate over a collection of such groups and try to use the Factorization > algorithm to find a certain element in each one. Sometimes this runs out of > memory.I would like to have GAP catch the error, Print("This group used too > much memory. \n"), then go on to the next group in the list without me > being involved. > > Is there any way to do this? There is global variable OnBreak that can be set to specify the action in the event your computation enters a break loop. See Sect. 6.4-3 of the GAP reference manual for details an examples. HTH, Dima > > Thank you, > Andrew Penland > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From sl4 at st-andrews.ac.uk Mon Nov 23 10:49:31 2015 From: sl4 at st-andrews.ac.uk (Stephen Linton) Date: Mon, 23 Nov 2015 10:49:31 +0000 Subject: [GAP Forum] Handling Errors Automatically? In-Reply-To: References: Message-ID: Dear Andrew, I think what you need is to set BreakOnError to false, as well as possibly setting OnBreak to what you want. The messages may still be a bit ugly, but it should do what you need. Like any approach involving abandoning a GAP calculation part way through there is some risk that data structures will be left inconsistent. In the example you describe this will most likely just nee data within the group that you have abandoned, so should be OK, but anything is possible. If you are relying on these results for a paper it would be safest to repeat the calculations that work in a clean copy of GAP just to be sure. Steve > On 18 Nov 2015, at 15:02, Andrew Penland wrote: > > Hi all, > > Is there a way to gracefully work around errors in GAP without a human in > the loop? I know about OnBreak, but I haven't been able to get it to do > what I have in mind. > > I am working with groups which are finite but very large. I want to > iterate over a collection of such groups and try to use the Factorization > algorithm to find a certain element in each one. Sometimes this runs out of > memory.I would like to have GAP catch the error, Print("This group used too > much memory. \n"), then go on to the next group in the list without me > being involved. > > Is there any way to do this? > > Thank you, > Andrew Penland > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From max at quendi.de Mon Nov 23 16:05:48 2015 From: max at quendi.de (Max Horn) Date: Mon, 23 Nov 2015 17:05:48 +0100 Subject: [GAP Forum] Handling Errors Automatically? In-Reply-To: References: Message-ID: <6E87459F-638F-42D5-BF91-524063BF3D82@quendi.de> > On 23 Nov 2015, at 11:49, Stephen Linton wrote: > > Dear Andrew, > > I think what you need is to set BreakOnError to false, as well as possibly setting OnBreak to what you want. > The messages may still be a bit ugly, but it should do what you need. Hmm, I would expect that some more work is needed -- for similar problems, I have made extensive use of the undocumented (bug highly useful) function "CALL_WITH_CATCH", combined with setting BreakOnError to false (and resetting it to its previous value afterwards). Before I give some example code, let me point out another caveat that was not mentioned so far: You were talking about out of memory errors. For these, the strategy suggested by other (and which the example below also uses) is NOT a particular good one. The reason is that when you encounter an out-of-memory error, GAP increases its heap space (I think for now it doubles it). It always does that, before the error handling (it has to -- otherwise, the error handler cannot run, as it also needs memory). Thus, GAP will eat more and more memory, with each out-of-memory error. If you need to handle dozens or more of this, this quickly gets impractical. Hence, for my own large-scale computations of this kind, I deal with this in a different way. There, I need to compute results for millions (billions?) of inputs, and a couple thousand of them will lead to OOM errors initially). What I am doing is this: The computations are distributed over multiple machines. On each, a shell script runs a GAP instance. The instances are set up to quit when there is an error (instead of the break loop); when that happens, the shell script just restarts GAP -- thanks to suitable bookkeeping, the computations resumes at the next group, and the logs contain a marker telling me whether / which cases failed. The bookkeeping in my context is actually a bit complicated (GAP communicates with a central server via SCSP), but for a single machine setup, one can simply use a text file, with one line for each task -- when a task starts, its id is added to the file, when it is finished, the the result is stored in another file. This way, I can see which tasks started, and which actually finished. When the GAP script starts, it reads in the first file, to find out which problems already are "done". This approach deals with memory issues, and also makes sure that I never continue computations with inconsistent internal state. Anyway, if you only expect a small number of these error, or if you mainly need to deal with other kinds of errors, you could use (a variation of) the following snippet, using the UNDOCUMENTED function CALL_WITH_CATCH CallWithErrorHandling := function(f, args) local old, result; old := BreakOnError; BreakOnError := false; result := CALL_WITH_CATCH(f, args); BreakOnError := old; if result[1] = false then return fail; # an error occurred fi; return result[2]; # return actual result end; Then, replace e.g. x := f(a,b,c) by x := CallWithErrorHandling(f,[a,b,c]); Of course the above code makes various assumptions, e.g. it assumes the function being called returns something, etc. -- but you should be able to modify it to do what you need. But remember: This is using an UNDOCUMENTED GAP function, so it may break in the future -- though right now that seems unlikely. Cheers, Max From alexander.konovalov at st-andrews.ac.uk Thu Nov 26 23:07:52 2015 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Thu, 26 Nov 2015 23:07:52 +0000 Subject: [GAP Forum] Mailing list for GAP package authors and maintainers Message-ID: <8D41ED00-B110-42EA-9230-59438B610A0B@st-andrews.ac.uk> Dear GAP package maintainers and authors, (This email is addressed to package maintainers and authors, but I am sending it to the GAP Forum as I hope that I will be able to reach many of package maintainers and authors this way - apologies for using Forum for such specific topic) Formerly we have used email alias to send various emails to package authors, especially before major releases: - points to address when preparing your package to the next release. - information about some potentially disruptive changes. - questions on your use of some functionality that we may change. That system did not work very efficient: - spam filtering became more restrictive, and sometime such emails were bounced. - such email traffic was separated from GAP development mailing lists (no archives, not all developers involved in discussions). - keeping email alias up-to-date was difficult with new packages being added and with outdated contact details in PackageInfo.g files. Thus, there is a need for a change. Hence, if you are maintaining GAP package(s), please consider joining an open GAP mailing list. (If you're an author, but not a maintainer, of course you're very welcome to join too!). You may subscribe to this list here: http://mail.gap-system.org/mailman/listinfo/gap You may also see prior postings to this list in its archive here: https://mail.gap-system.org/pipermail/gap/ This list is for the technical discussions of the development of the computer algebra system GAP and its packages. All future emails addressed to all package authors will be send only to that list, so this will help to keep you informed and your package functional. Thank you! Alexander From alexk at mcs.st-and.ac.uk Wed Dec 2 15:42:58 2015 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Wed, 2 Dec 2015 15:42:58 +0000 Subject: [GAP Forum] GAP 4.7.9 release announcement Message-ID: <356F2ADC-F634-4AD4-8441-D1E236DE9A3C@mcs.st-andrews.ac.uk> Dear all, This is to announce the release of GAP 4.7.9, which could be downloaded from http://www.gap-system.org/Releases/ The main purpose of this release is to deliver updates of 28 GAP packages, listed in the following table. ===================================================== Package name | Version | Date ----------------------------------------------------- 4ti2Interface | 2015.11.06 | 06/11/2015 AutoDoc | 2015.09.30 | 30/09/2015 CRISP | 1.3.9 | 10/10/2015 ExamplesForHomalg | 2015.11.06 | 06/11/2015 FGA | 1.3.0 | 25/08/2015 Forms | 1.2.3 | 26/10/2015 Gauss | 2015.11.06 | 06/11/2015 GaussForHomalg | 2015.11.06 | 06/11/2015 GradedModules | 2015.11.06 | 06/11/2015 GradedRingForHomalg | 2015.11.06 | 06/11/2015 HAP | 1.11.12 | 11/11/2015 homalg | 2015.11.05 | 05/11/2015 HomalgToCAS | 2015.11.06 | 06/11/2015 IO_ForHomalg | 2015.11.06 | 06/11/2015 LocalizeRingForHomalg | 2015.11.06 | 06/11/2015 loops | 3.1.0 | 28/10/2015 MatricesForHomalg | 2015.11.06 | 06/11/2015 Modules | 2015.11.06 | 06/11/2015 PatternClass | 2.1 | 27/08/2015 permut | 1.03 | 30/07/2015 QPA | 1.23 | 05/11/2015 RingsForHomalg | 2015.11.06 | 06/11/2015 SCO | 2015.11.06 | 06/11/2015 simpcomp | 2.1.1 | 04/06/2015 SONATA | 2.8 | 29/07/2015 ToolsForHomalg | 2015.11.23 | 23/11/2015 Wedderga | 4.7.3 | 18/09/2015 XMod | 2.44 | 13/11/2015 ===================================================== GAP 4.7.9 also fixes an error in DataAboutSimpleGroup, causing wrong result in the calculation of the automorphism group of J_2 (reported by Fatemeh Koorepazan-Moftakhar). Furthermore, GModuleByMats and some related functions now work for infinite fields, in particular in characteristic 0. However, this only applies for functions that do not need the MeatAxe, as that is still tied to finite fields. We encourage all users to upgrade to GAP 4.7.9. If you need any help or would like to report any problems, please do not hesitate to contact us at support at gap-system.org or submit new issues on GitHub: https://github.com/gap-system/gap/issues Wishing you fun and success using GAP, The GAP Group From alexk at mcs.st-and.ac.uk Fri Dec 4 10:15:50 2015 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Fri, 4 Dec 2015 10:15:50 +0000 Subject: [GAP Forum] GAP 4.7.9 release announcement In-Reply-To: <356F2ADC-F634-4AD4-8441-D1E236DE9A3C@mcs.st-andrews.ac.uk> References: <356F2ADC-F634-4AD4-8441-D1E236DE9A3C@mcs.st-andrews.ac.uk> Message-ID: <0C1F2155-7AEB-48E3-BA11-6A835E1C3625@mcs.st-andrews.ac.uk> P.S. Just to add that both BOB and Homebrew installers are now providing GAP 4.7.9 as well. BOB is an alternative GAP installer for Linux and OS X, for further instructions see http://gap-system.github.io/bob/ Homebrew (http://brew.sh/) is the package manager for OS X, and it has now a formula to install GAP, added by Alexey Muranov. Provided you've installed Homebrew, for the new GAP installation you need to call these two commands: brew update brew install homebrew/science/gap --with-InstPackages To upgrade existing GAP installation made with homebrew, call brew update brew upgrade gap Best wishes Alexander > On 2 Dec 2015, at 15:42, Alexander Konovalov wrote: > > Dear all, > > This is to announce the release of GAP 4.7.9, which > could be downloaded from > > http://www.gap-system.org/Releases/ > > The main purpose of this release is to deliver updates > of 28 GAP packages, listed in the following table. > > ===================================================== > Package name | Version | Date > ----------------------------------------------------- > 4ti2Interface | 2015.11.06 | 06/11/2015 > AutoDoc | 2015.09.30 | 30/09/2015 > CRISP | 1.3.9 | 10/10/2015 > ExamplesForHomalg | 2015.11.06 | 06/11/2015 > FGA | 1.3.0 | 25/08/2015 > Forms | 1.2.3 | 26/10/2015 > Gauss | 2015.11.06 | 06/11/2015 > GaussForHomalg | 2015.11.06 | 06/11/2015 > GradedModules | 2015.11.06 | 06/11/2015 > GradedRingForHomalg | 2015.11.06 | 06/11/2015 > HAP | 1.11.12 | 11/11/2015 > homalg | 2015.11.05 | 05/11/2015 > HomalgToCAS | 2015.11.06 | 06/11/2015 > IO_ForHomalg | 2015.11.06 | 06/11/2015 > LocalizeRingForHomalg | 2015.11.06 | 06/11/2015 > loops | 3.1.0 | 28/10/2015 > MatricesForHomalg | 2015.11.06 | 06/11/2015 > Modules | 2015.11.06 | 06/11/2015 > PatternClass | 2.1 | 27/08/2015 > permut | 1.03 | 30/07/2015 > QPA | 1.23 | 05/11/2015 > RingsForHomalg | 2015.11.06 | 06/11/2015 > SCO | 2015.11.06 | 06/11/2015 > simpcomp | 2.1.1 | 04/06/2015 > SONATA | 2.8 | 29/07/2015 > ToolsForHomalg | 2015.11.23 | 23/11/2015 > Wedderga | 4.7.3 | 18/09/2015 > XMod | 2.44 | 13/11/2015 > ===================================================== > > GAP 4.7.9 also fixes an error in DataAboutSimpleGroup, > causing wrong result in the calculation of the automorphism > group of J_2 (reported by Fatemeh Koorepazan-Moftakhar). > > Furthermore, GModuleByMats and some related functions now > work for infinite fields, in particular in characteristic 0. > However, this only applies for functions that do not need > the MeatAxe, as that is still tied to finite fields. > > We encourage all users to upgrade to GAP 4.7.9. If you need > any help or would like to report any problems, please do not > hesitate to contact us at support at gap-system.org or submit > new issues on GitHub: > > https://github.com/gap-system/gap/issues > > > Wishing you fun and success using GAP, > > The GAP Group From benjamin.sambale at gmail.com Fri Dec 4 15:13:36 2015 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Fri, 4 Dec 2015 16:13:36 +0100 Subject: [GAP Forum] ExtensionsByGroupNoCentre apparently misses groups Message-ID: <5661ADA0.3010604@gmail.com> Dear Forum, consider G:=TransitiveGroup(20,543); The following commands show that G is an extension of A5xA5 with C4xC2: N:=First(NormalSubgroups(G),n->Size(n)=60^2);; StructureDescription(N); StructureDescription(G/N); Since A5xA5 is perfect and centerless, G can be constructed via ExtensionsByGroupNoCentre from the grpconst package (according to the manual): K:=Group((1,2,3),(3,4,5),(6,7,8),(8,9,10));; H:=Group((1,2,3,4),(5,6));; LoadPackage("grpconst"); ext:=ExtensionsByGroupNoCentre(K,H);; However, G does not appear in the list of extensions: List(ext,x->IsomorphismGroups(x,G)); [ fail, fail, fail, fail, fail, fail, fail, fail, fail, fail, fail, fail ] Any thoughts? I'm using GAP 4.7.8. Best wishes, Benjamin From sara.yaftian at gmail.com Sun Dec 6 06:12:30 2015 From: sara.yaftian at gmail.com (Sara Yaftian) Date: Sun, 6 Dec 2015 09:42:30 +0330 Subject: [GAP Forum] A question Message-ID: Dear Forum I need to all partitions of the conjugacy classes of a finite group. GAP computes all partitions of {1,...,n}. How can I do that? Best regards Sara From dmitrii.pasechnik at cs.ox.ac.uk Sun Dec 6 11:00:48 2015 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Sun, 6 Dec 2015 11:00:48 +0000 Subject: [GAP Forum] A question In-Reply-To: References: Message-ID: <20151206110048.GA2920@dimpase.cs.ox.ac.uk> On Sun, Dec 06, 2015 at 09:42:30AM +0330, Sara Yaftian wrote: > I need to all partitions of the conjugacy classes of a finite group. > GAP computes all partitions of {1,...,n}. > How can I do that? I suppose you would like to get all partitions of the set of conjugacy classes. GAP has a command PartitionsSet that (almost) does this - it needs an extra parameter, the number of parts. So you can do the following: c:=Set(ConjugacyClasses(SymmetricGroup(5))); # or some other group [ ()^G, (1,2)^G, (1,2,3)^G, (1,2)(3,4)^G, (1,2,3,4)^G, (1,2,3)(4,5)^G, (1,2,3,4,5)^G ] l:=List([1..Length(c)], x->PartitionsSet(c,x));; This is already quite a big list: gap> List(l,Length); [ 1, 63, 301, 350, 140, 21, 1 ] Hope this helps, Dima From sara.yaftian at gmail.com Sun Dec 6 19:12:38 2015 From: sara.yaftian at gmail.com (Sara Yaftian) Date: Sun, 6 Dec 2015 22:42:38 +0330 Subject: [GAP Forum] A question In-Reply-To: <20151206110048.GA2920@dimpase.cs.ox.ac.uk> References: <20151206110048.GA2920@dimpase.cs.ox.ac.uk> Message-ID: Dear Dima Thank you very much for your complete solution. Best regards Sara P.S.>I am also very thankful from Professor Stefan Kohl for his help. On Sun, Dec 6, 2015 at 2:30 PM, Dima Pasechnik < dmitrii.pasechnik at cs.ox.ac.uk> wrote: > On Sun, Dec 06, 2015 at 09:42:30AM +0330, Sara Yaftian wrote: > > I need to all partitions of the conjugacy classes of a finite group. > > GAP computes all partitions of {1,...,n}. > > How can I do that? > > I suppose you would like to get all partitions of the set > of conjugacy classes. GAP has a command PartitionsSet > that (almost) does this - it needs an extra parameter, > the number of parts. > So you can do the following: > > c:=Set(ConjugacyClasses(SymmetricGroup(5))); # or some other group > [ ()^G, (1,2)^G, (1,2,3)^G, (1,2)(3,4)^G, (1,2,3,4)^G, (1,2,3)(4,5)^G, > (1,2,3,4,5)^G ] > l:=List([1..Length(c)], x->PartitionsSet(c,x));; > > This is already quite a big list: > gap> List(l,Length); > [ 1, 63, 301, 350, 140, 21, 1 ] > > Hope this helps, > Dima > From watsonbladd at gmail.com Tue Dec 8 20:51:46 2015 From: watsonbladd at gmail.com (Watson Ladd) Date: Tue, 8 Dec 2015 15:51:46 -0500 Subject: [GAP Forum] Reducing memory usage for depth-first search Message-ID: Dear all, I'm interested in enumerating all extensions of S3 by a 2-group which do not have elements of order greater than 6, of size up to 2^20. (Yes, this is likely to be extremely difficult: I actually need to look at extensions 1->N->G->S3->1, with N a 2 group of exponent 4) I'm trying to use the Extensions function on PC group to compute central extensions by C2 at each step, and for now just counting how many there are, without isomorphism testing. Unfortunately this eats up memory, even when carrying out a breadth first search. So I have a number of questions: 1: Can I use Extensions(G,M) in a memory sparing-way, or will it have to do a large construction of a list it pares down later? 2: How do I know what constructions are consuming memory? I'm only constructing lists of groups: even long one shouldn't demand that much memory, and the lists are short (hopefully). 3: Are there better algorithms than the naive one of taking central extensions and filtering? I thought about taking all possible centers, but C4 doesn't seem to be expressible as a module (I'm sure it is, but I didn't figure it out). Sincerely, Watson Ladd From b.eick at tu-braunschweig.de Sun Dec 6 08:10:05 2015 From: b.eick at tu-braunschweig.de (Bettina Eick) Date: Sun, 06 Dec 2015 09:10:05 +0100 Subject: [GAP Forum] ExtensionsByGroupNoCentre apparently misses groups In-Reply-To: <5661ADA0.3010604@gmail.com> References: <5661ADA0.3010604@gmail.com> Message-ID: Dear Forum, this is a bug in the function ExtensionsByGroupNoCentre of the grpconst package. Thanks, Benjamin, for reporting this! I will make the new version of grpconst including the bug fix available in the next days. Note that the function ExtensionsByGroupNoCentre has been used in the construction of some of the non-solvable groups in the SmallGroups library. However, these groups are so small that the bug did not show up in that calculation. Best wishes, Bettina From e.obrien at auckland.ac.nz Sat Dec 12 00:33:44 2015 From: e.obrien at auckland.ac.nz (Eamonn O'Brien) Date: Sat, 12 Dec 2015 13:33:44 +1300 Subject: [GAP Forum] Two jobs available at the University of Auckland Message-ID: <566B6B68.9080702@auckland.ac.nz> Dear Colleagues: The Department of Mathematics at the University of Auckland invites applications for two permanent full-time positions at Lecturer / Senior Lecturer level. We expect that at least one of these will be filled at Lecturer level. We expect that the research expertise of the successful applicants will complement existing research strengths in Pure Mathematics. These include: graph theory and combinatorics; group theory; number theory; and representation theory. More details about the Department can be found at www.math.auckland.ac.nz The job advertisement, including details of the application process, is available at: https://www.math.auckland.ac.nz/en/about/news-and-events/notices/notices-2015/2015/12/job-opportunities--lecturership----senior-lecturership.html Closing date: 14 February, 2016 I am happy to provide additional information, and appreciate if you can draw the attention of your colleagues to these positions. Best wishes. Eamonn O'Brien From f.k.moftakhar at gmail.com Sun Dec 13 14:05:03 2015 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Sun, 13 Dec 2015 17:35:03 +0330 Subject: [GAP Forum] Normalizing of Irr(G) Message-ID: Dear Forum Suppose G is a group. Then we know Irr(G) is the set of all irreducible characters of G. In some example the principal character is not the first element of this list. Is there any command in GAP to normalize Irr(G)? By normalizing of Irr(G), I mean a reordering of Irr(G) in which the first element is principal character. Any helps and comments will be highly appreciated. Best regards Fatemeh Koorepazan-Moftakhar -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From sam at Math.RWTH-Aachen.De Mon Dec 14 13:23:49 2015 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Mon, 14 Dec 2015 14:23:49 +0100 Subject: [GAP Forum] Normalizing of Irr(G) In-Reply-To: References: Message-ID: <20151214132349.GA25447@gemma.math.rwth-aachen.de> Dear Forum, Fatemeh Koorepazan-Moftakhar asked > Suppose G is a group. Then we know Irr(G) is the set of all irreducible > characters of G. In some example the principal character is not the first > element of this list. Is there any command in GAP to normalize Irr(G)? By > normalizing of Irr(G), I mean a reordering of Irr(G) in which the first > element is principal character. Called with a character table 't', say, of a finite group, the function 'CharacterTableWithSortedCharacters' returns a character table 's' which differs from 't' only by the ordering of the irreducible characters. The trivial character is guaranteed to be the first one in the 'Irr' list of 's'. If one starts from a group object 'G' then 'Irr( CharacterTableWithSortedCharacters( CharacterTable( G ) ) )' is a list of the irreducible characters of 'G' with the property that the trivial character is stored in the first position. Note that the ordering of 'Irr( G )' is not affected by the above commands. See the entry about 'CharacterTableWithSortedCharacters' in the GAP Reference Manual for more details. All the best, Thomas From benoitjacob at google.com Mon Dec 14 13:34:41 2015 From: benoitjacob at google.com (Benoit Jacob) Date: Mon, 14 Dec 2015 08:34:41 -0500 Subject: [GAP Forum] how to iterate over all matrices over a finite field? Message-ID: Hello, What would be a simple way to write a "for" loop iterating over all square matrices of a fixed size, say NxN, over some fixed finite field GF(q) ? So there would be q^(N^2) iterations? - of course, one could write a for loop over integers from 1 to q^(N^2) and for each integer construct a corresponding matrix, but is there a simpler way? Thanks, Benoit From sven.reichard at tu-dresden.de Mon Dec 14 14:00:12 2015 From: sven.reichard at tu-dresden.de (Sven Reichard) Date: Mon, 14 Dec 2015 15:00:12 +0100 Subject: [GAP Forum] how to iterate over all matrices over a finite field? In-Reply-To: References: Message-ID: <566ECB6C.7050601@tu-dresden.de> Hello Benoit, matrices are tuples of tuples, so we can use the combinatorial functions. As we do not want to store the complete list of matrices we use an iterator. gap> n := 3;; F := GF(3);; gap> rows := Tuples(F, n); gap> matrices := IteratorOfTuples(rows, n); gap> for matrix in matrices do > process(matrix); > od; Hope this helps. If the set of rows is too large to be stored, the set of matrices is likely too large to be processed. However maybe there is also a way of avoiding storage of the rows. Sven Reichard On 12/14/2015 02:34 PM, Benoit Jacob wrote: > Hello, > > What would be a simple way to write a "for" loop iterating over all square > matrices of a fixed size, say NxN, over some fixed finite field GF(q) ? So > there would be q^(N^2) iterations? - of course, one could write a for loop > over integers from 1 to q^(N^2) and for each integer construct a > corresponding matrix, but is there a simpler way? > > Thanks, > Benoit > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From benoitjacob at google.com Mon Dec 14 14:09:25 2015 From: benoitjacob at google.com (Benoit Jacob) Date: Mon, 14 Dec 2015 09:09:25 -0500 Subject: [GAP Forum] how to iterate over all matrices over a finite field? In-Reply-To: <566ECB6C.7050601@tu-dresden.de> References: <566ECB6C.7050601@tu-dresden.de> Message-ID: Many thanks! On Mon, Dec 14, 2015 at 9:00 AM, Sven Reichard wrote: > Hello Benoit, > > matrices are tuples of tuples, so we can use the combinatorial > functions. As we do not want to store the complete list of matrices we > use an iterator. > > gap> n := 3;; F := GF(3);; > gap> rows := Tuples(F, n); > gap> matrices := IteratorOfTuples(rows, n); > gap> for matrix in matrices do > > process(matrix); > > od; > > Hope this helps. > > If the set of rows is too large to be stored, the set of matrices is > likely too large to be processed. However maybe there is also a way of > avoiding storage of the rows. > > Sven Reichard > > > > On 12/14/2015 02:34 PM, Benoit Jacob wrote: > > Hello, > > > > What would be a simple way to write a "for" loop iterating over all > square > > matrices of a fixed size, say NxN, over some fixed finite field GF(q) ? > So > > there would be q^(N^2) iterations? - of course, one could write a for > loop > > over integers from 1 to q^(N^2) and for each integer construct a > > corresponding matrix, but is there a simpler way? > > > > Thanks, > > Benoit > > _______________________________________________ > > 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 alexk at mcs.st-and.ac.uk Mon Dec 14 14:33:41 2015 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Mon, 14 Dec 2015 14:33:41 +0000 Subject: [GAP Forum] how to iterate over all matrices over a finite field? In-Reply-To: <566ECB6C.7050601@tu-dresden.de> References: <566ECB6C.7050601@tu-dresden.de> Message-ID: <68649B69-9D2B-49FB-A0FB-D64EF673AB75@mcs.st-andrews.ac.uk> > On 14 Dec 2015, at 14:00, Sven Reichard wrote: > > Hello Benoit, > > matrices are tuples of tuples, so we can use the combinatorial > functions. As we do not want to store the complete list of matrices we > use an iterator. > > gap> n := 3;; F := GF(3);; > gap> rows := Tuples(F, n); > gap> matrices := IteratorOfTuples(rows, n); > gap> for matrix in matrices do >> process(matrix); >> od; > > Hope this helps. > > If the set of rows is too large to be stored, the set of matrices is > likely too large to be processed. However maybe there is also a way of > avoiding storage of the rows. Yes, one way to avoid storage of rows is to iterate over the full matrix algebra: n := 3;; F := GF(3);; M:=FullMatrixAlgebra(F,n); for matrix in M do process(matrix); od; Hope this helps Alexander From benoitjacob at google.com Mon Dec 14 14:43:45 2015 From: benoitjacob at google.com (Benoit Jacob) Date: Mon, 14 Dec 2015 09:43:45 -0500 Subject: [GAP Forum] how to iterate over all matrices over a finite field? In-Reply-To: <68649B69-9D2B-49FB-A0FB-D64EF673AB75@mcs.st-andrews.ac.uk> References: <566ECB6C.7050601@tu-dresden.de> <68649B69-9D2B-49FB-A0FB-D64EF673AB75@mcs.st-andrews.ac.uk> Message-ID: On Mon, Dec 14, 2015 at 9:33 AM, Alexander Konovalov wrote: > > > On 14 Dec 2015, at 14:00, Sven Reichard > wrote: > > > > Hello Benoit, > > > > matrices are tuples of tuples, so we can use the combinatorial > > functions. As we do not want to store the complete list of matrices we > > use an iterator. > > > > gap> n := 3;; F := GF(3);; > > gap> rows := Tuples(F, n); > > gap> matrices := IteratorOfTuples(rows, n); > > gap> for matrix in matrices do > >> process(matrix); > >> od; > > > > Hope this helps. > > > > If the set of rows is too large to be stored, the set of matrices is > > likely too large to be processed. However maybe there is also a way of > > avoiding storage of the rows. > > Yes, one way to avoid storage of rows is to iterate over the full matrix > algebra: > > n := 3;; F := GF(3);; > M:=FullMatrixAlgebra(F,n); > for matrix in M do > process(matrix); > od; > Many thanks for this. Here's why I didn't find this myself when I searched for it, in case it might help future documentation work: - I searched "matrix set" and "matrix ring", not "matrix algebra". - I read the pages on matrices and on matrix rings , not on algebras . - It is no clear to me which GAP objects can be readily iterated over by a "for x in object" construct. In other words, even reading the page on algebras , it would have been not be obvious to me that I could write M:=FullMatrixAlgebra(F,n); for matrix in M do... . I did read about the concept of a "collection" but it wasn't obvious to me whether the return value of FullMatrixAlgebra is a collection, and if collections can over be iterated over like this, or if one needs to explicitly construct an iterator first. Thanks again! Benoit > > Hope this helps > Alexander > > > From f.k.moftakhar at gmail.com Mon Dec 14 19:54:55 2015 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Mon, 14 Dec 2015 23:24:55 +0330 Subject: [GAP Forum] Normalizing of Irr(G) In-Reply-To: <20151214132349.GA25447@gemma.math.rwth-aachen.de> References: <20151214132349.GA25447@gemma.math.rwth-aachen.de> Message-ID: Dear Thomas Thank you very much for your helpful comments. Best regards Fatemeh On Mon, Dec 14, 2015 at 4:53 PM, Thomas Breuer wrote: > Dear Forum, > > Fatemeh Koorepazan-Moftakhar asked > > > Suppose G is a group. Then we know Irr(G) is the set of all irreducible > > characters of G. In some example the principal character is not the first > > element of this list. Is there any command in GAP to normalize Irr(G)? By > > normalizing of Irr(G), I mean a reordering of Irr(G) in which the first > > element is principal character. > > Called with a character table 't', say, of a finite group, > the function 'CharacterTableWithSortedCharacters' > returns a character table 's' which differs from 't' > only by the ordering of the irreducible characters. > The trivial character is guaranteed to be the first one > in the 'Irr' list of 's'. > > If one starts from a group object 'G' then > 'Irr( CharacterTableWithSortedCharacters( CharacterTable( G ) ) )' > is a list of the irreducible characters of 'G' with the property that > the trivial character is stored in the first position. > > Note that the ordering of 'Irr( G )' is not affected by the > above commands. > > See the entry about 'CharacterTableWithSortedCharacters' > in the GAP Reference Manual for more details. > > All the best, > Thomas > > -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From L.H.Soicher at qmul.ac.uk Fri Dec 18 08:37:23 2015 From: L.H.Soicher at qmul.ac.uk (Leonard Soicher) Date: Fri, 18 Dec 2015 08:37:23 +0000 Subject: [GAP Forum] Announcing the LOOPS package In-Reply-To: <20141125100142.GA32547@maths.qmul.ac.uk> References: <20141125100142.GA32547@maths.qmul.ac.uk> Message-ID: <20151218083723.GA1349@maths.qmul.ac.uk> Dear Forum Members, It is my pleasure to announce that the officially accepted LOOPS package (accepted May 2015, and currently version 3.1.0) is now available as part of the newly released GAP 4.7.9. LOOPS provides researchers in nonassociative algebra with a powerful computational tool for dealing with finite loops and quasigroups, and extends GAP toward the realm of nonassociative structures. The package consists of three complementary parts: core methods for quasigroups and loops, specific methods for loops (mainly Moufang loops), and libraries of small loops. Extensive information on the LOOPS package can be found on its official distribution webpage: http://web.cs.du.edu/~petr/loops/ The LOOPS package is authored by Gabor Nagy (University of Szeged) and Petr Vojtechovsky (University of Denver), and on behalf of the GAP Council, I thank them for this contribution to GAP. Leonard Soicher From alexk at mcs.st-and.ac.uk Sat Dec 19 15:47:03 2015 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Sat, 19 Dec 2015 15:47:03 +0000 Subject: [GAP Forum] Using GAP with Docker Message-ID: Dear Forum, The README file for the GAP container for the virtualisation platform Docker (https://www.docker.com/) has been updated. It could be found at https://github.com/gap-system/gap-docker and is also appended below. Hope you may find this interesting to use, for example: - if some GAP packages and external dependencies are provided in Docker but are hard to install on your machine - if you're using GAP from time to time and don't want to spend much time on reinstalling a new version yourself - if you need a reference GAP and packages installation to check how something works - if you need to quickly deploy GAP on some other machine etc. Best wishes Alexander # Docker container for GAP and packages. We have a prebuilt Docker image for GAP and packages at https://registry.hub.docker.com/u/gapsystem/gap-docker/. If you install Docker, you may start the container as follows: $ docker run --rm -i -t gapsystem/gap-docker Note that you may have to run `docker` with `sudo`, particularly if you are on Ubuntu. After that, you may call `gap` to start a new GAP session: gap at 11d9377db2bd:~$ gap ********* GAP, Version 4.7.9 of 29-Nov-2015 (free software, GPL) * GAP * http://www.gap-system.org ********* Architecture: x86_64-unknown-linux-gnu-gcc-default64 Libs used: gmp, readline Loading the library and packages ... Components: trans 1.0, prim 2.1, small* 1.0, id* 1.0 Packages: AClib 1.2, Alnuth 3.0.0, AtlasRep 1.5.0, AutPGrp 1.6, Browse 1.8.6, CRISP 1.3.9, Cryst 4.1.12, CrystCat 1.1.6, CTblLib 1.2.2, FactInt 1.5.3, FGA 1.3.0, GAPDoc 1.5.1, IO 4.4.4, IRREDSOL 1.2.4, LAGUNA 3.7.0, Polenta 1.3.2, Polycyclic 2.11, RadiRoot 2.7, ResClasses 3.4.0, Sophus 1.23, SpinSym 1.5, TomLib 1.2.5 Try '?help' for help. See also '?copyright' and '?authors' gap> When you will leave GAP, you still will be logged in into container and will need to type `exit` to close it. Alternatively, you may just type docker run --rm -i -t gapsystem/gap-docker gap to start GAP immediately (and return to the host filesystem after the end of the GAP session). You may put this command in a shell script and make it a default or optional way to start GAP on your system. GAP command line options may be appended after `gap`, for example docker run --rm -i -t gapsystem/gap-docker gap -A However, note that you will not be able to read a file our local directory into GAP just by supplying the filename in the command line. Instead of that, it is necessary to use `-v` option to mount local directory. For example, if the current directory contains the subdirectory `examples` with the file `examples/useful.g`, then with `-v $PWD/examples:/data` will mount `examples` as `/data` on the Docker container. Then to start GAP and read the file `examples/useful.g` into it, one should proceed as follows: docker run -v $PWD/examples:/data -t -i gapsystem/gap-docker gap /data/useful.g Note that the path to `useful.g` is the path in the container, and not in the GAP system. If you need network access (for example, for packages downloading external data like AtlasRep), call `docker` with `--net="host"` option, e.g.: docker run --rm -i -t --net="host" gapsystem/gap-docker For example, the following command mounts `pkg/scscp/example` directory from the GAP distribution as `/scscp` directory on the container and starts GAP SCSCP server using the configuration file `gap4r7p9/pkg/scscp/example/myserver.g`: docker run --rm -i -t --net="host" -v ~/gap4r7p9/pkg/scscp/example:/scscp gapsystem/gap-docker gap /scscp/myserver.g At the moment, almost all of the packages are in the working order. External software needed by some packages at the moment includes: * Ubuntu packages libmpfr-dev libmpfi-dev libmpc-dev libfplll-dev (needed by the float package) * Polymake 2.14 (and dependencies, listed on polymake.org) * Singular (git version of the day) * 4ti2 1.6.3 * PARI/GP. The work in progress is to configure remaining packages with non-standard installation and dependencies on external components: Carat, ITC, Linboxing, ParGAP and XGAP. *** From bernhard.boehmler at googlemail.com Tue Dec 22 00:06:49 2015 From: bernhard.boehmler at googlemail.com (Bernhard Boehmler) Date: Tue, 22 Dec 2015 01:06:49 +0100 Subject: [GAP Forum] question concerning the GAP package qpa (how to get an inclusion mprphism?) Message-ID: Dear GAP forum, I have the following question concerning the GAP package qpa. Let two A-modules M and N over the same quiver algebra A=kQ/I be given. Suppose, N is a submodule of M. How can we get an/the inclusion i: N -> M using qpa? Thanks for the help! From axyd0000 at gmail.com Thu Dec 24 15:21:50 2015 From: axyd0000 at gmail.com (gxyd) Date: Thu, 24 Dec 2015 20:51:50 +0530 Subject: [GAP Forum] Type of an Object in GAP Message-ID: <567C0D8E.30509@gmail.com> Hi GAP members, I want to know: How can i find the "Type" of an Object in GAP For example: gap> f:=FreeGroup(3) gap> Type(f) # I want know the "Type"(if any exists for its functioning) Though there seem to be ``TypeOfFamilies``, is this used?. Can you please describe the way `Type` of an object is defined in GAP(what structure is used?) Thanks From burkhard at hoefling.name Thu Dec 24 15:56:17 2015 From: burkhard at hoefling.name (=?utf-8?Q?Burkhard_H=C3=B6fling?=) Date: Thu, 24 Dec 2015 16:56:17 +0100 Subject: [GAP Forum] Type of an Object in GAP In-Reply-To: <567C0D8E.30509@gmail.com> References: <567C0D8E.30509@gmail.com> Message-ID: > On 24 Dec 2015, at 16:21, gxyd wrote: > > Hi GAP members, > > I want to know: How can i find the "Type" of an Object in GAP > For example: > gap> f:=FreeGroup(3) > gap> Type(f) > # I want know the "Type"(if any exists for its functioning) > > Though there seem to be ``TypeOfFamilies``, is this used?. Can you please describe the way `Type` of an object is defined in GAP(what structure is used?) You can use `TypeObj' to access the type information, but that's probably not what you are looking for. Chapter 13 in the GAP reference manual (in your GAP distribution, but also available online: http://www.gap-system.org/Manuals/doc/ref/chap13.html) explains the GAP type system in detail. Cheers Burkhard. From alexk at mcs.st-and.ac.uk Thu Dec 24 16:04:03 2015 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Thu, 24 Dec 2015 16:04:03 +0000 Subject: [GAP Forum] 2nd beta release of GAP 4.8 Message-ID: <6445ACC0-E6CE-433B-8AC6-0821394DE258@mcs.st-andrews.ac.uk> Dear package authors, GAP users and developers, This is to announce GAP 4.8.1 (the 2nd beta release of GAP 4.8), which may be downloaded from ftp://ftp.gap-system.org/pub/gap/gap48/beta/ in the archives * http://www.gap-system.org/pub/gap/gap48/beta/gap4r8p1_2015_12_23-23_30.tar.gz for Linux and OS X, and * http://www.gap-system.org/pub/gap/gap48/beta/gap4r8p1_2015_12_23-23_30-win.zip * http://www.gap-system.org/pub/gap/gap48/beta/gap4r8p1_2015_12_23-23_30-noreadline-win.zip for Windows (with GAP binaries compiled with and without readline support respectively). There is also an archive of the core GAP 4.8.1 system without packages: * http://www.gap-system.org/pub/gap/gap48/beta/gap4r8p1_core2015_12_23-23_30.zip The overview of the major differences between GAP 4.8.1 and GAP 4.7.9 is contained in the Changes manual, which is included in GAP 4.8.1 distribution. It is also available on this Wiki page: https://github.com/gap-system/gap/wiki/Changes-between-GAP-4.7-and-GAP-4.8 We invite users and developers to test this beta release and report any problems using one of the following channels: * the GAP issue tracker: https://github.com/gap-system/gap/issues * Open GAP Development mailing list: http://mail.gap-system.org/mailman/listinfo/gap * GAP Support: http://www.gap-system.org/Contacts/People/supportgroup.html Package authors are recommended to test and update their packages for GAP 4.8. We are asking for all updates to be made available by February 1st, 2016, and will be planning the first public release shortly after that. Best wishes, Alexander