From aniketsuniljoshi at gmail.com Mon Jan 4 07:37:01 2016 From: aniketsuniljoshi at gmail.com (Aniket Joshi) Date: Mon, 4 Jan 2016 13:07:01 +0530 Subject: [GAP Forum] Using M12 semidirect product Z_2 in GAP Message-ID: Hi, I wish to find the homology H_3(M_{12} : Z_2, Z), where M_{12} is a Mathieu group of order 95040, and M_12:Z_2 indicates the semi-direct product with Z_2. I plan to use the GroupHomology(,) command from the HAP package for GAP. How do I use the semi direct product M_12:Z_2 in GAP? Is there an inbuilt function, or would I need to compute it separately? Regards, Aniket -- Aniket S Joshi 4th year B.S.-M.S. Physics Dual Degree Roll no. PH11B001 Department of Physics, IIT Madras From dmitrii.pasechnik at cs.ox.ac.uk Mon Jan 4 15:18:45 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dmitrii Pasechnik) Date: Mon, 4 Jan 2016 15:18:45 +0000 Subject: [GAP Forum] Using M12 semidirect product Z_2 in GAP In-Reply-To: References: Message-ID: <20160104151845.GA28704@cs.ox.ac.uk> On Mon, Jan 04, 2016 at 01:07:01PM +0530, Aniket Joshi wrote: > I wish to find the homology H_3(M_{12} : Z_2, Z), where M_{12} is a Mathieu > group of order 95040, and M_12:Z_2 indicates the semi-direct product with > Z_2. I plan to use the GroupHomology(,) command from the HAP package for > GAP. > > How do I use the semi direct product M_12:Z_2 in GAP? Is there an inbuilt > function, or would I need to compute it separately? just take assuming you have AltasRep package installed, you can just do AtlasGroup("M12:2") to get a permutation representation of M:12:2 on 24 points. HTH, Dmitrii From graham.ellis at nuigalway.ie Mon Jan 4 15:24:29 2016 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Mon, 4 Jan 2016 15:24:29 +0000 Subject: [GAP Forum] Using M12 semidirect product Z_2 in GAP In-Reply-To: <20160104151845.GA28704@cs.ox.ac.uk> References: , <20160104151845.GA28704@cs.ox.ac.uk> Message-ID: And here is the computation showing that H_3(M12:2, Z) = Z_2 x z_2 x Z_12. gap> LoadPackage("atlasrep");; gap> G:=AtlasGroup("M12:2");; gap> GroupHomology(G,3); [ 2, 2, 4, 3 ] Graham School of Mathematics, Statistics & Applied Mathematics National University of Ireland, Galway University Road, Galway Ireland http://hamilton.nuigalway.ie tel: 091 493011 ________________________________________ From: forum-bounces at gap-system.org [forum-bounces at gap-system.org] on behalf of Dmitrii Pasechnik [dmitrii.pasechnik at cs.ox.ac.uk] Sent: Monday, January 4, 2016 3:18 PM To: Aniket Joshi Cc: forum at gap-system.org Subject: Re: [GAP Forum] Using M12 semidirect product Z_2 in GAP On Mon, Jan 04, 2016 at 01:07:01PM +0530, Aniket Joshi wrote: > I wish to find the homology H_3(M_{12} : Z_2, Z), where M_{12} is a Mathieu > group of order 95040, and M_12:Z_2 indicates the semi-direct product with > Z_2. I plan to use the GroupHomology(,) command from the HAP package for > GAP. > > How do I use the semi direct product M_12:Z_2 in GAP? Is there an inbuilt > function, or would I need to compute it separately? just take assuming you have AltasRep package installed, you can just do AtlasGroup("M12:2") to get a permutation representation of M:12:2 on 24 points. HTH, Dmitrii _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From sara.yaftian at gmail.com Tue Jan 5 10:50:00 2016 From: sara.yaftian at gmail.com (Sara Yaftian) Date: Tue, 5 Jan 2016 14:20:00 +0330 Subject: [GAP Forum] A question about ParGAP Message-ID: Dear Forum I have a question about ParGAP. I installed parGAP by the following command cd pargap ./configure make and then I need mpi and I installed mpi. Finally I paralleled a GAP program on Linux (Ubuntu 14.04 LTS) by the following command: mpiexe -np 5 ./pargap.sh when GAP run then I typed Read("myprogram.txt"); I am not sure my commands are correct or not because my laptop use 5 of CPU but the speed of my program has not changed. Would you please help me? I wish you have a very happy New Year 2016. Best regards Sara From axyd0000 at gmail.com Tue Jan 5 13:05:38 2016 From: axyd0000 at gmail.com (Gaurav Dhingra) Date: Tue, 5 Jan 2016 18:35:38 +0530 Subject: [GAP Forum] Meaning of `\=` operation in GAP Message-ID: Hi, GAP members I want to know the exact purpose for which `\=` i.e equality operation is used in GAP. Does `\=` checks for the mathematical equality or does it check for structural equality (of given objects) or some other type of equality of objects in GAP that i am not aware of? It will be very helpful if you provide the examples indicating the behavior (mathematical or structural), particularly either with `FreeGroup` or `Permutation Groups`. Thanks Gaurav Dhingra From caj21 at st-andrews.ac.uk Tue Jan 5 13:20:50 2016 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Tue, 5 Jan 2016 13:20:50 +0000 Subject: [GAP Forum] Meaning of `\=` operation in GAP In-Reply-To: References: Message-ID: <695FAFF4-E57F-4B3D-AEF4-BC4B43000AEA@st-andrews.ac.uk> The equality operation should always compare for mathematical equality. I agree the documentation could be slightly improved in this area. For example, the following two permutation groups are equal, as they are both the complete permutation group on 4 points. gap> Group([(1,2),(2,3,4)]) = Group([(1,4),(2,3,4)]); true On 05/01/2016, 13:05, "forum-bounces at gap-system.org on behalf of Gaurav Dhingra" wrote: >Hi, GAP members > >I want to know the exact purpose for which `\=` i.e equality operation is >used in GAP. Does `\=` checks for the mathematical equality or does it >check for structural equality (of given objects) or some other type of >equality of objects in GAP that i am not aware of? >It will be very helpful if you provide the examples indicating the behavior >(mathematical or structural), particularly either with `FreeGroup` or >`Permutation Groups`. > >Thanks >Gaurav Dhingra >_______________________________________________ >Forum mailing list >Forum at mail.gap-system.org >http://mail.gap-system.org/mailman/listinfo/forum From oyvind.solberg at math.ntnu.no Tue Jan 5 15:39:43 2016 From: oyvind.solberg at math.ntnu.no (=?UTF-8?Q?=c3=98yvind_Solberg?=) Date: Tue, 5 Jan 2016 16:39:43 +0100 Subject: [GAP Forum] question concerning the GAP package qpa (how to get an inclusion mprphism?) In-Reply-To: References: Message-ID: <568BE3BF.1030902@math.ntnu.no> Dear GAP Forum and Bernhard, Suppose we are given a finite dimensional quotient A = kQ/I of a path algebra and two modules M and N over A, where we know that N is a submodule of M. If M and N are given as two representations/ modules over A and you have not told QPA how N is a submodule of M, then there is in general no way QPA can find the inclusion you are thinking about. In general a module N can be a submodule of a given module M in infinitely many ways. However, if you know by which elements N is generated by inside M, say m_1, m_2,..., m_t, then the command gap> g := SubRepresentationInclusion(M, [m1,m2,...,mt]); will produce an inclusion from a module N' isomorphic to N into M, but where the images inside M are the same. Then to get an inclusion from N you could find an isomorphism between N and N' by gap> alpha := IsomorphismOfModules( N, N' ); and then find the composition alpha*g. If you are just abstractly knowing that N is a submodule of M, then I don't know an algorithm to find an inclusion of N into M. Best regards, Oeyvind Solberg. From angelblascomunoz at gmail.com Tue Jan 5 20:36:46 2016 From: angelblascomunoz at gmail.com (Angel Blasco) Date: Tue, 5 Jan 2016 21:36:46 +0100 Subject: [GAP Forum] =?utf-8?q?Save_=E2=80=9Ctime=E2=80=9D_in_a_variable_i?= =?utf-8?q?n_GAP?= Message-ID: Hi, I'm trying to write a program in GAP to obtain the time that GAP needs to construct the groups of an order given. I'm using the command: ConstructAllGroups(order);;time; Is there anyway to save the value of "time" in a variable? I did it with: a:=ConstructAllGroups(10);;time; but only the groups were saved. Regards -- *Angel Blasco.* From hulpke at math.colostate.edu Tue Jan 5 20:43:21 2016 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Tue, 5 Jan 2016 13:43:21 -0700 Subject: [GAP Forum] =?utf-8?q?Save_=E2=80=9Ctime=E2=80=9D_in_a_variable_i?= =?utf-8?q?n_GAP?= In-Reply-To: References: Message-ID: <218F3214-39A9-44CB-93FB-B2A3158D8CFB@math.colostate.edu> > I'm trying to write a program in GAP to obtain the time that GAP needs to > construct the groups of an order given. I'm using the command: > > ConstructAllGroups(order);;time; > > Is there anyway to save the value of "time" in a variable? Yes, time is just like a variable (this is different to the time command in unix and other systems): a:=ConstructAllGroups(10);;savedtime:=time; Within a program I would rather refer to the value of Runtime(), that is: start:=Runtime(); a:=ConstructAllPiffles(-33); total:=Runtime()-start; 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 sl4 at st-andrews.ac.uk Tue Jan 5 20:41:56 2016 From: sl4 at st-andrews.ac.uk (Stephen Linton) Date: Tue, 5 Jan 2016 20:41:56 +0000 Subject: [GAP Forum] =?windows-1252?q?Save_=93time=94_in_a_variable_in_GAP?= In-Reply-To: References: Message-ID: <232E9C66-442E-4F95-99A1-3242509FA4A0@st-andrews.ac.uk> ConstructAllGroups(order);; a := time; ought to work, but you might want to look into the Runtime() function to get an interface designed more for programming. Steve > On 5 Jan 2016, at 20:36, Angel Blasco wrote: > > Hi, > > I'm trying to write a program in GAP to obtain the time that GAP needs to > construct the groups of an order given. I'm using the command: > > ConstructAllGroups(order);;time; > > Is there anyway to save the value of "time" in a variable? > I did it with: > > a:=ConstructAllGroups(10);;time; > > but only the groups were saved. > > > Regards > -- > *Angel Blasco.* > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From angelblascomunoz at gmail.com Tue Jan 5 20:52:06 2016 From: angelblascomunoz at gmail.com (Angel Blasco) Date: Tue, 5 Jan 2016 21:52:06 +0100 Subject: [GAP Forum] =?utf-8?q?Save_=E2=80=9Ctime=E2=80=9D_in_a_variable_i?= =?utf-8?q?n_GAP?= In-Reply-To: <218F3214-39A9-44CB-93FB-B2A3158D8CFB@math.colostate.edu> References: <218F3214-39A9-44CB-93FB-B2A3158D8CFB@math.colostate.edu> Message-ID: thanks 2016-01-05 21:43 GMT+01:00 Alexander Hulpke : > > I'm trying to write a program in GAP to obtain the time that GAP needs to > > construct the groups of an order given. I'm using the command: > > > > ConstructAllGroups(order);;time; > > > > Is there anyway to save the value of "time" in a variable? > > Yes, time is just like a variable (this is different to the time command > in unix and other systems): > > a:=ConstructAllGroups(10);;savedtime:=time; > > Within a program I would rather refer to the value of Runtime(), that is: > > start:=Runtime(); > a:=ConstructAllPiffles(-33); > total:=Runtime()-start; > > 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 > > > -- *Angel Blasco.* From alexk at mcs.st-and.ac.uk Tue Jan 5 21:30:14 2016 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Tue, 5 Jan 2016 21:30:14 +0000 Subject: [GAP Forum] A question about ParGAP In-Reply-To: References: Message-ID: <7CEC0812-336F-4A43-9F3D-8016F5F627A9@mcs.st-andrews.ac.uk> Dear Sara, > On 5 Jan 2016, at 10:50, Sara Yaftian wrote: > > Dear Forum > > I have a question about ParGAP. > I installed parGAP by the following command > > cd pargap > ./configure > make > > and then I need mpi and I installed mpi. > Finally I paralleled a GAP program on Linux (Ubuntu 14.04 LTS) by the > following command: > > mpiexe -np 5 ./pargap.sh Thank you for your question, and Happy New Year to you too! The above steps seem to be correct. The rest depends on what "myprogram.txt" is doing - it is quite common that when one tries to parallelise the code then the first version of the parallel code runs slower than the sequential one. Also, the phrase "I paralleled a GAP program" sounds a bit ambiguous, so just in case: what mpiexe -np 5 ./pargap.sh command is doing is that it starts several copies of GAP. One of them is called 'master', and it provides the GAP command line interface and communicates with all the others, called 'slaves'. If you will call Read("myprogram.txt"); but the code there does not use any master-slave communication, it will just perform the calculation on the master. Best wishes Alexander > > when GAP run then I typed Read("myprogram.txt"); > > I am not sure my commands are correct or not because my laptop use 5 of CPU > but the speed of my program has not changed. Would you please help me? > > I wish you have a very happy New Year 2016. > > Best regards > Sara From axyd0000 at gmail.com Wed Jan 6 05:29:40 2016 From: axyd0000 at gmail.com (Gaurav Dhingra) Date: Wed, 6 Jan 2016 10:59:40 +0530 Subject: [GAP Forum] Find the source for in GAP Message-ID: Hi GAP members I asked previously http://math.stackexchange.com/questions/1570893/which-algorithm-gap-uses-to-check-equality-of-two-groups for finding the source of an "operation" in GAP. Also there is already an answer for finding the source of a "function" in GAP. My question is how to find the source of an "Attribute" in GAP? For ex. i want to find the Algorithm for finding the `stabilizer` of a `SymmetricGroup` gap> s4:=SymmetricGroup(4); Sym( [ 1 .. 4 ] ) gap> Stabilizer; function( arg ) ... end gap> StabilizerOfExternalSet; # this is used for SymmetricGroup in particular gap> func:=ApplicableMethod(StabilizerOfExternalSet, [s4]); fail gap> It fails. Is there another method instead of using `ApplicableMethod`? Above i used `StabilizerOfExternalSet` after seeing the source code for `Stabilizer`. Gaurav Dhingra From sl4 at st-andrews.ac.uk Wed Jan 6 09:45:00 2016 From: sl4 at st-andrews.ac.uk (Stephen Linton) Date: Wed, 6 Jan 2016 09:45:00 +0000 Subject: [GAP Forum] Find the source for in GAP In-Reply-To: References: Message-ID: Dear Gaurav, Attributes are just like Operations, and you can use ApplicableMethod in the same way. A good example is Size: gap> g := Group((1,2,3,4,5),(1,5)(2,4)); Group([ (1,2,3,4,5), (1,5)(2,4) ]) gap> ApplicableMethod(Size,[g]); function( G ) ... end gap> Print(last); function ( G ) return SizeStabChain( StabChainMutable( G ) ); end However, there is one complication, which is that once an Attribute has been computed the value is often stored in which case the method changes to one that just recovers the stored value: gap> Size(g); 10 gap> ApplicableMethod(Size,[g]); function( object ) ... end gap> Print(last); function ( object ) <> end gap> Stabilizer, however is not itself an attribute and is rather more complicated. See: http://www.gap-system.org/Manuals/doc/ref/chap41.html#X797BD60E7ACEF1B1 and also section 41.12 a bit further down. It doesn?t make sense to ask simply about the Stabilizer of a group ? you also have to specify an object to be stabilised and an action of the group and the call goes through a number of functions that fill in missing arguments and detect special cases before eventually reaching a call of StabilizerOp or StabilizerOfExternalSet where the work is really done. Steve > On 6 Jan 2016, at 05:29, Gaurav Dhingra wrote: > > Hi GAP members > > I asked previously > http://math.stackexchange.com/questions/1570893/which-algorithm-gap-uses-to-check-equality-of-two-groups > for finding the source of an "operation" in GAP. Also there is already an > answer for finding the source of a "function" in GAP. > > My question is how to find the source of an "Attribute" in GAP? > For ex. i want to find the Algorithm for finding the `stabilizer` of a > `SymmetricGroup` > > gap> s4:=SymmetricGroup(4); > Sym( [ 1 .. 4 ] ) > gap> Stabilizer; > function( arg ) ... end > gap> StabilizerOfExternalSet; # this is used for SymmetricGroup in > particular > > gap> func:=ApplicableMethod(StabilizerOfExternalSet, [s4]); > fail > gap> > > It fails. Is there another method instead of using `ApplicableMethod`? > Above i used `StabilizerOfExternalSet` after seeing the source code for > `Stabilizer`. > > Gaurav Dhingra > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From sashar.sashar1360 at gmail.com Mon Jan 11 08:02:50 2016 From: sashar.sashar1360 at gmail.com (sashar sashar) Date: Mon, 11 Jan 2016 00:02:50 -0800 Subject: [GAP Forum] Does Irr(g) return the principle character as its first entry? Message-ID: Dear Forum, I am working with SmallGroups Library.I have used the function Irr(SmallGroup(n,i)) for some ns and is. I have noticed that the pincipal character 1_G is the first entry for these groups. Is this always true for all the groups in SmallGroups Library? Regards Sashar From angelblascomunoz at gmail.com Wed Jan 13 19:25:26 2016 From: angelblascomunoz at gmail.com (Angel Blasco) Date: Wed, 13 Jan 2016 20:25:26 +0100 Subject: [GAP Forum] How can I fix this problem using Cubefree package Message-ID: I'm trying to calculate the number of groups of order 815409. I'm using Cubefree package but after 2 minutes processing my pc returns me this: gap> NumberCFGroups(815409); Error, Record: '.orbit' must have an assigned value in pnt := S.orbit[1]; called from StabChainStrong( S, GeneratorsOfGroup( G ), options ); called from StabChainOp( G, rec( base := [ 1 .. LargestMovedPoint( G ) ] ) ) called from MinimalStabChain( G ) called from GeneratorsSmallest( b ) called from Set( C1 ) called from ... at line 2 of *stdin* you can 'return;' after assigning a value brk> How can I fix this problem? Regards -- *Angel Blasco.* From heiko.dietrich at monash.edu Wed Jan 13 19:51:15 2016 From: heiko.dietrich at monash.edu (Heiko Dietrich) Date: Thu, 14 Jan 2016 08:51:15 +1300 Subject: [GAP Forum] How can I fix this problem using Cubefree package Message-ID: Dear Angel, This is a known bug which is fixed in the latest version; please download version 1.15 from here and extract it in your /pkg directory of your gap installation: http://users.monash.edu/~heikod/cubefree.html (This version should actually be listed on the gap website http://www.gap-system.org/Packages/cubefree.html but it isn't -- Alex?!?) Anyway, the result of this computation is gap> n:=NumberCFGroups(815409); 415 Best, Heiko ----------------------------------------- On Thu, 14/1/16, Angel Blasco wrote: I'm trying to calculate the number of groups of order 815409. I'm using Cubefree package but after 2 minutes processing my pc returns me this: gap> NumberCFGroups(815409); Error, Record: '.orbit' must have an assigned value in pnt := S.orbit[1]; called from StabChainStrong( S, GeneratorsOfGroup( G ), options ); called from StabChainOp( G, rec( base := [ 1 .. LargestMovedPoint( G ) ] ) ) called from MinimalStabChain( G ) called from GeneratorsSmallest( b ) called from Set( C1 ) called from ... at line 2 of *stdin* you can 'return;' after assigning a value brk> How can I fix this problem? Regards -- *Angel Blasco.* _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum -- *Dr HEIKO DIETRICH * *School of Mathematical Sciences* Monash University Clayton Campus 9 Rainforest Walk Monash University VIC 3800 Australia T: +61 3 9905 4771 E: heiko.dietrich at monash.edu users.monash.edu/~heikod From angelblascomunoz at gmail.com Wed Jan 13 19:56:46 2016 From: angelblascomunoz at gmail.com (Angel Blasco) Date: Wed, 13 Jan 2016 19:56:46 +0000 (UTC) Subject: [GAP Forum] How can I fix this problem using Cubefree package In-Reply-To: References: Message-ID: <6A8E708086FF1F89.F6880071-CB63-4F3B-8B93-60E183B9BB84@mail.outlook.com> Ok, i've got GAP 4.7.9 installed and the cubefree package inside is 1.13 Now i'm going to download and install version 1.15 in my pkg folder. Thanks Enviado desde Outlook Mobile On Wed, Jan 13, 2016 at 11:51 AM -0800, "Heiko Dietrich" wrote: Dear Angel, This is a known bug which is fixed in the latest version; please download version 1.15 from here and extract it in your /pkg directory of your gap installation: ?? http://users.monash.edu/~heikod/cubefree.html (This version should actually be listed on the gap website http://www.gap-system.org/Packages/cubefree.html but it isn't -- Alex?!?) Anyway, the result of this computation is gap> n:=NumberCFGroups(815409); 415 Best, Heiko ----------------------------------------- On Thu, 14/1/16, Angel Blasco wrote: I'm trying to calculate the number of groups of order 815409. I'm using Cubefree package but after 2 minutes processing my pc returns me this: gap> NumberCFGroups(815409); Error, Record: '.orbit' must have an assigned value in ? pnt := S.orbit[1]; called from StabChainStrong( S, GeneratorsOfGroup( G ), options ); called from StabChainOp( G, rec( ? ? base := [ 1 .. LargestMovedPoint( G ) ] ) ) called from MinimalStabChain( G ) called from GeneratorsSmallest( b ) called from Set( C1 ) called from ...? at line 2 of *stdin* you can 'return;' after assigning a value brk> How can I fix this problem? Regards -- *Angel Blasco.* _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum -- Dr HEIKO DIETRICH ?? ? ? ? ? ? ? ? School of Mathematical Sciences Monash UniversityClayton Campus9 Rainforest Walk Monash University VIC 3800Australia T: +61 3 9905 4771? ? ? ? ? ? ? ? ? ? ??E: heiko.dietrich at monash.eduusers.monash.edu/~heikod From alexk at mcs.st-and.ac.uk Wed Jan 13 23:04:57 2016 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Wed, 13 Jan 2016 23:04:57 +0000 Subject: [GAP Forum] How can I fix this problem using Cubefree package In-Reply-To: References: Message-ID: Dear all, > On 13 Jan 2016, at 19:51, Heiko Dietrich wrote: > > Dear Angel, > > This is a known bug which is fixed in the latest version; please download version 1.15 from here and extract it in your /pkg directory of your gap installation: > > http://users.monash.edu/~heikod/cubefree.html Yes - see also my former comments under http://math.stackexchange.com/q/1607419/ > > (This version should actually be listed on the gap website http://www.gap-system.org/Packages/cubefree.html but it isn't -- Alex?!?) The packages pages on the GAP website are not dynamic - they are updated only after the GAP public release, and reflect the set of packages included in that release. Thus at the moment they match GAP 4.7.9. When I am telling package authors that the new version has been picked up, it's only the initial step. It is followed by a nightly and weekly testing cycle. It could happen that the package is incompatible with the system or other packages, and then will be put on hold. You may see the current status report on package updates at this Wiki page: https://github.com/gap-system/gap/wiki/Package-updates-status and also see how packages progress between testing stage: https://trello.com/b/CTsB9FTl/package-updates-name-version-pickup-date At the moment, Cubefree 1.15 passes tests of the release candidate for the public release of GAP 4.8, so it should be safe to use it. Best wishes Alexander > Anyway, the result of this computation is > > gap> n:=NumberCFGroups(815409); > 415 > > Best, > Heiko > > > > > ----------------------------------------- > On Thu, 14/1/16, Angel Blasco wrote: > I'm trying to calculate the number of groups of order 815409. I'm using > Cubefree package but after 2 minutes processing my pc returns me this: > > gap> NumberCFGroups(815409); > Error, Record: '.orbit' must have an assigned value in > pnt := S.orbit[1]; called from > StabChainStrong( S, GeneratorsOfGroup( G ), options ); called from > StabChainOp( G, rec( > base := [ 1 .. LargestMovedPoint( G ) ] ) ) called from > MinimalStabChain( G ) called from > GeneratorsSmallest( b ) called from > Set( C1 ) called from > ... at line 2 of *stdin* > you can 'return;' after assigning a value > brk> > > > How can I fix this problem? > > Regards > > -- > *Angel Blasco.* > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > -- > Dr HEIKO DIETRICH > > School of Mathematical Sciences > Monash University > Clayton Campus > 9 Rainforest Walk > Monash University VIC 3800 > Australia > > T: +61 3 9905 4771 > E: heiko.dietrich at monash.edu > users.monash.edu/~heikod -- Dr. Alexander Konovalov FSSI, Senior Research Fellow Centre for Interdisciplinary Research in Computational Algebra (CIRCA) School of Computer Science, University of St Andrews http://blogs.cs.st-andrews.ac.uk/alexk/ -- The University of St Andrews is a charity registered in Scotland:No.SC013532 From sara.yaftian at gmail.com Thu Jan 14 13:44:16 2016 From: sara.yaftian at gmail.com (Sara Yaftian) Date: Thu, 14 Jan 2016 17:14:16 +0330 Subject: [GAP Forum] A question about ParGAP In-Reply-To: <7CEC0812-336F-4A43-9F3D-8016F5F627A9@mcs.st-andrews.ac.uk> References: <7CEC0812-336F-4A43-9F3D-8016F5F627A9@mcs.st-andrews.ac.uk> Message-ID: Dear Alexander Thank you very much for your helpful message. I have a question about your last message. How to use master-salve communication? On the other hand, I need to use 5 CPU's, but MPI in ParGAP used 2 CPU's. Is there any command to solve this problem? Best regards Sara On Wed, Jan 6, 2016 at 1:00 AM, Alexander Konovalov wrote: > Dear Sara, > > > On 5 Jan 2016, at 10:50, Sara Yaftian wrote: > > > > Dear Forum > > > > I have a question about ParGAP. > > I installed parGAP by the following command > > > > cd pargap > > ./configure > > make > > > > and then I need mpi and I installed mpi. > > Finally I paralleled a GAP program on Linux (Ubuntu 14.04 LTS) by the > > following command: > > > > mpiexe -np 5 ./pargap.sh > > Thank you for your question, and Happy New Year to you too! The above > steps seem to be correct. The rest depends on what "myprogram.txt" is > doing - it is quite common that when one tries to parallelise the code > then the first version of the parallel code runs slower than the > sequential one. > > Also, the phrase "I paralleled a GAP program" sounds a bit ambiguous, so > just in case: what > > mpiexe -np 5 ./pargap.sh > > command is doing is that it starts several copies of GAP. One of them is > called 'master', and it provides the GAP command line interface and > communicates with all the others, called 'slaves'. If you will call > > Read("myprogram.txt"); > > but the code there does not use any master-slave communication, it will > just perform the calculation on the master. > > Best wishes > Alexander > > > > > > > > > > > > when GAP run then I typed Read("myprogram.txt"); > > > > I am not sure my commands are correct or not because my laptop use 5 of > CPU > > but the speed of my program has not changed. Would you please help me? > > > > I wish you have a very happy New Year 2016. > > > > Best regards > > Sara > > > From tim at algebra.uni-linz.ac.at Fri Jan 15 15:12:47 2016 From: tim at algebra.uni-linz.ac.at (Tim Boykett) Date: Fri, 15 Jan 2016 17:12:47 +0200 Subject: [GAP Forum] Shortest words Message-ID: <56990C6F.7020504@algebra.uni-linz.ac.at> Dear GAPpers, I have previously used the techniques outlined in the Rubik's Cube tutorial to find words expressing certain permutations in the generators I am using. This has worked fine so far, but I have run up against a problem where I would like to prefer some permutations and use as few as possible of others. It seems that the very old collection AbStab.g used to do this, but it is no longer part of GAP. What is the current way to do this? I am sure there is a very simple technique, but I cannot seem to find it. Best wishes, Tim From e.obrien at auckland.ac.nz Sun Jan 17 08:40:03 2016 From: e.obrien at auckland.ac.nz (Eamonn O'Brien) Date: Sun, 17 Jan 2016 21:40:03 +1300 Subject: [GAP Forum] Two jobs available at the University of Auckland Message-ID: <569B5363.7090109@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 fima.math at gmail.com Tue Jan 19 09:50:39 2016 From: fima.math at gmail.com (Fima Bahari) Date: Tue, 19 Jan 2016 13:20:39 +0330 Subject: [GAP Forum] Hamiltoniancycle Message-ID: Dear all, By GAP, Is it possible to fine a Hamiltonian cycle in a defined graph, if it exists? Many thanks in advance From sam at Math.RWTH-Aachen.De Wed Jan 20 09:07:50 2016 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Wed, 20 Jan 2016 10:07:50 +0100 Subject: [GAP Forum] Does Irr(g) return the principle character as its first entry? In-Reply-To: References: Message-ID: <20160120090747.GA1440@gemma.math.rwth-aachen.de> Dear Sashar, you asked the GAP Forum > I am working with SmallGroups Library.I have used the function > Irr(SmallGroup(n,i)) for some ns and is. I have noticed that the pincipal > character 1_G is the first entry for these groups. Is this always true for > all the groups in SmallGroups Library? No. The method that is chosen by GAP for computing the irreducible characters of a group depends on properties of this group and not on the library from which it is constructed. For example, there is a method for computing the irreducible characters of a symmetric group in its natural representation; this method uses the fact that the conjugacy classes of the group are parametrized by the cycle structures of the group elements. This method is applicable only if the group has this property and if this property is stored in the group before the call to the function `Irr', and currently this method can be expected to be used in this situation. Here is a sample GAP session. gap> g:= SmallGroup( 120, 34 ); # the symmetric group on five points Group([ (1,2,3,4,5), (1,2) ]) gap> Position( Irr( g ), TrivialCharacter( g ) ); 1 gap> g:= SmallGroup( 120, 34 ); # fetch the group again Group([ (1,2,3,4,5), (1,2) ]) gap> IsNaturalSymmetricGroup( g ); # now the group stores the property true gap> Position( Irr( g ), TrivialCharacter( g ) ); 7 Note that the GAP manual states explicitly that the trivial character need not be the first entry in the list of irreducible characters. All the best, Thomas From angelblascomunoz at gmail.com Fri Jan 29 19:34:36 2016 From: angelblascomunoz at gmail.com (Angel Blasco) Date: Fri, 29 Jan 2016 20:34:36 +0100 Subject: [GAP Forum] Hamiltonian groups Message-ID: <56ABBECC.6050605@gmail.com> Is there any command in GAP to generate a Hamiltonian group of an order given? Thanks From fima.math at gmail.com Sat Jan 30 07:05:33 2016 From: fima.math at gmail.com (Fima Bahari) Date: Sat, 30 Jan 2016 10:35:33 +0330 Subject: [GAP Forum] Fwd: Hamiltoniancycle In-Reply-To: References: Message-ID: ---------- Forwarded message ---------- From: Fima Bahari Date: Tue, Jan 19, 2016 at 1:20 PM Subject: Hamiltoniancycle To: forum at mail.gap-system.org Dear all, By GAP, Is it possible to fine a Hamiltonian cycle in a defined graph, if it exists? Many thanks in advance From l.h.soicher at qmul.ac.uk Sat Jan 30 09:24:20 2016 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Sat, 30 Jan 2016 09:24:20 +0000 Subject: [GAP Forum] Fwd: Hamiltoniancycle In-Reply-To: References: , , Message-ID: Dear Fima, Dear Forum, There is no GRAPE function to find a Hamiltonian cycle (when such a cycle exists) in a given graph. However, the free open-source SageMath system has a function for this. See http://doc.sagemath.org/pdf/en/reference/graphs/graphs.pdf Regards, Leonard ________________________________________ From: forum-bounces at gap-system.org on behalf of Fima Bahari Sent: 30 January 2016 07:05 To: forum at gap-system.org Subject: [GAP Forum] Fwd: Hamiltoniancycle ---------- Forwarded message ---------- From: Fima Bahari Date: Tue, Jan 19, 2016 at 1:20 PM Subject: Hamiltoniancycle To: forum at mail.gap-system.org Dear all, By GAP, Is it possible to fine a Hamiltonian cycle in a defined graph, if it exists? Many thanks in advance _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From axyd0000 at gmail.com Thu Feb 4 18:30:50 2016 From: axyd0000 at gmail.com (Gaurav Dhingra) Date: Fri, 5 Feb 2016 00:00:50 +0530 Subject: [GAP Forum] Inequality of Generators of Finitely Presented and corresponding Free Group Message-ID: <56B398DA.8060601@gmail.com> Hi, GAP forum members I am reading this particular documentation http://www.gap-system.org/Manuals/doc/ref/chap47.html , from this page i quote this sentence > That means that words in the generators of the free group are not elements of the finitely presented group. Vice versa elements of the FpGroup are not words. There is also an example showing this behavior. Now, i don't why this has been done. I mean is there is any particular reason for why GAP authors did it this way? (for defining equality between the generators). Feel free explain in detail even if it is completely some development methodology (or non-mathematical) which has been followed for this. Thanks Gaurav Dhingra From kroberts at math.uni-bielefeld.de Fri Feb 5 08:54:41 2016 From: kroberts at math.uni-bielefeld.de (Kieran Roberts) Date: Fri, 5 Feb 2016 09:54:41 +0100 Subject: [GAP Forum] Default Arguments Message-ID: Dear GAP forum: Is it possible to include default arguments in a function? Such as something like this (which doesn't work): add := function(a,b:=1) return a+b; end; So that add(2,2) = 4 and add(2) = 3. The only way I've managed to do is by writing: add := function(arg) if Size(arg) = 2 then return arg[1] + arg[2]; else return arg[1] + 1; fi; end; But if you have 2 or 3 (optional) arguments with default values this becomes cumbersome. Is there a more efficient way? Best, Kieran. From alexander.konovalov at st-andrews.ac.uk Tue Feb 9 21:57:58 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Tue, 9 Feb 2016 21:57:58 +0000 Subject: [GAP Forum] Default Arguments In-Reply-To: References: Message-ID: <34FDD10F-A182-4C5A-B539-1915868FBB83@st-andrews.ac.uk> Dear Kieran, > On 5 Feb 2016, at 08:54, Kieran Roberts wrote: > > Dear GAP forum: > > Is it possible to include default arguments in a function? > > Such as something like this (which doesn't work): > > add := function(a,b:=1) > return a+b; > end; > > So that add(2,2) = 4 and add(2) = 3. The only way I've managed to do > is by writing: > > add := function(arg) > if Size(arg) = 2 then > return arg[1] + arg[2]; > else > return arg[1] + 1; > fi; > end; > > But if you have 2 or 3 (optional) arguments with default values this > becomes cumbersome. Is there a more efficient way? This will a bit easier in coming soon GAP 4.8: as written at https://github.com/gap-system/gap/wiki/Changes-between-GAP-4.7-and-GAP-4.8 it will have "support for partially variadic functions to allow function expressions like function(a,b,c,x...) ... end; which would require at least three arguments and assign the first three to a, b and c and then a list containing any remaining ones to x. The former special meaning of the argument arg is still supported and is now equivalent to function(arg...), so no changes in the existing code are required." The example from above could then look like gap> add := function(a,b...) > if Length(b)=0 then > return a+1; > else > return a+b[1]; > fi; > end; function( a, b... ) ... end gap> add(2,2); 4 gap> add(2); 3 If you have more optional arguments, they would all go into the list b, but since you would be no longer obliged to use the special name 'arg', your code may be more readable because of using proper identifiers for mandatory arguments. Best wishes Alexander From rahul.kitture at gmail.com Wed Feb 10 04:34:44 2016 From: rahul.kitture at gmail.com (Rahul Kitture) Date: Wed, 10 Feb 2016 10:04:44 +0530 Subject: [GAP Forum] A question on factorization of an integer Message-ID: Dear Sir, In some computations of orders of groups, which turn out to be large, I wanted to see the prime factorization of the order. For example, I use following kind of commands: gap> g:=SymmetricGroup(10);; Size(g); 3628800 gap> Factors(3628800); [ 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 7 ] My question is, is there some command in GAP to get this factorization into form 2^8 * 3^4 * 5^2 * 7? Thank you. - Rahul Kitture HRI, Allahabad From rahul.kitture at gmail.com Wed Feb 10 04:34:44 2016 From: rahul.kitture at gmail.com (Rahul Kitture) Date: Wed, 10 Feb 2016 10:04:44 +0530 Subject: [GAP Forum] A question on factorization of an integer Message-ID: Dear Sir, In some computations of orders of groups, which turn out to be large, I wanted to see the prime factorization of the order. For example, I use following kind of commands: gap> g:=SymmetricGroup(10);; Size(g); 3628800 gap> Factors(3628800); [ 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 7 ] My question is, is there some command in GAP to get this factorization into form 2^8 * 3^4 * 5^2 * 7? Thank you. - Rahul Kitture HRI, Allahabad From maasiru at yahoo.com Wed Feb 10 06:06:43 2016 From: maasiru at yahoo.com ([Muniru Asiru] maasiru@yahoo.com) Date: Tue, 9 Feb 2016 22:06:43 -0800 Subject: [GAP Forum] A question on factorization of an integer In-Reply-To: Message-ID: <1455084403.23960.YahooMailMobile@web121505.mail.ne1.yahoo.com> Yes. Partially. Use Collected From maasiru at yahoo.com Wed Feb 10 06:06:43 2016 From: maasiru at yahoo.com ([Muniru Asiru] maasiru@yahoo.com) Date: Tue, 9 Feb 2016 22:06:43 -0800 Subject: [GAP Forum] A question on factorization of an integer In-Reply-To: Message-ID: <1455084403.23960.YahooMailMobile@web121505.mail.ne1.yahoo.com> Yes. Partially. Use Collected From benjamin.sambale at gmail.com Wed Feb 10 06:28:38 2016 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Wed, 10 Feb 2016 07:28:38 +0100 Subject: [GAP Forum] A question on factorization of an integer In-Reply-To: References: Message-ID: <56BAD896.1060703@gmail.com> PrintFactorsInt Am 10.02.2016 um 05:34 schrieb Rahul Kitture: > Dear Sir, > In some computations of orders of groups, which turn out to be large, I > wanted to see the prime factorization of the order. For example, I use > following kind of commands: > > gap> g:=SymmetricGroup(10);; Size(g); > 3628800 > gap> Factors(3628800); > [ 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 7 ] > > My question is, is there some command in GAP to get this factorization into > form > > 2^8 * 3^4 * 5^2 * 7? > > > > > > Thank you. > > - Rahul Kitture > HRI, Allahabad > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From waghoba at gmail.com Wed Feb 10 06:28:49 2016 From: waghoba at gmail.com (Vinay Wagh) Date: Wed, 10 Feb 2016 11:58:49 +0530 Subject: [GAP Forum] A question on factorization of an integer In-Reply-To: References: Message-ID: Here is what you need... gap> PrintFactorsInt( 3628800); VInay On 10 February 2016 at 10:04, Rahul Kitture wrote: > Dear Sir, > In some computations of orders of groups, which turn out to be large, I > wanted to see the prime factorization of the order. For example, I use > following kind of commands: > > gap> g:=SymmetricGroup(10);; Size(g); > 3628800 > gap> Factors(3628800); > [ 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 7 ] > > My question is, is there some command in GAP to get this factorization into > form > > 2^8 * 3^4 * 5^2 * 7? > > > > > > Thank you. > > - Rahul Kitture > HRI, Allahabad > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From axyd0000 at gmail.com Wed Feb 10 06:51:02 2016 From: axyd0000 at gmail.com (Gaurav Dhingra) Date: Wed, 10 Feb 2016 12:21:02 +0530 Subject: [GAP Forum] Documentation understanding of unary `Subgroup` Message-ID: Hi GAP forum members, For the unary version of `Subgroup`, i am using it like this: ``` gap> g:=Group((1,2,3,4),(1,2));; gap> f:=Subgroup(g) ``` Reading in the documentation it says: > The unary version of Subgroup creates a (shell) subgroup that does not even know generators but can be used to collect information about a particular subgroup over time. I don't understand what this means, can someone explain this? In particular the statement "collect information over time", sounds very unknown to me from GAP user perspective. Thanks Gaurav From hulpke at math.colostate.edu Wed Feb 10 15:44:30 2016 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed, 10 Feb 2016 08:44:30 -0700 Subject: [GAP Forum] Documentation understanding of unary `Subgroup` In-Reply-To: References: Message-ID: <4B03061D-8626-4ED6-BCFA-AF664E9191F8@math.colostate.edu> The unary version of `Subgroup? is intended to have a subgroup object that is going to be further specified in the course of an algorithm. E.g. if you do not know how to get generators of a Sylow subgroup, you could still have an object representing one and have this object store e.g. order, nilpotence etc. There is currently little, if any, functionality that uses this. 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 f.k.moftakhar at gmail.com Thu Feb 11 12:45:47 2016 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Thu, 11 Feb 2016 16:15:47 +0330 Subject: [GAP Forum] Error, exceeded the permitted memory Message-ID: Dear Forum I have the following problem with GAP. Would you please help me? gap> k(g52,D52); Error, exceeded the permitted memory (`-o' command line option) in rep := S.identity; called from ElementsStabChain( StabChainMutable( G ) ) called from AsSSortedList( coll ) called from Elements( G ) called from ( ) called from read-eval loop at line 4 of *stdin* you can 'return;' brk> How can I increase memory? Best regards Fatemeh -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From colva at mcs.st-and.ac.uk Thu Feb 11 15:15:47 2016 From: colva at mcs.st-and.ac.uk (Colva Roney-Dougal) Date: Thu, 11 Feb 2016 15:15:47 +0000 Subject: [GAP Forum] Groups St Andrews 2017 in Birmingham Message-ID: Dear Colleagues, The organisers of Groups St Andrews 2017 in Birmingham are pleased to be able to announce the speakers invited to the conference. Main Speakers: Michael Aschbacher (California Institute of Technology) Radha Kessar (City University, London) Pierre-Emmanuel Caprace (Universite Catholique de Louvain) Gunter Malle (TU Kaiserslautern) Plenary Speakers: Tim Burness (University of Bristol) Vincent Guirardel (Universite de Rennes 1) Harald Helfgott (University of Gottingen) Andrei Jaikin-Zapirain (Universidad Autonoma de Madrid) Donna Testerman (Ecole Polytechnique Federale de Lausanne) The arrival day for the conference is Saturday 5th August 2017 and the departure day is Sunday 13th August 2017. The talks will take place from 6th to 12th August inclusive. The conference website is available at the following link: http://www.groupsstandrews.org/2017/index.shtml We encourage those interested in attending the conference to register on the website to receive further updates on the conference. We hope that you will be able to join us in 2017. Conference Organisers: Colin Campbell, Chris Parker, Martyn Quick, Edmund Robertson & Colva Roney-Dougal From alexk at mcs.st-and.ac.uk Thu Feb 11 22:14:40 2016 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Thu, 11 Feb 2016 22:14:40 +0000 Subject: [GAP Forum] Error, exceeded the permitted memory In-Reply-To: References: Message-ID: <4443A4ED-CEE7-46A9-8AED-CF6DB49DD131@mcs.st-andrews.ac.uk> Dear Fatemeh, Please see 6.2: My calculation does not finish (or GAP runs out of memory) from the GAP F.A.Q: http://gap-system.org/Faq/faq.html#6.2 If you will need further help, I suggest to ask GAP Support: http://gap-system.org/Contacts/People/supportgroup.html Hope this helps Alexander > On 11 Feb 2016, at 12:45, fatemeh moftakhar wrote: > > Dear Forum > I have the following problem with GAP. Would you please help me? > > gap> k(g52,D52); > Error, exceeded the permitted memory (`-o' command line option) in > rep := S.identity; called from > ElementsStabChain( StabChainMutable( G ) ) called from > AsSSortedList( coll ) called from > Elements( G ) called from > ( ) > called from read-eval loop at line 4 of *stdin* > you can 'return;' > brk> > > How can I increase memory? > > Best regards > Fatemeh > -- > Regards; > Miss Fatemeh Moftakhar > PhD Candidate, > Department of Pure Mathematics, > Faculty of Mathematical Sciences, > University of Kashan, Kashan, Iran From f.k.moftakhar at gmail.com Fri Feb 12 06:36:25 2016 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Fri, 12 Feb 2016 10:06:25 +0330 Subject: [GAP Forum] Error, exceeded the permitted memory In-Reply-To: <4443A4ED-CEE7-46A9-8AED-CF6DB49DD131@mcs.st-andrews.ac.uk> References: <4443A4ED-CEE7-46A9-8AED-CF6DB49DD131@mcs.st-andrews.ac.uk> Message-ID: Dear Professor Konovalov Thank you very much for your response. I used the following commands and my problem is solved. ./gap.sh -m 4g and when the following error was showed, I just type return; exceeded the permitted memory (-o command line option) Your response helps me. Thanks a lot Fatemeh Moftakhar On Fri, Feb 12, 2016 at 1:44 AM, Alexander Konovalov wrote: > Dear Fatemeh, > > Please see 6.2: My calculation does not finish (or GAP runs out of memory) > from the GAP F.A.Q: http://gap-system.org/Faq/faq.html#6.2 > > If you will need further help, I suggest to ask GAP Support: > http://gap-system.org/Contacts/People/supportgroup.html > > Hope this helps > Alexander > > > > > On 11 Feb 2016, at 12:45, fatemeh moftakhar > wrote: > > > > Dear Forum > > I have the following problem with GAP. Would you please help me? > > > > gap> k(g52,D52); > > Error, exceeded the permitted memory (`-o' command line option) in > > rep := S.identity; called from > > ElementsStabChain( StabChainMutable( G ) ) called from > > AsSSortedList( coll ) called from > > Elements( G ) called from > > ( ) > > called from read-eval loop at line 4 of *stdin* > > you can 'return;' > > brk> > > > > How can I increase memory? > > > > Best regards > > Fatemeh > > -- > > Regards; > > Miss Fatemeh Moftakhar > > PhD Candidate, > > Department of Pure Mathematics, > > Faculty of Mathematical Sciences, > > University of Kashan, Kashan, Iran > -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From pjc at mcs.st-andrews.ac.uk Sat Feb 13 20:24:50 2016 From: pjc at mcs.st-andrews.ac.uk (Peter Cameron) Date: Sat, 13 Feb 2016 20:24:50 -0000 (UTC) Subject: [GAP Forum] A question about Action Message-ID: Dear GAP forum, It seems that GAP can find representatives for all systems of minimal blocks of imprimitivity for an arbitrary group action, but all blocks only for a permutation group (and there seems no easy way to get all maximal blocks). I have tried to get around this as follows. G is a group acting on O (which is actually an orbit on 2-subsets of [1..n]). I do the following: GG:=Action(G,O,OnSets); BB:=AllBlocks(GG); B:=List(BB,x->List(x,y->O[y])); This assumes that the Action maps each element of O to its position in the list, and I can't find a guarantee to this effect in the manual. Can I rely on this? Thanks for any advice. Peter Cameron. -- This email address will stop working sometime soon. Please use the address pjc20 at st-andrews.ac.uk instead. From sl4 at st-andrews.ac.uk Sat Feb 13 21:11:28 2016 From: sl4 at st-andrews.ac.uk (Stephen Linton) Date: Sat, 13 Feb 2016 21:11:28 +0000 Subject: [GAP Forum] A question about Action In-Reply-To: References: Message-ID: > On 13 Feb 2016, at 20:24, Peter Cameron wrote: > > Dear GAP forum, > > It seems that GAP can find representatives for all systems of minimal blocks > of imprimitivity for an arbitrary group action, but all blocks only for a > permutation group (and there seems no easy way to get all maximal blocks). > You can build up from minimal blocks recursively, of course. Take the action on the blocks of a minimal block system and find the minimal blocks there, they correspond to non-minimal block systems for the original action, etc. > I have tried to get around this as follows. G is a group acting on O (which > is actually an orbit on 2-subsets of [1..n]). I do the following: > > GG:=Action(G,O,OnSets); > BB:=AllBlocks(GG); > B:=List(BB,x->List(x,y->O[y])); > > This assumes that the Action maps each element of O to its position in the > list, and I can't find a guarantee to this effect in the manual. Can I rely > on this? I believe so, although this is (at least) a documentation failing). The manual does say: 40.3-2 Action homomorphisms See ActionHomomorphism (41.7-1). The calculation of images is determined by the acting function used and -for large domains- is often dominated by the search for the position of an image in a list of the domain elements. This can be improved by sorting this list if an efficient method for \< (31.11-1) to compare elements of the domain is available. which strongly suggests to me that it is retaining the given order for the domain. Steve > > Thanks for any advice. > > Peter Cameron. > > > > -- > This email address will stop working sometime soon. Please use the address > pjc20 at st-andrews.ac.uk instead. > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From jacob.benoit.1 at gmail.com Sat Feb 13 23:57:02 2016 From: jacob.benoit.1 at gmail.com (Benoit Jacob) Date: Sat, 13 Feb 2016 18:57:02 -0500 Subject: [GAP Forum] Find rank-1 matrices in given subspace of matrices Message-ID: Hello, What would be a good approach to obtain a parametrization of the set of all rank-1 matrices in a given subspace of matrices M_n(F), where F is a finite field? It seems that what I'm looking for is equivalent to Maple's Rank1Elements() function . Thanks, Benoit From hulpke at math.colostate.edu Mon Feb 15 16:53:47 2016 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Mon, 15 Feb 2016 09:53:47 -0700 Subject: [GAP Forum] Find rank-1 matrices in given subspace of matrices In-Reply-To: References: Message-ID: > On Feb 13, 2016, at 4:57 PM, Benoit Jacob wrote: > > Hello, > > What would be a good approach to obtain a parametrization of the set of all > rank-1 matrices in a given subspace of matrices M_n(F), where F is a finite > field? If you want nxm matrices over a field k, why not pick a random nonzero vector v\in k^n and a random normed (i.e. first nonzero coefficient is one) vector w\in k^m and form the (matrix) product v * w^T. I think this gives you a perfect parameterization via parameterizing v and w. 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 jacob.benoit.1 at gmail.com Mon Feb 15 16:54:46 2016 From: jacob.benoit.1 at gmail.com (Benoit Jacob) Date: Mon, 15 Feb 2016 11:54:46 -0500 Subject: [GAP Forum] Find rank-1 matrices in given subspace of matrices In-Reply-To: References: Message-ID: Hi Alexander, That would give me the set of all rank-1 matrices. I want the set of those rank-1 matrices that belong to some given linear subspace of matrices, given e.g. as the span of a finite family of matrices. Cheers, Benoit 2016-02-15 11:53 GMT-05:00 Alexander Hulpke : > > > On Feb 13, 2016, at 4:57 PM, Benoit Jacob > wrote: > > > > Hello, > > > > What would be a good approach to obtain a parametrization of the set of > all > > rank-1 matrices in a given subspace of matrices M_n(F), where F is a > finite > > field? > > If you want nxm matrices over a field k, why not pick a random nonzero > vector v\in k^n and a random normed (i.e. first nonzero coefficient is one) > vector w\in k^m and form the (matrix) product v * w^T. I think this gives > you a perfect parameterization via parameterizing v and w. > > 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 hulpke at math.colostate.edu Mon Feb 15 21:07:24 2016 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Mon, 15 Feb 2016 14:07:24 -0700 Subject: [GAP Forum] Find rank-1 matrices in given subspace of matrices In-Reply-To: References: Message-ID: <30AF9A7E-0F60-4C5D-B63E-D55BB37EB625@math.colostate.edu> Dear Benoit, Ah ? within a subspace will give you polynomial equations (all 2x2 subdeterminants=0) in the coefficients of a linear combination, and at least in principle this can be done with Groebner bases (i.e. you get rank <=1, but rank 0 is easily eliminated.) For example (using the appended function) for the standard basis of Q^{3\times 4}: gap> b:=BasisVectors(Basis(MatrixSpace(Rationals,3,4)));; gap> e:=Rank1Equations(b); [ x_1*x_6-x_2*x_5, x_1*x_7-x_3*x_5, x_1*x_8-x_4*x_5, x_2*x_7-x_3*x_6, x_2*x_8-x_4*x_6, x_3*x_8-x_4*x_7, x_1*x_10-x_2*x_9, x_1*x_11-x_3*x_9, x_1*x_12-x_4*x_9, x_2*x_11-x_3*x_10, x_2*x_12-x_4*x_10, x_3*x_12-x_4*x_11, x_5*x_10-x_6*x_9, x_5*x_11-x_7*x_9, x_5*x_12-x_8*x_9, x_6*x_11-x_7*x_10, x_6*x_12-x_8*x_10, x_7*x_12-x_8*x_11 ] gap> ReducedGroebnerBasis(e,MonomialLexOrdering()); [ x_7*x_12-x_8*x_11, x_6*x_12-x_8*x_10, x_6*x_11-x_7*x_10, x_5*x_12-x_8*x_9, x_5*x_11-x_7*x_9, x_5*x_10-x_6*x_9, x_3*x_12-x_4*x_11, x_3*x_8-x_4*x_7, x_2*x_12-x_4*x_10, x_2*x_11-x_3*x_10, x_2*x_8-x_4*x_6, x_2*x_7-x_3*x_6, x_1*x_12-x_4*x_9, x_1*x_11-x_3*x_9, x_1*x_10-x_2*x_9, x_1*x_8-x_4*x_5, x_1*x_7-x_3*x_5, x_1*x_6-x_2*x_5 ] So x_7 =x_8*x_11/x_12 (and case for x_12=0) etc. and you can build an (ugly) parameterization from these. (Alternatively one could try to use \sum_c_i M_i=v\cdot w^T with v and w given by extra variables that are to be eliminated. This will yield the same Groebner basi after variable elimination.) Best, Alexander Rank1Equations:=function(mats) local l,f,r,vars,n,m,c,d,eqs; l:=Length(mats); f:=DefaultFieldOfMatrix(mats[1]); r:=PolynomialRing(f,l); vars:=IndeterminatesOfPolynomialRing(r); n:=Length(mats[1]); m:=Length(mats[1][1]); eqs:=[]; for c in Combinations([1..n],2) do for d in Combinations([1..m],2) do Add(eqs, Sum([1..l],x->vars[x]*mats[x][c[1]][d[1]]) *Sum([1..l],x->vars[x]*mats[x][c[2]][d[2]]) -Sum([1..l],x->vars[x]*mats[x][c[1]][d[2]]) *Sum([1..l],x->vars[x]*mats[x][c[2]][d[1]])); od; od; return eqs; end; From dmitrii.pasechnik at cs.ox.ac.uk Mon Feb 15 21:19:07 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Mon, 15 Feb 2016 21:19:07 +0000 Subject: [GAP Forum] Find rank-1 matrices in given subspace of matrices In-Reply-To: References: Message-ID: <20160215211907.GB20273@dimpase.cs.ox.ac.uk> Hi Benoit, On Mon, Feb 15, 2016 at 11:54:46AM -0500, Benoit Jacob wrote: > That would give me the set of all rank-1 matrices. I want the set of those > rank-1 matrices that belong to some given linear subspace of matrices, > given e.g. as the span of a finite family of matrices. this is a hard problem. One can write down a system of polynomial equations specifying the matrices you are interested in. Let A=sum_k x_k A_k be the matrix of linear forms in variables x_k, and A_k span your subspace. You need to set all the 2x2 minors of A to 0, giving you a system of quadratic equations in x_k. Its solutions specify the rank 1 matrices in your subspace. It does not seem likely that there is a nice parametrisation of this set. Hope this helps, Dima > Cheers, > Benoit > > 2016-02-15 11:53 GMT-05:00 Alexander Hulpke : > > > > > > On Feb 13, 2016, at 4:57 PM, Benoit Jacob > > wrote: > > > > > > Hello, > > > > > > What would be a good approach to obtain a parametrization of the set of > > all > > > rank-1 matrices in a given subspace of matrices M_n(F), where F is a > > finite > > > field? > > > > If you want nxm matrices over a field k, why not pick a random nonzero > > vector v\in k^n and a random normed (i.e. first nonzero coefficient is one) > > vector w\in k^m and form the (matrix) product v * w^T. I think this gives > > you a perfect parameterization via parameterizing v and w. > > > > 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 > > > > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From jacob.benoit.1 at gmail.com Mon Feb 15 21:53:11 2016 From: jacob.benoit.1 at gmail.com (Benoit Jacob) Date: Mon, 15 Feb 2016 16:53:11 -0500 Subject: [GAP Forum] Find rank-1 matrices in given subspace of matrices In-Reply-To: <30AF9A7E-0F60-4C5D-B63E-D55BB37EB625@math.colostate.edu> References: <30AF9A7E-0F60-4C5D-B63E-D55BB37EB625@math.colostate.edu> Message-ID: Many thanks, Alexander and Dima, for your replies! I was missing the key idea that rank one is charactized by the nullness of all 2x2 minors. Thanks also Alexander for the nice implementation! Cheers, Benoit 2016-02-15 16:07 GMT-05:00 Alexander Hulpke : > Dear Benoit, > > Ah ? within a subspace will give you polynomial equations (all 2x2 > subdeterminants=0) in the coefficients of a linear combination, and at > least in principle this can be done with Groebner bases (i.e. you get rank > <=1, but rank 0 is easily eliminated.) > > For example (using the appended function) for the standard basis of > Q^{3\times 4}: > > gap> b:=BasisVectors(Basis(MatrixSpace(Rationals,3,4)));; > gap> e:=Rank1Equations(b); > [ x_1*x_6-x_2*x_5, x_1*x_7-x_3*x_5, x_1*x_8-x_4*x_5, x_2*x_7-x_3*x_6, > x_2*x_8-x_4*x_6, x_3*x_8-x_4*x_7, x_1*x_10-x_2*x_9, x_1*x_11-x_3*x_9, > x_1*x_12-x_4*x_9, x_2*x_11-x_3*x_10, x_2*x_12-x_4*x_10, > x_3*x_12-x_4*x_11, > x_5*x_10-x_6*x_9, x_5*x_11-x_7*x_9, x_5*x_12-x_8*x_9, x_6*x_11-x_7*x_10, > x_6*x_12-x_8*x_10, x_7*x_12-x_8*x_11 ] > gap> ReducedGroebnerBasis(e,MonomialLexOrdering()); > [ x_7*x_12-x_8*x_11, x_6*x_12-x_8*x_10, x_6*x_11-x_7*x_10, > x_5*x_12-x_8*x_9, > x_5*x_11-x_7*x_9, x_5*x_10-x_6*x_9, x_3*x_12-x_4*x_11, x_3*x_8-x_4*x_7, > x_2*x_12-x_4*x_10, x_2*x_11-x_3*x_10, x_2*x_8-x_4*x_6, x_2*x_7-x_3*x_6, > x_1*x_12-x_4*x_9, x_1*x_11-x_3*x_9, x_1*x_10-x_2*x_9, x_1*x_8-x_4*x_5, > x_1*x_7-x_3*x_5, x_1*x_6-x_2*x_5 ] > > So x_7 =x_8*x_11/x_12 (and case for x_12=0) etc. and you can build an > (ugly) parameterization from these. > > (Alternatively one could try to use \sum_c_i M_i=v\cdot w^T with v and w > given by extra variables that are to be eliminated. This will yield the > same Groebner basi after variable elimination.) > > Best, > > Alexander > > > > Rank1Equations:=function(mats) > local l,f,r,vars,n,m,c,d,eqs; > l:=Length(mats); > f:=DefaultFieldOfMatrix(mats[1]); > r:=PolynomialRing(f,l); > vars:=IndeterminatesOfPolynomialRing(r); > n:=Length(mats[1]); > m:=Length(mats[1][1]); > eqs:=[]; > for c in Combinations([1..n],2) do > for d in Combinations([1..m],2) do > Add(eqs, > Sum([1..l],x->vars[x]*mats[x][c[1]][d[1]]) > *Sum([1..l],x->vars[x]*mats[x][c[2]][d[2]]) > -Sum([1..l],x->vars[x]*mats[x][c[1]][d[2]]) > *Sum([1..l],x->vars[x]*mats[x][c[2]][d[1]])); > od; > od; > return eqs; > end; > > > > > > > From axyd0000 at gmail.com Fri Feb 26 09:17:42 2016 From: axyd0000 at gmail.com (Gaurav Dhingra) Date: Fri, 26 Feb 2016 14:47:42 +0530 Subject: [GAP Forum] Using GAP online Message-ID: Hi GAP members Is there any way i can use GAP online? I know that i can use Sage online (for using GAP functionality). But is there any way i can use GAP alone? Thanks Gaurav Dhingra From dmitrii.pasechnik at cs.ox.ac.uk Fri Feb 26 09:55:26 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Fri, 26 Feb 2016 09:55:26 +0000 Subject: [GAP Forum] Using GAP online In-Reply-To: References: Message-ID: <20160226095526.GA1586@dimpase.cs.ox.ac.uk> On Fri, Feb 26, 2016 at 02:47:42PM +0530, Gaurav Dhingra wrote: > Is there any way i can use GAP online? I know that i can use Sage > online (for using GAP functionality). you most probably refer to cloud.sagemath.com, right? > But is there any way i can use GAP alone? in a cloud.sagemath.com project, you can open a terminal and run GAP at the shell prompt. i.e. just type 'gap' at the '$' prompt and hit 'Enter'. Upon opening a terminal, you will see something like the following: (and then I started GAP there, as you see below) ??????????????????????????????????????????????????????????????????????????????????? ? Welcome to the SageMathCloud Terminal Environment ? ? ? ? Software: sage, R, ipython, gap, gp, git, latexmk, isympy, java, julia, octave, ? ? vim, emacs, nano, gcc, clang, pdflatex, xetex, node, convert, mc, htop, atop, ...? ? ??????????????????????????? ? Anaconda Python environment: anaconda3 ? Usage: type command in ? ? ... and to exit Anaconda: exit-anaconda ? then hit the return key ? ? ??????????????????????????? ? Learn about the Linux Bash terminal: http://ryanstutorials.net/linuxtutorial/ ? ? Are there any problems or is something missing? email us at help at sagemath.com ? ???????????????????????????????????????????????????????????????????????????????????? ~$ ~$ gap ????????? GAP, Version 4.7.8 of 09-Jun-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: Alnuth 3.0.0, AtlasRep 1.5.0, AutPGrp 1.6, CTblLib 1.2.2, FactInt 1.5.3, GAPDoc 1.5.1, LAGUNA 3.7.0, Polycyclic 2.11, TomLib 1.2.5 Try '?help' for help. See also '?copyright' and '?authors' Apart from the packages listed, there is a dozen other GAP packages that are installed, such as GRAPE, which you could load using LoadPackage HTH Dima > > Thanks > Gaurav Dhingra > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From suskudar at gmail.com Fri Feb 26 10:20:47 2016 From: suskudar at gmail.com (=?utf-8?Q?S=C3=BCmeyra_Bedir?=) Date: Fri, 26 Feb 2016 12:20:47 +0200 Subject: [GAP Forum] Using GAP online In-Reply-To: References: Message-ID: Hi, You may try this; http://artin.nuigalway.ie/gap_calculator/gap_terminal The issue was discussed before and above was a temporary solution, S?meyra Bedir 26 ?ub 2016 tarihinde 11:17 saatinde, Gaurav Dhingra ?unlar? yazd?: > Hi GAP members > > Is there any way i can use GAP online? I know that i can use Sage online (for using GAP functionality). > But is there any way i can use GAP alone? > > Thanks > Gaurav Dhingra > > > _______________________________________________ > 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 Fri Feb 26 16:42:19 2016 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Fri, 26 Feb 2016 16:42:19 +0000 Subject: [GAP Forum] GAP 4.8.2 release announcement Message-ID: <77E52CF0-802D-4178-A470-ED4F514633AD@mcs.st-andrews.ac.uk> Dear all, This is to announce the release of GAP 4.8.2, which could be downloaded from http://www.gap-system.org/Releases/ This is the first major release made from the GAP repository on GitHub (at https://github.com/gap-system/gap). An overview of the most significant ones is provided below. A more detailed version with hyperlinks is available on the GAP website here: http://www.gap-system.org/Manuals/doc/changes/chap2.htm New features: * Added support for profiling which tracks how much time in spent on each line of GAP code. This can be used to show where code is spending a long time and also check which lines of code are even executed. * Added _ability_ to install (in the library or packages) methods for accessing lists using multiple indices and indexing into lists using indices other than positive small integers. Such methods could allow you, for example, to define behaviour for expressions like m[1,2]; m[1,2,3] := x; IsBound(m["a","b",Z(7)]); Unbind(m[1][2,3]) * Added support for partially variadic functions to allow function expressions like function(a,b,c,x...) ... end; which would require at least three arguments and assign the first three to a, b and c and then a list containing any remaining ones to x. The former special meaning of the argument arg is still supported and is now equivalent to function(arg...), so no changes in the existing code are required. * Introduced CallWithTimeout and CallWithTimeoutList to call a function with a limit on the CPU time it can consume. This functionality may not be available on all systems and you should check GAPInfo.TimeoutsSupported before using this functionality. * GAP now displays the filename and line numbers of statements in backtraces when entering the break loop. Improved and extended functionality: * Method tracing shows the filename and line of function during tracing. * TraceAllMethods and UntraceAllMethods to turn on and off tracing all methods in GAP. Also, for the uniform approach UntraceImmediateMethods has been added as an equivalent of TraceImmediateMethods(false) * Performance improvements for dictionaries. * Improved methods for symmetric and alternating groups in the "natural" representations. * Package authors may optionally specify the source code repository, issue tracker and support email address for their package using new components in the PackageInfo.g file. Changed functionality: * As a preparation for the future developments to support multithreading, some language extensions from the HPC-GAP project were backported to the GAP library to help to unify the codebase of both GAP 4 and HPC-GAP. In particular, this introduces new keywords "atomic", "readonly" and "readwrite". * There was inconsistent use of the following properties of semigroups: IsGroupAsSemigroup, IsMonoidAsSemigroup, and IsSemilatticeAsSemigroup, which has been corrected. * ReadTest became obsolete and for backwards compatibility is replaced by Test with the option to compare the output up to whitespaces. * The function ErrorMayQuit, which differs from Error by not allowing execution to continue, has been renamed to ErrorNoReturn. Fixed bugs: * Problems arising when an element of an extension field was assigned into a compressed matrix. * Problems in the Fitting-free code and code inheriting PCGS. * A bug that caused a break loop in the computation of the Hall subgroup for groups having a trivial Fitting subgroup. * Including a break or continue statement in a function body but not in a loop now gives a syntax error instead of failing at run time. * GroupGeneralMappingByImages now verifies that that image of a mapping is contained in its range. This may sometimes slow down construction of mappings. If this is a problem, and you are sure the image of the mapping will be contained in the range, use GroupGeneralMappingByImagesNC instead. * Fixed a bug in caching the degree of transformation that could lead to a non-identity transformation accidentally changing its value to the identity transformation. * Fixed the problem with using Windows default browser as a help viewer using SetHelpViewer("browser");. New and updated packages since GAP 4.7.8 At the time of the release of GAP 4.7.8 there were 119 packages redistributed with GAP. New packages that have been added to the redistribution since the release of GAP 4.7.8 are: * CAP (Categories, Algorithms, Programming) package by Sebastian Gutsche, Sebastian Posur and ?ystein Skarts?terhagen, together with three associated packages GeneralizedMorphismsForCAP, LinearAlgebraForCAP] and ModulePresentationsForCAP] (all three - by Sebastian Gutsche and Sebastian Posur). * Digraphs by Jan De Beule, Julius Jonu?as, James Mitchell, Michael Torpey and Wilf Wilson, which provides functionality to work with graphs, digraphs, and multidigraphs. * FinInG package by John Bamberg, Anton Betten, Philippe Cara, Jan De Beule, Michel Lavrauw and Max Neunh?ffer for computation in Finite Incidence Geometry. * HeLP package by Andreas B?chle and Leo Margolis, which computes constraints on partial augmentations of torsion units in integral group rings using a method developed by Luthar, Passi and Hertweck. * matgrp package by Alexander Hulpke, which provides an interface to the solvable radical functionality for matrix groups, building on constructive recognition. * NormalizInterface package by Sebastian Gutsche, Max Horn and Christof S?ger, which provides a GAP interface to Normaliz, enabling direct access to the complete functionality of Normaliz, such as computations in affine monoids, vector configurations, lattice polytopes, and rational cones. * profiling package by Christopher Jefferson for transforming profiles produced by ProfileLineByLine and CoverageLineByLine into a human-readable form. * Utils package by Sebastian Gutsche, Stefan Kohl and Christopher Wensley, which provides a collection of utility functions gleaned from many packages. * XModAlg package by Zekeriya Arvasi and Alper Odabas, which provides a collection of functions for computing with crossed modules and Cat1-algebras and morphisms of these structures. In addition, a number of packages previously redistributed with GAP has been updated. We encourage all users to upgrade to GAP 4.8.2. 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 Feb 26 16:50:18 2016 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Fri, 26 Feb 2016 16:50:18 +0000 Subject: [GAP Forum] GAP 4.8.2 release announcement In-Reply-To: <77E52CF0-802D-4178-A470-ED4F514633AD@mcs.st-andrews.ac.uk> References: <77E52CF0-802D-4178-A470-ED4F514633AD@mcs.st-andrews.ac.uk> Message-ID: <0A347B6A-83DD-4D08-89F6-E39FC5903856@mcs.st-andrews.ac.uk> P.S. Only if you are using Windows: 1) We strongly advise to use the executable Windows installer for GAP: http://www.gap-system.org/pub/gap/gap48/exe/gap4r8p2_2016_02_20-18_51.exe which will update all bat-files automatically. Note that the path to the GAP directory should not contain spaces. For example, you may install it in C:\gap4r8(default), D:\gap4r8p2 or C:\Math\GAP\gap4r8, but you must not install it in a directory named like C:\Program files\gap4r8 or C:\Users\alice\My Documents\gap4r8 etc. 2) In GAP 4.8.2 for Windows, there are no compiled binaries for the Browse package and there is no readline support. We hope to fix this in GAP 4.8.3 3) There is an experimental 64-bit version of GAP for Windows, also available from http://www.gap-system.org/Releases/. As it is experimental, some packages may not work there. To install it, you need to unzip the archive and adjust *.bat files manually. We will be interested to hear any feedback about its usability. Best wishes Alexander > On 26 Feb 2016, at 16:42, Alexander Konovalov wrote: > > Dear all, > > This is to announce the release of GAP 4.8.2, which could be downloaded from > > http://www.gap-system.org/Releases/ > > This is the first major release made from the GAP repository on GitHub > (at https://github.com/gap-system/gap). An overview of the most > significant ones is provided below. A more detailed version with > hyperlinks is available on the GAP website here: > > http://www.gap-system.org/Manuals/doc/changes/chap2.htm From benjamin.sambale at gmail.com Sat Feb 27 11:04:13 2016 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Sat, 27 Feb 2016 12:04:13 +0100 Subject: [GAP Forum] installation problems with 4.8.2 Message-ID: <56D182AD.1000508@gmail.com> Dear GAP people, I installed the new release and the compiling process seemed fine to me (using a recent arch linux version). When I started, I got the error that /usr/local/gap4r8/pkg/PolymakeInterface/PackageInfo.g is unreadable or does not exist (notice that it is a new package). However, the file does exist, but I found out that most files are owned by 50009 whoever that is (this was never a problem in previous versions). So I made this particular file readable for group users. Now I can start GAP and also the packages load, but the help system is broken: gap> ?help Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `ReadLine' on 1 arguments I have no idea what is going on. Any ideas? Best wishes, Benjamin From alexk at mcs.st-and.ac.uk Sat Feb 27 13:09:52 2016 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Sat, 27 Feb 2016 13:09:52 +0000 Subject: [GAP Forum] installation problems with 4.8.2 In-Reply-To: <56D182AD.1000508@gmail.com> References: <56D182AD.1000508@gmail.com> Message-ID: <4E6E1B40-8968-4B57-845C-CDE10B25A5E1@mcs.st-andrews.ac.uk> Dear Benjamin, dear GAP Forum, Thank you for reporting this - we have heard this three times so far, from users installing GAP as root outside their home directories (this will not affect you if you install and run GAP as the same user). What happened is that several packages were released with files not having appropriate permissions. This will be fixed in GAP 4.8.3. In the meantime, please use the following fix to make all package files world-readable: cd gap4r8 # or whatever the name is chmod -R a+r pkg (we suggest to call it on the whole 'pkg' subdirectory rather than on individual packages involved, just in case). Apologies for any inconveniences, Alexander P.S. The help system reads information about known help books, including package manuals, so this is an instance of the same problem with permissions. Calling `chmod -R a+r pkg` on the whole pkg directory should fix all problems at once. > On 27 Feb 2016, at 11:04, Benjamin Sambale wrote: > > Dear GAP people, > > I installed the new release and the compiling process seemed fine to me (using a recent arch linux version). When I started, I got the error that /usr/local/gap4r8/pkg/PolymakeInterface/PackageInfo.g is unreadable or does not exist (notice that it is a new package). However, the file does exist, but I found out that most files are owned by 50009 whoever that is (this was never a problem in previous versions). So I made this particular file readable for group users. Now I can start GAP and also the packages load, but the help system is broken: > > gap> ?help > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for `ReadLine' on 1 arguments > > I have no idea what is going on. Any ideas? > > Best wishes, > Benjamin From benjamin.sambale at gmail.com Sat Feb 27 18:33:05 2016 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Sat, 27 Feb 2016 19:33:05 +0100 Subject: [GAP Forum] installation problems with 4.8.2 In-Reply-To: <4E6E1B40-8968-4B57-845C-CDE10B25A5E1@mcs.st-andrews.ac.uk> References: <56D182AD.1000508@gmail.com> <4E6E1B40-8968-4B57-845C-CDE10B25A5E1@mcs.st-andrews.ac.uk> Message-ID: <56D1EBE1.7070209@gmail.com> Dear Alexander, many thanks! Problem solved. Benjamin Am 27.02.2016 um 14:09 schrieb Alexander Konovalov: > Dear Benjamin, dear GAP Forum, > > Thank you for reporting this - we have heard this three times so far, > from users installing GAP as root outside their home directories (this > will not affect you if you install and run GAP as the same user). > > What happened is that several packages were released with files not > having appropriate permissions. This will be fixed in GAP 4.8.3. In > the meantime, please use the following fix to make all package files > world-readable: > > cd gap4r8 # or whatever the name is > chmod -R a+r pkg > > (we suggest to call it on the whole 'pkg' subdirectory rather than on > individual packages involved, just in case). > > Apologies for any inconveniences, > Alexander > > P.S. The help system reads information about known help books, > including package manuals, so this is an instance of the same > problem with permissions. Calling `chmod -R a+r pkg` on the whole > pkg directory should fix all problems at once. > > >> On 27 Feb 2016, at 11:04, Benjamin Sambale wrote: >> >> Dear GAP people, >> >> I installed the new release and the compiling process seemed fine to me (using a recent arch linux version). When I started, I got the error that /usr/local/gap4r8/pkg/PolymakeInterface/PackageInfo.g is unreadable or does not exist (notice that it is a new package). However, the file does exist, but I found out that most files are owned by 50009 whoever that is (this was never a problem in previous versions). So I made this particular file readable for group users. Now I can start GAP and also the packages load, but the help system is broken: >> >> gap> ?help >> Error, no method found! For debugging hints type ?Recovery from NoMethodFound >> Error, no 1st choice method found for `ReadLine' on 1 arguments >> >> I have no idea what is going on. Any ideas? >> >> Best wishes, >> Benjamin > > > From sara.yaftian at gmail.com Wed Mar 2 06:03:19 2016 From: sara.yaftian at gmail.com (Sara Yaftian) Date: Wed, 2 Mar 2016 09:33:19 +0330 Subject: [GAP Forum] Boolean matrix Message-ID: Dear GAP Forum I need a m by n Boolean matrix for saving memory in my works. I know A:=NullMat(m,n); is a Null matrix but I need boolean version. I wrote the following code B:=[]; for i in [1..3] do Add(B,false); od; A:=[B]; for j in [1..3] do Add(A,B); od; this is the output: gap> A; [ [ false, false, false ], [ false, false, false ], [ false, false, false ], [ false, false, false ] ] and I obtained a null Boolean matrix but if I use the following command A[2][3] := true; I have the following problem gap> A; [ [ false, false, true ], [ false, false, true ], [ false, false, true ], [ false, false, true ] ] I need just A[2][3] := true not A[i][3]. Would you please help me? Best regards Sara From gordon.royle at uwa.edu.au Wed Mar 2 07:24:40 2016 From: gordon.royle at uwa.edu.au (Gordon Royle) Date: Wed, 2 Mar 2016 15:24:40 +0800 Subject: [GAP Forum] Boolean matrix In-Reply-To: References: Message-ID: Each iteration of Add(A,B) simply adds (to A) another reference to the same copy of B, so all four rows of A refer to a single copy of B. If you change that one copy (using *any* of the references) then every reference to that copy will reflect the change. You need to actually create four genuine ?deep copies" of B if you want them to be independent. (I am also not sure whether GAP treats arrays of booleans as bit patterns which is what you would need in order to really save memory) On 2 Mar 2016, at 2:03 pm, Sara Yaftian > wrote: Dear GAP Forum I need a m by n Boolean matrix for saving memory in my works. I know A:=NullMat(m,n); is a Null matrix but I need boolean version. I wrote the following code B:=[]; for i in [1..3] do Add(B,false); od; A:=[B]; for j in [1..3] do Add(A,B); od; this is the output: gap> A; [ [ false, false, false ], [ false, false, false ], [ false, false, false ], [ false, false, false ] ] and I obtained a null Boolean matrix but if I use the following command A[2][3] := true; I have the following problem gap> A; [ [ false, false, true ], [ false, false, true ], [ false, false, true ], [ false, false, true ] ] I need just A[2][3] := true not A[i][3]. Would you please help me? Best regards Sara _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum Professor Gordon Royle School of Mathematics and Statistics University of Western Australia Gordon.Royle at uwa.edu.au From alexk at mcs.st-and.ac.uk Tue Mar 8 22:34:19 2016 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Tue, 8 Mar 2016 22:34:19 +0000 Subject: [GAP Forum] Boolean matrix In-Reply-To: References: Message-ID: <36F148EA-875A-4CEB-B54A-FF36473A0FFE@mcs.st-andrews.ac.uk> Dear Gordon, Sara, dear Forum, > On 2 Mar 2016, at 07:24, Gordon Royle wrote: > > Each iteration of Add(A,B) simply adds (to A) another reference to the same copy of B, so all four rows of A refer to a single copy of B. > > If you change that one copy (using *any* of the references) then every reference to that copy will reflect the change. > > You need to actually create four genuine ?deep copies" of B if you want them to be independent. > > (I am also not sure whether GAP treats arrays of booleans as bit patterns which is what you would need in order to really save memory) GAP indeed has boolean lists (blists) which are internally represented in a compact form - see http://www.gap-system.org/Manuals/doc/ref/chap22.html for further details and some pitfalls to avoid. Best wishes Alexander From l.h.soicher at qmul.ac.uk Wed Mar 9 17:25:58 2016 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Wed, 9 Mar 2016 17:25:58 +0000 Subject: [GAP Forum] Important news for users and installers of GRAPE Message-ID: Dear GAP Forum, I am pleased to announce that the new version 4.7 of GRAPE is included in the recently released GAP 4.8.2. All users and installers of GRAPE should read this email in its entirety. The main new feature of GRAPE 4.7 is that the user may run their own separately installed copy of bliss or nauty or nauty/traces rather than using the included version of nauty 2.2 included in GRAPE 4.7. How to do this is described in Chapter 1 of the GRAPE 4.7 manual. Please note that the nauty interface for GRAPE 4.7 has only been extensively tested with the included version 2.2 of nauty, and the bliss interface has only been tested with version 0.73 of bliss. The interface to bliss was originally written by Jerry James (who I thank), who modified and packaged GRAPE 4.6.1 as a Fedora package (in Fedora 22, 23 and 24) to use bliss instead of nauty, due to Fedora licensing rules. Unfortunately, there were some bugs in this initial interface, which could cause wrong results to be returned. This interface was fixed for inclusion in GRAPE 4.7 and I am pleased to see that now there are Fedora package versions of GRAPE 4.7 for Fedora 23 and 24, but I have not tried them and would appreciate any feedback you have on those Fedora package versions. However, please note that I can only guarantee support for official versions of GRAPE obtained either from http://www.maths.qmul.ac.uk/~leonard/grape/ or as part of the official GAP distribution downloaded from http://www.gap-system.org The user should test any installation of GRAPE 4.7 (and its interface to bliss or nauty or nauty/traces) using the new GRAPE testfile. In GAP, the command Test(Filename(DirectoriesPackageLibrary("grape","tst"),"testall.tst")); should return the value true. I wish you happy computing with GRAPE 4.7! Regards, Leonard From samuel.lelievre at gmail.com Thu Mar 10 06:01:15 2016 From: samuel.lelievre at gmail.com (=?UTF-8?Q?Samuel_Leli=C3=A8vre?=) Date: Thu, 10 Mar 2016 07:01:15 +0100 Subject: [GAP Forum] Important news for users and installers of GRAPE In-Reply-To: References: Message-ID: 2016-03-09 18:25 GMT+01:00 Leonard Soicher : > The interface to bliss was originally written by Jerry James (who I > thank), who modified and packaged GRAPE 4.6.1 as a Fedora package > (in Fedora 22, 23 and 24) to use bliss instead of nauty, due to Fedora > licensing rules. Note that this might evolve since the authors of Nauty released version 2.6 under an updated license, see http://pallini.di.uniroma1.it/ http://users.cecs.anu.edu.au/~bdm/nauty/ and in particular http://users.cecs.anu.edu.au/~bdm/nauty/COPYRIGHT.txt Best, Samuel From z060822400814a at rezozer.net Thu Mar 10 23:33:03 2016 From: z060822400814a at rezozer.net (z060822400814a at rezozer.net) Date: Fri, 11 Mar 2016 00:33:03 +0100 Subject: [GAP Forum] Important news for users and installers of GRAPE In-Reply-To: References: Message-ID: <56E2042F.6050604@rezozer.net> Hello Forum: On 10/03/16 07:01, Samuel Leli?vre wrote: > 2016-03-09 18:25 GMT+01:00 Leonard Soicher : > >> The interface to bliss was originally written by Jerry James (who I >> thank), who modified and packaged GRAPE 4.6.1 as a Fedora package >> (in Fedora 22, 23 and 24) to use bliss instead of nauty, due to Fedora >> licensing rules. > > Note that this might evolve since the authors of Nauty > released version 2.6 under an updated license, see > > http://pallini.di.uniroma1.it/ > http://users.cecs.anu.edu.au/~bdm/nauty/ > > and in particular > > http://users.cecs.anu.edu.au/~bdm/nauty/COPYRIGHT.txt > > Best, Samuel Thanks for the notice. I am on my way to update the nauty package for Debian [1] and to resume the packaging for GRAPE [2]. Thanks, Jerome [1] https://packages.qa.debian.org/n/nauty.html [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762583 > > _______________________________________________ > 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 Mar 11 10:47:36 2016 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Fri, 11 Mar 2016 10:47:36 +0000 Subject: [GAP Forum] Important news for users and installers of GRAPE In-Reply-To: <56E2042F.6050604@rezozer.net> References: , <56E2042F.6050604@rezozer.net> Message-ID: Hello GAP-Forum, I installed nauty 2.6 (r2), and ran GRAPE 4.7, setting GRAPE_NAUTY := true; GRAPE_DREADNAUT_EXE := "mypathto/nauty26r2/dreadnaut"; Initial basic tests indicate that GRAPE 4.7 works with nauty 2.6 (r2), but I will continue with further checks. I remark that I have had a problem with bliss crashing on occasion. Regards, Leonard ________________________________________ From: forum-bounces at gap-system.org on behalf of z060822400814a at rezozer.net Sent: 10 March 2016 23:33 To: forum at gap-system.org Subject: Re: [GAP Forum] Important news for users and installers of GRAPE Hello Forum: On 10/03/16 07:01, Samuel Leli?vre wrote: > 2016-03-09 18:25 GMT+01:00 Leonard Soicher : > >> The interface to bliss was originally written by Jerry James (who I >> thank), who modified and packaged GRAPE 4.6.1 as a Fedora package >> (in Fedora 22, 23 and 24) to use bliss instead of nauty, due to Fedora >> licensing rules. > > Note that this might evolve since the authors of Nauty > released version 2.6 under an updated license, see > > http://pallini.di.uniroma1.it/ > http://users.cecs.anu.edu.au/~bdm/nauty/ > > and in particular > > http://users.cecs.anu.edu.au/~bdm/nauty/COPYRIGHT.txt > > Best, Samuel Thanks for the notice. I am on my way to update the nauty package for Debian [1] and to resume the packaging for GRAPE [2]. Thanks, Jerome [1] https://packages.qa.debian.org/n/nauty.html [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762583 > > _______________________________________________ > 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 axyd0000 at gmail.com Sat Mar 19 06:31:47 2016 From: axyd0000 at gmail.com (Gaurav Dhingra) Date: Sat, 19 Mar 2016 12:01:47 +0530 Subject: [GAP Forum] Reduction of elements of FpGroup Message-ID: <56ECF253.3090303@gmail.com> Hi GAP forum members, I am looking at the source code `FpElementNFFunction` (no documentation for it), in that there is a comment ``` # first try whether the group is ``small'' ``` what does "small" means in GAP terms? Is this some standard jargon used in GAP source code? If so how is this used internally? It will be helpful if you could explain this used in a little deail. I believe GAP uses somehow "small" group to refer to groups below certain "order", if this is the case. To what things it makes things useful? Thank you Gaurav From axyd0000 at gmail.com Sat Mar 19 06:33:13 2016 From: axyd0000 at gmail.com (Gaurav Dhingra) Date: Sat, 19 Mar 2016 12:03:13 +0530 Subject: [GAP Forum] Reduction of elements of FpGroup In-Reply-To: <56ECF253.3090303@gmail.com> References: <56ECF253.3090303@gmail.com> Message-ID: <56ECF2A9.2010103@gmail.com> May be here my title of mail is mis-leading. Sorry about that. On Saturday 19 March 2016 12:01 PM, Gaurav Dhingra wrote: > Hi GAP forum members, > > I am looking at the source code `FpElementNFFunction` (no > documentation for it), in that there is a comment > ``` > # first try whether the group is ``small'' > ``` > > what does "small" means in GAP terms? Is this some standard jargon > used in GAP source code? If so how is this used internally? It will be > helpful if you could explain this used in a little deail. > I believe GAP uses somehow "small" group to refer to groups below > certain "order", if this is the case. To what things it makes things > useful? > > Thank you > Gaurav From sl4 at st-andrews.ac.uk Sat Mar 19 13:20:11 2016 From: sl4 at st-andrews.ac.uk (Stephen Linton) Date: Sat, 19 Mar 2016 13:20:11 +0000 Subject: [GAP Forum] Reduction of elements of FpGroup In-Reply-To: <56ECF253.3090303@gmail.com> References: <56ECF253.3090303@gmail.com> Message-ID: <5291C739-3221-4470-970B-540286812427@st-andrews.ac.uk> Dear Gaurav Dhingra, Firstly, I?m afraid there is no standard meaning of ?small? in GAP. This is simply a comment by the developer of this routine to explain what the next few lines are doing. In fact we can see from the next lines that the test is whether the group can be seen to have order less than 50000. That is whether a faithful homomorphism is known, or can be found (FPFaithHom) and if so whether the image has order < 50000. This information is used to choose between two different ways of reducing the element to normal form. For ?small? groups the work is done in Factorisation which produces short words and is quick for small groups but can be very slow for larger ones. For larger groups a more sophisticated method is used, which may produce longer normal words, and requires quite a lot of setup but can be much faster for very large groups. Steve > On 19 Mar 2016, at 06:31, Gaurav Dhingra wrote: > > Hi GAP forum members, > > I am looking at the source code `FpElementNFFunction` (no documentation for it), in that there is a comment > ``` > # first try whether the group is ``small'' > ``` > > what does "small" means in GAP terms? Is this some standard jargon used in GAP source code? If so how is this used internally? It will be helpful if you could explain this used in a little deail. > I believe GAP uses somehow "small" group to refer to groups below certain "order", if this is the case. To what things it makes things useful? > > Thank you > Gaurav > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From graham.ellis at nuigalway.ie Mon Mar 21 09:53:01 2016 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Mon, 21 Mar 2016 09:53:01 +0000 Subject: [GAP Forum] lectureship at Galway In-Reply-To: References: <561E0F8F.3080502@gmail.com> , <56C33D7B.50403@gmail.com>, , , , , Message-ID: A permanent lectureship in mathematics at NUI Galway was advertized last Friday. See http://www.nuigalway.ie/media/humanresources/publicdocuments/Lecturer-BTB_Maths.docx . The closing date is 28 April 2016. 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 alexk at mcs.st-and.ac.uk Thu Mar 24 15:37:40 2016 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Thu, 24 Mar 2016 15:37:40 +0000 Subject: [GAP Forum] GAP 4.8.3 release announcement Message-ID: Dear GAP Forum, This is to announce the release of GAP 4.8.3, which could be downloaded from http://www.gap-system.org/Releases/ An overview of the changes introduced in GAP 4.8.3 is provided below. A more detailed version with hyperlinks to documentation is available here: http://www.gap-system.org/Manuals/doc/changes/chap2.htm New features: * New function TestPackage to run standard tests (if available) for a single package in the current GAP session. This function is also callable via make testpackage PKGNAME=pkgname to run package tests in the same settings that are used for testing GAP releases. Improved and extended functionality: * TestDirectory now prints a special status message to indicate the outcome of the test (this is convenient for automated testing). If necessary, this message may be suppressed by using the option suppressStatusMessage * Improved output of tracing methods (which may be invoked, for example, with TraceAllMethods) by displaying filename and line number in some more cases. Changed functionality: * Fixed some inconsistencies in the usage of IsGeneratorsOfSemigroup. Fixed bugs that could lead to incorrect results: * Fallback methods for conjugacy classes, that were intended only for finite groups, now use IsFinite filter to prevent them being called for infinite groups. [Reported by Gabor Horvath] Fixed bugs that could lead to break loops: * Calculating stabiliser for the alternating group caused a break loop in the case when it defers to the corresponding symmetric group. * It was not possible to use DotFileLatticeSubgroups for a trivial group. [Reported by Sergio Siccha] * A break loop while computing AutomorphismGroup for TransitiveGroup(12,269). [Reported by Ignat Soroko] * A break loop while computing conjugacy classes of PSL(6,4). [Reported by Martin Macaj] Other fixed bugs: * Fix for using Firefox as a default help viewer with SetHelpViewer. [Reported by Tom McDonough] In addition, GAP 4.8.3 distribution includes updates for 29 packages: ==================================================== Package name | Version | Date ---------------------------------------------------- ACE | 5.2 | 11/03/2016 ANUPQ | 3.1.4 | 08/03/2016 AutoDoc | 2016.03.08 | 08/03/2016 CRISP | 1.4.3 | 29/02/2016 cvec | 2.5.5 | 08/03/2016 Digraphs | 0.5 | 03/03/2016 FGA | 1.3.1 | 28/02/2016 fr | 2.3.3 | 27/02/2016 GBNP | 1.0.3 | 08/03/2016 genss | 1.6.4 | 08/03/2016 GUAVA | 3.13 | 31/01/2016 HeLP | 3.0 | 03/03/2016 IO | 4.4.6 | 08/03/2016 matgrp | 0.4 | 25/02/2015 NormalizInterface | 0.9.7 | 10/03/2016 nq | 2.5.3 | 08/03/2016 orb | 4.7.6 | 08/03/2016 Polenta | 1.3.6 | 08/03/2016 profiling | 0.5.1 | 24/02/2016 qaos | 1.2 | 25/02/2016 QPA | 1.24 | 24/02/2016 RCWA | 4.3.1 | 09/03/2016 recog | 1.2.5 | 08/03/2016 recogbase | 1.2.5 | 08/03/2016 ResClasses | 4.4.2 | 09/03/2016 Semigroups | 2.7.4 | 02/03/2016 Utils | 0.39 | 04/03/2016 XGAP | 4.24 | 28/02/2016 XMod | 2.56 | 08/03/2016 ==================================================== We encourage all users to upgrade to GAP 4.8.3. 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 z060822400814a at rezozer.net Sat Mar 26 16:08:53 2016 From: z060822400814a at rezozer.net (z060822400814a at rezozer.net) Date: Sat, 26 Mar 2016 17:08:53 +0100 Subject: [GAP Forum] Important news for users and installers of GRAPE: [DEBIAN] In-Reply-To: References: <56E2042F.6050604@rezozer.net> Message-ID: <56F6B415.8020106@rezozer.net> Hello Forum: GRAPE is now available as Debian package (DFSG-free) [1]. Note that the nauty Debian package has migrated from non-free to main (DFSG-free) [2] as nauty is now distributed under the Apache 2.0 license. Thanks, Jerome [1] https://packages.qa.debian.org/g/gap-grape.html [2] https://packages.qa.debian.org/n/nauty.html On 11/03/16 11:47, Leonard Soicher wrote: > Hello GAP-Forum, > > I installed nauty 2.6 (r2), and ran GRAPE 4.7, setting > > GRAPE_NAUTY := true; GRAPE_DREADNAUT_EXE := > "mypathto/nauty26r2/dreadnaut"; > > Initial basic tests indicate that GRAPE 4.7 works with nauty 2.6 > (r2), but I will continue with further checks. > > I remark that I have had a problem with bliss crashing on occasion. > > Regards, Leonard > > ________________________________________ From: > forum-bounces at gap-system.org on behalf > of z060822400814a at rezozer.net Sent: 10 > March 2016 23:33 To: forum at gap-system.org Subject: Re: [GAP Forum] > Important news for users and installers of GRAPE > > Hello Forum: > > On 10/03/16 07:01, Samuel Leli?vre wrote: >> 2016-03-09 18:25 GMT+01:00 Leonard Soicher >> : >> >>> The interface to bliss was originally written by Jerry James (who >>> I thank), who modified and packaged GRAPE 4.6.1 as a Fedora >>> package (in Fedora 22, 23 and 24) to use bliss instead of nauty, >>> due to Fedora licensing rules. >> >> Note that this might evolve since the authors of Nauty released >> version 2.6 under an updated license, see >> >> http://pallini.di.uniroma1.it/ >> http://users.cecs.anu.edu.au/~bdm/nauty/ >> >> and in particular >> >> http://users.cecs.anu.edu.au/~bdm/nauty/COPYRIGHT.txt >> >> Best, Samuel > > Thanks for the notice. > > I am on my way to update the nauty package for Debian [1] and to > resume the packaging for GRAPE [2]. > > Thanks, Jerome > > [1] https://packages.qa.debian.org/n/nauty.html [2] > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762583 > > >> >> _______________________________________________ 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.dikson2016 at gmail.com Mon Apr 11 08:19:55 2016 From: s.dikson2016 at gmail.com (Sara Dikson) Date: Mon, 11 Apr 2016 11:49:55 +0430 Subject: [GAP Forum] Used memory for a process Message-ID: Dear Forum, I am using a super computer for some processes. But suddenly, the GAP screen will be closed when my program is running. How can I prevent this problem? I would like to use all memory and run more than one program simultaneously. How can I do that? Best regards, Sara. From dmitrii.pasechnik at cs.ox.ac.uk Mon Apr 11 09:08:17 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Mon, 11 Apr 2016 09:08:17 +0100 Subject: [GAP Forum] Used memory for a process In-Reply-To: References: Message-ID: <20160411080817.GA20376@dimpase.cs.ox.ac.uk> Dear Sara, On Mon, Apr 11, 2016 at 11:49:55AM +0430, Sara Dikson wrote: > I am using a super computer for some processes. But suddenly, the GAP > screen will be closed when my program is running. > How can I prevent this problem? it depends a lot on how your supercomputer is set up. Often you can only run jobs which are "big" - either memory-wise or CPU-time wise only as a batch job, and not interactively. It could well be that this is exactly what causes your issue. One way or another, typically, if you need to run a task on a remote machine (super or not) you run it using a program called screen. https://www.gnu.org/software/screen/manual/screen.html > I would like to use all memory and run more than one program > simultaneously. > How can I do that? how GAP controls the amount of memory it can use, is described in the GAP manual. Again, it is not clear how your GAP in installed, whether the amount of RAM it can use is controlled by the supercomputer scheduler, etc... More details would be needed - perhaps you should talk to your supercomputer admins, too. If you use screen, then you can have many sessions of it running, with a GAP session in each of them. HTH, Dima From f.k.moftakhar at gmail.com Sat Apr 16 12:33:19 2016 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Sat, 16 Apr 2016 16:03:19 +0430 Subject: [GAP Forum] Source code of GAP Message-ID: Dear Forum The command "Print(ff)" in GAP gives the code of the "ff" written in GAP. See for example the following command in GAP: gap> Print(Combinations); function ( arg ) local combs, mset; if Length( arg ) = 1 then mset := ShallowCopy( arg[1] ); Sort( mset ); combs := CombinationsA( mset, 1, Length( mset ), [ ], 1 ); elif Length( arg ) = 2 then mset := ShallowCopy( arg[1] ); Sort( mset ); combs := CombinationsK( mset, 1, Length( mset ), arg[2], [ ], 1 ); else Error( "usage: Combinations( [, ] )" ); fi; return combs; end If I run the command "Print(CharacterTable)", then we can see the following GAP message: gap> Print(CharacterTable); Is it possible to find the GAP code for CharacterTable? If no, is it possible to find the source of the program for calculating with primitive roots of unity in GAP? finally where is the library of primitive roots of unity? For example I need to source program of GAP for computing E(8)-E(8)^3? Best regards Fatemeh Moftakhar -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From caj21 at st-andrews.ac.uk Sat Apr 16 13:59:05 2016 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Sat, 16 Apr 2016 12:59:05 +0000 Subject: [GAP Forum] Source code of GAP In-Reply-To: References: Message-ID: For operations like CharacterTable, there are several implementations in GAP. To find out what is actually called, you can (often) use 'ApplicableMethod', which accepts a function and it's arguments (as a list) For example, Print(ApplicableMethod(CharacterTable, [AlternatingGroup(5)])) shows the function for finding this character table. Unfortunately, if we try the same for primitive root, we get: gap> Print(ApplicableMethod(PrimitiveRoot, [GF(3^5)])); function ( object ) <> end This tells us this code is not written in GAP, but instead in C. On 16/04/2016, 12:33, "forum-bounces at gap-system.org on behalf of fatemeh moftakhar" wrote: >Dear Forum > >The command "Print(ff)" in GAP gives the code of the "ff" written in GAP. >See for example the following command in GAP: >gap> Print(Combinations); >function ( arg ) > local combs, mset; > if Length( arg ) = 1 then > mset := ShallowCopy( arg[1] ); > Sort( mset ); > combs := CombinationsA( mset, 1, Length( mset ), [ ], 1 ); > elif Length( arg ) = 2 then > mset := ShallowCopy( arg[1] ); > Sort( mset ); > combs := CombinationsK( mset, 1, Length( mset ), arg[2], [ ], 1 ); > else > Error( "usage: Combinations( [, ] )" ); > fi; > return combs; >end > >If I run the command "Print(CharacterTable)", then we can see the following >GAP message: > >gap> Print(CharacterTable); > > >Is it possible to find the GAP code for CharacterTable? > >If no, is it possible to find the source of the program for calculating >with primitive roots of unity in GAP? > >finally where is the library of primitive roots of unity? For example I >need to source program of GAP for computing E(8)-E(8)^3? > >Best regards >Fatemeh Moftakhar > >-- >Regards; >Miss Fatemeh 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 sam at Math.RWTH-Aachen.De Sun Apr 17 13:34:28 2016 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Sun, 17 Apr 2016 14:34:28 +0200 Subject: [GAP Forum] Source code of GAP In-Reply-To: References: Message-ID: <20160417123428.GB9297@gemma.math.rwth-aachen.de> Dear GAP Forum, probably the question is about the GAP functions that compute the irreducible characters of a given group, not about the function 'CharacterTable'. If yes then one should look for the methods for the function 'Irr', for example using 'ApplicableMethod'. Concerning the question about calculations with primitive roots of unity, I would suggest to look at the chapters ``Cyclotomics'' and ``Abelian Number Fields'' of the GAP Reference Manual. Also the paper cited as [Bre97] in this manual might be of interest. All the best, Thomas On Sat, Apr 16, 2016 at 04:03:19PM +0430, fatemeh moftakhar wrote: > Dear Forum > > The command "Print(ff)" in GAP gives the code of the "ff" written in GAP. > See for example the following command in GAP: > gap> Print(Combinations); > function ( arg ) > local combs, mset; > if Length( arg ) = 1 then > mset := ShallowCopy( arg[1] ); > Sort( mset ); > combs := CombinationsA( mset, 1, Length( mset ), [ ], 1 ); > elif Length( arg ) = 2 then > mset := ShallowCopy( arg[1] ); > Sort( mset ); > combs := CombinationsK( mset, 1, Length( mset ), arg[2], [ ], 1 ); > else > Error( "usage: Combinations( [, ] )" ); > fi; > return combs; > end > > If I run the command "Print(CharacterTable)", then we can see the following > GAP message: > > gap> Print(CharacterTable); > > > Is it possible to find the GAP code for CharacterTable? > > If no, is it possible to find the source of the program for calculating > with primitive roots of unity in GAP? > > finally where is the library of primitive roots of unity? For example I > need to source program of GAP for computing E(8)-E(8)^3? > > Best regards > Fatemeh Moftakhar From f.k.moftakhar at gmail.com Sun Apr 17 19:33:45 2016 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Sun, 17 Apr 2016 23:03:45 +0430 Subject: [GAP Forum] Source code of GAP In-Reply-To: <20160417123428.GB9297@gemma.math.rwth-aachen.de> References: <20160417123428.GB9297@gemma.math.rwth-aachen.de> Message-ID: Dear Professors Stefan Kohl, Chiristopher Jefferson and Thomas Breuer Thank you very much for your useful comments. Have a nice week ahead. Bset regards Fatemeh Moftakhar On Sun, Apr 17, 2016 at 5:04 PM, Thomas Breuer wrote: > Dear GAP Forum, > > probably the question is about the GAP functions that compute > the irreducible characters of a given group, > not about the function 'CharacterTable'. > > If yes then one should look for the methods for the function 'Irr', > for example using 'ApplicableMethod'. > > Concerning the question about calculations with primitive roots > of unity, I would suggest to look at the chapters ``Cyclotomics'' > and ``Abelian Number Fields'' of the GAP Reference Manual. > Also the paper cited as [Bre97] in this manual might be of interest. > > All the best, > Thomas > > > On Sat, Apr 16, 2016 at 04:03:19PM +0430, fatemeh moftakhar wrote: > > Dear Forum > > > > The command "Print(ff)" in GAP gives the code of the "ff" written in GAP. > > See for example the following command in GAP: > > gap> Print(Combinations); > > function ( arg ) > > local combs, mset; > > if Length( arg ) = 1 then > > mset := ShallowCopy( arg[1] ); > > Sort( mset ); > > combs := CombinationsA( mset, 1, Length( mset ), [ ], 1 ); > > elif Length( arg ) = 2 then > > mset := ShallowCopy( arg[1] ); > > Sort( mset ); > > combs := CombinationsK( mset, 1, Length( mset ), arg[2], [ ], 1 > ); > > else > > Error( "usage: Combinations( [, ] )" ); > > fi; > > return combs; > > end > > > > If I run the command "Print(CharacterTable)", then we can see the > following > > GAP message: > > > > gap> Print(CharacterTable); > > > > > > Is it possible to find the GAP code for CharacterTable? > > > > If no, is it possible to find the source of the program for calculating > > with primitive roots of unity in GAP? > > > > finally where is the library of primitive roots of unity? For example I > > need to source program of GAP for computing E(8)-E(8)^3? > > > > Best regards > > Fatemeh Moftakhar > > -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From s.dikson2016 at gmail.com Tue Apr 19 07:56:19 2016 From: s.dikson2016 at gmail.com (Sara Dikson) Date: Tue, 19 Apr 2016 11:26:19 +0430 Subject: [GAP Forum] "SimpleGroup" command Message-ID: Dear Forum I used the "SimpleGroup("J4");" command for the Janko group. But Gap can't recognize it. Also I used "AtlasGroup("J4");" but it return "fail". I try it for "J3" but it return "fail".? errorg.png ? How can I access to all simple groups? I send the error as an attachment. Best regards Sara From dmitrii.pasechnik at cs.ox.ac.uk Tue Apr 19 09:35:47 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Tue, 19 Apr 2016 09:35:47 +0100 Subject: [GAP Forum] "SimpleGroup" command In-Reply-To: References: Message-ID: <20160419083547.GA25303@dimpase.cs.ox.ac.uk> Dear Sarah, On Tue, Apr 19, 2016 at 11:26:19AM +0430, Sara Dikson wrote: > Dear Forum > I used the "SimpleGroup("J4");" command for the Janko group. > But Gap can't recognize it. Also I used "AtlasGroup("J4");" but it return > "fail". I try it for "J3" but it return "fail".? AtlasGroup("J3") and AtlasGroup("J4") should work, provided you have the necessary pre-requisits on. As far as I know it does not quite work on Windows, as it won't be able to get the data from the net. (Or it used to be the case in the past). Although you can download the data it needs manually. > errorg.png > you did not set the permissions on this link to be public, I cannot open it. HTH, Dmitrii From arashrafi at kashanu.ac.ir Tue Apr 19 09:43:44 2016 From: arashrafi at kashanu.ac.ir (arashrafi at kashanu.ac.ir) Date: Tue, 19 Apr 2016 13:13:44 +0430 (IRDT) Subject: [GAP Forum] "SimpleGroup" command In-Reply-To: <4646042.13146.1461054974790.JavaMail.root@mail.kashanu.ac.ir> Message-ID: <24089212.13148.1461055424897.JavaMail.root@mail.kashanu.ac.ir> Dear Sara, The character table of "J4" can be computed by the following command: gap> CharacterTable("j4"); For sporadic groups, it is possible to work with character tables (and no with groups other than Mathieu groups). But, a permutation or matrix representation for some sporadic groups are recorded in ATLAS of Finite Group Representations - Version 3 (http://brauer.maths.qmul.ac.uk/Atlas/v3/spor/). You can copy a generator set for "j4" from ATLAS and then paste into GAP. But you need a good computer. I hope this help you. Regards, Alireza ----- Original Message ----- From: "Sara Dikson" To: forum at gap-system.org Sent: Monday, April 18, 2016 11:56:19 PM Subject: [GAP Forum] "SimpleGroup" command Dear Forum I used the "SimpleGroup("J4");" command for the Janko group. But Gap can't recognize it. Also I used "AtlasGroup("J4");" but it return "fail". I try it for "J3" but it return "fail".? errorg.png ? How can I access to all simple groups? I send the error as an attachment. Best regards Sara _______________________________________________ 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 Tue Apr 19 10:12:12 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Tue, 19 Apr 2016 09:12:12 +0000 Subject: [GAP Forum] "SimpleGroup" command In-Reply-To: <20160419083547.GA25303@dimpase.cs.ox.ac.uk> References: <20160419083547.GA25303@dimpase.cs.ox.ac.uk> Message-ID: Dear Sara, Dima, No, this should work on Windows. It uses IO package to download data from the remote host, and GAP distribution for Windows includes IO binaries. Sara, which operating system do you actually have? This is where things may go wrong for AtlasRep: 1) IO package not compiled. Then AtlasRep may try to fallback to using wget for downloads, but if that is missing too, it will fail. 2) No internet connection, or some restrictive firewall settings. 3) No write permission in the directory where AtlasRep tries to write data. It will be useful to see the error message (and it is better to copy and paste the text into email instead of providing a screenshot) for the further advice. Hope this helps Alexander > On 19 Apr 2016, at 09:35, Dima Pasechnik wrote: > > Dear Sarah, > > On Tue, Apr 19, 2016 at 11:26:19AM +0430, Sara Dikson wrote: >> Dear Forum >> I used the "SimpleGroup("J4");" command for the Janko group. >> But Gap can't recognize it. Also I used "AtlasGroup("J4");" but it return >> "fail". I try it for "J3" but it return "fail".? > > AtlasGroup("J3") and AtlasGroup("J4") should work, provided you have the necessary pre-requisits > on. As far as I know it does not quite work on Windows, as it won't be able to get the data from the net. > (Or it used to be the case in the past). > Although you can download the data it needs manually. > > >> errorg.png >> > > you did not set the permissions on this link to be public, I cannot open it. > > HTH, > Dmitrii From z060822400814a at rezozer.net Tue Apr 19 12:53:43 2016 From: z060822400814a at rezozer.net (z060822400814a at rezozer.net) Date: Tue, 19 Apr 2016 12:53:43 +0100 Subject: [GAP Forum] gapdoc: BibTeX: url Message-ID: <57161C47.8090909@rezozer.net> Hello Forum: in a bib data file with which I am dealing, there is the entry @misc{Br, author = {A.~E. Brouwer}, title = {Bounds on the minimum distance of linear codes}, howpublished = {\url{http://www.win.tue.nl/~aeb/voorlincod.html}}, year = {1997?2006}, } When this bib data file is transformed to an XML file through the following commands bibdata := ParseBibFiles("doc/dum.bib");; WriteBibXMLextFile("doc/dum_bib.xml",bibdata), I get: A. E.Brouwer Bounds on the minimum distance of linear codes \url{http://www.win.tue.nl/~aeb/voorlincod.html} 1997?2006 Is it possible to get a more appropriate URL output in the XML output ? Thanks in advance, Jerome From dmitrii.pasechnik at cs.ox.ac.uk Tue Apr 19 13:25:34 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Tue, 19 Apr 2016 13:25:34 +0100 Subject: [GAP Forum] gapdoc: BibTeX: url In-Reply-To: <57161C47.8090909@rezozer.net> References: <57161C47.8090909@rezozer.net> Message-ID: <20160419122534.GA30120@dimpase.cs.ox.ac.uk> On Tue, Apr 19, 2016 at 12:53:43PM +0100, z060822400814a at rezozer.net wrote: > Hello Forum: > > in a bib data file with which I am dealing, there is the entry > > @misc{Br, > author = {A.~E. Brouwer}, > title = {Bounds on the minimum distance of linear codes}, > howpublished = {\url{http://www.win.tue.nl/~aeb/voorlincod.html}}, > year = {1997?2006}, > } for what it's worth, this link is obsolete. These tables now live in http://www.codetables.de/ Just in case, Dima From z060822400814a at rezozer.net Tue Apr 19 13:42:29 2016 From: z060822400814a at rezozer.net (z060822400814a at rezozer.net) Date: Tue, 19 Apr 2016 13:42:29 +0100 Subject: [GAP Forum] gapdoc: BibTeX: url In-Reply-To: <20160419122534.GA30120@dimpase.cs.ox.ac.uk> References: <57161C47.8090909@rezozer.net> <20160419122534.GA30120@dimpase.cs.ox.ac.uk> Message-ID: <571627B5.80703@rezozer.net> Hi Dima, thanks for remark. On 19/04/16 13:25, Dima Pasechnik wrote: > On Tue, Apr 19, 2016 at 12:53:43PM +0100, z060822400814a at rezozer.net wrote: >> Hello Forum: >> >> in a bib data file with which I am dealing, there is the entry >> >> @misc{Br, >> author = {A.~E. Brouwer}, >> title = {Bounds on the minimum distance of linear codes}, >> howpublished = {\url{http://www.win.tue.nl/~aeb/voorlincod.html}}, >> year = {1997?2006}, >> } > for what it's worth, this link is obsolete. These tables now live in http://www.codetables.de/ > Indeed, as some part of the full bib data file: I am not maintaining the GAP package itself, but its Debian package: once my Debian is ready, I will submit patch to the upstream maintainer of the GAP package. Whatever, for now, I want to fix some documentation issue, what is my job; revisiting and refreshing is rather under the authority of the upstream maintainer. Best wishes, Jerome > Just in case, > Dima > From rafaelv at uaeh.edu.mx Tue Apr 19 22:06:57 2016 From: rafaelv at uaeh.edu.mx (Rafael Villarroel) Date: Tue, 19 Apr 2016 16:06:57 -0500 Subject: [GAP Forum] procedure to change a permutation, not returning it Message-ID: <87a8kp1f66.fsf@uaeh.edu.mx> Hello GAP forum, Is it possible to define a function that returns, say, an integer, but changes a permutation given as argument, as a side effect. Something like this: testperm := function(s) local i; i := 1; s := s^-1; Print(s,"\n"); return i; end; but that when running it like this... gap> a:=(1,2,3); (1,2,3) gap> testperm(a); (1,3,2) 1 gap> a; (1,2,3) ...actually changes the permutation a. Thanks in advance, Rafael From caj21 at st-andrews.ac.uk Tue Apr 19 22:14:28 2016 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Tue, 19 Apr 2016 21:14:28 +0000 Subject: [GAP Forum] procedure to change a permutation, not returning it In-Reply-To: <87a8kp1f66.fsf@uaeh.edu.mx> References: <87a8kp1f66.fsf@uaeh.edu.mx> Message-ID: The short answer is no I'm afraid. The slightly longer answer is while you can't do this, you can do something similar if you pass in a list containing a permutation, or a record with a permutation member, and change that. For example: testperm := function(s) local i; i := 1; s[1] := s[1]^-1; Print(s,"\n"); return i; end; gap> a:=[(1,2,3)]; [ (1,2,3) ] gap> testperm(a); [ (1,3,2) ] 1 gap> a; [ (1,3,2) ] You might think, why can I change lists? The rule is you can change members of a list (or members of a record), but not the list itself. For example, if in our function we wrote ' s := [(3,2,1)] ', we would find that didn't change a, because now we are changing s, not a member of s. Chris On 19/04/2016, 22:06, "forum-bounces at gap-system.org on behalf of Rafael Villarroel" wrote: > >Hello GAP forum, > >Is it possible to define a function that returns, say, an integer, but >changes a permutation given as argument, as a side effect. > >Something like this: > >testperm := function(s) > local i; > i := 1; > s := s^-1; > Print(s,"\n"); > return i; >end; > >but that when running it like this... > >gap> a:=(1,2,3); >(1,2,3) >gap> testperm(a); >(1,3,2) >1 >gap> a; >(1,2,3) > >...actually changes the permutation a. > >Thanks in advance, >Rafael > > >_______________________________________________ >Forum mailing list >Forum at mail.gap-system.org >http://mail.gap-system.org/mailman/listinfo/forum From wclark at mail.usf.edu Thu Apr 28 20:01:13 2016 From: wclark at mail.usf.edu (W. Edwin Clark) Date: Thu, 28 Apr 2016 15:01:13 -0400 Subject: [GAP Forum] Checking equality of elements of words in a finitely presented group Message-ID: I am trying to use GAP to establish equality of two words in a finitely presented group and am having problems. First here is a successful test case: f:=FreeGroup(5);; rel:=[(f.(5)*f.(1))^5];; g:=f/rel;; u:=GeneratorsOfGroup(g);; (u[5]*u[1])^5 = Identity(g); #testing this identity which is actually a given relation works successfully true But if I add some more relators to rel, I cannot even get equality to the identity of the first relator. Here's what I tried: f:=FreeGroup(5);; rel:=[(f.(5)*f.(1))^5];; for i in [1..4] do Add(rel,(f.(i)*f.(i+1))*(f.(5)*f.(1))^(-1)); od; rel;; g:=f/rel;; u:=GeneratorsOfGroup(g); (u[5]*u[1])^5 = Identity(g); #I gave up waiting for an answer Why is this so difficult? What I really want in this group is to show that u[1]^5*u[2]*u[4]*u[1]*u[3]*u[5] = Identity(g) Any help would be appreciated. --Edwin Clark From D.F.Holt at warwick.ac.uk Fri Apr 29 14:01:19 2016 From: D.F.Holt at warwick.ac.uk (Derek Holt) Date: Fri, 29 Apr 2016 14:01:19 +0100 Subject: [GAP Forum] Checking equality of elements of words in a finitely presented group In-Reply-To: References: Message-ID: <20160429130119.GB5543@warwick.ac.uk> Dear Edwin, dear GAP Forum You can attempt to solve problems like this using the kbmag package (which needs to be compiled). I would guess that it is also possible to do so using the built-in GAP Knuth-Bendix rewriting system functionality, but I will leave someone else to help with that, since I am not so familiar with it. In this example, we are fortunate and, although the group is infinite, we get a finite confluent rewriting system (with 1734 rewrite rules), which we can use to solve the word problem. In most examples of infinite groups defined by a finite presentation, you do not get a finite confluent rewriting system (although you still may be able to find an automatic structure), but you can still use the rewrite rules to attempt to prove that eleemnts are equal to the identity. In this situation, you cannot in general prove that an element is not equal to the identity, but you can verify that it is. Here are the commands need for this calcualtion using kbmag. LoadPackage("kbmag"); f:=FreeGroup(5);; rel:=[(f.(5)*f.(1))^5];; for i in [1..4] do Add(rel,(f.(i)*f.(i+1))*(f.(5)*f.(1))^(-1)); od; g:=f/rel;; R:=KBMAGRewritingSystem(g);; MakeConfluent(R); #true F:=FreeStructureOfRewritingSystem(R);; u := GeneratorsOfGroup(F);; ReducedWord(R, (u[5]*u[1])^5); # ReducedWord(R, u[1]^5*u[2]*u[4]*u[1]*u[3]*u[5]); # Good luck! Derek Holt. On Thu, Apr 28, 2016 at 03:01:13PM -0400, W. Edwin Clark wrote: > I am trying to use GAP to establish equality of two words in a finitely > presented group and am having problems. > > First here is a successful test case: > > f:=FreeGroup(5);; > rel:=[(f.(5)*f.(1))^5];; > g:=f/rel;; > u:=GeneratorsOfGroup(g);; > (u[5]*u[1])^5 = Identity(g); #testing this identity which is actually a > given relation works successfully > > true > > But if I add some more relators to rel, I cannot even get > equality to the identity of the first relator. Here's what I tried: > > f:=FreeGroup(5);; > rel:=[(f.(5)*f.(1))^5];; > for i in [1..4] do > Add(rel,(f.(i)*f.(i+1))*(f.(5)*f.(1))^(-1)); > od; > rel;; > g:=f/rel;; > u:=GeneratorsOfGroup(g); > > (u[5]*u[1])^5 = Identity(g); #I gave up waiting for an answer > > Why is this so difficult? > > What I really want in this group is to show that > > u[1]^5*u[2]*u[4]*u[1]*u[3]*u[5] = Identity(g) > > Any help would be appreciated. > > --Edwin Clark > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From jdm3 at st-andrews.ac.uk Fri Apr 29 09:36:01 2016 From: jdm3 at st-andrews.ac.uk (James Mitchell) Date: Fri, 29 Apr 2016 08:36:01 +0000 Subject: [GAP Forum] Checking equality of elements of words in a finitely presented group In-Reply-To: <2db1c285781d4b0f875aac4da0f4b261@AM3PR06MB1362.eurprd06.prod.outlook.com> References: <2db1c285781d4b0f875aac4da0f4b261@AM3PR06MB1362.eurprd06.prod.outlook.com> Message-ID: Dear Edwin, Probably someone else will reply with a more elaborate answer, but you might want to consult: https://en.wikipedia.org/wiki/Word_problem_for_groups#Unsolvability_of_the_uniform_word_problem A very short answer is that the word problem for finitely presented groups is unsolvable, i.e. it is known that there is no single algorithm that can for every finitely presented group say whether two words represent the same element. Best wishes, James On Thu, 28 Apr 2016 at 20:03 W. Edwin Clark wrote: > I am trying to use GAP to establish equality of two words in a finitely > presented group and am having problems. > > First here is a successful test case: > > f:=FreeGroup(5);; > rel:=[(f.(5)*f.(1))^5];; > g:=f/rel;; > u:=GeneratorsOfGroup(g);; > (u[5]*u[1])^5 = Identity(g); #testing this identity which is actually a > given relation works successfully > > true > > But if I add some more relators to rel, I cannot even get > equality to the identity of the first relator. Here's what I tried: > > f:=FreeGroup(5);; > rel:=[(f.(5)*f.(1))^5];; > for i in [1..4] do > Add(rel,(f.(i)*f.(i+1))*(f.(5)*f.(1))^(-1)); > od; > rel;; > g:=f/rel;; > u:=GeneratorsOfGroup(g); > > (u[5]*u[1])^5 = Identity(g); #I gave up waiting for an answer > > Why is this so difficult? > > What I really want in this group is to show that > > u[1]^5*u[2]*u[4]*u[1]*u[3]*u[5] = Identity(g) > > Any help would be appreciated. > > --Edwin Clark > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From z060822400814a at rezozer.net Fri Apr 29 20:04:00 2016 From: z060822400814a at rezozer.net (z060822400814a at rezozer.net) Date: Fri, 29 Apr 2016 19:04:00 +0000 Subject: [GAP Forum] TestPackage and arbitrary message Message-ID: <5723B020.4010400@rezozer.net> Hello Forum: I am looking for a GAP way to perform GAP package installation tests with reproducible output (as in Test files, section 7.9 in the Reference Manual): TestPackage is certainly what I am looking for. Unfortunately, TestPackage outputs arbitrary messages (or not) when the tests succeed, something as: GRAPE package: testall.tst GAP4stones: 6 where the stones number is arbitrary (as CPU time can be) --- and sometime, there is no message at all. In practice, I place the TestPackage in a Test file (see above) and I launch something as echo "QUIT_GAP(Test(\"d/t/makecheck.tst\"));" | gap -A -q -T Is there a way to silence TestPackage in case of success ? For now, I use TestDirectory : echo "QUIT_GAP(TestDirectory(\"d/t\"));" | gap -A -q -T which seems to be blind to these messages. Thanks, Jerome From caj21 at st-andrews.ac.uk Wed May 4 20:15:36 2016 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Wed, 4 May 2016 19:15:36 +0000 Subject: [GAP Forum] TestPackage and arbitrary message In-Reply-To: <5723B020.4010400@rezozer.net> References: <5723B020.4010400@rezozer.net> Message-ID: Not at the moment, but this is an area where I think we need to improve our output. I would suggest writing a bug report on github.com/gap-system/gap , with a suggested new output. You could even work on a patch if you like. Chris On 29/04/2016, 20:04, "forum-bounces at gap-system.org on behalf of z060822400814a at rezozer.net" wrote: >Hello Forum: > >I am looking for a GAP way to perform GAP package installation tests with reproducible output >(as in Test files, section 7.9 in the Reference Manual): TestPackage is certainly what >I am looking for. Unfortunately, TestPackage outputs arbitrary messages (or not) when >the tests succeed, something as: > > GRAPE package: testall.tst > GAP4stones: 6 > >where the stones number is arbitrary (as CPU time can be) --- >and sometime, there is no message at all. In practice, I place the TestPackage >in a Test file (see above) and I launch something as > > echo "QUIT_GAP(Test(\"d/t/makecheck.tst\"));" | gap -A -q -T > >Is there a way to silence TestPackage in case of success ? > >For now, I use TestDirectory : > > echo "QUIT_GAP(TestDirectory(\"d/t\"));" | gap -A -q -T > >which seems to be blind to these messages. > >Thanks, >Jerome > > >_______________________________________________ >Forum mailing list >Forum at mail.gap-system.org >http://mail.gap-system.org/mailman/listinfo/forum From f.alibabaee at gmail.com Tue May 10 14:39:12 2016 From: f.alibabaee at gmail.com (fahime babaee) Date: Tue, 10 May 2016 14:39:12 +0100 Subject: [GAP Forum] Question Message-ID: Dear Forum Let $H$ and $K$ be finitely generated subgroups of the free group $F(n)$ such that $H\subseteq K$. We Know that $K$ is a free group. Now we choose basis for $K$ and $H$ and I want to rewrite the basis of $H$ in the chosen basis of $K$. I can do this calculation with hand by using automaton of $K$ but it take a long time. How can I do this with GAP? Fahime Alibabaei PhD student of Pure Mathematics(Algebra) University of Porto. From alexander.konovalov at st-andrews.ac.uk Wed May 11 21:45:06 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Wed, 11 May 2016 20:45:06 +0000 Subject: [GAP Forum] Question In-Reply-To: References: Message-ID: FYI: cross-posted yesterday and answered today at http://math.stackexchange.com/questions/1779212/ Alexander > On 10 May 2016, at 14:39, fahime babaee wrote: > > Dear Forum > > Let $H$ and $K$ be finitely generated subgroups of the free group $F(n)$ > such that $H\subseteq K$. We Know that $K$ is a free group. Now we choose > basis for $K$ and $H$ and I want to rewrite the basis of $H$ in the chosen > basis of $K$. I can do this calculation with hand by using automaton of $K$ > but it take a long time. How can I do this with GAP? > > Fahime Alibabaei > PhD student of Pure Mathematics(Algebra) University of Porto. From marek at mitros.org Fri May 13 15:30:49 2016 From: marek at mitros.org (Marek Mitros) Date: Fri, 13 May 2016 16:30:49 +0200 Subject: [GAP Forum] Square root of cyclotomic real number Message-ID: Dear All, I am doing following calculation and I need square root of cyclotomic number being real number. Here is example below. Is there any workaround for this ? What I am doing I obtained vector v of complex number which not unit length. In order to normalize it I perform following and I receive the error. Do I need more knowledge about cyclotomic numbers ? gap> v1:=v/Sqrt(v*ComplexConjugate(v)); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `Sqrt' on 1 arguments called from ( ) (...) gap> n:=E(20)-E(20)^9; E(20)-E(20)^9 gap> RealPart(n); E(20)-E(20)^9 gap> Sqrt(n); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `Sqrt' on 1 arguments called from Regards, Marek From hulpke at fastmail.fm Fri May 13 17:15:52 2016 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Fri, 13 May 2016 10:15:52 -0600 Subject: [GAP Forum] Square root of cyclotomic real number In-Reply-To: References: Message-ID: Dear Forum, Dear Marek Mitros, Sqrt (as a short hand for the ER cyclotomic) will only work for rational numbers. If you wanted a square root of a cyclotomic number you would need to factor x^2-a over a suitable cyclotomic field. Best, Alexander Hulpke > On May 13, 2016, at 8:30 AM, Marek Mitros wrote: > > Dear All, > > I am doing following calculation and I need square root of cyclotomic > number being real number. Here is example below. Is there any workaround > for this ? > What I am doing I obtained vector v of complex number which not unit > length. In order to normalize it I perform following and I receive the > error. Do I need more knowledge about cyclotomic numbers ? > > gap> v1:=v/Sqrt(v*ComplexConjugate(v)); > > Error, no method found! For debugging hints type ?Recovery from > NoMethodFound > > Error, no 1st choice method found for `Sqrt' on 1 arguments called from > > ( ) > > (...) > > gap> n:=E(20)-E(20)^9; > > E(20)-E(20)^9 > > gap> RealPart(n); > > E(20)-E(20)^9 > > gap> Sqrt(n); > > Error, no method found! For debugging hints type ?Recovery from > NoMethodFound > > Error, no 1st choice method found for `Sqrt' on 1 arguments called from > > > Regards, > > Marek > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From saeidi.amin at gmail.com Sat May 14 16:25:53 2016 From: saeidi.amin at gmail.com (Amin Saeidi) Date: Sat, 14 May 2016 17:25:53 +0200 Subject: [GAP Forum] Character Table of semigroups Message-ID: Dear all, I am trying to find the character tables of some finitely presented semigroups, say for example: . It is an inverse semigroup of order 14. I can Define this semigroup in GAP 4.8.3 but I fail to find the character table: *gap> IsInverseSemigroup(S);* *true* *gap> CharacterTableOfInverseSemigroup(S);* *Error, no method found! For debugging hints type ?Recovery from NoMethodFound* *Error, no 1st choice method found for `CharacterTableOfInverseSemigroup' on 1 arguments called from* *( )* * called from read-eval loop at line 87 of *stdin** *you can 'quit;' to quit to outer loop, or* *you can 'return;' to continue* I thought this command may only work for monoids, so I considered a monoid of order 15 but it didn't work either. However it works for some other monoids. For instance the command gives the character table of S if I write *S:=SymmetricInverseMonoid(3); * I will be grateful to let me know if it is a bug or I am doing something wrong. Best regards, Amin From marek at mitros.org Mon May 16 20:34:14 2016 From: marek at mitros.org (Marek Mitros) Date: Mon, 16 May 2016 21:34:14 +0200 Subject: [GAP Forum] Square root of cyclotomic real number In-Reply-To: References: Message-ID: Thank you for the answer. It is a pity, that I cannot obtain unitary matrix from the set of orthogonal columns. I must think of another method. Regards, Marek 13-05-2016 18:08 u?ytkownik "Alexander Hulpke" napisa?: > Dear Forum, Dear Marek Mitros, > > Sqrt (as a short hand for the ER cyclotomic) will only work for rational > numbers. If you wanted a square root of a cyclotomic number you would need > to factor x^2-a over a suitable cyclotomic field. > > Best, > > Alexander Hulpke > > > On May 13, 2016, at 8:30 AM, Marek Mitros wrote: > > > > Dear All, > > > > I am doing following calculation and I need square root of cyclotomic > > number being real number. Here is example below. Is there any workaround > > for this ? > > What I am doing I obtained vector v of complex number which not unit > > length. In order to normalize it I perform following and I receive the > > error. Do I need more knowledge about cyclotomic numbers ? > > > > gap> v1:=v/Sqrt(v*ComplexConjugate(v)); > > > > Error, no method found! For debugging hints type ?Recovery from > > NoMethodFound > > > > Error, no 1st choice method found for `Sqrt' on 1 arguments called from > > > > ( ) > > > > (...) > > > > gap> n:=E(20)-E(20)^9; > > > > E(20)-E(20)^9 > > > > gap> RealPart(n); > > > > E(20)-E(20)^9 > > > > gap> Sqrt(n); > > > > Error, no method found! For debugging hints type ?Recovery from > > NoMethodFound > > > > Error, no 1st choice method found for `Sqrt' on 1 arguments called from > > > > > > Regards, > > > > Marek > > _______________________________________________ > > 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 May 17 12:41:13 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dmitrii Pasechnik) Date: Tue, 17 May 2016 12:41:13 +0100 Subject: [GAP Forum] Square root of cyclotomic real number In-Reply-To: References: Message-ID: <20160517114113.GB18282@cs.ox.ac.uk> Dear Marek, Just in case, Sage(math) has no problem with computing these square roots. sage: n=libgap.eval('E(20)-E(20)^9').sage() sage: s=n.sqrt(); s # ugly, unsimplified sqrt(-(1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^7 + (1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^5 - (1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^3 + 1/2*I*sqrt(5) + 1/2*sqrt(2*sqrt(5) + 10) - 1/2*I) sage: n.n() # looking at numerical approximations 1.90211303259031 + 1.11022302462516e-16*I sage: (s^2).n() # looking at numerical approximations 1.90211303259031 - 2.22044604925031e-16*I One way or another, you need functionality to construct and to compute in quadratic extensions of cyclotomic fields, and this might be slow, unless someone programs a way to do the square root in the cyclotomic field (my number theory is not good, but IIRC you would always be able to work in cyclotomics, perhaps of bigger degree). HTH, Dima On Mon, May 16, 2016 at 09:34:14PM +0200, Marek Mitros wrote: > Thank you for the answer. It is a pity, that I cannot obtain unitary matrix > from the set of orthogonal columns. > I must think of another method. > > Regards, > Marek > 13-05-2016 18:08 u?ytkownik "Alexander Hulpke" napisa?: > > > Dear Forum, Dear Marek Mitros, > > > > Sqrt (as a short hand for the ER cyclotomic) will only work for rational > > numbers. If you wanted a square root of a cyclotomic number you would need > > to factor x^2-a over a suitable cyclotomic field. > > > > Best, > > > > Alexander Hulpke > > > > > On May 13, 2016, at 8:30 AM, Marek Mitros wrote: > > > > > > Dear All, > > > > > > I am doing following calculation and I need square root of cyclotomic > > > number being real number. Here is example below. Is there any workaround > > > for this ? > > > What I am doing I obtained vector v of complex number which not unit > > > length. In order to normalize it I perform following and I receive the > > > error. Do I need more knowledge about cyclotomic numbers ? > > > > > > gap> v1:=v/Sqrt(v*ComplexConjugate(v)); > > > > > > Error, no method found! For debugging hints type ?Recovery from > > > NoMethodFound > > > > > > Error, no 1st choice method found for `Sqrt' on 1 arguments called from > > > > > > ( ) > > > > > > (...) > > > > > > gap> n:=E(20)-E(20)^9; > > > > > > E(20)-E(20)^9 > > > > > > gap> RealPart(n); > > > > > > E(20)-E(20)^9 > > > > > > gap> Sqrt(n); > > > > > > Error, no method found! For debugging hints type ?Recovery from > > > NoMethodFound > > > > > > Error, no 1st choice method found for `Sqrt' on 1 arguments called from > > > > > > > > > Regards, > > > > > > Marek > > > _______________________________________________ > > > Forum mailing list > > > Forum at mail.gap-system.org > > > http://mail.gap-system.org/mailman/listinfo/forum > > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From dsxoiniana at gmail.com Tue May 17 14:04:44 2016 From: dsxoiniana at gmail.com (Dimitris Schinianakis) Date: Tue, 17 May 2016 15:04:44 +0200 Subject: [GAP Forum] Cayley diagrams for general groups Message-ID: Dear all, I'm a beginner in group theory, currently trying to solve all the material in the "A Book of abstract Algebra", by Pinter. I'd like to use Sage to verify some of the solutions but also to experiment a little bit with Cayley Diagrams. 1) Is there a way to draw a Cayley diagram in Sage by defining the group and the equations for the generators? For example let G={e,a,b,b^2,b^3,ab,ab^2,ab^3} and the generators satisfy a^2=e, b^4=e, ba=ab^2. e is of course the identity element. 2) I have a Cayley diagram with no labels, only connections and points are depicted. I need to create the group table. How can I be sure that my table is correct? Does a cayley diagram correspond always to only one group? Regards Dimitris From hulpke at fastmail.fm Tue May 17 15:59:25 2016 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Tue, 17 May 2016 08:59:25 -0600 Subject: [GAP Forum] Square root of cyclotomic real number In-Reply-To: <20160517114113.GB18282@cs.ox.ac.uk> References: <20160517114113.GB18282@cs.ox.ac.uk> Message-ID: <4779F1C7-113F-4A7C-84C6-E3EBDB62ED3F@fastmail.fm> Dear Forum, Dear Dima, > One way or another, you need functionality to construct and to compute > in quadratic extensions of cyclotomic fields, and this might be slow, > unless someone programs a way to do the square root in the cyclotomic > field (my number theory is not good, but IIRC you would always be able > to work in cyclotomics, perhaps of bigger degree). Alas no, and that?s the whole difficulty. The number you construct (as root of n=E(20)-E(20)^9) > sqrt(-(1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^7 + > (1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^5 - (1/4*I*sqrt(5) + > 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^3 + 1/2*I*sqrt(5) + 1/2*sqrt(2*sqrt(5) > + 10) - 1/2*I) has minimal polynomial x^8-5*x^4+5 with a nonabelian Galois group. By Kronecker-Weber, n has no square root in a cyclotomic field. (Indeed, if every square root of a cyclotomic number was cyclotomic, all 2-groups would be abelian.) While generic theory will give you a way to express such square roots in radicals, trying to do sensible arithmetic with such iterated radical expressions is rather delicate and will run into surprising problems concerning equality of different expressions (Keyword: Radial Denesting). I have not seen any method to perform such arithmetic universally, reasonably fast, and not prone to potential problems once it comes to issues such as branch cuts. Best, Alexander From wdjoyner at gmail.com Wed May 18 11:41:52 2016 From: wdjoyner at gmail.com (David Joyner) Date: Wed, 18 May 2016 06:41:52 -0400 Subject: [GAP Forum] Cayley diagrams for general groups In-Reply-To: References: Message-ID: On Tue, May 17, 2016 at 9:04 AM, Dimitris Schinianakis wrote: > Dear all, > > I'm a beginner in group theory, currently trying to solve all the material > in the "A Book of abstract Algebra", by Pinter. > > I'd like to use Sage to verify some of the solutions but also to experiment > a little bit with Cayley Diagrams. > I assume by Cayley diagram you mean Cayley graph, https://en.wikipedia.org/wiki/Cayley_graph > 1) Is there a way to draw a Cayley diagram in Sage by defining the group > and the equations for the generators? For example let > G={e,a,b,b^2,b^3,ab,ab^2,ab^3} and the generators satisfy a^2=e, b^4=e, > ba=ab^2. e is of course the identity element. > Not currently in Sage. However, in GAP, please check out the Grape and Digraphs packages at http://www.gap-system.org/Packages/packages.html The example below shows that your problem can be done in GAP using Grape. Please see the Grape manual for more options and examples. gap> f := FreeGroup( "a", "b" ); gap> g := f / [ f.1^2, f.2^3, (f.1*f.2)^5 ]; gap> CayleyGraph(g); rec( adjacencies := [ [ 5, 7, 13 ] ], group := , isGraph := true, isSimple := true, names := [ , b*a*(b*a*b)^2, a*b*a*(b*a*b)^2*a, b*a*(b*a*b)^2*b, b, b*(b*a)^2*b^2*a, b^2, (b*a)^2*b^2*a, b^2*a*(b*a*b)^2, a*(b*a*b)^2, a*(b*a*b)^2*b, (a*b)^2*b*a, a, a*b*a*(b*a*b)^2, b*a*(b*a*b)^2*a, (b*a*b)^2*a*b, b*(b*a)^2*b^2, b*a, a*(b*a*b)^2*a, a*b*(b*a)^2*b, (a*b)^2*b, b^2*a, (b*a)^2*b^2, (b*(b*a)^2)^2, a*b*a*(b*a*b)^2*b, a*b, a*b*(b*a)^2*b^2*a, a*(b*a*b)^2*a*b, a*b*(b*a)^2*b^2, a*b*a, (b*a*b)^2*a*b^2, b*(b*a)^2, b*a*b, b^2*a*b, (b*a*b^2*a)^2, (b*a)^2, a*b^2, (a*b)^3*b*a, (a*b^2*a*b)^2, (b*a*b)^2*a, b*(b*a)^2*b, b*a*b^2, ((a*b)^2*b)^2, a*b*(b*a)^2, (a*b)^2, b^2*a*b^2, (b*a)^2*b, (b*a*b^2*a)^2*b, (b*a*b)^2, (b*a*b)^2*b, b*a*b^2*a, a*b^2*a, (a*b)^3*b, (a*b^2*a*b)^2*a, a*b^2*a*b, ((a*b)^2*b)^2*a, (a*b)^2*a, (a*b^2)^2, (a*b)^3, ((a*b)^2*b)^2*a*b ], order := 60, representatives := [ 1 ], schreierVector := [ -1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2 ] ) > 2) I have a Cayley diagram with no labels, only connections and points are > depicted. I need to create the group table. How can I be sure that my table > is correct? Does a cayley diagram correspond always to only one group? > No, the Cayley graph does not correspond to only one group. In fact, one can select symmetric generators for ZZ/6ZZ (an abelian group) and S_3 (a non-abelian group) such that the associated Cayley graphs are isomorphic. By the way, while the GAP Forum is a place for questions and comments of general interest about GAP, the SageMath system has it's own support resources, including the SageMath support mailing list: http://www.sagemath.org/help-groups.html" See also the related stackexchange post: http://math.stackexchange.com/questions/1789007/plot-cayley-graphs-for-generic-element-groups Hope this helps! > Regards > Dimitris > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From samuel.lelievre at gmail.com Thu May 19 03:30:01 2016 From: samuel.lelievre at gmail.com (=?UTF-8?Q?Samuel_Leli=C3=A8vre?=) Date: Thu, 19 May 2016 04:30:01 +0200 Subject: [GAP Forum] Square root of cyclotomic real number In-Reply-To: <4779F1C7-113F-4A7C-84C6-E3EBDB62ED3F@fastmail.fm> References: <20160517114113.GB18282@cs.ox.ac.uk> <4779F1C7-113F-4A7C-84C6-E3EBDB62ED3F@fastmail.fm> Message-ID: Dear forum, To complement Dima's answer, if you are using Sage, you should be aware that Sage provides two useful exact fields: - QQbar, the algebraic closure of QQ, - AA, the "algebraic real field", which is the intersection of QQbar with the reals. I would advise you to work in AA for your problem. Defining, as Dima suggested, sage: a = libgap.eval('E(20)-E(20)^9').sage() you get an element in a cyclotomic field: sage: a -zeta20^7 + zeta20^5 - zeta20^3 + 2*zeta20 sage: a.parent() Cyclotomic Field of order 20 and degree 8 Now if you take its square root naively, you end up in Sage's "Symbolic Ring" which is something to avoid in general. sage: b = a.sqrt() sage: b sqrt(-(1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^7 + (1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^5 - (1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^3 + 1/2*I*sqrt(5) + 1/2*sqrt(2*sqrt(5) + 10) - 1/2*I) sage: b.parent() Symbolic Ring The best is to work with AA sage: AA Algebraic Real Field by moving there explicitly sage: aa = AA(a) sage: aa 1.902113032590308? sage: aa.parent() Algebraic Real Field Elements of AA are exact, and well-defined: sage: aa.minpoly() x^4 - 5*x^2 + 5 Taking square roots stays in AA sage: bb = aa.sqrt() sage: bb 1.379171139703231? sage: bb.parent() Algebraic Real Field sage: bb.minpoly() x^8 - 5*x^4 + 5 I hope this helps. Samuel From marek at mitros.org Thu May 19 06:48:05 2016 From: marek at mitros.org (Marek Mitros) Date: Thu, 19 May 2016 07:48:05 +0200 Subject: [GAP Forum] Square root of cyclotomic real number In-Reply-To: References: <20160517114113.GB18282@cs.ox.ac.uk> <4779F1C7-113F-4A7C-84C6-E3EBDB62ED3F@fastmail.fm> Message-ID: Thank you for advice. Let me explain my plan, then we can judge whether this advice work for me or it doesn't. I have group of size 5120 of complex matrices of size 16x16. In this group I listed two conjugacy classes of involutions of size 10 and 80. Next I wanted to change the basis in a way that mentioned 10 matrices are diagonal. Therefore I obtained 16 vectors as intersections of eigenspaces. Unfortunately these vectors are not unit length, so I tried to normalize them. This doesn't work in GAP, because complex numbers are cyclotomics there. Then my question appeared on GAP forum. If I could normalize those vectors, then obtained matrix A built with orthonormal hermitian vectors is unitary and I can apply x-> A^-1 x A to group elements. Can this plan be done in GAP or Sage ? Mentioned group is index 2 in involution stabilizer of Tits group ^2F4(2)'. Regards, Marek 19-05-2016 04:30 u?ytkownik "Samuel Leli?vre" napisa?: > Dear forum, > > To complement Dima's answer, if you are using Sage, > you should be aware that Sage provides two useful > exact fields: > - QQbar, the algebraic closure of QQ, > - AA, the "algebraic real field", which is the intersection > of QQbar with the reals. > > I would advise you to work in AA for your problem. > > Defining, as Dima suggested, > > sage: a = libgap.eval('E(20)-E(20)^9').sage() > > you get an element in a cyclotomic field: > > sage: a > -zeta20^7 + zeta20^5 - zeta20^3 + 2*zeta20 > sage: a.parent() > Cyclotomic Field of order 20 and degree 8 > > Now if you take its square root naively, you end up > in Sage's "Symbolic Ring" which is something to avoid > in general. > > sage: b = a.sqrt() > sage: b > sqrt(-(1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^7 > + (1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^5 > - (1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^3 > + 1/2*I*sqrt(5) + 1/2*sqrt(2*sqrt(5) + 10) - 1/2*I) > sage: b.parent() > Symbolic Ring > > The best is to work with AA > > sage: AA > Algebraic Real Field > > by moving there explicitly > > sage: aa = AA(a) > sage: aa > 1.902113032590308? > sage: aa.parent() > Algebraic Real Field > > Elements of AA are exact, and well-defined: > > sage: aa.minpoly() > x^4 - 5*x^2 + 5 > > Taking square roots stays in AA > > sage: bb = aa.sqrt() > sage: bb > 1.379171139703231? > sage: bb.parent() > Algebraic Real Field > sage: bb.minpoly() > x^8 - 5*x^4 + 5 > > I hope this helps. > Samuel > From dmitrii.pasechnik at cs.ox.ac.uk Thu May 19 10:32:21 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dmitrii Pasechnik) Date: Thu, 19 May 2016 10:32:21 +0100 Subject: [GAP Forum] Square root of cyclotomic real number In-Reply-To: References: <20160517114113.GB18282@cs.ox.ac.uk> <4779F1C7-113F-4A7C-84C6-E3EBDB62ED3F@fastmail.fm> Message-ID: <20160519093221.GA1757@dimpase.cs.ox.ac.uk> Dear Marek, On Thu, May 19, 2016 at 07:48:05AM +0200, Marek Mitros wrote: > Thank you for advice. Let me explain my plan, then we can judge whether > this advice work for me or it doesn't. > > I have group of size 5120 of complex matrices of size 16x16. In this group > I listed two conjugacy classes of involutions of size 10 and 80. Next I > wanted to change the basis in a way that mentioned 10 matrices are > diagonal. Therefore I obtained 16 vectors as intersections of eigenspaces. Another way to get a diagonalising transformation H would be to sum up g^*g, with g running through your size 10 conjugacy class T (and ^* denotes taking conjugate transpose). H is the matrix of a positive definite Hermitean form stabilised by the subgroup generated by T. Then you'd need to factor H=UU^* (A Cholesky factorisation), and conjugate the group by U. This is basically the standard way to show that every representation of a finite groups is unitary). Computing U needs taking square roots. However, there is also a decomposition of the form H=VDV^*, with V being lower-triangular with 1s on the diagonal, and D a diaginal matrix; such a decomposition does not need square roots, IIRC. To pass between U and V you'd need to take square roots of the elements of D. But you can conjugate your group by V, still getting a representation hopefully close to the form you want to see. (Computing V and D can be done in GAP, although you probably would need to program it yourself). > Unfortunately these vectors are not unit length, so I tried to normalize > them. This doesn't work in GAP, because complex numbers are cyclotomics > there. Then my question appeared on GAP forum. If I could normalize those > vectors, then obtained matrix A built with orthonormal hermitian vectors is > unitary and I can apply x-> A^-1 x A to group elements. using Sage, and the data type AA, as proposed by Samuel, one would see quickly whether building A is feasible in the sense that you do not get to deal with algebraic numbers of huge degree. (If you go the way I described above, you'd get to compute the Cholesky decomposition of H, something that is implemented in Sage). Converting a Sage matrix of algebraic numbers to a GAP one isn't implemented well, but should be doable. HTH, Dima > > Can this plan be done in GAP or Sage ? > > Mentioned group is index 2 in involution stabilizer of Tits group ^2F4(2)'. > > Regards, > Marek > 19-05-2016 04:30 u?ytkownik "Samuel Leli?vre" > napisa?: > > > Dear forum, > > > > To complement Dima's answer, if you are using Sage, > > you should be aware that Sage provides two useful > > exact fields: > > - QQbar, the algebraic closure of QQ, > > - AA, the "algebraic real field", which is the intersection > > of QQbar with the reals. > > > > I would advise you to work in AA for your problem. > > > > Defining, as Dima suggested, > > > > sage: a = libgap.eval('E(20)-E(20)^9').sage() > > > > you get an element in a cyclotomic field: > > > > sage: a > > -zeta20^7 + zeta20^5 - zeta20^3 + 2*zeta20 > > sage: a.parent() > > Cyclotomic Field of order 20 and degree 8 > > > > Now if you take its square root naively, you end up > > in Sage's "Symbolic Ring" which is something to avoid > > in general. > > > > sage: b = a.sqrt() > > sage: b > > sqrt(-(1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^7 > > + (1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^5 > > - (1/4*I*sqrt(5) + 1/4*sqrt(2*sqrt(5) + 10) - 1/4*I)^3 > > + 1/2*I*sqrt(5) + 1/2*sqrt(2*sqrt(5) + 10) - 1/2*I) > > sage: b.parent() > > Symbolic Ring > > > > The best is to work with AA > > > > sage: AA > > Algebraic Real Field > > > > by moving there explicitly > > > > sage: aa = AA(a) > > sage: aa > > 1.902113032590308? > > sage: aa.parent() > > Algebraic Real Field > > > > Elements of AA are exact, and well-defined: > > > > sage: aa.minpoly() > > x^4 - 5*x^2 + 5 > > > > Taking square roots stays in AA > > > > sage: bb = aa.sqrt() > > sage: bb > > 1.379171139703231? > > sage: bb.parent() > > Algebraic Real Field > > sage: bb.minpoly() > > x^8 - 5*x^4 + 5 > > > > I hope this helps. > > Samuel > > From primoz.moravec at fmf.uni-lj.si Thu May 19 11:52:48 2016 From: primoz.moravec at fmf.uni-lj.si (Primoz Moravec) Date: Thu, 19 May 2016 12:52:48 +0200 Subject: [GAP Forum] PhD position in Ljubljana Message-ID: <573D9B00.2010607@fmf.uni-lj.si> Dear Colleagues, could you pass this information on to potential PhD students who may consider applying to University of Ljubljana: The research program ?Algebra in Operator Theory and Financial Mathematics? at the Institute of Mathematics, Physics and Mechanics, Ljubljana, Slovenia, is offering funding for a student to undertake PhD research in one of the following areas: Functional Analysis Operator Theory Linear Algebra Ring Theory Semigroup Theory Universal Algebra Algebraic Geometry Group Theory Probability and Statistics Financial Mathematics See http://www.sicris.si/public/jqm/prg.aspx?lang=eng&opdescr=search&opt=2&subopt=700&code1=prg&code2=auto&psize=10&hits=13&page=1&count=1&search_term=algebra&id=9652&slng=eng&order_by= for more details about our research interests and members of the program. We are looking for a highly motivated research student with an interest in one of the above areas. The studentship offers costs of fees for taking PhD courses at the Department of Mathematics, University of Ljubljana, and an annual stipend of about 16.320 EUR per year for 4 years. It might also be possible to fund non-EU students on an equivalent basis, so students of any nationality are encouraged to apply. Students should normally have or expect at least Masters degree in Mathematics or a related discipline by 16 September 2016. The expected start of funding is 1 October 2016. Candidates should send their cover letter, CV and academic record to primoz.moravec at fmf.uni-lj.si They should also have two recommendation letters sent to the above email address. The closing date for applications is 30th June 2016. Best wishes, Primoz. From tvonp at gmx.net Thu May 19 13:37:47 2016 From: tvonp at gmx.net (Timm von Puttkamer) Date: Thu, 19 May 2016 14:37:47 +0200 Subject: [GAP Forum] Small Cancellation Conditions Message-ID: <573DB39B.6020709@gmx.net> Dear all, Has anybody written some GAP code which decides whether a group presentation satisfies one of the common small cancellation conditions? (for example, the C'(\lambda) condition) Best, Timm From s.dikson2016 at gmail.com Thu May 19 15:44:10 2016 From: s.dikson2016 at gmail.com (Sara Dikson) Date: Thu, 19 May 2016 19:14:10 +0430 Subject: [GAP Forum] Parallel Gap Message-ID: Dear Forum, 1) Is it possible I open several terminals in ubuntu and use gap processes simultaneous? 2) I would like use "Parallel Gap" but I don't have much information about it. I would be grateful if you help me. Best regard Sara Dikson From max at quendi.de Thu May 19 17:37:25 2016 From: max at quendi.de (Max Horn) Date: Thu, 19 May 2016 18:37:25 +0200 Subject: [GAP Forum] Square root of cyclotomic real number In-Reply-To: References: <20160517114113.GB18282@cs.ox.ac.uk> <4779F1C7-113F-4A7C-84C6-E3EBDB62ED3F@fastmail.fm> Message-ID: <19BB8A57-1C64-4B15-86C2-BB908C0EC70C@quendi.de> > On 19 May 2016, at 07:48, Marek Mitros wrote: > > Thank you for advice. Let me explain my plan, then we can judge whether > this advice work for me or it doesn't. > > I have group of size 5120 of complex matrices of size 16x16. In this group > I listed two conjugacy classes of involutions of size 10 and 80. Next I > wanted to change the basis in a way that mentioned 10 matrices are > diagonal. Therefore I obtained 16 vectors as intersections of eigenspaces. > Unfortunately these vectors are not unit length, so I tried to normalize > them. You don't need to normalize them in order to construct an orthogonal basis -- that is only necessary for an orthonormal basis. So if you really just need a base change to diagonalize your matrices, that is possible without computing squares and normed vectors. Cheers, Max From rafaelv at uaeh.edu.mx Fri May 27 22:11:03 2016 From: rafaelv at uaeh.edu.mx (Rafael Villarroel) Date: Fri, 27 May 2016 16:11:03 -0500 Subject: [GAP Forum] Why do my objects do not store attributes? Message-ID: <87pos78avs.fsf@uaeh.edu.mx> Hello GAP forum I'm puzzled as to why the following code, which I think should work, does not. I have reduced the situation to the following: --------------- start tempo.gap DeclareCategory("IsMyStruct", IsObject); StrFamily := NewFamily("MyStructsFamily"); StrType := NewType(StrFamily, IsMyStruct); DeclareRepresentation("StrRep", IsComponentObjectRep and IsAttributeStoringRep, ["uno", "dos"]); CreateStr := function(u,v) return Objectify(StrType,rec(uno:=u,dos:=v)); end; InstallMethod(PrintObj,[IsMyStruct],function(S) Print("uno=",S!.uno,"dos=",S!.dos); end); InstallMethod(ViewObj,[IsMyStruct],function(S) Print("uno=",S!.uno,"dos=",S!.dos); end); DeclareAttribute("MyAtr",IsMyStruct); InstallMethod(MyAtr,[IsMyStruct],function(S) return("hello"); end); DeclareProperty("MyProp",IsMyStruct); InstallMethod(MyProp,[IsMyStruct],function(S) return false; end); --------------- end tempo.gap then, after loading in a GAP 4.8.2 session, started with "gap -r": I get: gap> Read("tempo.gap"); gap> S:=CreateStr(1,2); uno=1dos=2 gap> MyAtr(S); "hello" gap> KnownAttributesOfObject(S); [ ] why is that? However, storing of properties work? gap> MyProp(S); false gap> KnownPropertiesOfObject(S); [ "MyProp" ] Thanks in advance for any help. Rafael From caj21 at st-andrews.ac.uk Fri May 27 22:39:56 2016 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Fri, 27 May 2016 21:39:56 +0000 Subject: [GAP Forum] Why do my objects do not store attributes? In-Reply-To: <87pos78avs.fsf@uaeh.edu.mx> References: <87pos78avs.fsf@uaeh.edu.mx> Message-ID: <81CF90E2-23A5-4C15-B779-1B1100C792AF@st-andrews.ac.uk> I?m not claiming this is obvious, but the definition of StrType has to have IsAttributeStoringRep: StrType := NewType(StrFamily, IsMyStruct and IsAttributeStoringRep); Chris On 27/05/2016, 22:11, "forum-bounces at gap-system.org on behalf of Rafael Villarroel" wrote: > >Hello GAP forum > >I'm puzzled as to why the following code, which I think should work, >does not. I have reduced the situation to the following: > >--------------- start tempo.gap > >DeclareCategory("IsMyStruct", IsObject); >StrFamily := NewFamily("MyStructsFamily"); >StrType := NewType(StrFamily, IsMyStruct); >DeclareRepresentation("StrRep", > IsComponentObjectRep and IsAttributeStoringRep, > ["uno", "dos"]); >CreateStr := function(u,v) > return Objectify(StrType,rec(uno:=u,dos:=v)); >end; > >InstallMethod(PrintObj,[IsMyStruct],function(S) Print("uno=",S!.uno,"dos=",S!.dos); > end); >InstallMethod(ViewObj,[IsMyStruct],function(S) Print("uno=",S!.uno,"dos=",S!.dos); > end); > >DeclareAttribute("MyAtr",IsMyStruct); >InstallMethod(MyAtr,[IsMyStruct],function(S) return("hello"); > end); > >DeclareProperty("MyProp",IsMyStruct); >InstallMethod(MyProp,[IsMyStruct],function(S) return false; > end); > >--------------- end tempo.gap > >then, after loading in a GAP 4.8.2 session, started with "gap -r": >I get: > >gap> Read("tempo.gap"); >gap> S:=CreateStr(1,2); >uno=1dos=2 >gap> MyAtr(S); >"hello" >gap> KnownAttributesOfObject(S); >[ ] > >why is that? However, storing of properties work? > >gap> MyProp(S); >false >gap> KnownPropertiesOfObject(S); >[ "MyProp" ] > >Thanks in advance for any help. > >Rafael > > > > > > > > > >_______________________________________________ >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 Fri Jun 10 16:27:31 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Fri, 10 Jun 2016 15:27:31 +0000 Subject: [GAP Forum] GAP 4.8.4 release announcement Message-ID: Dear GAP Forum, This is to announce the release of GAP 4.8.4, which could be downloaded from http://www.gap-system.org/Releases/ An overview of the changes introduced in GAP 4.8.4 is provided below. A more detailed version with hyperlinks to documentation is available here: http://www.gap-system.org/Manuals/doc/changes/chap2.html#X85F7B6F17D29A589 New features: * The GAP distribution now includes `bin/BuildPackages.sh`, a script which can be started from the `pkg` directory via `../bin/BuildPackages.sh` and will attempt to build as many packages as possible. It replaces the `InstPackages.sh` script which was not a part of the GAP distribution and had to be downloaded separately from the GAP website. The new script is more robust and simplifies adding new packages with binaries, as it requires no adjustments if the new package supports the standard `./configure; make` build procedure. Improved and extended functionality: * `SimpleGroup` now produces more informative error message in the case when `AtlasGroup` could not load the requested group. * An info message with suggestions to use `InfoPackageLoading` will now be displayed when `LoadPackage` returns `fail` (unless GAP is started with `-b` option). * The build system will now enable C++ support in GMP only if a working C++ compiler is detected. * More checks were added when embedding coefficient rings or rational numbers into polynomial rings in order to forbid adding polynomials in different characteristic. Fixed bugs that could lead to crashes: * Fixed the crash in `--cover` mode when reading files with more than 65,536 lines. Fixed bugs that could lead to incorrect results: * Fixed an error in the code for partial permutations that occurred on big-endian systems. [Reported by Bill Allombert] * Fixed the kernel method for `Remove` with one argument, which failed to reduce the length of a list to the position of the last bound entry. [Reported by Peter Schauenburg] Fixed bugs that could lead to break loops: * Fixed the break loop while using `Factorization` on permutation groups by removing some old code that relied on further caching in `Factorization`. [Reported by Grahame Erskine] * Fixed a problem with computation of maximal subgroups in an almost simple group. [Reported by Ramon Esteban Romero] * Added missing methods for `Intersection2` when one of the arguments is an empty list. [Reported by Wilf Wilson] Other fixed bugs: * Fixed several bugs in `RandomPrimitivePolynomial`. [Reported by Nusa Zidaric] * Fixed several problems with `Random` on long lists in 64-bit GAP installations. In addition, GAP 4.8.4 distribution includes updates for 13 GAP packages: ==================================================== Package name | Version | Date ---------------------------------------------------- AtlasRep | 1.5.1 | 30/03/2016 AutomGrp | 1.3 | 28/03/2016 Carat | 2.1.6 | 23/05/2016 CRISP | 1.4.4 | 20/03/2016 float | 0.7.3 | 11/05/2016 fr | 2.3.6 | 21/04/2016 gpd | 1.43 | 16/03/2016 IRREDSOL | 1.3.1 | 20/03/2016 NormalizInterface | 0.9.8 | 07/05/2016 RCWA | 4.4.1 | 22/05/2016 ResClasses | 4.5.0 | 14/05/2016 Semigroups | 2.8.0 | 26/05/2016 Utils | 0.40 | 17/03/2016 ==================================================== We encourage all users to upgrade to GAP 4.8.4. 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 Bill.Allombert at math.u-bordeaux.fr Sat Jun 11 22:20:09 2016 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Sat, 11 Jun 2016 23:20:09 +0200 Subject: [GAP Forum] make testinstall fails with GAP 4r8p4 Message-ID: <20160611212009.GA31317@yellowpig> Dear GAP team, I just tried to build gap 4r8p4 and make testinstall fails: testing: /tmp/gap4r8/tst/testinstall/morpheus.tst ########> Diff in /tmp/gap4r8/tst/testinstall/morpheus.tst, line 14: # Input is: LoadPackage("autpgrp", false);; # Expected output: # But found: #I autpgrp package is not available. Check that the name is correct #I and it is present in one of the GAP root directories (see '??RootPaths') ######## testing: /tmp/gap4r8/tst/testinstall/grpmat.tst ########> Diff in /tmp/gap4r8/tst/testinstall/grpmat.tst, line 32: # Input is: Size( AutomorphismGroup( G ) ); # Expected output: 24 # But found: #I autpgrp package is not available. Check that the name is correct #I and it is present in one of the GAP root directories (see '??RootPaths') 24 ######## This is due to the extra warnings for missing packages. make testinstall is not supposed to require extra packages. Cheers, Bill. From alexander.konovalov at st-andrews.ac.uk Sat Jun 11 22:38:42 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Sat, 11 Jun 2016 21:38:42 +0000 Subject: [GAP Forum] make testinstall fails with GAP 4r8p4 In-Reply-To: <20160611212009.GA31317@yellowpig> References: <20160611212009.GA31317@yellowpig> Message-ID: Dear Bill, First, this problem will not affect anyone who installed GAP using the full distribution downloaded from http://www.gap-system.org/Releases/, which includes all packages currently redistributed with GAP, so I suggest to discuss it in the open GAP development mailing list (CC). > On 11 Jun 2016, at 22:20, Bill Allombert wrote: > > Dear GAP team, > > I just tried to build gap 4r8p4 and make testinstall fails: > > testing: /tmp/gap4r8/tst/testinstall/morpheus.tst > ########> Diff in /tmp/gap4r8/tst/testinstall/morpheus.tst, line 14: > # Input is: > LoadPackage("autpgrp", false);; > # Expected output: > # But found: > #I autpgrp package is not available. Check that the name is correct > #I and it is present in one of the GAP root directories (see > '??RootPaths') > ######## The call to LoadPackage has been already removed from this file in the master branch: https://github.com/gap-system/gap/blob/master/tst/testinstall/morpheus.tst so in this case neither this warning nor the one below should not appear. Note that the performance of the system without autpgrp will be worse. In particular, it significantly improves the performance of AutomorphismGroup for p-groups. There are some other packages which also improve or extend the performance, and while there is an interest of testing the core GAP system without packages, and documenting dependencies better, for practical purposes I *strongly do not recommend to use the core GAP system without packages*. Best wishes Alexander > testing: /tmp/gap4r8/tst/testinstall/grpmat.tst > ########> Diff in /tmp/gap4r8/tst/testinstall/grpmat.tst, line 32: > # Input is: > Size( AutomorphismGroup( G ) ); > # Expected output: > 24 > # But found: > #I autpgrp package is not available. Check that the name is correct > #I and it is present in one of the GAP root directories (see > '??RootPaths') > 24 > ######## > > This is due to the extra warnings for missing packages. > make testinstall is not supposed to require extra packages. > > Cheers, > Bill. From r_n_tsai at yahoo.com Tue Jun 14 04:52:58 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Tue, 14 Jun 2016 03:52:58 +0000 (UTC) Subject: [GAP Forum] saving variables to a file In-Reply-To: <207889948.41401.1442357415550.JavaMail.yahoo@mail.yahoo.com> References: <1392580602.83900.YahooMailNeo@web121206.mail.ne1.yahoo.com> <207889948.41401.1442357415550.JavaMail.yahoo@mail.yahoo.com> Message-ID: <1472117324.2153157.1465876378635.JavaMail.yahoo@mail.yahoo.com> Dear GAP forum, I have same fairly large matrices that take a long time to calculate. Is there a way to save these efficiently?I read about saving the workspace but that won't help with this; I have many matrices and I want to load morethan one at a time. I tried printing to a text file but that takes a very long time because of the size of the matrices. Here's how I would have done this in Ocatave/Matlab : M1=(results of long calculations)save('M1.mat','M1);M2=...save('M2.mat','M2); so in the future I can bring up these matrices into gap like this ?: load('M1.mat','M1') load('M2.mat','M2') and now I can process both say M3=M1+M2,....in the same gap session... Any suggestions? Also, is there an efficient way to pass data between gap and Octave/Matlab? Thanks,R.N. From max at quendi.de Tue Jun 14 10:01:55 2016 From: max at quendi.de (Max Horn) Date: Tue, 14 Jun 2016 11:01:55 +0200 Subject: [GAP Forum] saving variables to a file In-Reply-To: <1472117324.2153157.1465876378635.JavaMail.yahoo@mail.yahoo.com> References: <1392580602.83900.YahooMailNeo@web121206.mail.ne1.yahoo.com> <207889948.41401.1442357415550.JavaMail.yahoo@mail.yahoo.com> <1472117324.2153157.1465876378635.JavaMail.yahoo@mail.yahoo.com> Message-ID: <555C8018-8D91-41A3-A34B-FF84D8F5AF0E@quendi.de> Dear R.N., > On 14 Jun 2016, at 05:52, R.N. Tsai wrote: > > Dear GAP forum, > I have same fairly large matrices that take a long time to calculate. Is there a way to save these efficiently?I read about saving the workspace but that won't help with this; I have many matrices and I want to load morethan one at a time. I tried printing to a text file but that takes a very long time because of the size of the matrices. To get a better feeling for your problem: How large are you matrices? Over which ring are they defined? > Here's how I would have done this in Ocatave/Matlab : > M1=(results of long calculations)save('M1.mat','M1);M2=...save('M2.mat','M2); > so in the future I can bring up these matrices into gap like this : > load('M1.mat','M1') > load('M2.mat','M2') > > and now I can process both say M3=M1+M2,....in the same gap session... > Any suggestions? > Also, is there an efficient way to pass data between gap and Octave/Matlab? One way to achieve this would be to use the IO_Pickle / IO_Unpickle functions from the GAP IO package. You can finde an example of using them here: . For details, see also Hope that helps, Max From dmitrii.pasechnik at cs.ox.ac.uk Tue Jun 14 12:19:58 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Tue, 14 Jun 2016 12:19:58 +0100 Subject: [GAP Forum] saving variables to a file In-Reply-To: <555C8018-8D91-41A3-A34B-FF84D8F5AF0E@quendi.de> References: <1392580602.83900.YahooMailNeo@web121206.mail.ne1.yahoo.com> <207889948.41401.1442357415550.JavaMail.yahoo@mail.yahoo.com> <1472117324.2153157.1465876378635.JavaMail.yahoo@mail.yahoo.com> <555C8018-8D91-41A3-A34B-FF84D8F5AF0E@quendi.de> Message-ID: <20160614111958.GA14547@dimpase.cs.ox.ac.uk> Dear all, On Tue, Jun 14, 2016 at 11:01:55AM +0200, Max Horn wrote: > > On 14 Jun 2016, at 05:52, R.N. Tsai wrote: > > I have same fairly large matrices that take a long time to calculate. Is there a way to save these efficiently?I read about saving the workspace but that won't help with this; I have many matrices and I want to load morethan one at a time. I tried printing to a text file but that takes a very long time because of the size of the matrices. > > To get a better feeling for your problem: How large are you matrices? Over which ring are they defined? > > > Here's how I would have done this in Ocatave/Matlab : > > M1=(results of long calculations)save('M1.mat','M1);M2=...save('M2.mat','M2); > > so in the future I can bring up these matrices into gap like this : > > load('M1.mat','M1') > > load('M2.mat','M2') > > > > and now I can process both say M3=M1+M2,....in the same gap session... > > Any suggestions? > > Also, is there an efficient way to pass data between gap and Octave/Matlab? One way to pass data between GAP and Matlab (or Octave) is to use Sage(math) (www.sagemath.org) which is a Python library with interfaces both to GAP (and libGAP) and Matlab (or Octave). And in fact you can do a lot with matrices using other Sagemath parts, e.g. numpy. Another thing I can think of is creating a Matlab mex interface to libGAP, which allows you to load GAP as callable C library. See https://bitbucket.org/vbraun/libgap (not sure whether Octave has such capabilities) By the way, this would be a great tool regardless of your task at hand. HTH, Dima > > One way to achieve this would be to use the IO_Pickle / IO_Unpickle functions from the GAP IO package. You can finde an example of using them here: . For details, see also > > > Hope that helps, > Max > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From r_n_tsai at yahoo.com Tue Jun 14 17:20:03 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Tue, 14 Jun 2016 16:20:03 +0000 (UTC) Subject: [GAP Forum] saving variables to a file In-Reply-To: <555C8018-8D91-41A3-A34B-FF84D8F5AF0E@quendi.de> References: <1392580602.83900.YahooMailNeo@web121206.mail.ne1.yahoo.com> <207889948.41401.1442357415550.JavaMail.yahoo@mail.yahoo.com> <1472117324.2153157.1465876378635.JavaMail.yahoo@mail.yahoo.com> <555C8018-8D91-41A3-A34B-FF84D8F5AF0E@quendi.de> Message-ID: <135404139.2393131.1465921203608.JavaMail.yahoo@mail.yahoo.com> Thanks for the response Max,The matrices are over GF(2), so hopefully they can be managed more efficiently than generic matrices.R.N From: Max Horn To: R.N. Tsai Cc: GAP Forum Sent: Tuesday, June 14, 2016 2:01 AM Subject: Re: [GAP Forum] saving variables to a file Dear R.N., > On 14 Jun 2016, at 05:52, R.N. Tsai wrote: > > Dear GAP forum, > I have same fairly large matrices that take a long time to calculate. Is there a way to save these efficiently?I read about saving the workspace but that won't help with this; I have many matrices and I want to load morethan one at a time. I tried printing to a text file but that takes a very long time because of the size of the matrices. To get a better feeling for your problem: How large are you matrices? Over which ring are they defined? > Here's how I would have done this in Ocatave/Matlab : > M1=(results of long calculations)save('M1.mat','M1);M2=...save('M2.mat','M2); > so in the future I can bring up these matrices into gap like this? : > load('M1.mat','M1') > load('M2.mat','M2') > > and now I can process both say M3=M1+M2,....in the same gap session... > Any suggestions? > Also, is there an efficient way to pass data between gap and Octave/Matlab? One way to achieve this would be to use the IO_Pickle / IO_Unpickle functions from the GAP IO package. You can finde an example of using them here: . For details, see also Hope that helps, Max From r_n_tsai at yahoo.com Wed Jun 15 18:02:00 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Wed, 15 Jun 2016 17:02:00 +0000 (UTC) Subject: [GAP Forum] saving variables to a file In-Reply-To: <20160614111958.GA14547@dimpase.cs.ox.ac.uk> References: <1392580602.83900.YahooMailNeo@web121206.mail.ne1.yahoo.com> <207889948.41401.1442357415550.JavaMail.yahoo@mail.yahoo.com> <1472117324.2153157.1465876378635.JavaMail.yahoo@mail.yahoo.com> <555C8018-8D91-41A3-A34B-FF84D8F5AF0E@quendi.de> <20160614111958.GA14547@dimpase.cs.ox.ac.uk> Message-ID: <1626947282.3072997.1466010120929.JavaMail.yahoo@mail.yahoo.com> Dear all,I'll definitely look into using Sage and libGAP, but it also seems simple enough to add such a?capability within GAP itself (save a single variable to a specific file even if restricting the variableto be numeric...)R.N. From: Dima Pasechnik To: R.N. Tsai Cc: GAP Forum Sent: Tuesday, June 14, 2016 4:19 AM Subject: Re: [GAP Forum] saving variables to a file Dear all, On Tue, Jun 14, 2016 at 11:01:55AM +0200, Max Horn wrote: > > On 14 Jun 2016, at 05:52, R.N. Tsai wrote: > > I have same fairly large matrices that take a long time to calculate. Is there a way to save these efficiently?I read about saving the workspace but that won't help with this; I have many matrices and I want to load morethan one at a time. I tried printing to a text file but that takes a very long time because of the size of the matrices. > > To get a better feeling for your problem: How large are you matrices? Over which ring are they defined? > > > Here's how I would have done this in Ocatave/Matlab : > > M1=(results of long calculations)save('M1.mat','M1);M2=...save('M2.mat','M2); > > so in the future I can bring up these matrices into gap like this? : > > load('M1.mat','M1') > > load('M2.mat','M2') > > > > and now I can process both say M3=M1+M2,....in the same gap session... > > Any suggestions? > > Also, is there an efficient way to pass data between gap and Octave/Matlab? One way to pass data between GAP and Matlab (or Octave) is to use Sage(math) (www.sagemath.org) which is a Python library with interfaces both to GAP (and libGAP) and Matlab (or Octave). And in fact you can do a lot with matrices using other Sagemath parts, e.g. numpy. Another thing I can think of is creating a Matlab mex interface to libGAP, which allows you to load GAP as callable C library. See https://bitbucket.org/vbraun/libgap (not sure whether Octave has such capabilities) By the way, this would be a great tool regardless of your task at hand. HTH, Dima > > One way to achieve this would be to use the IO_Pickle / IO_Unpickle functions from the GAP IO package. You can finde an example of using them here: . For details, see also > > > Hope that helps, > Max > > > _______________________________________________ > 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 Jun 15 21:51:30 2016 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Wed, 15 Jun 2016 21:51:30 +0100 (BST) Subject: [GAP Forum] saving variables to a file In-Reply-To: <135404139.2393131.1465921203608.JavaMail.yahoo@mail.yahoo.com> References: <1392580602.83900.YahooMailNeo@web121206.mail.ne1.yahoo.com> <207889948.41401.1442357415550.JavaMail.yahoo@mail.yahoo.com> <1472117324.2153157.1465876378635.JavaMail.yahoo@mail.yahoo.com> <555C8018-8D91-41A3-A34B-FF84D8F5AF0E@quendi.de> <135404139.2393131.1465921203608.JavaMail.yahoo@mail.yahoo.com> Message-ID: On Tue, June 14, 2016 5:20 pm, R.N. Tsai wrote: > Thanks for the response Max,The matrices are over GF(2), so hopefully they can be > managed more efficiently than generic matrices.R.N One thing you could do specifically for matrices over GF(2) is to save them as monochrome bitmap pictures -- this uses just one bit per entry (plus a tiny overhead for the description block for the picture): gap> M := NullMat(10000,10000,GF(2));; # just some GF(2) matrix, could be any gap> file := Filename(DirectoryTemporary(),"matrix.bmp"); # pick a file name "/tmp/tmIthaXA/matrix.bmp" gap> SaveAsBitmapPicture(M,file); # save the matrix to the file, 12.5 MB in this case gap> time; 18392 gap> N := LoadBitmapPicture(file);; # read it in again gap> time; 8320 gap> N = M; true Hope this helps, Stefan From r_n_tsai at yahoo.com Thu Jun 16 00:35:28 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Wed, 15 Jun 2016 23:35:28 +0000 (UTC) Subject: [GAP Forum] saving variables to a file In-Reply-To: References: <1392580602.83900.YahooMailNeo@web121206.mail.ne1.yahoo.com> <207889948.41401.1442357415550.JavaMail.yahoo@mail.yahoo.com> <1472117324.2153157.1465876378635.JavaMail.yahoo@mail.yahoo.com> <555C8018-8D91-41A3-A34B-FF84D8F5AF0E@quendi.de> <135404139.2393131.1465921203608.JavaMail.yahoo@mail.yahoo.com> Message-ID: <1883193502.3157980.1466033728338.JavaMail.yahoo@mail.yahoo.com> This is actually perfect for GF(2) matrices (which is all I need for now).Interestingly enough if I convert the GF(2) matrix to 1 and 0's (using "Int") the bitmapfile is 24x larger...that was just an experiment so it's actually better to stay in GF(2).I should be able to process a .bmp file in matlab so this could be one way to passthe matrices between the two.Thanks for your help.R.N. From: Stefan Kohl To: R.N. Tsai Cc: Max Horn ; GAP Forum Sent: Wednesday, June 15, 2016 1:51 PM Subject: Re: [GAP Forum] saving variables to a file On Tue, June 14, 2016 5:20 pm, R.N. Tsai wrote: > Thanks for the response Max,The matrices are over GF(2), so hopefully they can be > managed more efficiently than generic matrices.R.N One thing you could do specifically for matrices over GF(2) is to save them as monochrome bitmap pictures -- this uses just one bit per entry (plus a tiny overhead for the description block for the picture): gap> M := NullMat(10000,10000,GF(2));; # just some GF(2) matrix, could be any gap> file := Filename(DirectoryTemporary(),"matrix.bmp"); # pick a file name "/tmp/tmIthaXA/matrix.bmp" gap> SaveAsBitmapPicture(M,file); # save the matrix to the file, 12.5 MB in this case gap> time; 18392 gap> N := LoadBitmapPicture(file);; # read it in again gap> time; 8320 gap> N = M; true Hope this helps, ? ? Stefan From f.k.moftakhar at gmail.com Thu Jun 16 06:21:52 2016 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Wed, 15 Jun 2016 22:21:52 -0700 Subject: [GAP Forum] PartitionsSet Message-ID: Dear GAP forum I need all partitions of {2,..,21}. I mean, I want to run PartitionsSet([2..21]). I have servers with 512 gigabyte ram and my computer stopped after two days, because it needs more ram. I don't have better computer. Is there a faster algorithm? I need these partitions for computing supercharacter theories of Janko group J2. Best regards Fatemeh 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 Thu Jun 16 08:19:01 2016 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Thu, 16 Jun 2016 09:19:01 +0200 Subject: [GAP Forum] PartitionsSet In-Reply-To: References: Message-ID: <20160616071900.GA15203@gemma.math.rwth-aachen.de> Dear GAP Forum, Fatemeh Moftakhar wrote > I need all partitions of {2,..,21}. I mean, I want to run > PartitionsSet([2..21]). I have servers with 512 gigabyte ram and my > computer stopped after two days, because it needs more ram. I don't have > better computer. Is there a faster algorithm? I need these partitions for > computing supercharacter theories of Janko group J2. If you really have to run over all these partitions then this will take a lot of time. Let us assume that you can process a million of them in a second, which would be quite fast. In one year (356 days with 24 hours) you can then process the following number of partitions. gap> 10^6 * 3600 * 24 * 356; 30758400000000 gap> NrPartitionsSet( [ 2 .. 21 ] ); 51724158235372 I would suggest to find criteria that allow you to exclude most of the candidates without looking at them. All the best, Thomas P.S.: Even if you really have to look at each element from a large set then keeping all of them in memory at the same time is probably not necessary. For such purposes, one can think about developing a so-called iterator for the set. This is essentially a function that knows which was the last element you have looked at, and can can be called in order to give you the next element. Such functionality exists already in GAP for several kinds of sets, for example for the set of partitions of a given number. I am not aware of iterator functionality for the set of partitions of a set, but the above numbers show that this approach would not be suitable in your situation. From f.k.moftakhar at gmail.com Thu Jun 16 08:33:21 2016 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Thu, 16 Jun 2016 00:33:21 -0700 Subject: [GAP Forum] ReadLine Message-ID: Dear GAP forum Is there any way to read just a special line of a large file (that has too much data). Would you please explain with a sample code? Best regards Fatemeh Moftakhar -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From stefan at mcs.st-and.ac.uk Fri Jun 17 00:14:07 2016 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Fri, 17 Jun 2016 00:14:07 +0100 (BST) Subject: [GAP Forum] saving variables to a file In-Reply-To: <1883193502.3157980.1466033728338.JavaMail.yahoo@mail.yahoo.com> References: <1392580602.83900.YahooMailNeo@web121206.mail.ne1.yahoo.com> <207889948.41401.1442357415550.JavaMail.yahoo@mail.yahoo.com> <1472117324.2153157.1465876378635.JavaMail.yahoo@mail.yahoo.com> <555C8018-8D91-41A3-A34B-FF84D8F5AF0E@quendi.de> <135404139.2393131.1465921203608.JavaMail.yahoo@mail.yahoo.com> <1883193502.3157980.1466033728338.JavaMail.yahoo@mail.yahoo.com> Message-ID: On Thu, June 16, 2016 12:35 am, R.N. Tsai wrote: > This is actually perfect for GF(2) matrices (which is all I need for now).Interestingly > enough if I convert the GF(2) matrix to 1 and 0's (using "Int") the bitmapfile is 24x > larger... Yes -- if you take an integer matrix, you get a 24-bit color picture, where the entries of the matrix are read as 256^2 * red value + 256 * green value + blue value. Stefan > From: Stefan Kohl > To: R.N. Tsai > Cc: Max Horn ; GAP Forum > Sent: Wednesday, June 15, 2016 1:51 PM > Subject: Re: [GAP Forum] saving variables to a file > > On Tue, June 14, 2016 5:20 pm, R.N. Tsai wrote: >> Thanks for the response Max,The matrices are over GF(2), so hopefully they can be >> managed more efficiently than generic matrices.R.N > > One thing you could do specifically for matrices over GF(2) is to save them > as monochrome bitmap pictures -- this uses just one bit per entry (plus a tiny > overhead for the description block for the picture): > > gap> M := NullMat(10000,10000,GF(2));; # just some GF(2) matrix, could be any > gap> file := Filename(DirectoryTemporary(),"matrix.bmp"); # pick a file name > "/tmp/tmIthaXA/matrix.bmp" > gap> SaveAsBitmapPicture(M,file); # save the matrix to the file, 12.5 MB in this case > gap> time; > 18392 > gap> N := LoadBitmapPicture(file);; # read it in again > gap> time; > 8320 > gap> N = M; > true > > Hope this helps, > > ?? ?? Stefan > > > > > From l.h.soicher at qmul.ac.uk Tue Jun 21 09:38:55 2016 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Tue, 21 Jun 2016 08:38:55 +0000 Subject: [GAP Forum] Announcing the SLA package Message-ID: Dear Forum Members, It is my pleasure to announce formally the official acceptance of the SLA package. The officially accepted version 1.1 of SLA has been publicly available in GAP starting with GAP version 4.8.2, and I apologise for the lateness of this announcement. SLA provides functions for computing with various aspects of the theory of simple Lie algebras in characteristic zero. The SLA package is authored by Willem de Graaf (University of Trento), and on behalf of the GAP Council, I thank him for this contribution to GAP. Leonard Soicher (Chair of the GAP Council) From l.h.soicher at qmul.ac.uk Tue Jun 21 10:25:56 2016 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Tue, 21 Jun 2016 09:25:56 +0000 Subject: [GAP Forum] Announcing the AutomGrp package Message-ID: Dear Forum Members, It is my pleasure to announce formally the official acceptance of the AutomGrp package. The officially accepted version 1.3 of AutomGrp is now available in the newly released GAP version 4.8.4. AutomGrp provides methods for computations with groups and semigroups generated by finite automata or given by wreath recursion, as well as with their finitely generated subgroups and elements. The AutomGroup package is authored by Yevgen Muntyan (Tableau Software) and Dmytro Savchuk (University of South Florida), and on behalf of the GAP Council, I thank them for this contribution to GAP. Leonard Soicher (Chair of the GAP Council) From fawadhayat05 at gmail.com Fri Jun 24 10:05:38 2016 From: fawadhayat05 at gmail.com (Fawad Hayat) Date: Fri, 24 Jun 2016 05:05:38 -0400 Subject: [GAP Forum] FAWAD ALI M.Phil (Pure Mathematics) 3rd semester scholar From Pakistan, Message-ID: Hello sir, sir I have a problem that how to write a command in GAP the automorphism group of finite abelian group and their fixed points. Let Z_pXZ_q be cyclic group where p & q are distinct primes, Let suppose p=2 & q=3 => G:=Z_2XZ_3= {(0,0),(0,1),(0,2),(1,0),(1,1),(1,2)} be a cyclic group, and 'd' is the divisor of the order of a group G i.e ( d/IGI =>d=1,2,3,6) how to list all the automorphisms of a group Aut(G), and how to find explicitly all those automorphisms fixing 'd' elements, where fix means f(x)=x ; for some x belongs to G & for f belongs to Aut(G). f(e)=e : by homomorphism property, i.e For d=1, A={set of all those automorphisms of Aut(G) fixing d=1 element only ( Identity element)} For d=2, B={set of all those automorphisms of Aut(G) fixing d=2 element} For d=3 C={set of all those automorphisms of Aut(G) fixing d=3 element} For d=6 D={ I : because identity is the only auto fixing all the elements of a group G } Sir, I need The command which gives me the complete calculation from GAP Thanks Sir, Regards FAWAD ALI From pakistan From fawadhayat05 at gmail.com Fri Jun 24 22:04:31 2016 From: fawadhayat05 at gmail.com (Fawad Hayat) Date: Sat, 25 Jun 2016 02:04:31 +0500 Subject: [GAP Forum] Forum Digest, Vol 151, Issue 3 In-Reply-To: References: Message-ID: Dear Forum please I need your response.. thanks FAWAD ALI On Fri, Jun 24, 2016 at 2:05 PM, wrote: > Send Forum mailing list submissions to > forum at mail.gap-system.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://mail.gap-system.org/mailman/listinfo/forum > or, via email, send a message with subject or body 'help' to > forum-request at mail.gap-system.org > > You can reach the person managing the list at > forum-owner at mail.gap-system.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Forum digest..." > > > Today's Topics: > > 1. PartitionsSet (fatemeh moftakhar) > 2. Re: PartitionsSet (Thomas Breuer) > 3. ReadLine (fatemeh moftakhar) > 4. Re: saving variables to a file (Stefan Kohl) > 5. Announcing the SLA package (Leonard Soicher) > 6. Announcing the AutomGrp package (Leonard Soicher) > 7. FAWAD ALI M.Phil (Pure Mathematics) 3rd semester scholar From > Pakistan, (Fawad Hayat) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 15 Jun 2016 22:21:52 -0700 > From: fatemeh moftakhar > To: forum at gap-system.org > Subject: [GAP Forum] PartitionsSet > Message-ID: > < > CAOEkHNL7a2wFTZVgiFvu+4fcGPm-bGBeuy1uRbtP_auaQEe3qw at mail.gmail.com> > Content-Type: text/plain; charset=UTF-8 > > Dear GAP forum > > I need all partitions of {2,..,21}. I mean, I want to run > PartitionsSet([2..21]). I have servers with 512 gigabyte ram and my > computer stopped after two days, because it needs more ram. I don't have > better computer. Is there a faster algorithm? I need these partitions for > computing supercharacter theories of Janko group J2. > > > > Best regards > Fatemeh Moftakhar > > > > -- > Regards; > Miss Fatemeh Moftakhar > PhD Candidate, > Department of Pure Mathematics, > Faculty of Mathematical Sciences, > University of Kashan, Kashan, Iran > > > ------------------------------ > > Message: 2 > Date: Thu, 16 Jun 2016 09:19:01 +0200 > From: Thomas Breuer > To: fatemeh moftakhar , forum at gap-system.org > Subject: Re: [GAP Forum] PartitionsSet > Message-ID: <20160616071900.GA15203 at gemma.math.rwth-aachen.de> > Content-Type: text/plain; charset=us-ascii > > Dear GAP Forum, > > Fatemeh Moftakhar wrote > > > I need all partitions of {2,..,21}. I mean, I want to run > > PartitionsSet([2..21]). I have servers with 512 gigabyte ram and my > > computer stopped after two days, because it needs more ram. I don't have > > better computer. Is there a faster algorithm? I need these partitions for > > computing supercharacter theories of Janko group J2. > > If you really have to run over all these partitions then > this will take a lot of time. > Let us assume that you can process a million of them in a second, > which would be quite fast. > In one year (356 days with 24 hours) you can then process > the following number of partitions. > > gap> 10^6 * 3600 * 24 * 356; > 30758400000000 > gap> NrPartitionsSet( [ 2 .. 21 ] ); > 51724158235372 > > I would suggest to find criteria that allow you to exclude most of the > candidates without looking at them. > > All the best, > Thomas > > P.S.: > Even if you really have to look at each element from a large set > then keeping all of them in memory at the same time is probably > not necessary. > For such purposes, one can think about developing a so-called iterator > for the set. > This is essentially a function that knows which was the last element > you have looked at, and can can be called in order to give you the > next element. > Such functionality exists already in GAP for several kinds of sets, > for example for the set of partitions of a given number. > I am not aware of iterator functionality for the set of partitions > of a set, > but the above numbers show that this approach would not be suitable > in your situation. > > > > > ------------------------------ > > Message: 3 > Date: Thu, 16 Jun 2016 00:33:21 -0700 > From: fatemeh moftakhar > To: forum at gap-system.org > Subject: [GAP Forum] ReadLine > Message-ID: > QW2paWJDhS9NUD47D6w at mail.gmail.com> > Content-Type: text/plain; charset=UTF-8 > > Dear GAP forum > > Is there any way to read just a special line of a large file (that has too > much data). Would you please explain with a sample code? > > Best regards > Fatemeh Moftakhar > > -- > Regards; > Miss Fatemeh Moftakhar > PhD Candidate, > Department of Pure Mathematics, > Faculty of Mathematical Sciences, > University of Kashan, Kashan, Iran > > > ------------------------------ > > Message: 4 > Date: Fri, 17 Jun 2016 00:14:07 +0100 (BST) > From: "Stefan Kohl" > To: "R.N. Tsai" > Cc: GAP Forum > Subject: Re: [GAP Forum] saving variables to a file > Message-ID: > Content-Type: text/plain;charset=iso-8859-1 > > On Thu, June 16, 2016 12:35 am, R.N. Tsai wrote: > > This is actually perfect for GF(2) matrices (which is all I need for > now).Interestingly > > enough if I convert the GF(2) matrix to 1 and 0's (using "Int") the > bitmapfile is 24x > > larger... > > Yes -- if you take an integer matrix, you get a 24-bit color picture, > where the > entries of the matrix are read as 256^2 * red value + 256 * green value + > blue value. > > Stefan > > > From: Stefan Kohl > > To: R.N. Tsai > > Cc: Max Horn ; GAP Forum > > Sent: Wednesday, June 15, 2016 1:51 PM > > Subject: Re: [GAP Forum] saving variables to a file > > > > On Tue, June 14, 2016 5:20 pm, R.N. Tsai wrote: > >> Thanks for the response Max,The matrices are over GF(2), so hopefully > they can be > >> managed more efficiently than generic matrices.R.N > > > > One thing you could do specifically for matrices over GF(2) is to save > them > > as monochrome bitmap pictures -- this uses just one bit per entry (plus > a tiny > > overhead for the description block for the picture): > > > > gap> M := NullMat(10000,10000,GF(2));; # just some GF(2) matrix, could > be any > > gap> file := Filename(DirectoryTemporary(),"matrix.bmp"); # pick a file > name > > "/tmp/tmIthaXA/matrix.bmp" > > gap> SaveAsBitmapPicture(M,file); # save the matrix to the file, 12.5 MB > in this case > > gap> time; > > 18392 > > gap> N := LoadBitmapPicture(file);; # read it in again > > gap> time; > > 8320 > > gap> N = M; > > true > > > > Hope this helps, > > > > ?? ?? Stefan > > > > > > > > > > > > > > > ------------------------------ > > Message: 5 > Date: Tue, 21 Jun 2016 08:38:55 +0000 > From: Leonard Soicher > To: "forum at gap-system.org" > Subject: [GAP Forum] Announcing the SLA package > Message-ID: > < > VI1PR07MB084605159C07DB25A4FAAD388E2B0 at VI1PR07MB0846.eurprd07.prod.outlook.com > > > > Content-Type: text/plain; charset="iso-8859-1" > > > Dear Forum Members, > > It is my pleasure to announce formally the official acceptance > of the SLA package. The officially accepted version 1.1 of SLA has > been publicly available in GAP starting with GAP version 4.8.2, > and I apologise for the lateness of this announcement. > > SLA provides functions for computing with various aspects of > the theory of simple Lie algebras in characteristic zero. > > The SLA package is authored by Willem de Graaf (University of Trento), > and on behalf of the GAP Council, I thank him for this contribution to GAP. > > Leonard Soicher > (Chair of the GAP Council) > > > > ------------------------------ > > Message: 6 > Date: Tue, 21 Jun 2016 09:25:56 +0000 > From: Leonard Soicher > To: "forum at gap-system.org" > Subject: [GAP Forum] Announcing the AutomGrp package > Message-ID: > < > VI1PR07MB0846F9DF39864EBF0031D7498E2B0 at VI1PR07MB0846.eurprd07.prod.outlook.com > > > > Content-Type: text/plain; charset="iso-8859-1" > > > Dear Forum Members, > > It is my pleasure to announce formally the official acceptance > of the AutomGrp package. The officially accepted version 1.3 of AutomGrp > is now available in the newly released GAP version 4.8.4. > > AutomGrp provides methods for computations with groups and semigroups > generated by finite automata or given by wreath recursion, as well as with > their > finitely generated subgroups and elements. > > The AutomGroup package is authored by Yevgen Muntyan (Tableau Software) > and Dmytro Savchuk (University of South Florida), and on behalf of the GAP > Council, > I thank them for this contribution to GAP. > > Leonard Soicher > (Chair of the GAP Council) > > > > > ------------------------------ > > Message: 7 > Date: Fri, 24 Jun 2016 05:05:38 -0400 > From: Fawad Hayat > To: forum at gap-system.org > Subject: [GAP Forum] FAWAD ALI M.Phil (Pure Mathematics) 3rd semester > scholar From Pakistan, > Message-ID: > 2LyD21qwKmVSYWWzg at mail.gmail.com> > Content-Type: text/plain; charset=UTF-8 > > Hello sir, > sir I have a problem that how to write a command in GAP the automorphism > group of finite abelian group and their fixed points. > Let Z_pXZ_q be cyclic group where p & q are distinct primes, > Let suppose p=2 & q=3 > => G:=Z_2XZ_3= {(0,0),(0,1),(0,2),(1,0),(1,1),(1,2)} > be a cyclic group, and 'd' is the divisor of the order of a group G i.e ( > d/IGI =>d=1,2,3,6) > how to list all the automorphisms of a group Aut(G), and how to find > explicitly all those automorphisms fixing 'd' elements, where fix means > f(x)=x ; for some x belongs to G & for f belongs to Aut(G). > f(e)=e : by homomorphism property, > > i.e For d=1, > A={set of all those automorphisms of Aut(G) fixing d=1 element only ( > Identity element)} > For d=2, > B={set of all those automorphisms of Aut(G) fixing d=2 element} > For d=3 > C={set of all those automorphisms of Aut(G) fixing d=3 element} > For d=6 > D={ I : because identity is the only auto fixing all the elements of a > group G } > > Sir, I need The command which gives me the complete calculation from GAP > Thanks Sir, > Regards FAWAD ALI From pakistan > > > ------------------------------ > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > > End of Forum Digest, Vol 151, Issue 3 > ************************************* > From shahmaths_problem at hotmail.com Tue Jun 28 21:07:33 2016 From: shahmaths_problem at hotmail.com (muhammad shah) Date: Wed, 29 Jun 2016 01:07:33 +0500 Subject: [GAP Forum] How to find some special automorphisms? Message-ID: Dear All, A student Fawad asked me the following question. Let G:=Z_2XZ_3= {(0,0),(0,1),(0,2),(1,0),(1,1),(1,2)}be a cyclic group, and 'd' is the divisor of the order of a group G i.e ( d/IGI =>d=1,2,3,6)how to list all the automorphisms of a group Aut(G), and how to find explicitly all those automorphisms fixing 'd' elements, where fix means f(x)=x ; for some x belongs to G & for f belongs to Aut(G).f(e)=e : by homomorphism property, i.e For d=1,A={set of all those automorphisms of Aut(G) fixing d=1 element only ( Identity element)}For d=2,B={set of all those automorphisms of Aut(G) fixing d=2 element} For d=3C={set of all those automorphisms of Aut(G) fixing d=3 element}For d=6D={ I : because identity is the only auto fixing all the elements of a group G } I wrote a function Fawad () which I think is just a step away from what he wants. I would invite your comments on it that whether it is correct or not and what will be a more correct and efficient way in this case. Here is Fawad. Fawad:=function(G) local A,B,d,f,i,Aut; A:=[]; B:=[]; Aut:=AutomorphismGroup(G); for d in DivisorsInt(Size(G)) do for f in Aut do if Number([1..Size(G)],i -> Image(f,AsList(G)[i])=AsList(G)[i])=d then Add(A,f); Add(B,d); fi; od; od; return [B,A]; end; All the best, Muhammad Shah From shahmaths_problem at hotmail.com Thu Jun 30 15:19:19 2016 From: shahmaths_problem at hotmail.com (muhammad shah) Date: Thu, 30 Jun 2016 19:19:19 +0500 Subject: [GAP Forum] [group-pub-forum] How to find some special automorphisms? In-Reply-To: <33CB032D-C5AD-4332-A1E0-3E5CACBF9908@wisc.edu> References: , <33CB032D-C5AD-4332-A1E0-3E5CACBF9908@wisc.edu> Message-ID: I am thankful to Marty Isaacs, Witek and Petr Savicky for their valuable comments on the problem. As pointed out by Marty Isaacs, the question was looking a homework problem apparently but I was more interested in its solution in the general form and in the gap function provided there for this purpose. Petr Savicky ,in a private response to me checked the function to be correct. He provided me with a much more efficient and fast version of it. Cheers, Muhammad Shah > From: isaacs at math.wisc.edu > To: shahmaths_problem at hotmail.com > CC: group-pub-forum at lists.maths.bath.ac.uk > Date: Tue, 28 Jun 2016 20:25:39 +0000 > Subject: Re: [group-pub-forum] How to find some special automorphisms? > > Your question sounds very much like a homework > problem, so I will not give much detail in my answer. > > Your group G has just two automorphisms: the > identity and the map that carries every element > to its inverse. Obviously, the identity automorphism > fixes all elements of G, and the nonidentity > automorphism fixes exactly two elements. > > Marty Isaacs > From dpopova at fau.edu Sun Jul 3 17:48:05 2016 From: dpopova at fau.edu (Daniela Nikolova) Date: Sun, 3 Jul 2016 16:48:05 +0000 Subject: [GAP Forum] Crystallographic groups Message-ID: Hi everybody, I am Daniela - a returning user - formally from Bulgaria, now from Florida! I was wondering if there is a software in GAP concerning crystallographic groups, more specifically - I am interested in classification algorithms for 2D, and perhaps 3D? Thanks Ps: which of the two addresses above is the best address to send questions? Sent from my iPhone Sent from my iPhone From stefan at mcs.st-and.ac.uk Sun Jul 3 18:35:02 2016 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Sun, 3 Jul 2016 18:35:02 +0100 (BST) Subject: [GAP Forum] Crystallographic groups In-Reply-To: References: Message-ID: On Sun, July 3, 2016 5:48 pm, Daniela Nikolova wrote: > Hi everybody, > I am Daniela - a returning user - formally from Bulgaria, now from Florida! > I was wondering if there is a software in GAP concerning crystallographic groups, more > specifically - I am interested in classification algorithms for 2D, and perhaps 3D? There are several GAP packages concerning crystallographic groups: - Cryst, http://www.gap-system.org/Packages/cryst.html - CrystCat, http://www.gap-system.org/Packages/crystcat.html - Carat, http://www.gap-system.org/Packages/carat.html Apart from this, the GAP Data Library "Integral Matrix Groups" might be relevant for you as well -- cf. http://www.gap-system.org/Datalib/imf.html. > Ps: which of the two addresses above is the best address to send questions? - For GAP questions of general interest, the GAP Forum is the best choice. - For more technical questions on GAP, there is the address support at gap-system.org. - The Group Pub Forum is for questions on group theory. Hope this helps, Stefan P.S.: Haven't you come from Florida already to Ischia Group Theory 2014? From bmenrigh at brandonenright.net Tue Jul 5 00:48:18 2016 From: bmenrigh at brandonenright.net (Brandon Enright) Date: Mon, 4 Jul 2016 23:48:18 +0000 Subject: [GAP Forum] Applying Burnside's Lemma to the 2x2x2 Rubik's Cube? Message-ID: <20160704234818.2aeaef7b@lambda> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi GAP Forum, I'm a relatively new user of GAP and this is my first Forum post. I'm having a great time exploring various permutation puzzle groups so thank you very much to all of the developers that have helped to make such great software! A common problem that comes up on certain permutation puzzles has to do with "extra" symmetry of certain positions when the whole puzzle is reoriented in space. When this happens simple combinatoric counting arguments only produce an approximate number of distinct states. This doesn't happen for the 3x3x3 Rubik's Cube because the 6 face centers always provide a reference. My trouble is when you don't have a reference and certain positions have extra symmetry so they look identical from more than one orientation of the puzzle. If you'd like to see an image of a puzzle where this happens, I've asked about this problem (with images) at http://math.stackexchange.com/q/1822752/132892 So let me be specific. I have a 2x2x2 Rubik's Cube defined by the following 3 generators: # Turn U face TU := (1, 2, 3, 4)(5, 7, 9, 11)(6, 8, 10, 12); # Rotate whole puzzle around U face RU := (1, 2, 3, 4)(5, 7, 9, 11)(6, 8, 10, 12) (13, 15, 17, 19)(14, 16, 18, 20)(21, 22, 23, 24); # Rotate whole puzzle around L face RL := (5, 6, 14, 13)(1, 7, 22, 20)(2, 15, 21, 12) (4, 8, 23, 19)(3, 16, 24, 11)(10, 9, 17, 18); I can make a group using these generators and also a group using just the two orientation generators: # The whole 2x2x2 cube group custom222 := Group([TU, RU, RL]); # The 24 orientations of a 2x2x2 custom222o := Group([RU, RL]); gap> Size(custom222o); 24 gap> Size(custom222) / 24; 3674160 The 3674160 number is the correct number of positions for a normal 2x2x2 Rubik's cube. I had to divide the number by 24 because the cube has 24 orientations and positions that are equivalent under orientation are counted as the same position. Trouble arises when I want to look at variations of this 2x2x2 where some stickers look identical. I have defined which stickers are identical this way: samecolors := [[1, 5, 12, 16, 17, 23],[3, 7, 10, 14, 19, 21], [2, 4, 6, 8, 9, 11, 13, 15, 18, 20, 22, 24]]; Now I'd like to know how many identical positions there are using this set of stickers. I can do that with a stabilizer using OnTuplesSets which will count how many configurations of the 2x2x2 permute stickers within each set of identical stickers. If I divide the size of the whole group by the size of the identical solutions group I should get the number of distinct positions: gap> (Size(custom222) / Size(Stabilizer(custom222, samecolors, OnTuplesSets))) / 24; 1701/2 Unfortunately 1701/2 isn't the right answer. It's not even a whole number. The problem is that some positions look identical in more than one orientation so Burnside's Lemma needs to be applied. I have already done this application of Burnside's Lemma by hand to get the correct answer of 893. The answer GAP gave of 850.5 wasn't that far away. One thing I need to know for Burnside's Lemma is all the symmetries of the cube. I can enumerate this by hand but GAP can also tell me it using the custom222o group: gap> List(ConjugacyClasses(custom222o), Size); [ 1, 6, 3, 8, 6 ] 1 is the identity so the cube isn't rotated at all 6 is the six 90-degree rotations about a cube face 3 is the three 180-degree rotations about a cube face 8 is the eight 120-degree rotations about a cube corner 6 is the six 180-degree rotations about a cube edge By hand I can calculate how many positions of the custom222 group fall into each of these conjugacy classes, sum them up, and divide by 24 to get the correct results of 983. I have also written a program to use iterative-deepening BFS to enumerate all positions and it confirms that 893 is indeed correct. But how do I get GAP to give me this number? I feel like I have all the pieces but I don't know how to put them together. If I can get it working for this simple case, that will allow me to tackle much more complicated puzzles for which a manual by-hand calculation just isn't possible. Thanks in advance for any guidance or pointers for how to handle this! Best regards, Brandon -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAld69doACgkQqaGPzAsl94KQ+QCeMHWG5rHLUwaKXO8jvCoV5nt2 fE0AoKqEvsi9hdB87DU5IBtMruzmBfVM =KoEP -----END PGP SIGNATURE----- From r_n_tsai at yahoo.com Thu Jul 7 07:19:06 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Thu, 7 Jul 2016 06:19:06 +0000 (UTC) Subject: [GAP Forum] running with grape package under windows 64 References: <1659561778.208289.1467872346589.JavaMail.yahoo.ref@mail.yahoo.com> Message-ID: <1659561778.208289.1467872346589.JavaMail.yahoo@mail.yahoo.com> Dear GAP forum,I'm doing some calculations with gap+grape package under windows.?Things work fine with the gap32 version, but grape doesn't seem to workwith gap64. The graphs I'm working with are very large and I would liketo run gap64 with 16GBytes memory. Is there a 64 bit version of grapeavailable somewhere?Thanks,R.N. From juergen.mueller at math.rwth-aachen.de Thu Jul 7 08:36:41 2016 From: juergen.mueller at math.rwth-aachen.de (Juergen Mueller) Date: Thu, 7 Jul 2016 09:36:41 +0200 Subject: [GAP Forum] Applying Burnside's Lemma to the 2x2x2 Rubik's Cube? Message-ID: <20160707073641.GA11920@localhost.localdomain> Dear Forum, I have been thinking about the problem Brandon is asking. Here is a quick computation: samecolors := [[1, 5, 12, 16, 17, 23],[3, 7, 10, 14, 19, 21], [2, 4, 6, 8, 9, 11, 13, 15, 18, 20, 22, 24]]; # this is not stricly necessary, but helps me understanding the problem lst:=[]; for i in [1..Length(samecolors)] do for j in samecolors[i] do lst[j]:=i; od; od; TU := (1, 2, 3, 4)(5, 7, 9, 11)(6, 8, 10, 12); RU := (1, 2, 3, 4)(5, 7, 9, 11)(6, 8, 10, 12) (13, 15, 17, 19)(14, 16, 18, 20)(21, 22, 23, 24); RL := (5, 6, 14, 13)(1, 7, 22, 20)(2, 15, 21, 12) (4, 8, 23, 19)(3, 16, 24, 11)(10, 9, 17, 18); G:=Group([TU,RU,RL]); # order 88179840 S:=Group([RU,RL]); # S_4 H:=Stabiliser(G,lst,Permuted); # order 4320 orb:=Orbit(G,lst,Permuted);; # length 20412 orbs:=OrbitsDomain(S,orb,Permuted);; # 894 reps:=List(orbs,Minimum);; len:=List(orbs,Length);; Collected(len); # [ [ 4, 3 ], [ 8, 3 ], [ 12, 78 ], [ 24, 810 ] ] This says that 810 of the 894 S-orbits are indeed regular, but there are quite a few shorter ones. Usually, one would like to see how the latter look like... (In the meantime, I have checked privately with Brandon, that 894 indeed is the correct answer.) Anyway, this runs in less than a second on my machine. So, although it involves computing the full orbit of the puzzle group, and the suborbits under the rotational symmetry group, it does not seem to make much sense to invoke Burnside's Lemma to just find the number of S-orbits. Of course this picture might change, when it comes to different problems... Best wishes, J?rgen From alexander.konovalov at st-andrews.ac.uk Thu Jul 7 10:46:34 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Thu, 7 Jul 2016 09:46:34 +0000 Subject: [GAP Forum] running with grape package under windows 64 In-Reply-To: <1659561778.208289.1467872346589.JavaMail.yahoo@mail.yahoo.com> References: <1659561778.208289.1467872346589.JavaMail.yahoo.ref@mail.yahoo.com> <1659561778.208289.1467872346589.JavaMail.yahoo@mail.yahoo.com> Message-ID: <01FDD14C-4B19-43A8-BDA8-D4CF2C99A159@st-andrews.ac.uk> > On 7 Jul 2016, at 07:19, R.N. Tsai wrote: > > Dear GAP forum,I'm doing some calculations with gap+grape package under windows. Things work fine with the gap32 version, but grape doesn't seem to workwith gap64. The graphs I'm working with are very large and I would liketo run gap64 with 16GBytes memory. Is there a 64 bit version of grapeavailable somewhere?Thanks,R.N. Dear R.N., Grape uses a stand-alone binary, so it can interact with 64-bit GAP version even being 32-bit application. The problem is that GAP looks for the binary for GRAPE using the architecture-dependent path which it assumes to be 'x86_64-unknown-cygwin-gcc-default64'. As a quick workaround, I suggest to try this: in the 'bin' directory of your GRAPE installation, you should have the directory 'i686-pc-cygwin-gcc-default32'. Copy it to the directory 'x86_64-unknown-cygwin-gcc-default64' and try to load GRAPE from 64-bit version of GAP now. Please let me know if this helps! Best wishes Alexander From r_n_tsai at yahoo.com Thu Jul 7 20:57:38 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Thu, 7 Jul 2016 19:57:38 +0000 (UTC) Subject: [GAP Forum] running with grape package under windows 64 In-Reply-To: <01FDD14C-4B19-43A8-BDA8-D4CF2C99A159@st-andrews.ac.uk> References: <1659561778.208289.1467872346589.JavaMail.yahoo.ref@mail.yahoo.com> <1659561778.208289.1467872346589.JavaMail.yahoo@mail.yahoo.com> <01FDD14C-4B19-43A8-BDA8-D4CF2C99A159@st-andrews.ac.uk> Message-ID: <1002701175.502384.1467921458261.JavaMail.yahoo@mail.yahoo.com> Dear Alexander and forum, Thanks for your suggestion; it did in fact work, so now grape works with both gap32 and gap64.Performance under windows seems to get much worse as the size of the graph gets bigger. I movedto linux64 and the performance is much better there until gap runs out of memory. I have some followup questions regarding memory management in gap and graph calculations with grapeor other packages : (the moderators of the forum can move to another topic if they think that's better). (1)I'm using grape to calculate the girth of large graphs. These graphs are the "Tanner graphs" of low? ?density parity check (LDPC) codes. These type of graphs are frequently used in coding theory to analyze? ?the error correcting capability of the code. In particular, the length of the shortest cycles (girth) and? ?number of such cycles is important. I looked in the guava package which has some constructs for LDPC codes? ?("QCLDPCCodeFromGroup" for example) but nothing specific for Tanner graphs..... (2)Tanner graphs are easily described : take the parity check matrix of the code "H" of size mxn and form? ?A=(m+n)x(m+n) matrix defined as A=[0,H],[H',0]]; here H' is transpose. H is large (say 10K x 10K) binary? ?matrix (0,1 entries) but very sparse (percentage of 1's is <2%). Here's how I get "A" from "H" : ? dim:=DimensionsMat(H);m:=dim[1];n:=dim[2];? T:=H;? T1:=List([1..m],x->Concatenation(0*[1..m],T[x]));? T:=TransposedMat(H); ? T2:=List([1..n],x->Concatenation(T[x],0*[1..n]));? A:=Concatenation(T1,T2); ? This results in a large sparse matrix "A" which is >99% 0's. Is there a better way to define it? (3)With the adjacency matrix "A" I define a graph "gamma" using grape's documentation : ? ?gamma:=Graph(Group(()),[1..n+m],OnPoints,function(x,y)return A[x][y]=1;end,true); ? ?by the construction of "A", it is known to be bipartite with the partition of vertices well? ?known, namely [1..m] and [m+1..m+n] but I don't know how to use this extra knowledge to help? ?grape work with the graph more efficiently. (4)I get the girth through girth:=Girth(gamma); I would also like to get the number of cycles? ?with length=girth but I don't know how that's done. (5)Finally, is there a way to "clear memory" within gap? I noticed that if I process H1 then? ?try to process H2 in the same gap session gap reports that the memory limit was exceeded, but? ?if I exit gap and start it again with H2, then it works. I don't save anything from the calculations? ?(I just print out the results) so I don't know what's using the memory. Here's an example :? ?gap>Process(H1); #finishes ok; no variables saved...? ?gap>Process(H2); #comes back with memory problem? ?if I exit gap and start again? ?gap>Process(H2); #now this works without memory problem. Thanks for your help. R.N. From: Alexander Konovalov To: R.N. Tsai Cc: GAP Forum Sent: Thursday, July 7, 2016 2:46 AM Subject: Re: [GAP Forum] running with grape package under windows 64 > On 7 Jul 2016, at 07:19, R.N. Tsai wrote: > > Dear GAP forum,I'm doing some calculations with gap+grape package under windows. Things work fine with the gap32 version, but grape doesn't seem to workwith gap64. The graphs I'm working with are very large and I would liketo run gap64 with 16GBytes memory. Is there a 64 bit version of grapeavailable somewhere?Thanks,R.N. Dear R.N., Grape uses a stand-alone binary, so it can interact with 64-bit GAP version even being 32-bit application. The problem is that GAP looks for the binary for GRAPE using the architecture-dependent path which it assumes to be 'x86_64-unknown-cygwin-gcc-default64'. As a quick workaround, I suggest to try this: in the 'bin' directory of your GRAPE installation, you should have the directory 'i686-pc-cygwin-gcc-default32'. Copy it to the directory 'x86_64-unknown-cygwin-gcc-default64' and try to load GRAPE from 64-bit version of GAP now. Please let me know if this helps! Best wishes Alexander From rbailey at grenfell.mun.ca Thu Jul 7 21:54:43 2016 From: rbailey at grenfell.mun.ca (Bailey, Robert F.) Date: Thu, 7 Jul 2016 20:54:43 +0000 Subject: [GAP Forum] running with grape package under windows 64 In-Reply-To: <1002701175.502384.1467921458261.JavaMail.yahoo@mail.yahoo.com> References: <1659561778.208289.1467872346589.JavaMail.yahoo.ref@mail.yahoo.com> <1659561778.208289.1467872346589.JavaMail.yahoo@mail.yahoo.com> <01FDD14C-4B19-43A8-BDA8-D4CF2C99A159@st-andrews.ac.uk> <1002701175.502384.1467921458261.JavaMail.yahoo@mail.yahoo.com> Message-ID: <88dca1fa3e214a40b55b0d825694c703@CAS2.swgc.ca> Dear R.N., Some suggestions: If you are using Linux, you can override GAP's default memory allocation when you launch it (see http://www.gap-system.org/Faq/faq.html#6.2 for a discussion of how to handle memory problems). However, if the size of the adjacency matrix is the issue, you should consider an alternative way of constructing the graph in GRAPE. In particular, as you say, because the graph is bipartite its adjacency matrix will have two massive all-zero blocks. One idea would be to rewrite the adjacency function (i.e. replace the "function(x,y) return A[x][y]=1; end" part) to be based on entries of H rather than A: the edges of your graph are determined precisely from where the entries of H are 1. That way, you avoid the need to construct A. If the graph is really sparse, just listing all edges may possibly take up less memory than the matrix H anyway, and the adjacency function would only need to return [x,y] as an edge if [x,y] is in your list. Regards, Robert Bailey. ============================== Dr. Robert Bailey Division of Science (Mathematics) Grenfell Campus Memorial University of Newfoundland Corner Brook, NL A2H 6P9, Canada Office: AS 3022 Phone: +1 (709) 637-6293 Web: http://www2.grenfell.mun.ca/rbailey/ -----Original Message----- From: forum-bounces at gap-system.org [mailto:forum-bounces at gap-system.org] On Behalf Of R.N. Tsai Sent: July-07-16 5:28 PM To: Alexander Konovalov Cc: GAP Forum Subject: Re: [GAP Forum] running with grape package under windows 64 Dear Alexander and forum, Thanks for your suggestion; it did in fact work, so now grape works with both gap32 and gap64.Performance under windows seems to get much worse as the size of the graph gets bigger. I movedto linux64 and the performance is much better there until gap runs out of memory. I have some followup questions regarding memory management in gap and graph calculations with grapeor other packages : (the moderators of the forum can move to another topic if they think that's better). (1)I'm using grape to calculate the girth of large graphs. These graphs are the "Tanner graphs" of low density parity check (LDPC) codes. These type of graphs are frequently used in coding theory to analyze the error correcting capability of the code. In particular, the length of the shortest cycles (girth) and number of such cycles is important. I looked in the guava package which has some constructs for LDPC codes ("QCLDPCCodeFromGroup" for example) but nothing specific for Tanner graphs..... (2)Tanner graphs are easily described : take the parity check matrix of the code "H" of size mxn and form A=(m+n)x(m+n) matrix defined as A=[0,H],[H',0]]; here H' is transpose. H is large (say 10K x 10K) binary matrix (0,1 entries) but very sparse (percentage of 1's is <2%). Here's how I get "A" from "H" : dim:=DimensionsMat(H);m:=dim[1];n:=dim[2]; T:=H; T1:=List([1..m],x->Concatenation(0*[1..m],T[x])); T:=TransposedMat(H); T2:=List([1..n],x->Concatenation(T[x],0*[1..n])); A:=Concatenation(T1,T2); This results in a large sparse matrix "A" which is >99% 0's. Is there a better way to define it? (3)With the adjacency matrix "A" I define a graph "gamma" using grape's documentation : gamma:=Graph(Group(()),[1..n+m],OnPoints,function(x,y)return A[x][y]=1;end,true); by the construction of "A", it is known to be bipartite with the partition of vertices well known, namely [1..m] and [m+1..m+n] but I don't know how to use this extra knowledge to help grape work with the graph more efficiently. (4)I get the girth through girth:=Girth(gamma); I would also like to get the number of cycles with length=girth but I don't know how that's done. (5)Finally, is there a way to "clear memory" within gap? I noticed that if I process H1 then try to process H2 in the same gap session gap reports that the memory limit was exceeded, but if I exit gap and start it again with H2, then it works. I don't save anything from the calculations (I just print out the results) so I don't know what's using the memory. Here's an example : gap>Process(H1); #finishes ok; no variables saved... gap>Process(H2); #comes back with memory problem if I exit gap and start again gap>Process(H2); #now this works without memory problem. Thanks for your help. R.N. From: Alexander Konovalov To: R.N. Tsai Cc: GAP Forum Sent: Thursday, July 7, 2016 2:46 AM Subject: Re: [GAP Forum] running with grape package under windows 64 > On 7 Jul 2016, at 07:19, R.N. Tsai wrote: > > Dear GAP forum,I'm doing some calculations with gap+grape package under windows. Things work fine with the gap32 version, but grape doesn't seem to workwith gap64. The graphs I'm working with are very large and I would liketo run gap64 with 16GBytes memory. Is there a 64 bit version of grapeavailable somewhere?Thanks,R.N. Dear R.N., Grape uses a stand-alone binary, so it can interact with 64-bit GAP version even being 32-bit application. The problem is that GAP looks for the binary for GRAPE using the architecture-dependent path which it assumes to be 'x86_64-unknown-cygwin-gcc-default64'. As a quick workaround, I suggest to try this: in the 'bin' directory of your GRAPE installation, you should have the directory 'i686-pc-cygwin-gcc-default32'. Copy it to the directory 'x86_64-unknown-cygwin-gcc-default64' and try to load GRAPE from 64-bit version of GAP now. Please let me know if this helps! Best wishes Alexander _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum This electronic communication is governed by the terms and conditions at http://www.mun.ca/cc/policies/electronic_communications_disclaimer_2011.php. From r_n_tsai at yahoo.com Fri Jul 8 03:18:19 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Fri, 8 Jul 2016 02:18:19 +0000 (UTC) Subject: [GAP Forum] running with grape package under windows 64 In-Reply-To: <88dca1fa3e214a40b55b0d825694c703@CAS2.swgc.ca> References: <1659561778.208289.1467872346589.JavaMail.yahoo.ref@mail.yahoo.com> <1659561778.208289.1467872346589.JavaMail.yahoo@mail.yahoo.com> <01FDD14C-4B19-43A8-BDA8-D4CF2C99A159@st-andrews.ac.uk> <1002701175.502384.1467921458261.JavaMail.yahoo@mail.yahoo.com> <88dca1fa3e214a40b55b0d825694c703@CAS2.swgc.ca> Message-ID: <80304294.708113.1467944299535.JavaMail.yahoo@mail.yahoo.com> Dear Robert and forum, That was actually a very good suggestion. I changed the "Graph" call to one that usesthis function instead : ?tanner:=function(x,y)? if(x<=m)then?? ?if(y<=m)then? ? return false;? ?else? ? return H[x][y-m]=1;? ? fi;? else? ?if(y>m)then? ? return false;? ?else? ? return H[y][x-m]=1;? ?fi;? fi;?end; ?gamma:=Graph(Group(()),[1..n+m],OnPoints,tanner,true); ?girth:=Girth(gamma); which avoids creating the large matrix. There are no memory problems with this even for H larger than 10Kx10K.The speed is also very good even under windows64. I will need to look at larger matrices soon so any othersuggestions for efficiency are appreciated. Regards,R.N. From: "Bailey, Robert F." To: R.N. Tsai Cc: GAP Forum Sent: Thursday, July 7, 2016 1:54 PM Subject: RE: [GAP Forum] running with grape package under windows 64 Dear R.N., Some suggestions: If you are using Linux, you can override GAP's default memory allocation when you launch it (see http://www.gap-system.org/Faq/faq.html#6.2 for a discussion of how to handle memory problems). However, if the size of the adjacency matrix is the issue, you should consider an alternative way of constructing the graph in GRAPE.? In particular, as you say, because the graph is bipartite its adjacency matrix will have two massive all-zero blocks.? One idea would be to rewrite the adjacency function (i.e. replace the "function(x,y) return A[x][y]=1; end" part) to be based on entries of H rather than A: the edges of your graph are determined precisely from where the entries of H are 1.? That way, you avoid the need to construct A. If the graph is really sparse, just listing all edges may possibly take up less memory than the matrix H anyway, and the adjacency function would only need to return [x,y] as an edge if [x,y] is in your list. Regards, Robert Bailey. ============================== Dr. Robert Bailey Division of Science (Mathematics) Grenfell Campus Memorial University of Newfoundland Corner Brook, NL A2H 6P9, Canada Office: AS 3022 Phone: +1 (709) 637-6293 Web: http://www2.grenfell.mun.ca/rbailey/ -----Original Message----- From: forum-bounces at gap-system.org [mailto:forum-bounces at gap-system.org] On Behalf Of R.N. Tsai Sent: July-07-16 5:28 PM To: Alexander Konovalov Cc: GAP Forum Subject: Re: [GAP Forum] running with grape package under windows 64 Dear Alexander and forum, Thanks for your suggestion; it did in fact work, so now grape works with both gap32 and gap64.Performance under windows seems to get much worse as the size of the graph gets bigger. I movedto linux64 and the performance is much better there until gap runs out of memory. I have some followup questions regarding memory management in gap and graph calculations with grapeor other packages : (the moderators of the forum can move to another topic if they think that's better). (1)I'm using grape to calculate the girth of large graphs. These graphs are the "Tanner graphs" of low? density parity check (LDPC) codes. These type of graphs are frequently used in coding theory to analyze? the error correcting capability of the code. In particular, the length of the shortest cycles (girth) and? number of such cycles is important. I looked in the guava package which has some constructs for LDPC codes? ("QCLDPCCodeFromGroup" for example) but nothing specific for Tanner graphs..... (2)Tanner graphs are easily described : take the parity check matrix of the code "H" of size mxn and form? A=(m+n)x(m+n) matrix defined as A=[0,H],[H',0]]; here H' is transpose. H is large (say 10K x 10K) binary? matrix (0,1 entries) but very sparse (percentage of 1's is <2%). Here's how I get "A" from "H" : ? dim:=DimensionsMat(H);m:=dim[1];n:=dim[2];? T:=H;? T1:=List([1..m],x->Concatenation(0*[1..m],T[x]));? T:=TransposedMat(H); ? T2:=List([1..n],x->Concatenation(T[x],0*[1..n]));? A:=Concatenation(T1,T2); ? This results in a large sparse matrix "A" which is >99% 0's. Is there a better way to define it? (3)With the adjacency matrix "A" I define a graph "gamma" using grape's documentation : ? gamma:=Graph(Group(()),[1..n+m],OnPoints,function(x,y)return A[x][y]=1;end,true); ? by the construction of "A", it is known to be bipartite with the partition of vertices well? known, namely [1..m] and [m+1..m+n] but I don't know how to use this extra knowledge to help? grape work with the graph more efficiently. (4)I get the girth through girth:=Girth(gamma); I would also like to get the number of cycles? with length=girth but I don't know how that's done. (5)Finally, is there a way to "clear memory" within gap? I noticed that if I process H1 then? try to process H2 in the same gap session gap reports that the memory limit was exceeded, but? if I exit gap and start it again with H2, then it works. I don't save anything from the calculations? (I just print out the results) so I don't know what's using the memory. Here's an example :? gap>Process(H1); #finishes ok; no variables saved...? gap>Process(H2); #comes back with memory problem? if I exit gap and start again? gap>Process(H2); #now this works without memory problem. Thanks for your help. R.N. ? ? ? From: Alexander Konovalov To: R.N. Tsai Cc: GAP Forum Sent: Thursday, July 7, 2016 2:46 AM Subject: Re: [GAP Forum] running with grape package under windows 64 > On 7 Jul 2016, at 07:19, R.N. Tsai wrote: > > Dear GAP forum,I'm doing some calculations with gap+grape package under windows. Things work fine with the gap32 version, but grape doesn't seem to workwith gap64. The graphs I'm working with are very large and I would liketo run gap64 with 16GBytes memory. Is there a 64 bit version of grapeavailable somewhere?Thanks,R.N. Dear R.N., Grape uses a stand-alone binary, so it can interact with 64-bit GAP version even being 32-bit application. The problem is that GAP looks for the binary for GRAPE using the architecture-dependent path which it assumes to be 'x86_64-unknown-cygwin-gcc-default64'. As a quick workaround, I suggest to try this: in the 'bin' directory of your GRAPE installation, you should have the directory 'i686-pc-cygwin-gcc-default32'. Copy it to the directory 'x86_64-unknown-cygwin-gcc-default64' and try to load GRAPE from 64-bit version of GAP now. Please let me know if this helps! Best wishes Alexander _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum This electronic communication is governed by the terms and conditions at http://www.mun.ca/cc/policies/electronic_communications_disclaimer_2011.php. From hutagana at gmail.com Fri Jul 15 02:26:19 2016 From: hutagana at gmail.com (Huta Gana) Date: Fri, 15 Jul 2016 08:26:19 +0700 Subject: [GAP Forum] Bijection from k^n to the extension of k of degree n Message-ID: Dear GAP forum, I would like to ask some questions relating to the construction of the bijection from k^n to the extension of k of degree n. I have used the following codes *gap> k:=GF(2^2);;gap> x:=X(k,"x");; g:=x^3+x+1;; gap> Kg:=AlgebraicExtension(k,g);;* Then, an element in Kg has a form: a+bt+bt^2 (a, b, c in *k*, g(t)=0). I want to construct the bijection T: *k*^3->Kg is define by (a,b,c)->a+bt+bt^2. As we know that *k*^3 and Kg are 3-dimesional vector space over over *k*. To consider Kg as a *k*-vector space, I use *gap> Kg:=AsVectorSpace(k,Kg);* So, we can build an isomorphism from *k*^3 to K. But *gap> Size(Basis(Kg));* *6 //not 3gap> Size(Basis(k^3));3* >From that, I can not construct an isomorphism from to *k*^3 ->Kg. *gap>f:=LeftModuleGeneralMappingByImages(k^3,Kg,Basis(k^3),Basis(Kg));Error, and must have the same length* Could you help me how to construct the the bijection T: *k*^3->Kg? Thank you very much. Best regards, Huta From lovepgroups at gmail.com Mon Jul 18 16:56:27 2016 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Mon, 18 Jul 2016 16:56:27 +0100 Subject: [GAP Forum] Automorphism group of Aut(D2n) In-Reply-To: References: Message-ID: Dear forum, Can anyone in the house describe the steps to find Aut(D2n) using GAP. Note that Aut(D2n) is Automorphism group of Dihedral group of order 2n. Regards. From markus.szymik at math.ntnu.no Mon Jul 18 18:10:31 2016 From: markus.szymik at math.ntnu.no (Markus Szymik) Date: Mon, 18 Jul 2016 17:10:31 +0000 Subject: [GAP Forum] Automorphism group of Aut(D2n) In-Reply-To: References: Message-ID: <92C4B70B-FD10-41B0-A1FD-4C92A8F68C16@math.ntnu.no> If you only care about the result: Aut(D_2n) is isomorphic to the semi-direct product Z/n x| (Z/n)^x for the natural action of the units on the ring. You can even take n = \infty in that formula. > On Jul 18, 2016, at 11:56 AM, abdulhakeem alayiwola wrote: > > Dear forum, > Can anyone in the house describe the steps to find Aut(D2n) using GAP. > Note that Aut(D2n) is Automorphism group of Dihedral group of order 2n. > Regards. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From lovepgroups at gmail.com Tue Jul 19 05:30:21 2016 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Tue, 19 Jul 2016 05:30:21 +0100 Subject: [GAP Forum] Automorphism group of Aut(D2n) In-Reply-To: References: Message-ID: I am more interested in the procedure than the result. If anyone can help we the procedure or steps to find Aut(D2n) using GAP. I will be very glad on any hint as well. Regards On Jul 18, 2016 4:56 PM, "abdulhakeem alayiwola" wrote: > Dear forum, > Can anyone in the house describe the steps to find Aut(D2n) using GAP. > Note that Aut(D2n) is Automorphism group of Dihedral group of order 2n. > Regards. > From sven.reichard at tu-dresden.de Tue Jul 19 07:39:18 2016 From: sven.reichard at tu-dresden.de (Sven Reichard) Date: Tue, 19 Jul 2016 08:39:18 +0200 Subject: [GAP Forum] Automorphism group of Aut(D2n) In-Reply-To: References: Message-ID: <578DCB16.3000909@tu-dresden.de> Dear Abdulhakeem, I don't think GAP can give you a general answer. However, for each value of n it is straightforward: gap> n := 10; 10 gap> g := DihedralGroup(2*n); gap> aut := AutomorphismGroup(g); gap> StructureDescription(aut); "C2 x (C5 : C4)" Hope this helps, Sven. -- Institut f?r Algebra TU Dresden On 18.07.2016 17:56, abdulhakeem alayiwola wrote: > Dear forum, > Can anyone in the house describe the steps to find Aut(D2n) using GAP. > Note that Aut(D2n) is Automorphism group of Dihedral group of order 2n. > Regards. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From tkohl at math.bu.edu Tue Jul 19 14:26:14 2016 From: tkohl at math.bu.edu (tkohl at math.bu.edu) Date: Tue, 19 Jul 2016 09:26:14 -0400 (EDT) Subject: [GAP Forum] Automorphism group of Aut(D2n) In-Reply-To: References: Message-ID: There are a couple of ways to do it: -------------------------------------------- n:=3;; # or whatever value you wish G:=DihedralGroup(2*n); RG:=Action(G,Elements(G),OnRight); # basically the right regular representation AutG:=Action(AutomorphismGroup(G),Elements(G)); -------------------------------------------- Alternately, you can do this: -------------------------------------------- n:=3;; G:=DihedralGroup(2*n); RG:=Action(G,Elements(G),OnRight); # basically the right regular representation HolG:=Normalizer(SymmetricGroup(2*n),RG);; AutG:=AsGroup(Filtered(Elements(HolG),g->OnPoints(1,g)=1));; -------------------------------------------- which is a bit more computationally intensive as n increases because one is filtering the elements of a group (the holomorph). However, it's nice in that it is a manifestation of one of the classic definitions of the automorphism group, namely as the set of those elements (permutations of G as a set) which normalize the right (or left) regular represenation and fix the identity, which of course the automorphism group *must* do. (Note, the ambient symmetric group these are embedded in is not Perm(G) but rather S_{2n}, so one is tacitly identifying '1' with 'e_G' the identity of G.) -Tim K. On Tue, 19 Jul 2016, abdulhakeem alayiwola wrote: > I am more interested in the procedure than the result. If anyone can help > we the procedure or steps to find Aut(D2n) using GAP. I will be very glad > on any hint as well. > Regards > > On Jul 18, 2016 4:56 PM, "abdulhakeem alayiwola" > wrote: > > > Dear forum, > > Can anyone in the house describe the steps to find Aut(D2n) using GAP. > > Note that Aut(D2n) is Automorphism group of Dihedral group of order 2n. > > Regards. > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- From oxeimon at gmail.com Wed Jul 20 06:35:33 2016 From: oxeimon at gmail.com (Will Chen) Date: Wed, 20 Jul 2016 01:35:33 -0400 Subject: [GAP Forum] what does "." and "=" mean in StructureDescription? Message-ID: A good example is AllSmallGroups(96,191), which seems to have StructureDescription: "(C2.S4=SL(2.3).C2):C2" I understand that the colon ":" denotes semidirect product, so this is the semidirect product of something with the cyclic group of order 2. Here is C2 the normal subgroup of the semidirect product? Does the normal subgroup always appear on the right? What about the rest? Since the whole group has order 96, the stuff on the left of the ":" must have order 48, so I can only assume that the "=" means "or equivalently...". Is that correct? In this case, I'm guessing "." refers to a non-split extension? If I see G.H, which is the normal subgroup? 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 max at quendi.de Wed Jul 20 09:48:20 2016 From: max at quendi.de (Max Horn) Date: Wed, 20 Jul 2016 10:48:20 +0200 Subject: [GAP Forum] what does "." and "=" mean in StructureDescription? In-Reply-To: References: Message-ID: Dear Will, > On 20 Jul 2016, at 07:35, Will Chen wrote: > > A good example is AllSmallGroups(96,191), which seems to have > StructureDescription: > > "(C2.S4=SL(2.3).C2):C2" > > I understand that the colon ":" denotes semidirect product, so this is the > semidirect product of something with the cyclic group of order 2. Correct. > > Here is C2 the normal subgroup of the semidirect product? Does the normal > subgroup always appear on the right? No, always on the left, i.e. C_2 acts on the normal subgroup on the left. > What about the rest? Since the whole group has order 96, the stuff on the > left of the ":" must have order 48, so I can only assume that the "=" means > "or equivalently...". Is that correct? Yes, correct. > > In this case, I'm guessing "." refers to a non-split extension? Correct. > If I see G.H, which is the normal subgroup? The normal subgroup is always on the left. This fits with the overall GAP convention of always considering right actions. Most of this is explained in the manual (with the exception of the "=" sign, unfortunately). If you enter "?StructureDescription" on the GAP prompt and press return, you can see the manual entry. Alternatively, look here: Cheers, Max From hutagana at gmail.com Wed Jul 20 15:33:20 2016 From: hutagana at gmail.com (Huta Gana) Date: Wed, 20 Jul 2016 21:33:20 +0700 Subject: [GAP Forum] How to compute the image of a variable under a map Message-ID: Dear GAP forum, I have run the following codes: *gap> k:=GF(2^2);;gap>T:=MappingByFunction(k,k,t->t^2);;gap> x:=Indeterminate(k,"x");gap> Image(T,x);Error, usage: Image(), Image(,), Image(,)* It appears the error because x is not an element of k *gap> x in k;* *false* Could you show me how to compute the image of a variable under a map? Thank you very much. Best regards, Huta From mathieu.dutour at gmail.com Fri Jul 22 09:54:49 2016 From: mathieu.dutour at gmail.com (Mathieu Dutour) Date: Fri, 22 Jul 2016 10:54:49 +0200 Subject: [GAP Forum] Loading problem in GAP Message-ID: Dear all, when trying to debug GAP packages installation, it is common to use SetUserPreference( "InfoPackageLoadingLevel", 4 ); However, if one does that then the error is following: Error, PrintFormattedString: function is not yet defined in ValueGlobal( "PrintFormattedString" )( s ); at /home/mathieu/opt/gap4r8p4/lib/info.gi:85 called from fun( "#I " ); at /home/mathieu/opt/gap4r8p4/lib/info.gi:93 called from fun( InfoData.LastClass, InfoData.LastLevel, arglist ); at /home/mathieu/opt/gap4r8p4/lib/info.gi:336 called from message[1] at /home/mathieu/opt/gap4r8p4/lib/package.gi:544 called from LogPackageLoadingMessage( PACKAGE_DEBUG, "finish reading file 'init.g'", info.PackageName ); at /home/mathieu/opt/gap4r8p4/lib/package.gi:1589 called from LoadPackage( pair[1], pair[2], false ) at /home/mathieu/opt/gap4r8p4/lib/ package.gi:1832 called from ... at line 890 of /home/mathieu/opt/gap4r8p4/lib/init.g Syntax warning: unbound global variable in /home/mathieu/opt/gap4r8p4/lib/init.g line 928 ColorPrompt( UserPreference( "UseColorPrompt" ) ); ^ Error, SetGasmanMessageStatus: function is not yet defined in SetGasmanMessageStatus( "none" ); at /home/mathieu/opt/gap4r8p4/lib/init.g:916 called from func( ); at /home/mathieu/opt/gap4r8p4/lib/system.g:156 called from ( ) called from read-eval loop at line 929 of /home/mathieu/opt/gap4r8p4/lib/init.g Error, Variable: 'L1_IMMUTABLE_ERROR' must have a value not in any function at line 366 of /home/mathieu/opt/gap4r8p4/lib/ obsolete.gi Syntax warning: unbound global variable in /home/mathieu/opt/gap4r8p4/lib/ obsolete.gi line 706 Print( CharacterTableDisplayLegendDefault( data ) ); ^ Packages: GAPDoc 1.5.1 Try '??help' for help. See also '?copyright', '?cite' and '?authors' gap> From ares.1995 at mail.ru Fri Jul 22 10:56:41 2016 From: ares.1995 at mail.ru (=?UTF-8?B?QXJzZW5lIEdhbHN0eWFu?=) Date: Fri, 22 Jul 2016 12:56:41 +0300 Subject: [GAP Forum] =?utf-8?q?_Counting_Latin_squares_using_a_package_=22?= =?utf-8?q?DESIGN=22=2E?= Message-ID: <1469181401.614333418@f419.i.mail.ru> ? Dear GAP forum, ? I'm interested in function SemiLatinSquareDuals(n,k) that is included in the package "DESIGN". I would like to know it is possible to use this function that to find the number of Latin squares of a given order.? ? As it is written in manual, this function " can classify semi-Latin squares with certain given properties, and return a list of their duals as block designs". Note that?(nxn)/1 semi-Latin square (that is, for k = 1)?is the same thing as a Latin square of order n. ? Thus, for k=1, function breaks set of Latin square of order n on the set non-isomorphic classes. Each record resulting list corresponds exactly to one of his class.?For n=3, it returns the following: gap> SemiLatinSquareDuals(3,1); [ rec( autSubgroup := Group([ (2,4)(3,7)(6,8), (2,3)(4,7)(5,9)(6,8), (1,5,9) ????? (2,6,7)(3,4,8), (1,4,7)(2,5,8)(3,6,9) ]), blockNumbers := [ 3 ],? ????? blockSizes := [ 3 ], blocks := [ [ 1, 5, 9 ], [ 2, 6, 7 ], [ 3, 4, 8 ] ] ??????? , isBinary := true, isBlockDesign := true, isSimple := true,? ????? pointNames := [ [ 1, 1 ], [ 1, 2 ], [ 1, 3 ], [ 2, 1 ], [ 2, 2 ],? ????????? [ 2, 3 ], [ 3, 1 ], [ 3, 2 ], [ 3, 3 ] ], r := 1,? ????? tSubsetStructure := rec( lambdas := [ 1 ], t := 1 ), v := 9 ) ] ? That is,?as I understand it, exist only one isomorphic class, i.e. the set of all Latin square of order 3 is one class. In other words, all Latin square of order 3 are pairwise isomorphic. That is, one can be obtained from the other by using composite of permutations of rows, columns and transposition operations. ? If I understand correctly, field "autSubgroup" is?permutation subgroup which is a group of automorphisms of a class of Latin squares corresponding to this record. That is, each element of this group carries permutations of rows, or(and) columns, or(and) transposition of Latin square. ? In this way, as I think, you can act on one element of this class by all elements of the group of automorphisms of this class in course and get all the elements of the class, i.e., all Latin squares of order 3. ? Field "blocks" is binary block design, which dual of Latin square (with the first row is ordered),?which belongs to the?class of Latin squares corresponding to this record. As I understand, the square can be recovered from the block design in the following way. i-th block of block design corresponding i-th symbol of Latin square and each point of block design represents number of cells of Latin square. ? In this way, ?it is possible to write a function that transforms a block design of each record in the Latin square, corresponding to it, and then acts on each obtained square of all permutations of automorphism group that corresponds to him. ? ? This is text of function "ConclusionSquares": Print("Load 'ConclusionSquares(n)'","\n"); ConclusionSquares:= function(n) local i, j, k, NumberClasses, SLSD, SubsidiaryArray, ListLatinSquares, LenList, SZ, permut, NumberRepetition, NumberRepetitionForEach, AutomSquare, AutomSquareForEach, NumberLatinSquareForEach; SLSD:= SemiLatinSquareDuals(n,1); NumberClasses:= Length(SLSD); ListLatinSquares:= [ ]; ? ?#conclusion Latin square that corresponding of records for i in [1..NumberClasses] do ? ListLatinSquares[i]:= [ ]; ? for j in [1..n] do ? ? for k in [1..n] do ? ? ? ListLatinSquares[i][SLSD[i].blocks[j][k]]:= j; ? ? od; ? od; ? SubsidiaryArray:= [ ]; ? for j in [1..n] do ? ? SubsidiaryArray[j]:= [ ]; ? ? for k in [1..n] do ? ? ? SubsidiaryArray[j][k]:= ListLatinSquares[i][n*(j-1) + k]; ? ? od; ? od; ? Print(" ",i,")","\n"); ? Display(SubsidiaryArray); ? Print("\n"); od; ? ?#count of Latin squares LenList:= NumberClasses; NumberRepetition:= 0; AutomSquare:= 0; for i in [1..NumberClasses] do ? permut:= Difference(AsList(SLSD[i].autSubgroup),[()]); ? SZ:= Size(permut); ? NumberLatinSquareForEach:= 1; ? NumberRepetitionForEach:= 0; ? AutomSquareForEach:= 0; ? for j in [1..SZ] do ? ? SubsidiaryArray:= [ ]; ? ? for k in [1..n*n] do ? ? ? SubsidiaryArray[k^permut[j]]:= ListLatinSquares[i][k]; ? ? od; ? ? if (SubsidiaryArray in ListLatinSquares) then ? ? ? NumberRepetitionForEach:= NumberRepetitionForEach + 1; ? ? ? ? #number repetitions for each record ? ? ? if (SubsidiaryArray = ListLatinSquares[i]) then ? ? ? ? AutomSquareForEach:= AutomSquareForEach + 1; ? ? #number of permutetions which not change Latin square ? ? ? fi; ? ? else ? ? ? NumberLatinSquareForEach:= NumberLatinSquareForEach + 1; ? #number different Latin square for each record ? ? ? LenList:= LenList + 1; ? ? ? ListLatinSquares[LenList]:= [ ]; ? ? ? ListLatinSquares[LenList]:= SubsidiaryArray; ? ? fi; ? od; ? Print ("[rec #",i,": Number elements in autSubgroup = ",SZ+1,"; Number Latin Squares = ",NumberLatinSquareForEach,"; Number repetition = ? ? ?",NumberRepetitionForEach,"; Number automorfisms = ",AutomSquareForEach,"]","\n","\n"); ? NumberRepetition:= NumberRepetition + NumberRepetitionForEach; ? AutomSquare:= AutomSquare + AutomSquareForEach; od; ? ?#conclusion list of Latin square for i in [NumberClasses+1..LenList] do ? SubsidiaryArray:= [ ]; ? for j in [1..n] do ? ? SubsidiaryArray[j]:= [ ]; ? ? for k in [1..n] do ? ? ? SubsidiaryArray[j][k]:= ListLatinSquares[i][n*(j-1) + k]; ? ? od; ? od; ? Print(" ",i,")","\n"); ? Display(SubsidiaryArray); od; return ["Length(ListLatinSquares)=",Length(ListLatinSquares)," NumberRepetition=",NumberRepetition," AutomSquare=",AutomSquare]; end; Function result for n=3: gap> ConclusionSquares(3);??????????? ? ?1) [ [? 1,? 2,? 3 ], ? [? 3,? 1,? 2 ], ? [? 2,? 3,? 1 ] ] [rec #1: Number elements in autSubgroup = 36; Number Latin Squares = 6; Number repetition = 30; Number automorfisms = 5] ?2) [ [? 1,? 3,? 2 ], ? [? 2,? 1,? 3 ], ? [? 3,? 2,? 1 ] ] ?3) [ [? 2,? 1,? 3 ], ? [? 3,? 2,? 1 ], ? [? 1,? 3,? 2 ] ] ?4) [ [? 3,? 1,? 2 ], ? [? 2,? 3,? 1 ], ? [? 1,? 2,? 3 ] ] ?5) [ [? 2,? 3,? 1 ], ? [? 1,? 2,? 3 ], ? [? 3,? 1,? 2 ] ] ?6) [ [? 3,? 2,? 1 ], ? [? 1,? 3,? 2 ], ? [? 2,? 1,? 3 ] ] [ "Length(ListLatinSquares)=", 6, " NumberRepetition=", 30, " AutomSquare=", 5 ] ?? So, we got exactly 6 different squares. But the number of Latin squares of order 3 is 12 pieces. Due to the fact that all first rows are different and the number is 3 !, there is an idea to mix all the rows from the second to last together. That is , multiplied by 2 !. Just get 3 ! * 2 ! = 12 . But this idea is crumbling at n=4: gap> ConclusionSquares(4); ?1) [ [? 1,? 2,? 3,? 4 ], ? [? 4,? 1,? 2,? 3 ], ? [? 3,? 4,? 1,? 2 ], ? [? 2,? 3,? 4,? 1 ] ] ?2) [ [? 1,? 2,? 3,? 4 ], ? [? 2,? 1,? 4,? 3 ], ? [? 3,? 4,? 1,? 2 ], ? [? 4,? 3,? 2,? 1 ] ] [rec #1: Number elements in autSubgroup = 64; Number Latin Squares = 8; Number repetition = 56; Number automorfisms = 7] [rec #2: Number elements in autSubgroup = 192; Number Latin Squares = 24; Number repetition = 168; Number automorfisms = 7] [ "Length(ListLatinSquares)=", 32, " NumberRepetition=", 224, " AutomSquare=", 14 ] Latin squares of order 4 exactly 576, but 32*3!=192. In this situation , of course, you can still guess as from 32 to receive 576 , because 576 divided by 32. But if n=5, then gap> ConclusionSquares(5); ?1) [ [? 1,? 2,? 3,? 4,? 5 ], ? [? 5,? 1,? 2,? 3,? 4 ], ? [? 4,? 5,? 1,? 2,? 3 ], ? [? 3,? 4,? 5,? 1,? 2 ], ? [? 2,? 3,? 4,? 5,? 1 ] ] ?2) [ [? 1,? 2,? 3,? 4,? 5 ], ? [? 3,? 1,? 5,? 2,? 4 ], ? [? 5,? 4,? 1,? 3,? 2 ], ? [? 2,? 5,? 4,? 1,? 3 ], ? [? 4,? 3,? 2,? 5,? 1 ] ] [rec #1: Number elements in autSubgroup = 200; Number Latin Squares = 20; Number repetition = 180; Number automorfisms = 9] [rec #2: Number elements in autSubgroup = 24; Number Latin Squares = 24; Number repetition = 0; Number automorfisms = 0] [ "Length(ListLatinSquares)=", 44, " NumberRepetition=", 180, " AutomSquare=", 9 ] Latin squares of order 5 exactly 161280 and 161280 is not divisible by 44. ? Therefore , from the number of Latin squares , so that you can get , it is impossible to find all the squares of a given order . That is, function SemiLatinSquareDuals does not answer the question about the number of Latin squares . ? The following questions . Am I right? ?Did I everything right and reasoned?? If so, then the function SemiLatinskuare ( n , k) is not working properly or I did not understand then what it does . ? By the way, this function has a few optional parameters: SemiLatinSquareDuals(n,k,maxmult,blockintsize, isolevel). A ll these parameters in this case, for k=1, are not interesting , because we consider only Latin squares . Thank you very much! Best regards, Arsene Galstyan ares.1995 at mail.ru From crgreathouse at gmail.com Wed Jul 6 19:39:07 2016 From: crgreathouse at gmail.com (Charles Greathouse) Date: Wed, 06 Jul 2016 18:39:07 -0000 Subject: [GAP Forum] "Error, no method found" in IsIrreducibleRingElement Message-ID: I'm having trouble getting IsIrreducibleRingElement (and IsPrime) working on SmallRing elements. For example: gap> r := SmallRing(4,4); # example ring gap> e := Elements(r)[2]; # example element b gap> IsIrreducibleRingElement(e); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `IsIrreducibleRingElement' on 2 arguments called from IsIrreducibleRingElement( DefaultRing( [ r ] ), r ) called from ( ) called from read-eval loop at line 3 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> quit; gap> IsIrreducibleRingElement(r,e); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `IsIrreducibleRingElement' on 2 arguments called from ( ) called from read-eval loop at line 3 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue Switching rings, elements, versions, and operating systems hasn't helped. Am I missing something? From Alexander.Hulpke at colostate.edu Mon Jul 25 13:33:18 2016 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Mon, 25 Jul 2016 12:33:18 +0000 Subject: [GAP Forum] "Error, no method found" in IsIrreducibleRingElement In-Reply-To: References: Message-ID: Dear Charles Greathouse, Dear Forum, On Jul 6, 2016, at 8:38 PM, Charles Greathouse > wrote: I'm having trouble getting IsIrreducibleRingElement (and IsPrime) working on SmallRing elements. For example: Switching rings, elements, versions, and operating systems hasn't helped. The built-in irreducibility tests are currently only available for the integers (and some rings of integers) and polynomial rings over fields. There is no method for the small rings, which is the reason for the error message you received. Regards, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From w_becker at hotmail.com Mon Jul 25 14:45:59 2016 From: w_becker at hotmail.com (Walter Becker) Date: Mon, 25 Jul 2016 13:45:59 +0000 Subject: [GAP Forum] groups of order p^3*q^3 Message-ID: The question is how many groups are there for these orders. Note here that the Group Constructions program of Besche and Eick give for the case of p=3 and q=7 the number 215 (and actually constructs them). The Thesis of of R. Laue (see page 226) seems to give 229 (plus the 25 direct product cases of the groups of order 27 and 343 ?). The compiled list of groups available on the internet does not contain an entry for the groups of order 9261. Comments ? Walter Becker From alexander.konovalov at st-andrews.ac.uk Mon Jul 25 15:02:22 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 25 Jul 2016 14:02:22 +0000 Subject: [GAP Forum] groups of order p^3*q^3 In-Reply-To: References: Message-ID: Dear Walter, > On 25 Jul 2016, at 14:45, Walter Becker wrote: > > The question is how many groups are there for these > > orders. Note here that the Group Constructions program > > of Besche and Eick give for the case of p=3 and q=7 the > > number 215 (and actually constructs them). The Thesis of > > of R. Laue (see page 226) seems to give 229 (plus the > > 25 direct product cases of the groups of order 27 and 343 ?). > > > The compiled list of groups available on the internet does > > not contain an entry for the groups of order 9261. The Group Numbers reproducibility project (https://github.com/alex-konovalov/gnu) actually has an entry for gnu(9261): see https://github.com/alex-konovalov/gnu/pull/43 and it is 215. Same number obtained by using the latest GrpConst package both in GAP 4.8.3 and master branch of the development version of GAP at the time of submission. I don't have Laue's thesis so I can not comment more on the reasons for the discrepancies, but hopefully some one else could add more. Best wishes Alexander From L.H.Soicher at qmul.ac.uk Mon Jul 25 16:37:33 2016 From: L.H.Soicher at qmul.ac.uk (Leonard Soicher) Date: Mon, 25 Jul 2016 16:37:33 +0100 Subject: [GAP Forum] Counting Latin squares using a package "DESIGN". In-Reply-To: <1469181401.614333418@f419.i.mail.ru> References: <1469181401.614333418@f419.i.mail.ru> Message-ID: <20160725153732.GA32024@maths.qmul.ac.uk> Dear Arsene Galstyan, Dear GAP-Forum, For positive integers n and k, the DESIGN package function call SemiLatinSquareDuals(n,k) returns a list of the duals of a complete list of isomorphism class representatives of the (n x n)/k semi-Latin squares, such that two such squares are considered to be isomorphic if one can be obtained from the other by a combination of renaming symbols, row permutations, column permutations, and transposing. Thus, the isomorphism class of a semi-Latin square S (with symbol set [1..n*k]) whose dual is obtained from a call to SemiLatinSquareDuals(n,k) is the orbit of S under the group generated by symbol permutations, row permutations, column permutations, and transposing. I've done this as shown in the appended log-file, obtaining the correct numbers of Latin squares of orders 3, 4, and 5. There are, however, much more efficient ways to find the *number* of Latin squares of order n if you are just interested in the number rather than all the Latin squares themselves. By the way, for a block design B in the DESIGN package, the component B.autSubgroup, if bound, is guaranteed to be a subgroup of the (full) automorphism group of B. Best wishes, Leonard --------------------------------------------------------------- gap> gap> LoadPackage("design"); ----------------------------------------------------------------------------- Loading GRAPE 4.7 (GRaph Algorithms using PErmutation groups) by Leonard H. Soicher (http://www.maths.qmul.ac.uk/~leonard/). Homepage: http://www.maths.qmul.ac.uk/~leonard/grape/ ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- Loading DESIGN 1.6 (The Design Package for GAP) by Leonard H. Soicher (http://www.maths.qmul.ac.uk/~leonard/). Homepage: http://www.designtheory.org/software/gap_design/ ----------------------------------------------------------------------------- true gap> gap> SemiLatinSquareFromDual := function(D) > local n,S,names,i,pt; > n:=Length(D.blocks[1]); > S:=List([1..n],x->List([1..n],y->[])); > names:=D.pointNames; > for i in [1..Length(D.blocks)] do > for pt in D.blocks[i] do > Add(S[names[pt][1]][names[pt][2]],i); > od; > od; > return S; > end; function( D ) ... end gap> gap> OnSemiLatinSquares := function(S,g) > # Returns the image T of the (n x n)/k semi-Latin square S under g, > # where g acts by permuting the symbols [1..n*k], the rows > # (labelled [n*k+1..n*k+n]) and the columns (labelled [n*k+n+1..n*k+2*n]), > # and then possibly transposing the semi-Latin square. > local n,k,i,j,newposition,T; > n:=Length(S[1]); > k:=Length(S[1][1]); > T:=List([1..n],i->[]); > for i in [1..n] do > for j in [1..n] do > newposition:=OnSets([i+n*k,j+n*k+n],g); > T[newposition[1]-n*k][newposition[2]-n*k-n]:=OnSets(S[i][j],g); > od; > od; > return T; > end; function( S, g ) ... end gap> gap> SemiLatinSquareIsomorphismClass := function(S) > # Returns the full (weak) isomorphism class of the (n x n)/k > # semi-Latin square S. > local n,k,transposer,g_symbols,g_rows,g_columns,G,i; > n:=Length(S[1]); > k:=Length(S[1][1]); > transposer:=Product(List([n*k+1..n*k+n],i->(i,i+n))); > g_symbols:=GeneratorsOfGroup(SymmetricGroup([1..n*k])); > g_rows:=GeneratorsOfGroup(SymmetricGroup([n*k+1..n*k+n])); > g_columns:=GeneratorsOfGroup(SymmetricGroup([n*k+n+1..n*k+2*n])); > G:=Group(Concatenation(g_symbols,g_rows,g_columns,[transposer])); > return Set(Orbit(G,S,OnSemiLatinSquares)); > end; function( S ) ... end gap> gap> n:=3; 3 gap> duals:=SemiLatinSquareDuals(n,1);; gap> squares:=List(duals,SemiLatinSquareFromDual); [ [ [ [ 1 ], [ 2 ], [ 3 ] ], [ [ 3 ], [ 1 ], [ 2 ] ], [ [ 2 ], [ 3 ], [ 1 ] ] ] ] gap> classes:=List(squares,SemiLatinSquareIsomorphismClass);; gap> L:=List(classes,Length); [ 12 ] gap> Sum(L); 12 gap> gap> n:=4; 4 gap> duals:=SemiLatinSquareDuals(n,1);; gap> squares:=List(duals,SemiLatinSquareFromDual); [ [ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ] ], [ [ 4 ], [ 1 ], [ 2 ], [ 3 ] ], [ [ 3 ], [ 4 ], [ 1 ], [ 2 ] ], [ [ 2 ], [ 3 ], [ 4 ], [ 1 ] ] ], [ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ] ], [ [ 2 ], [ 1 ], [ 4 ], [ 3 ] ], [ [ 3 ], [ 4 ], [ 1 ], [ 2 ] ], [ [ 4 ], [ 3 ], [ 2 ], [ 1 ] ] ] ] gap> classes:=List(squares,SemiLatinSquareIsomorphismClass);; gap> L:=List(classes,Length); [ 432, 144 ] gap> Sum(L); 576 gap> gap> n:=5; 5 gap> duals:=SemiLatinSquareDuals(n,1);; gap> squares:=List(duals,SemiLatinSquareFromDual); [ [ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ] ], [ [ 5 ], [ 1 ], [ 2 ], [ 3 ], [ 4 ] ], [ [ 4 ], [ 5 ], [ 1 ], [ 2 ], [ 3 ] ], [ [ 3 ], [ 4 ], [ 5 ], [ 1 ], [ 2 ] ], [ [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 1 ] ] ], [ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ] ], [ [ 3 ], [ 1 ], [ 5 ], [ 2 ], [ 4 ] ], [ [ 5 ], [ 4 ], [ 1 ], [ 3 ], [ 2 ] ], [ [ 2 ], [ 5 ], [ 4 ], [ 1 ], [ 3 ] ], [ [ 4 ], [ 3 ], [ 2 ], [ 5 ], [ 1 ] ] ] ] gap> classes:=List(squares,SemiLatinSquareIsomorphismClass);; gap> L:=List(classes,Length); [ 17280, 144000 ] gap> Sum(L); 161280 gap> On Fri, Jul 22, 2016 at 12:56:41PM +0300, Arsene Galstyan wrote: > > > ? Dear GAP forum, > > ? I'm interested in function SemiLatinSquareDuals(n,k) that is included in the package "DESIGN". I would like to know it is possible to use this function that to find the number of Latin squares of a given order.? > ? As it is written in manual, this function " can classify semi-Latin squares with certain given properties, and return a list of their duals as block designs". Note that?(nxn)/1 semi-Latin square (that is, for k = 1)?is the same thing as a Latin square of order n. > ? Thus, for k=1, function breaks set of Latin square of order n on the set non-isomorphic classes. Each record resulting list corresponds exactly to one of his class.?For n=3, it returns the following: > > gap> SemiLatinSquareDuals(3,1); > [ rec( autSubgroup := Group([ (2,4)(3,7)(6,8), (2,3)(4,7)(5,9)(6,8), (1,5,9) > ????? (2,6,7)(3,4,8), (1,4,7)(2,5,8)(3,6,9) ]), blockNumbers := [ 3 ],? > ????? blockSizes := [ 3 ], blocks := [ [ 1, 5, 9 ], [ 2, 6, 7 ], [ 3, 4, 8 ] ] > ??????? , isBinary := true, isBlockDesign := true, isSimple := true,? > ????? pointNames := [ [ 1, 1 ], [ 1, 2 ], [ 1, 3 ], [ 2, 1 ], [ 2, 2 ],? > ????????? [ 2, 3 ], [ 3, 1 ], [ 3, 2 ], [ 3, 3 ] ], r := 1,? > ????? tSubsetStructure := rec( lambdas := [ 1 ], t := 1 ), v := 9 ) ] ? > > That is,?as I understand it, exist only one isomorphic class, i.e. the set of all Latin square of order 3 is one class. In other words, all Latin square of order 3 are pairwise isomorphic. That is, one can be obtained from the other by using composite of permutations of rows, columns and transposition operations. > ? If I understand correctly, field "autSubgroup" is?permutation subgroup which is a group of automorphisms of a class of Latin squares corresponding to this record. That is, each element of this group carries permutations of rows, or(and) columns, or(and) transposition of Latin square. > ? In this way, as I think, you can act on one element of this class by all elements of the group of automorphisms of this class in course and get all the elements of the class, i.e., all Latin squares of order 3. > ? Field "blocks" is binary block design, which dual of Latin square (with the first row is ordered),?which belongs to the?class of Latin squares corresponding to this record. As I understand, the square can be recovered from the block design in the following way. i-th block of block design corresponding i-th symbol of Latin square and each point of block design represents number of cells of Latin square. > ? In this way, ?it is possible to write a function that transforms a block design of each record in the Latin square, corresponding to it, and then acts on each obtained square of all permutations of automorphism group that corresponds to him. > ? > ? This is text of function "ConclusionSquares": > > Print("Load 'ConclusionSquares(n)'","\n"); > ConclusionSquares:= function(n) > local i, j, k, NumberClasses, SLSD, SubsidiaryArray, ListLatinSquares, LenList, SZ, permut, NumberRepetition, NumberRepetitionForEach, AutomSquare, AutomSquareForEach, NumberLatinSquareForEach; > SLSD:= SemiLatinSquareDuals(n,1); > NumberClasses:= Length(SLSD); > ListLatinSquares:= [ ]; > ? ?#conclusion Latin square that corresponding of records > for i in [1..NumberClasses] do > ? ListLatinSquares[i]:= [ ]; > ? for j in [1..n] do > ? ? for k in [1..n] do > ? ? ? ListLatinSquares[i][SLSD[i].blocks[j][k]]:= j; > ? ? od; > ? od; > ? SubsidiaryArray:= [ ]; > ? for j in [1..n] do > ? ? SubsidiaryArray[j]:= [ ]; > ? ? for k in [1..n] do > ? ? ? SubsidiaryArray[j][k]:= ListLatinSquares[i][n*(j-1) + k]; > ? ? od; > ? od; > ? Print(" ",i,")","\n"); > ? Display(SubsidiaryArray); > ? Print("\n"); > od; > ? ?#count of Latin squares > LenList:= NumberClasses; > NumberRepetition:= 0; > AutomSquare:= 0; > for i in [1..NumberClasses] do > ? permut:= Difference(AsList(SLSD[i].autSubgroup),[()]); > ? SZ:= Size(permut); > ? NumberLatinSquareForEach:= 1; > ? NumberRepetitionForEach:= 0; > ? AutomSquareForEach:= 0; > ? for j in [1..SZ] do > ? ? SubsidiaryArray:= [ ]; > ? ? for k in [1..n*n] do > ? ? ? SubsidiaryArray[k^permut[j]]:= ListLatinSquares[i][k]; > ? ? od; > ? ? if (SubsidiaryArray in ListLatinSquares) then > ? ? ? NumberRepetitionForEach:= NumberRepetitionForEach + 1; ? ? ? ? #number repetitions for each record > ? ? ? if (SubsidiaryArray = ListLatinSquares[i]) then > ? ? ? ? AutomSquareForEach:= AutomSquareForEach + 1; ? ? #number of permutetions which not change Latin square > ? ? ? fi; > ? ? else > ? ? ? NumberLatinSquareForEach:= NumberLatinSquareForEach + 1; ? #number different Latin square for each record > ? ? ? LenList:= LenList + 1; > ? ? ? ListLatinSquares[LenList]:= [ ]; > ? ? ? ListLatinSquares[LenList]:= SubsidiaryArray; > ? ? fi; > ? od; > ? Print ("[rec #",i,": Number elements in autSubgroup = ",SZ+1,"; Number Latin Squares = ",NumberLatinSquareForEach,"; Number repetition = ? ? ?",NumberRepetitionForEach,"; Number automorfisms = ",AutomSquareForEach,"]","\n","\n"); > ? NumberRepetition:= NumberRepetition + NumberRepetitionForEach; > ? AutomSquare:= AutomSquare + AutomSquareForEach; > od; > ? ?#conclusion list of Latin square > for i in [NumberClasses+1..LenList] do > ? SubsidiaryArray:= [ ]; > ? for j in [1..n] do > ? ? SubsidiaryArray[j]:= [ ]; > ? ? for k in [1..n] do > ? ? ? SubsidiaryArray[j][k]:= ListLatinSquares[i][n*(j-1) + k]; > ? ? od; > ? od; > ? Print(" ",i,")","\n"); > ? Display(SubsidiaryArray); > od; > return ["Length(ListLatinSquares)=",Length(ListLatinSquares)," NumberRepetition=",NumberRepetition," AutomSquare=",AutomSquare]; > > end; > Function result for n=3: > > gap> ConclusionSquares(3);??????????? ? > ?1) > [ [? 1,? 2,? 3 ], > ? [? 3,? 1,? 2 ], > ? [? 2,? 3,? 1 ] ] > > [rec #1: Number elements in autSubgroup = 36; Number Latin Squares = 6; Number repetition = > 30; Number automorfisms = 5] > > ?2) > [ [? 1,? 3,? 2 ], > ? [? 2,? 1,? 3 ], > ? [? 3,? 2,? 1 ] ] > ?3) > [ [? 2,? 1,? 3 ], > ? [? 3,? 2,? 1 ], > ? [? 1,? 3,? 2 ] ] > ?4) > [ [? 3,? 1,? 2 ], > ? [? 2,? 3,? 1 ], > ? [? 1,? 2,? 3 ] ] > ?5) > [ [? 2,? 3,? 1 ], > ? [? 1,? 2,? 3 ], > ? [? 3,? 1,? 2 ] ] > ?6) > [ [? 3,? 2,? 1 ], > ? [? 1,? 3,? 2 ], > ? [? 2,? 1,? 3 ] ] > > [ "Length(ListLatinSquares)=", 6, " NumberRepetition=", 30, " AutomSquare=", 5 ] > > ?? So, we got exactly 6 different squares. But the number of Latin squares of order 3 is 12 pieces. Due to the fact that all first rows are different and the number is 3 !, there is an idea to mix all the rows from the second to last together. That is , multiplied by 2 !. Just get 3 ! * 2 ! = 12 . But this idea is crumbling at n=4: > > gap> ConclusionSquares(4); > ?1) > [ [? 1,? 2,? 3,? 4 ], > ? [? 4,? 1,? 2,? 3 ], > ? [? 3,? 4,? 1,? 2 ], > ? [? 2,? 3,? 4,? 1 ] ] > > ?2) > [ [? 1,? 2,? 3,? 4 ], > ? [? 2,? 1,? 4,? 3 ], > ? [? 3,? 4,? 1,? 2 ], > ? [? 4,? 3,? 2,? 1 ] ] > > [rec #1: Number elements in autSubgroup = 64; Number Latin Squares = 8; Number repetition = > 56; Number automorfisms = 7] > > [rec #2: Number elements in autSubgroup = 192; Number Latin Squares = > 24; Number repetition = 168; Number automorfisms = 7] > > [ "Length(ListLatinSquares)=", 32, " NumberRepetition=", 224, " AutomSquare=", 14 ] > > > Latin squares of order 4 exactly 576, but 32*3!=192. In this situation , of course, you can still guess as from 32 to receive 576 , because 576 divided by 32. But if n=5, then > > gap> ConclusionSquares(5); > ?1) > [ [? 1,? 2,? 3,? 4,? 5 ], > ? [? 5,? 1,? 2,? 3,? 4 ], > ? [? 4,? 5,? 1,? 2,? 3 ], > ? [? 3,? 4,? 5,? 1,? 2 ], > ? [? 2,? 3,? 4,? 5,? 1 ] ] > > ?2) > [ [? 1,? 2,? 3,? 4,? 5 ], > ? [? 3,? 1,? 5,? 2,? 4 ], > ? [? 5,? 4,? 1,? 3,? 2 ], > ? [? 2,? 5,? 4,? 1,? 3 ], > ? [? 4,? 3,? 2,? 5,? 1 ] ] > > [rec #1: Number elements in autSubgroup = 200; Number Latin Squares = > 20; Number repetition = 180; Number automorfisms = 9] > > [rec #2: Number elements in autSubgroup = 24; Number Latin Squares = 24; Number repetition = > 0; Number automorfisms = 0] > > [ "Length(ListLatinSquares)=", 44, " NumberRepetition=", 180, " AutomSquare=", 9 ] > > Latin squares of order 5 exactly 161280 and 161280 is not divisible by 44. > ? Therefore , from the number of Latin squares , so that you can get , it is impossible to find all the squares of a given order . That is, function SemiLatinSquareDuals does not answer the question about the number of Latin squares . > ? The following questions . Am I right? ?Did I everything right and reasoned?? If so, then the function SemiLatinskuare ( n , k) is not working properly or I did not understand then what it does . > ? By the way, this function has a few optional parameters: SemiLatinSquareDuals(n,k,maxmult,blockintsize, isolevel). A ll these parameters in this case, for k=1, are not interesting , because we consider only Latin squares . > > Thank you very much! > > Best regards, > > Arsene Galstyan > ares.1995 at mail.ru > _______________________________________________ > 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 Mon Jul 25 18:56:08 2016 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Mon, 25 Jul 2016 19:56:08 +0200 Subject: [GAP Forum] "Error, no method found" in IsIrreducibleRingElement In-Reply-To: References: Message-ID: <20160725175608.GC8631@yellowpig> On Mon, Jul 25, 2016 at 12:33:18PM +0000, Hulpke,Alexander wrote: > Dear Charles Greathouse, Dear Forum, > > On Jul 6, 2016, at 8:38 PM, Charles Greathouse > wrote: > > I'm having trouble getting IsIrreducibleRingElement (and IsPrime) working > on SmallRing elements. For example: > > > Switching rings, elements, versions, and operating systems hasn't helped. > > The built-in irreducibility tests are currently only available for the > integers (and some rings of integers) and polynomial rings over > fields. There is no method for the small rings, which is the reason > for the error message you received. All elements in a finite ring are either invertible or divisors of zero so in both case are not irreducible nor prime. So it should just return false. Cheers, Bill. From sam at Math.RWTH-Aachen.De Wed Jul 27 13:39:06 2016 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Wed, 27 Jul 2016 14:39:06 +0200 Subject: [GAP Forum] Loading problem in GAP In-Reply-To: References: Message-ID: <20160727123906.GA19804@gemma.math.rwth-aachen.de> Dear GAP Forum, the problem reported by Mathieu Dutour is due to a recent code change. It will be fixed in the next GAP version. (For those who are interested in the details: A Boolean expression for testing whether the function 'PrintFormattedString' can already be called had been extended in such a way that 'true' is returned before the function is available. Therefore the error happens after the function has been declared and before it has been installed.) Thanks to Mathieu for reporting this bug, and sorry for the inconveniences. All the best, Thomas On Fri, Jul 22, 2016 at 10:54:49AM +0200, Mathieu Dutour wrote: > Dear all, > > when trying to debug GAP packages installation, > it is common to use > SetUserPreference( "InfoPackageLoadingLevel", 4 ); > > However, if one does that then the error is following: > Error, PrintFormattedString: function is not yet defined in > ValueGlobal( "PrintFormattedString" )( s ); at > /home/mathieu/opt/gap4r8p4/lib/info.gi:85 called from > fun( "#I " ); at /home/mathieu/opt/gap4r8p4/lib/info.gi:93 called from > fun( InfoData.LastClass, InfoData.LastLevel, arglist > ); at /home/mathieu/opt/gap4r8p4/lib/info.gi:336 called from > message[1] at /home/mathieu/opt/gap4r8p4/lib/package.gi:544 called from [...] From s.shpectorov at bham.ac.uk Wed Jul 27 16:49:39 2016 From: s.shpectorov at bham.ac.uk (Sergey Shpectorov) Date: Wed, 27 Jul 2016 15:49:39 +0000 Subject: [GAP Forum] Thue's Lemma Message-ID: <63278B7E72610F4C87EE13DA0E155D9601DF792CC2@EX11.adf.bham.ac.uk> Hello, Does GAP have a function for Thue's Lemma: Given integers m>1, X>0, Y>0, such that X<=m References: <63278B7E72610F4C87EE13DA0E155D9601DF792CC2@EX11.adf.bham.ac.uk> Message-ID: <20160728103253.GA5949@yellowpig> On Wed, Jul 27, 2016 at 03:49:39PM +0000, Sergey Shpectorov wrote: > Hello, > > Does GAP have a function for Thue's Lemma: > > Given integers m>1, X>0, Y>0, such that X<=m x,y such that |x| > or something equivalent? I could not find it in the documentation either. This is known under various other name such as "rational reconstruction", "rational lifting" and "half extended gcd". This is available in PARI/GP as bestappr. Cheers, Bill. From frank.luebeck at math.rwth-aachen.de Thu Jul 28 13:16:38 2016 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Thu, 28 Jul 2016 14:16:38 +0200 Subject: [GAP Forum] Thue's Lemma In-Reply-To: <63278B7E72610F4C87EE13DA0E155D9601DF792CC2@EX11.adf.bham.ac.uk> References: <63278B7E72610F4C87EE13DA0E155D9601DF792CC2@EX11.adf.bham.ac.uk> Message-ID: <20160728121638.GA7337@localhost.localdomain> On Wed, Jul 27, 2016 at 03:49:39PM +0000, Sergey Shpectorov wrote: > Hello, > > Does GAP have a function for Thue's Lemma: > > Given integers m>1, X>0, Y>0, such that X<=m there exist integers > x,y such that |x| > or something equivalent? > > Best, > Sergey Dear Sergey, dear Forum, See the documentation of the function ?RatNumberFromModular which is contained in the EDIM package. Does this what you are looking for? (When I wrote that function I was not aware that this is known under various names.) Best regards, Frank -- /// 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 s.shpectorov at bham.ac.uk Thu Jul 28 19:26:58 2016 From: s.shpectorov at bham.ac.uk (Sergey Shpectorov) Date: Thu, 28 Jul 2016 18:26:58 +0000 Subject: [GAP Forum] Thue's Lemma In-Reply-To: <20160728121638.GA7337@localhost.localdomain> References: <63278B7E72610F4C87EE13DA0E155D9601DF792CC2@EX11.adf.bham.ac.uk>, <20160728121638.GA7337@localhost.localdomain> Message-ID: <63278B7E72610F4C87EE13DA0E155D9601DF794009@EX11.adf.bham.ac.uk> Dear Frank, Yes, this is exactly what I need!! And it seems to work well for very-very long numbers! All the best, Sergey ________________________________________ From: Frank L?beck [frank.luebeck at math.rwth-aachen.de] Sent: Thursday, July 28, 2016 1:16 PM To: Sergey Shpectorov Cc: forum at gap-system.org Subject: Re: [GAP Forum] Thue's Lemma On Wed, Jul 27, 2016 at 03:49:39PM +0000, Sergey Shpectorov wrote: > Hello, > > Does GAP have a function for Thue's Lemma: > > Given integers m>1, X>0, Y>0, such that X<=m there exist integers > x,y such that |x| > or something equivalent? > > Best, > Sergey Dear Sergey, dear Forum, See the documentation of the function ?RatNumberFromModular which is contained in the EDIM package. Does this what you are looking for? (When I wrote that function I was not aware that this is known under various names.) Best regards, Frank -- /// 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 waghoba at gmail.com Fri Jul 29 06:59:39 2016 From: waghoba at gmail.com (Vinay Wagh) Date: Fri, 29 Jul 2016 11:29:39 +0530 Subject: [GAP Forum] Equivalent of solve_mod in sage in GAP Message-ID: Dear Forum, I would like to solve a system of multi-variable linear congruences mod n. I found that sage offers a command called solve_mod. I will be happy to get some pointers in GAP itself, which does the same job. Thanks. -- VInay From Bill.Allombert at math.u-bordeaux.fr Fri Jul 29 13:12:39 2016 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Fri, 29 Jul 2016 14:12:39 +0200 Subject: [GAP Forum] Equivalent of solve_mod in sage in GAP In-Reply-To: References: Message-ID: <20160729121239.GC18983@yellowpig> On Fri, Jul 29, 2016 at 11:29:39AM +0530, Vinay Wagh wrote: > Dear Forum, > > I would like to solve a system of multi-variable linear congruences > mod n. I found that sage offers a command called solve_mod. I will be > happy to get some pointers in GAP itself, which does the same job. Such problems reduce to Hermite normal form computation, so you can use HermiteNormalFormIntegerMatTransform for that. Cheers, Bill. From juergen.mueller at math.rwth-aachen.de Sat Jul 30 10:20:58 2016 From: juergen.mueller at math.rwth-aachen.de (Juergen Mueller) Date: Sat, 30 Jul 2016 11:20:58 +0200 Subject: [GAP Forum] Thue's Lemma Message-ID: <20160730092058.GA16714@localhost.localdomain> Dear Sergey, dear Frank, just a short additional comment on this: Actually, I did not know either that this Lemma has a name attached to it, in my eyes it was part of mathematical folklore. Anyway, the standard algorithmic solution (which is the one Frank has implemented, as far as I see) is also known as Gauss's algorithm finding a shortest vector in a lattice of rank 2 in Euclidean space (applied to the lattice spanned by [n,0] and [x,1]). As such, it as a variant of the Euclidean algorithm in Z, and a predecessor of the LLL algorithm. And indeed, as it is essentially the Euclidean algorithm running, this works efficiently for HUGE numbers, as you have observed. For more details, see for example Algorithm 1.3.14 in Cohen's book `A course in computational algebraic number theory'. Best wishes, J?rgen (M?ller) From s.shpectorov at bham.ac.uk Sat Jul 30 11:11:47 2016 From: s.shpectorov at bham.ac.uk (Sergey Shpectorov) Date: Sat, 30 Jul 2016 10:11:47 +0000 Subject: [GAP Forum] Thue's Lemma In-Reply-To: <20160730092058.GA16714@localhost.localdomain> References: <20160730092058.GA16714@localhost.localdomain> Message-ID: <63278B7E72610F4C87EE13DA0E155D9601DF7945CF@EX11.adf.bham.ac.uk> Dear Juergen, Thanks for providing these details! I certainly have no first-hand knowledge of the origin of this fact. I found it attributed to Thue on Wikipedia, and am just very happy that the algorithm is available in GAP! Best, Sergey ________________________________________ From: forum-bounces at gap-system.org [forum-bounces at gap-system.org] on behalf of Juergen Mueller [juergen.mueller at math.rwth-aachen.de] Sent: Saturday, July 30, 2016 10:20 AM To: forum at gap-system.org Subject: Re: [GAP Forum] Thue's Lemma Dear Sergey, dear Frank, just a short additional comment on this: Actually, I did not know either that this Lemma has a name attached to it, in my eyes it was part of mathematical folklore. Anyway, the standard algorithmic solution (which is the one Frank has implemented, as far as I see) is also known as Gauss's algorithm finding a shortest vector in a lattice of rank 2 in Euclidean space (applied to the lattice spanned by [n,0] and [x,1]). As such, it as a variant of the Euclidean algorithm in Z, and a predecessor of the LLL algorithm. And indeed, as it is essentially the Euclidean algorithm running, this works efficiently for HUGE numbers, as you have observed. For more details, see for example Algorithm 1.3.14 in Cohen's book `A course in computational algebraic number theory'. Best wishes, J?rgen (M?ller) _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From axyd0000 at gmail.com Tue Aug 2 15:11:01 2016 From: axyd0000 at gmail.com (gxyd) Date: Tue, 2 Aug 2016 19:41:01 +0530 Subject: [GAP Forum] Library of Finitely Presented groups exists Message-ID: <5a6b7e56-9f8a-f779-3ec8-e177903b88bc@gmail.com> Hi forum members, I am making some programs in Python (for finitely presented groups), so I was looking examples of finitely presented for testing. Perhaps I could not find sufficient number of examples through internet search. Does there exists any database of finitely presented groups as such in GAP (with a few of their properties mentioned like order or index etc.)? I am particularly looking for groups with **small** order. Thanks Gaurav (Sent from thunderbird email client) From alexander.konovalov at st-andrews.ac.uk Wed Aug 3 14:58:04 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Wed, 3 Aug 2016 13:58:04 +0000 Subject: [GAP Forum] groups of order p^3*q^3 In-Reply-To: References: Message-ID: Dear Walter, dear GAP Forum, > On 25 Jul 2016, at 15:02, Alexander Konovalov wrote: > > Dear Walter, > >> On 25 Jul 2016, at 14:45, Walter Becker wrote: >> >> The question is how many groups are there for these >> orders. Note here that the Group Constructions program >> of Besche and Eick give for the case of p=3 and q=7 the >> number 215 (and actually constructs them). The Thesis of >> of R. Laue (see page 226) seems to give 229 (plus the >> 25 direct product cases of the groups of order 27 and 343 ?). >> >> The compiled list of groups available on the internet does >> not contain an entry for the groups of order 9261. > > The Group Numbers reproducibility project > (https://github.com/alex-konovalov/gnu) > actually has an entry for gnu(9261): see > > https://github.com/alex-konovalov/gnu/pull/43 > > and it is 215. Same number obtained by using the > latest GrpConst package both in GAP 4.8.3 and master > branch of the development version of GAP at the > time of submission. > > I don't have Laue's thesis so I can not comment more > on the reasons for the discrepancies, but hopefully > some one else could add more. I was pointed out (thanks!) that the reader who is not familiar with the Group Numbers reproducibility project may read my email as a confirmation of an independent count of groups of order 9261, what is not true - it was counted using the same approach used by Walter (using the GrpConst package) - what I had in mind replying to Walter was to confirm that the same number is replicated in other calculations and is actually reported somewhere on the internet. Having an independent count produced by other implementations or by purely theoretical calculations is certainly interesting. Actually, in the Group Numbers reproducibility project there are several categories (GitHub labels) for gnu(n) entries to specify different levels of their reproducibility: * replicated: the same count is obtained using the same code on a different machine, possibly with different versions of the software (but calling the same GAP functions). * reproduced: the same count is obtained using another implementation (for example, for cubefree groups one could use the GrpConst package and the Cubefree package) * agrees with theory: the count is checked against the literature Hopefully more labels of the latter two kinds will appear at some point. Best wishes Alexander From e.obrien at auckland.ac.nz Sat Aug 6 11:16:56 2016 From: e.obrien at auckland.ac.nz (Eamonn O'Brien) Date: Sat, 6 Aug 2016 22:16:56 +1200 Subject: [GAP Forum] Kalman Visiting Fellowship in Mathematics at the University of Auckland Message-ID: <57A5B918.8040609@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 5^th September 2016. I am happy to provide further information. Previous recipients of the Fellowship are Tim Burness (Bristol) and Jiawang Nie (UCSD). Best wishes. Eamonn From J.Howie at hw.ac.uk Wed Aug 10 10:33:06 2016 From: J.Howie at hw.ac.uk (Jim Howie) Date: Wed, 10 Aug 2016 10:33:06 +0100 Subject: [GAP Forum] Fwd: Job Advert in Pure Maths at Heriot Watt In-Reply-To: References: Message-ID: Dear Colleagues Apologies for multiple mailings. The Maths Department at Heriot Watt is looking to recruit a pure mathematician (at assistant/associate/full professor level). Details at https://www.hw.ac.uk/about/careers/jobs/job_SVJDNTc5MA.htm The closing date is 30 September. Please forward to anyone who may be interested. Best wishes Jim Howie ________________________________ Founded in 1821, Heriot-Watt is a leader in ideas and solutions. With campuses and students across the entire globe we span the world, delivering innovation and educational excellence in business, engineering, design and the physical, social and life sciences. The contents of this e-mail (including any attachments) are confidential. If you are not the intended recipient of this e-mail, any disclosure, copying, distribution or use of its contents is strictly prohibited, and you should please notify the sender immediately and then delete it (including any attachments) from your system. From r_n_tsai at yahoo.com Fri Aug 12 06:52:33 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Fri, 12 Aug 2016 05:52:33 +0000 (UTC) Subject: [GAP Forum] Error using guava function QCLDPCCodeFromGroup References: <834423031.13493661.1470981153524.JavaMail.yahoo.ref@mail.yahoo.com> Message-ID: <834423031.13493661.1470981153524.JavaMail.yahoo@mail.yahoo.com> Dear Forum, I tried to use the?QCLDPCCodeFromGroup defined in the guava package :I used the example given in the documentation : LoadPackage("guava","0",false); C:=QCLDPCCodeFromGroup(7,2,3);? I get this error : Error, no method found! For debugging hints type ?Recovery from NoMethodFoundError, no 1st choice method found for `QCLDPCCodeFromGroup' on 3 arguments called from( ) ?QCLDPCCodeFromGroup returns the expected information about it, so it seems that gapknows about the function and I do load the guava package. I'm using this version of GAP under windows.GAP 4.8.3, 19-Mar-2016, build of 2016-03-20 23:48:47 (GMTST) I got the same error with win32 and win64 versions and under linux. Thanks for your help,R.N. From ciric50 at gmail.com Tue Aug 16 20:12:24 2016 From: ciric50 at gmail.com (Bill Maier) Date: Tue, 16 Aug 2016 14:12:24 -0500 Subject: [GAP Forum] Build problem Message-ID: I'm on Linux Mint 64-bit version 18 and am trying to build a local version of GAP from the latest source code. I am a software engineer and would like to start contributing to GAP. I pulled code using "git clone https://github.com/gap-system/gap.git". Ran .configure and then make which had no problems. But then when I run bin/gap.sh, the system reports this: bmaier at mint-desktop ~/Packages/github/gap/bin $ ./gap.sh ????????? GAP v4.8.4-702-g80a0966 of 2016-08-16 14:06:52 (CDT) ? GAP ? http://www.gap-system.org ????????? Architecture: x86_64-pc-linux-gnu-gcc-default64 Libs used: gmp Loading the library and packages ... #I gapdoc package is not available. Check that the name is correct #I and it is present in one of the GAP root directories (see '??RootPaths') #I GAP: needed package gapdoc cannot be loaded Error, failed to load needed package `gapdoc' (version >= 1.2) at /home/bmaier/Packages/github/gap/lib/package.gi:1836 called from func( ); at /home/bmaier/Packages/github/gap/lib/system.g:159 called from ( ) called from read-eval loop at /home/bmaier/Packages/github/gap/lib/init.g:770 It still actually runs most simple commands. However when I try to run the command "Factorial(8);" I get this: Error, Factorial: function is not yet defined in called from func( ); at /home/bmaier/Packages/github/gap/lib/system.g:159 called from ( ) called from read-eval loop at *errin*:2 Can someone tell me what is wrong? -Bill From caj21 at st-andrews.ac.uk Tue Aug 16 20:16:51 2016 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Tue, 16 Aug 2016 19:16:51 +0000 Subject: [GAP Forum] Build problem In-Reply-To: References: Message-ID: <246BD08B-316B-43C6-959C-071BED134FCE@st-andrews.ac.uk> GAP requires the ?gapdoc? package to function, but it is not distributed with GAP (we probably should either improve the messages, or not require it, but that is a longer-term issue). To get GAP working, run either: ? make bootstrap-pkg-minimal ? to get just the packages GAP needs to start or ? make bootstrap-pkg-full ? to get a complete set of packages. On 16/08/2016, 20:12, "forum-bounces at gap-system.org on behalf of Bill Maier" wrote: I'm on Linux Mint 64-bit version 18 and am trying to build a local version of GAP from the latest source code. I am a software engineer and would like to start contributing to GAP. I pulled code using "git clone https://github.com/gap-system/gap.git". Ran .configure and then make which had no problems. But then when I run bin/gap.sh, the system reports this: bmaier at mint-desktop ~/Packages/github/gap/bin $ ./gap.sh ????????? GAP v4.8.4-702-g80a0966 of 2016-08-16 14:06:52 (CDT) ? GAP ? http://www.gap-system.org ????????? Architecture: x86_64-pc-linux-gnu-gcc-default64 Libs used: gmp Loading the library and packages ... #I gapdoc package is not available. Check that the name is correct #I and it is present in one of the GAP root directories (see '??RootPaths') #I GAP: needed package gapdoc cannot be loaded Error, failed to load needed package `gapdoc' (version >= 1.2) at /home/bmaier/Packages/github/gap/lib/package.gi:1836 called from func( ); at /home/bmaier/Packages/github/gap/lib/system.g:159 called from ( ) called from read-eval loop at /home/bmaier/Packages/github/gap/lib/init.g:770 It still actually runs most simple commands. However when I try to run the command "Factorial(8);" I get this: Error, Factorial: function is not yet defined in called from func( ); at /home/bmaier/Packages/github/gap/lib/system.g:159 called from ( ) called from read-eval loop at *errin*:2 Can someone tell me what is wrong? -Bill _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From ciric50 at gmail.com Tue Aug 16 20:54:02 2016 From: ciric50 at gmail.com (Bill Maier) Date: Tue, 16 Aug 2016 14:54:02 -0500 Subject: [GAP Forum] Build problem In-Reply-To: <246BD08B-316B-43C6-959C-071BED134FCE@st-andrews.ac.uk> References: <246BD08B-316B-43C6-959C-071BED134FCE@st-andrews.ac.uk> Message-ID: That did it. Thanks! On Tue, Aug 16, 2016 at 2:16 PM, Christopher Jefferson < caj21 at st-andrews.ac.uk> wrote: > GAP requires the ?gapdoc? package to function, but it is not distributed > with GAP (we probably should either improve the messages, or not require > it, but that is a longer-term issue). > > To get GAP working, run either: > > ? make bootstrap-pkg-minimal ? to get just the packages GAP needs to start > or > ? make bootstrap-pkg-full ? to get a complete set of packages. > > > > On 16/08/2016, 20:12, "forum-bounces at gap-system.org on behalf of Bill > Maier" > wrote: > > I'm on Linux Mint 64-bit version 18 and am trying to build a local > version > of GAP from the latest > source code. I am a software engineer and would like to start > contributing > to GAP. I pulled code > using "git clone https://github.com/gap-system/gap.git". Ran > .configure and > then make > which had no problems. > > But then when I run bin/gap.sh, the system reports this: > > bmaier at mint-desktop ~/Packages/github/gap/bin $ ./gap.sh > ????????? GAP v4.8.4-702-g80a0966 of 2016-08-16 14:06:52 (CDT) > ? GAP ? http://www.gap-system.org > ????????? Architecture: x86_64-pc-linux-gnu-gcc-default64 > Libs used: gmp > Loading the library and packages ... > #I gapdoc package is not available. Check that the name is correct > #I and it is present in one of the GAP root directories (see > '??RootPaths') > #I GAP: needed package gapdoc cannot be loaded > Error, failed to load needed package `gapdoc' (version >= 1.2) at > /home/bmaier/Packages/github/gap/lib/package.gi:1836 called from > func( ); at /home/bmaier/Packages/github/gap/lib/system.g:159 called > from > ( ) > called from read-eval loop at > /home/bmaier/Packages/github/gap/lib/init.g:770 > > It still actually runs most simple commands. However when > I try to run the command "Factorial(8);" I get this: > > Error, Factorial: function is not yet defined in > called from > func( ); at /home/bmaier/Packages/github/gap/lib/system.g:159 called > from > ( ) > called from read-eval loop at *errin*:2 > > Can someone tell me what is wrong? > > -Bill > _______________________________________________ > 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 Thu Aug 18 13:19:36 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Thu, 18 Aug 2016 13:19:36 +0100 Subject: [GAP Forum] Error using guava function QCLDPCCodeFromGroup In-Reply-To: <834423031.13493661.1470981153524.JavaMail.yahoo@mail.yahoo.com> References: <834423031.13493661.1470981153524.JavaMail.yahoo.ref@mail.yahoo.com> <834423031.13493661.1470981153524.JavaMail.yahoo@mail.yahoo.com> Message-ID: <20160818121936.GA9850@dimpase.cs.ox.ac.uk> Dear R.N.Tsai, I have filed this as a bug report: https://github.com/osj1961/guava/issues/23 Hope this helps, Dima On Fri, Aug 12, 2016 at 05:52:33AM +0000, R.N. Tsai wrote: > Dear Forum, > I tried to use the?QCLDPCCodeFromGroup defined in the guava package :I used the example given in the documentation : > LoadPackage("guava","0",false); > C:=QCLDPCCodeFromGroup(7,2,3);? > I get this error : > Error, no method found! For debugging hints type ?Recovery from NoMethodFoundError, no 1st choice method found for `QCLDPCCodeFromGroup' on 3 arguments called from( ) > ?QCLDPCCodeFromGroup returns the expected information about it, so it seems that gapknows about the function and I do load the guava package. > I'm using this version of GAP under windows.GAP 4.8.3, 19-Mar-2016, build of 2016-03-20 23:48:47 (GMTST) > I got the same error with win32 and win64 versions and under linux. > Thanks for your help,R.N. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From waghoba at gmail.com Tue Aug 23 05:04:54 2016 From: waghoba at gmail.com (Vinay Wagh) Date: Tue, 23 Aug 2016 09:34:54 +0530 Subject: [GAP Forum] GAP-4.8.4 or 4.8.3? Message-ID: Dear Forum, I am not sure whether this is a problem or not! I am trying to install latest GAP release -- 4.8.4 on my 64bit Ubuntu 14.04 system (from the link http://www.gap-system.org/pub/gap/gap48/tar.gz/gap4r8p4_2016_06_04-12_41.tar.gz). After the successful compilation, if I start gap, then in the banner I can see the version as 4.8.3 with build of 4th June. Am I missing something while compilation? The output --> ------------------------------------------------------ ????????? GAP 4.8.3, 19-Mar-2016, build of 2016-06-04 01:23:49 (IST) ? GAP ? http://www.gap-system.org ????????? Architecture: x86_64-pc-linux-gnu-gcc-default64 Libs used: gmp Loading the library and packages ... Components: trans 1.0, prim 2.1, small* 1.0, id* 1.0 ------------------------------------------------------ Thanks in advance VInay From dmitrii.pasechnik at cs.ox.ac.uk Tue Aug 23 11:44:03 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Tue, 23 Aug 2016 11:44:03 +0100 Subject: [GAP Forum] GAP-4.8.4 or 4.8.3? In-Reply-To: References: Message-ID: <20160823104402.GC23452@dimpase.cs.ox.ac.uk> Dear Vinay, On Tue, Aug 23, 2016 at 09:34:54AM +0530, Vinay Wagh wrote: > I am not sure whether this is a problem or not! > > I am trying to install latest GAP release -- 4.8.4 on my 64bit Ubuntu > 14.04 system (from the link > http://www.gap-system.org/pub/gap/gap48/tar.gz/gap4r8p4_2016_06_04-12_41.tar.gz). > > After the successful compilation, if I start gap, then in the banner I > can see the version as 4.8.3 with build of 4th June. > > Am I missing something while compilation? You have more than one installation of GAP on your machine, and launching the wrong one, not the one you compiled. The one you would compile this way, say, in a directory A, can be launched by changing to A and running ./bin/gap.sh And the prompt would look like: ????????? GAP 4.8.4, 04-Jun-2016, build of 2016-08-23 11:16:47 (BST) ? GAP ? http://www.gap-system.org ????????? Architecture: x86_64-pc-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.1, AutPGrp 1.6, CRISP 1.4.4, Cryst 4.1.12, CrystCat 1.1.6, CTblLib 1.2.2, FactInt 1.5.3, FGA 1.3.1, GAPDoc 1.5.1, IRREDSOL 1.3.1, LAGUNA 3.7.0, Polenta 1.3.6, Polycyclic 2.11, RadiRoot 2.7, ResClasses 4.5.0, Sophus 1.23, SpinSym 1.5, TomLib 1.2.5, Utils 0.40 Try '??help' for help. See also '?copyright', '?cite' and '?authors' HTH, Dmitrii > > The output --> > > ------------------------------------------------------ > ????????? GAP 4.8.3, 19-Mar-2016, build of 2016-06-04 01:23:49 (IST) > ? GAP ? http://www.gap-system.org > ????????? Architecture: x86_64-pc-linux-gnu-gcc-default64 > Libs used: gmp > Loading the library and packages ... > Components: trans 1.0, prim 2.1, small* 1.0, id* 1.0 > ------------------------------------------------------ > > > Thanks in advance > VInay > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From waghoba at gmail.com Tue Aug 23 14:09:30 2016 From: waghoba at gmail.com (Vinay Wagh) Date: Tue, 23 Aug 2016 18:39:30 +0530 Subject: [GAP Forum] GAP-4.8.4 or 4.8.3? In-Reply-To: <20160823104402.GC23452@dimpase.cs.ox.ac.uk> References: <20160823104402.GC23452@dimpase.cs.ox.ac.uk> Message-ID: Not really!!! I have only one installation directory (in fact I keep overwriting every version, using a customized script). However deleting the whole directory and re-running the script solved the issue. Thanks anyway. VInay $ ./bin/gap.sh ????????? GAP 4.8.3, 19-Mar-2016, build of 2016-06-04 01:23:49 (IST) ? GAP ? http://www.gap-system.org ????????? Architecture: x86_64-pc-linux-gnu-gcc-default64 Libs used: gmp 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.1, AutPGrp 1.6, Browse 1.8.6, CRISP 1.4.4, Cryst 4.1.12, CrystCat 1.1.6, CTblLib 1.2.2, FactInt 1.5.3, FGA 1.3.1, GAPDoc 1.5.1, IO 4.4.6, IRREDSOL 1.3.1, LAGUNA 3.7.0, Polenta 1.3.6, Polycyclic 2.11, RadiRoot 2.7, ResClasses 4.5.0, Sophus 1.23, SpinSym 1.5, TomLib 1.2.5, Utils 0.40 Try '??help' for help. See also '?copyright', '?cite' and '?authors' gap> On 23-Aug-2016 16:14, "Dima Pasechnik" wrote: > Dear Vinay, > On Tue, Aug 23, 2016 at 09:34:54AM +0530, Vinay Wagh wrote: > > I am not sure whether this is a problem or not! > > > > I am trying to install latest GAP release -- 4.8.4 on my 64bit Ubuntu > > 14.04 system (from the link > > http://www.gap-system.org/pub/gap/gap48/tar.gz/gap4r8p4_2016 > _06_04-12_41.tar.gz). > > > > After the successful compilation, if I start gap, then in the banner I > > can see the version as 4.8.3 with build of 4th June. > > > > Am I missing something while compilation? > > You have more than one installation of GAP on your machine, and > launching the wrong one, not the one you compiled. > The one you would compile this way, say, in a directory A, > can be launched by changing to A and running > ./bin/gap.sh > > And the prompt would look like: > > ????????? GAP 4.8.4, 04-Jun-2016, build of 2016-08-23 11:16:47 (BST) > ? GAP ? http://www.gap-system.org > ????????? Architecture: x86_64-pc-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.1, AutPGrp 1.6, CRISP > 1.4.4, Cryst 4.1.12, > CrystCat 1.1.6, CTblLib 1.2.2, FactInt 1.5.3, FGA 1.3.1, > GAPDoc 1.5.1, IRREDSOL 1.3.1, > LAGUNA 3.7.0, Polenta 1.3.6, Polycyclic 2.11, RadiRoot 2.7, > ResClasses 4.5.0, Sophus 1.23, > SpinSym 1.5, TomLib 1.2.5, Utils 0.40 > Try '??help' for help. See also '?copyright', '?cite' and '?authors' > > HTH, > Dmitrii > > > > > The output --> > > > > ------------------------------------------------------ > > ????????? GAP 4.8.3, 19-Mar-2016, build of 2016-06-04 01:23:49 (IST) > > ? GAP ? http://www.gap-system.org > > ????????? Architecture: x86_64-pc-linux-gnu-gcc-default64 > > Libs used: gmp > > Loading the library and packages ... > > Components: trans 1.0, prim 2.1, small* 1.0, id* 1.0 > > ------------------------------------------------------ > > > > > > Thanks in advance > > VInay > > > > _______________________________________________ > > 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 Aug 23 20:59:42 2016 From: e.obrien at auckland.ac.nz (Eamonn O'Brien) Date: Wed, 24 Aug 2016 07:59:42 +1200 Subject: [GAP Forum] Kalman Visiting Fellowship in Mathematics at the University of Auckland Message-ID: <0b31ae48-93f5-525d-0dbe-315368fde5e0@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 5^th September 2016. I am happy to provide further information. Previous recipients of the Fellowship are Tim Burness (Bristol) and Jiawang Nie (UCSD). Best wishes. Eamonn From s.dikson2016 at gmail.com Sat Aug 27 15:40:49 2016 From: s.dikson2016 at gmail.com (Sara Dikson) Date: Sat, 27 Aug 2016 19:10:49 +0430 Subject: [GAP Forum] Installing gap package Message-ID: Dear Forum I would like to install "atlasrep" package in ubuntu but I couldn't! Is it possible help me to install it step by step? Best regards. Sara From dmitrii.pasechnik at cs.ox.ac.uk Sat Aug 27 16:25:40 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (Dima Pasechnik) Date: Sat, 27 Aug 2016 16:25:40 +0100 Subject: [GAP Forum] Installing gap package In-Reply-To: References: Message-ID: <20160827152540.GA11195@dimpase.cs.ox.ac.uk> Dear Sara, On Sat, Aug 27, 2016 at 07:10:49PM +0430, Sara Dikson wrote: > I would like to install "atlasrep" package in ubuntu but I couldn't! > Is it possible help me to install it step by step? I take it as you use GAP installed as a Ubuntu package. Assuming you have admin rights on your machine, you simpy can install the package into /usr/share/gap/pkg/ That is, you cd to this directory and untar the package you downloaded from http://www.gap-system.org/pub/gap/gap4/tar.gz/packages/atlasrep1r5p1.tar.gz In more detail, assuming the tar file in in /tmp: $ cd /usr/share/gap/pkg/ $ sudo tar xf /tmp/atlasrep1r5p1.tar.gz Finally, you will need to make AtlasRep data cache directories writable to all the users (this is not very secure step - on systems with many people using it this does not look like a good idea): $ sudo chmod 777 /usr/share/gap/pkg/atlasrep/data* There are ways to make the latter more secure, described in the package manual, if you need it. Hope this helps, Dima > Best regards. > Sara From s.dikson2016 at gmail.com Mon Aug 29 13:54:10 2016 From: s.dikson2016 at gmail.com (Sara Dikson) Date: Mon, 29 Aug 2016 17:24:10 +0430 Subject: [GAP Forum] An Error Message-ID: Dear Forum, I installed "atlasrep" package. I can not get some sporadic groups like "HS" or "McL". It returns some errors: gap> s:=AtlasGroup("HS"); #I CrcFile value of #I '/usr/share/gap/pkg/atlasrep/data/datagens/HSG1-p100B0.m1' #I does not match, ignoring this file How can I get all "AtlasGroups"? I send the error as an attachment. Best regards Sara -------------- next part -------------- gap> s:=AtlasGroup("HS"); #I CrcFile value of #I '/usr/share/gap/pkg/atlasrep/data/datagens/HSG1-p100B0.m1' #I does not match, ignoring this file fail gap> s:=AtlasGroup("HS"); #I CrcFile value of #I '/usr/share/gap/pkg/atlasrep/data/datagens/HSG1-p100B0.m1' #I does not match, ignoring this file fail gap> s:=AtlasGroup("Hs"); #I CrcFile value of #I '/usr/share/gap/pkg/atlasrep/data/datagens/HSG1-p100B0.m1' #I does not match, ignoring this file fail gap> s:=AtlasGroup("McL"); #I CrcFile value of #I '/usr/share/gap/pkg/atlasrep/data/datagens/McLG1-p275B0.m1' #I does not match, ignoring this file fail gap> LoadPackage("atlasrep"); true gap> s:=AtlasGroup("HS"); #I CrcFile value of #I '/usr/share/gap/pkg/atlasrep/data/datagens/HSG1-p100B0.m1' #I does not match, ignoring this file fail gap> s:=AtlasGroup("McL"); #I CrcFile value of #I '/usr/share/gap/pkg/atlasrep/data/datagens/McLG1-p275B0.m1' #I does not match, ignoring this file fail gap> From alexander.konovalov at st-andrews.ac.uk Mon Aug 29 13:53:51 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 29 Aug 2016 12:53:51 +0000 Subject: [GAP Forum] Installing gap package In-Reply-To: <20160827152540.GA11195@dimpase.cs.ox.ac.uk> References: <20160827152540.GA11195@dimpase.cs.ox.ac.uk> Message-ID: <921E0BDF-A1D8-43EE-85A7-079D969586FD@st-andrews.ac.uk> Dear Sarah, dear GAP Forum, While Dima's reply tells how to install an additional GAP package to GAP installed as an Ubuntu package, I would suggest to use a different approach, and here is why. 1) 'apt install gap' offers an alternative third-party distribution which has a different structure and at the moment does not provide the latest GAP release (it gives last years' version 4.7.9 of 29-Nov-2015 while the most recent GAP is 4.8.4, 04-Jun-2016). 2) Now the version of AtlasRep 1.5.1 was released on 30/03/2016 and was first time included in the distribution of GAP 4.8.4 released on June 4th this year. Hence, there is no guarantee that this combination was carefully tested and that it works fine. Instead, I would recommend to download GAP 4.8.4 from this page http://www.gap-system.org/Releases/ and build GAP and as many packages as you can. You don't need to have admin rights on that machine since you can install it in your home directory. For example, these commands go to your home directory, download GAP, unpack the archive, delete the archive, rename the directory to indicate the minor release of GAP, then build the GAP kernel and then build some packages: cd ~ wget http://www.gap-system.org/pub/gap/gap48/tar.bz2/gap4r8p4_2016_06_04-12_41.tar.bz2 gzip -dc gap4r8p4_2016_06_04-12_41.tar.bz2 | tar xpv rm gap4r8p4_2016_06_04-12_41.tar.bz2 mv gap4r8 gap4r8p4 cd gap4r8p4 ./configure make cd pkg ../bin/BuildPackages.sh After that you will be able to start GAP with ~/gap4r8p4/bin/gap.sh Remember that 'gap' will still call the version installed as an Ubuntu package, so be careful. If you have admin rights, you can remove GAP Ubuntu package, and you can also copy ~/gap4r8p4/bin/gap.sh to /usr/local/bin/gap and be able to start it just by calling 'gap' Hope this helps Alexander P.S. One could of course argue that GAP packages provide PackageInfo.g file which documents dependencies, and that AtlasRep states "GAP version: >= 4.5". Even if this is the case for AtlasRep, in general this is not reliable. The following code summarises dependencies: l:=List(RecNames(GAPInfo.PackagesInfo),r->GAPInfo.PackagesInfo.(r)[1].Dependencies.GAP);; for s in l do RemoveCharacters(s,">= ");od; Collected(l); and for packages from GAP 4.8.4 it shows the following: [ [ "4.3", 5 ], [ "4.3fix4", 1 ], [ "4.4", 29 ], [ "4.4.10", 1 ], [ "4.4.6", 1 ], [ "4.4.9", 1 ], [ "4.5", 28 ], [ "4.5.0", 1 ], [ "4.5.3", 4 ], [ "4.5.5", 1 ], [ "4.5.6", 1 ], [ "4.6", 7 ], [ "4.6.3", 1 ], [ "4.7", 33 ], [ "4.7.4", 2 ], [ "4.7.6", 2 ], [ "4.7.8", 1 ], [ "4.8", 3 ], [ "4.8.0", 1 ], [ "4.8.1", 1 ], [ "4.8.2", 4 ], [ "4.8.3", 3 ] ] However, if you will look at release years, then you will see that actually many packages were released in last two years: gap> Collected(List(RecNames(GAPInfo.PackagesInfo),r-> > SplitString(GAPInfo.PackagesInfo.(r)[1].Date,"/")[3])); [ [ "2003", 1 ], [ "2004", 2 ], [ "2006", 1 ], [ "2007", 1 ], [ "2008", 1 ], [ "2009", 1 ], [ "2010", 1 ], [ "2011", 9 ], [ "2012", 11 ], [ "2013", 14 ], [ "2014", 9 ], [ "2015", 31 ], [ "2016", 49 ] ] and I seriously doubt that someone still tests their packages with each previous major release of GAP. May I use this rant to remind to package authors to update dependencies when you're preparing the new version of the package - for example, to the major release of GAP under which you're developing and testing the package. On 27 Aug 2016, at 16:25, Dima Pasechnik wrote: > > Dear Sara, > On Sat, Aug 27, 2016 at 07:10:49PM +0430, Sara Dikson wrote: >> I would like to install "atlasrep" package in ubuntu but I couldn't! >> Is it possible help me to install it step by step? > > I take it as you use GAP installed as a Ubuntu package. > > Assuming you have admin rights on your machine, you simpy can install > the package into /usr/share/gap/pkg/ > That is, you cd to this directory and untar the package you downloaded > from > http://www.gap-system.org/pub/gap/gap4/tar.gz/packages/atlasrep1r5p1.tar.gz > > In more detail, assuming the tar file in in /tmp: > $ cd /usr/share/gap/pkg/ > $ sudo tar xf /tmp/atlasrep1r5p1.tar.gz > > Finally, you will need to make AtlasRep data cache directories writable > to all the users (this is not very secure step - on systems > with many people using it this does not look like a good idea): > > $ sudo chmod 777 /usr/share/gap/pkg/atlasrep/data* > > There are ways to make the latter more secure, described in the package > manual, if you need it. > > Hope this helps, > Dima From dmitrii.pasechnik at cs.ox.ac.uk Mon Aug 29 15:52:48 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (dmitrii.pasechnik at cs.ox.ac.uk) Date: Mon, 29 Aug 2016 14:52:48 +0000 Subject: [GAP Forum] An Error In-Reply-To: References: Message-ID: <20160829145248.GA4675@hilbert.localdomain> Dear Sara, On Mon, Aug 29, 2016 at 05:24:10PM +0430, Sara Dikson wrote: try removing these files (such as /usr/share/gap/pkg/atlasrep/data/datagens/HSG1-p100B0.m1) and re-running gap> s:=AtlasGroup("HS"); etc. Crc errors simply indicate that files got corrupted while you were downloading them (the package does get these files from the internet) Hope this helps, Dima > Dear Forum, > I installed "atlasrep" package. I can not get some sporadic groups like > "HS" or "McL". It returns some errors: > > gap> s:=AtlasGroup("HS"); > #I CrcFile value of > #I '/usr/share/gap/pkg/atlasrep/data/datagens/HSG1-p100B0.m1' > #I does not match, ignoring this file > > How can I get all "AtlasGroups"? > > I send the error as an attachment. > Best regards > > Sara > gap> s:=AtlasGroup("HS"); > #I CrcFile value of > #I '/usr/share/gap/pkg/atlasrep/data/datagens/HSG1-p100B0.m1' > #I does not match, ignoring this file > fail > gap> s:=AtlasGroup("HS"); > #I CrcFile value of > #I '/usr/share/gap/pkg/atlasrep/data/datagens/HSG1-p100B0.m1' > #I does not match, ignoring this file > fail > gap> s:=AtlasGroup("Hs"); > #I CrcFile value of > #I '/usr/share/gap/pkg/atlasrep/data/datagens/HSG1-p100B0.m1' > #I does not match, ignoring this file > fail > gap> s:=AtlasGroup("McL"); > #I CrcFile value of > #I '/usr/share/gap/pkg/atlasrep/data/datagens/McLG1-p275B0.m1' > #I does not match, ignoring this file > fail > gap> LoadPackage("atlasrep"); > true > gap> s:=AtlasGroup("HS"); > #I CrcFile value of > #I '/usr/share/gap/pkg/atlasrep/data/datagens/HSG1-p100B0.m1' > #I does not match, ignoring this file > fail > gap> s:=AtlasGroup("McL"); > #I CrcFile value of > #I '/usr/share/gap/pkg/atlasrep/data/datagens/McLG1-p275B0.m1' > #I does not match, ignoring this file > fail > gap> > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From harshaarora.2008 at gmail.com Tue Aug 30 11:51:53 2016 From: harshaarora.2008 at gmail.com (Harsha Arora) Date: Tue, 30 Aug 2016 16:21:53 +0530 Subject: [GAP Forum] Automorphism orbits Message-ID: Dear sir Is there any command to get automorphism orbits of a group? Harsha Arora From harshaarora.2008 at gmail.com Tue Aug 30 11:54:11 2016 From: harshaarora.2008 at gmail.com (Harsha Arora) Date: Tue, 30 Aug 2016 16:24:11 +0530 Subject: [GAP Forum] Fwd: Automorphism orbits In-Reply-To: References: Message-ID: Dear sir Is there any command to get automorphism orbits of a group? Harsha Arora Dear sir Is there any command to get automorphism orbits of a group? Harsha Arora From r_n_tsai at yahoo.com Wed Aug 31 18:32:27 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Wed, 31 Aug 2016 17:32:27 +0000 (UTC) Subject: [GAP Forum] formatted "Print" References: <2117109665.2701117.1472664747330.ref@mail.yahoo.com> Message-ID: <2117109665.2701117.1472664747330@mail.yahoo.com> Dear GAP forum, Is there a way to do a formatted print in GAP? Something equivalent to this for example : ?%6d or %-6d ?to print an alignedfixed width 6 bit integer....(these are c examples but are used in other languages too). Thanks,R.N. From Bill.Allombert at math.u-bordeaux.fr Thu Sep 1 08:52:07 2016 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Thu, 1 Sep 2016 09:52:07 +0200 Subject: [GAP Forum] Installing gap package In-Reply-To: <20160827152540.GA11195@dimpase.cs.ox.ac.uk> References: <20160827152540.GA11195@dimpase.cs.ox.ac.uk> Message-ID: <20160901075207.GD15090@yellowpig> On Sat, Aug 27, 2016 at 04:25:40PM +0100, Dima Pasechnik wrote: > Dear Sara, > On Sat, Aug 27, 2016 at 07:10:49PM +0430, Sara Dikson wrote: > > I would like to install "atlasrep" package in ubuntu but I couldn't! > > Is it possible help me to install it step by step? > > I take it as you use GAP installed as a Ubuntu package. Recent versions of Ubuntu should have a package 'gap-atlasrep', in which case you can just do: sudo apt-get install gap-atlasrep > Assuming you have admin rights on your machine, you simpy can install > the package into /usr/share/gap/pkg/ It is better to put it in /usr/local/share/gap/pkg/ or even in $HOME/gap/pkg/ if you do not have admin rights. The gap script will still find it. But otherwise your instruction are good. Cheers, Bill. From alexander.konovalov at st-andrews.ac.uk Thu Sep 1 11:38:08 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Thu, 1 Sep 2016 10:38:08 +0000 Subject: [GAP Forum] formatted "Print" In-Reply-To: <2117109665.2701117.1472664747330@mail.yahoo.com> References: <2117109665.2701117.1472664747330.ref@mail.yahoo.com> <2117109665.2701117.1472664747330@mail.yahoo.com> Message-ID: <7195FD5A-18E0-4657-80A2-6787FB850D65@st-andrews.ac.uk> Dear R.N., > On 31 Aug 2016, at 18:32, R.N. Tsai wrote: > > Dear GAP forum, > Is there a way to do a formatted print in GAP? > Something equivalent to this for example : %6d or %-6d to print an alignedfixed width 6 bit integer....(these are c examples but are used in other languages too). > Thanks,R.N. Not that I am aware of (maybe utility function in some package though?) but you can easily achieve this using String, or PrintString or ViewString - dependently on the objects that you want to output this way. For example, this is a simple-minded attempt to add some number of spaces in front of an integer (it uses undocumented feature that ListWithIdenticalEntries returns an empty list when its 1st argument is negative): gap> PrintFormatted:=function(d,n) > local t,s; > t:=String(d); > s:=ListWithIdenticalEntries(n-Length(t),' '); > Print(s,t); > end; function( d, n ) ... end gap> for i in [1..16] do PrintFormatted(2^i,4);Print("\n");od; 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 gap> Hope this helps Alexander From sam at Math.RWTH-Aachen.De Thu Sep 1 13:06:00 2016 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Thu, 1 Sep 2016 14:06:00 +0200 Subject: [GAP Forum] formatted "Print" In-Reply-To: <2117109665.2701117.1472664747330@mail.yahoo.com> References: <2117109665.2701117.1472664747330.ref@mail.yahoo.com> <2117109665.2701117.1472664747330@mail.yahoo.com> Message-ID: <20160901120600.GA1336@gemma.math.rwth-aachen.de> Dear GAP Forum, concerning the question by R.N. Tsai > Is there a way to do a formatted print in GAP? > Something equivalent to this for example : ?%6d or %-6d ?to print an alignedfixed width 6 bit integer....(these are c examples but are used in other languages too). I would suggest the 2-argument version of 'String', which creates left or right aligned strings, depending on and fills up with whitespace. Here is an example. gap> for i in [ 1 .. 6 ] do Print( String( 10^i, 6 ), "\n" ); od; 10 100 1000 10000 100000 1000000 gap> for i in [ 1 .. 6 ] do Print( String( 10^i, -6 ), ".\n" ); od; 10 . 100 . 1000 . 10000 . 100000. 1000000. All the best, Thomas From rafael at rgug.ch Thu Sep 1 16:14:14 2016 From: rafael at rgug.ch (Rafael Guglielmetti) Date: Thu, 01 Sep 2016 17:14:14 +0200 Subject: [GAP Forum] CoxIter - Computing invariants of hyperbolic Coxeter groups Message-ID: <1472742854-da909a52df580bae35c24089c091f22d@rgug.ch> Dear GAP users, I few months ago, I released CoxIter, a program to compute invariants of hyperbolic Coxeter groups (Euler characteristic, f-vector of the associated polyhedron, growth series and growth rate, cocompactness and cofiniteness test). More information can be found here: [https://coxiter.rgug.ch/](https://coxiter.rgug.ch/) and [https://github.com/rgugliel/CoxIter](https://github.com/rgugliel/CoxIter) More recently, it was suggested to create a GAP package with CoxIter. I have a preliminary version of the package and before I wrap this and write a proper documentation, I would like some feedback from GAP users/contributors to know whether the interface is nice to use, if the names of the? function are standard, if the "architecture" of the package is not stupid, ... The package, together with an example can be found here: [https://github.com/rgugliel/CoxIterGAP](https://github.com/rgugliel/CoxIterGAP) I would be happy to get any feedback. Also, if you get trouble building/using it, feel free to contact me. Thanks a lot. Best, Rafael From caj21 at st-andrews.ac.uk Thu Sep 1 17:21:59 2016 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Thu, 1 Sep 2016 16:21:59 +0000 Subject: [GAP Forum] CoxIter - Computing invariants of hyperbolic Coxeter groups In-Reply-To: <1472742854-da909a52df580bae35c24089c091f22d@rgug.ch> References: <1472742854-da909a52df580bae35c24089c091f22d@rgug.ch> Message-ID: <0EFF06C7-609B-4EDC-BDC2-5E215CBCA37E@st-andrews.ac.uk> Hi, I installed the package on a mac, and checked it built / ran correctly. Everything seemed reasonable. I can?t really comment on the maths, but some minor comments: * There are a few practice functions (CoxIter_Example, CoxIter_Compute) which I assume you don?t need, that need cleaning up. * Be sure to handle the program failing (for example, if you pass it excessively large integers). * In CoxIterCompute, just do ?SetCofinite(ci, EvalString(data[2]))?. This avoids another function call when you want these values later, and also sets ?HasCofinite? to true. So for example Cofinite could be: InstallMethod( Cofinite, "for hyperbolic Coxeter groups", [IsCoxIter and IsCoxIterRep], function(obj) CoxIterCompute(obj); if HasCofinite(obj) then return Cofinite(obj); else return fail; fi; end); On 01/09/2016, 16:14, "forum-bounces at gap-system.org on behalf of Rafael Guglielmetti" wrote: Dear GAP users, I few months ago, I released CoxIter, a program to compute invariants of hyperbolic Coxeter groups (Euler characteristic, f-vector of the associated polyhedron, growth series and growth rate, cocompactness and cofiniteness test). More information can be found here: [https://coxiter.rgug.ch/](https://coxiter.rgug.ch/) and [https://github.com/rgugliel/CoxIter](https://github.com/rgugliel/CoxIter) More recently, it was suggested to create a GAP package with CoxIter. I have a preliminary version of the package and before I wrap this and write a proper documentation, I would like some feedback from GAP users/contributors to know whether the interface is nice to use, if the names of the function are standard, if the "architecture" of the package is not stupid, ... The package, together with an example can be found here: [https://github.com/rgugliel/CoxIterGAP](https://github.com/rgugliel/CoxIterGAP) I would be happy to get any feedback. Also, if you get trouble building/using it, feel free to contact me. Thanks a lot. Best, Rafael _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From r_n_tsai at yahoo.com Thu Sep 1 21:25:35 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Thu, 1 Sep 2016 20:25:35 +0000 (UTC) Subject: [GAP Forum] formatted "Print" In-Reply-To: <20160901120600.GA1336@gemma.math.rwth-aachen.de> References: <2117109665.2701117.1472664747330.ref@mail.yahoo.com> <2117109665.2701117.1472664747330@mail.yahoo.com> <20160901120600.GA1336@gemma.math.rwth-aachen.de> Message-ID: <716774194.3422590.1472761535576@mail.yahoo.com> Dear GAP Forum and Thomas,This is exactly what I need; same functionality as??%6d or %-6d in an even more elegant way.Thanks,R.N.? From: Thomas Breuer To: forum at gap-system.org Sent: Thursday, September 1, 2016 5:06 AM Subject: Re: [GAP Forum] formatted "Print" Dear GAP Forum, concerning the question by R.N. Tsai > Is there a way to do a formatted print in GAP? > Something equivalent to this for example : ?%6d or %-6d ?to print an alignedfixed width 6 bit integer....(these are c examples but are used in other languages too). I would suggest the 2-argument version of 'String', which creates left or right aligned strings, depending on and fills up with whitespace. Here is an example. ? ? gap> for i in [ 1 .. 6 ] do Print( String( 10^i, 6 ), "\n" ); od; ? ? ? ? 10 ? ? ? 100 ? ? ? 1000 ? ? 10000 ? ? 100000 ? ? 1000000 ? ? gap> for i in [ 1 .. 6 ] do Print( String( 10^i, -6 ), ".\n" ); od; ? ? 10? ? . ? ? 100? . ? ? 1000? . ? ? 10000 . ? ? 100000. ? ? 1000000. All the best, Thomas _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From rafael at rgug.ch Fri Sep 2 08:13:08 2016 From: rafael at rgug.ch (Rafael Guglielmetti) Date: Fri, 2 Sep 2016 09:13:08 +0200 Subject: [GAP Forum] CoxIter - Computing invariants of hyperbolic Coxeter groups In-Reply-To: <0EFF06C7-609B-4EDC-BDC2-5E215CBCA37E@st-andrews.ac.uk> References: <1472742854-da909a52df580bae35c24089c091f22d@rgug.ch> <0EFF06C7-609B-4EDC-BDC2-5E215CBCA37E@st-andrews.ac.uk> Message-ID: <72dd6bfb-bb38-8afd-58b1-39fe2c1e25fe@rgug.ch> Dear Christopher, Thank your for your feedback, I will implement your comments. Best, Rafael On 01/09/16 18:21, Christopher Jefferson wrote: > Hi, > > I installed the package on a mac, and checked it built / ran correctly. Everything seemed reasonable. I can?t really comment on the maths, but some minor comments: > > * There are a few practice functions (CoxIter_Example, CoxIter_Compute) which I assume you don?t need, that need cleaning up. > > * Be sure to handle the program failing (for example, if you pass it excessively large integers). > > * In CoxIterCompute, just do ?SetCofinite(ci, EvalString(data[2]))?. This avoids another function call when you want these values later, and also sets ?HasCofinite? to true. > > So for example Cofinite could be: > > InstallMethod( Cofinite, > "for hyperbolic Coxeter groups", > [IsCoxIter and IsCoxIterRep], > function(obj) > CoxIterCompute(obj); > if HasCofinite(obj) then > return Cofinite(obj); > else > return fail; > fi; > end); > > > > On 01/09/2016, 16:14, "forum-bounces at gap-system.org on behalf of Rafael Guglielmetti" wrote: > > > Dear GAP users, > I few months ago, I released CoxIter, a program to compute invariants of hyperbolic Coxeter groups (Euler characteristic, f-vector of the associated polyhedron, growth series and growth rate, cocompactness and cofiniteness test). > More information can be found here: [https://coxiter.rgug.ch/](https://coxiter.rgug.ch/) and [https://github.com/rgugliel/CoxIter](https://github.com/rgugliel/CoxIter) > > More recently, it was suggested to create a GAP package with CoxIter. > > I have a preliminary version of the package and before I wrap this and write a proper documentation, I would like some feedback from GAP users/contributors to know whether the interface is nice to use, if the names of the function are standard, if the "architecture" of the package is not stupid, ... > > The package, together with an example can be found here: [https://github.com/rgugliel/CoxIterGAP](https://github.com/rgugliel/CoxIterGAP) > > I would be happy to get any feedback. Also, if you get trouble > building/using it, feel free to contact me. > > Thanks a lot. > > Best, > > Rafael > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > > > From s.dikson2016 at gmail.com Fri Sep 2 18:32:07 2016 From: s.dikson2016 at gmail.com (Sara Dikson) Date: Fri, 2 Sep 2016 22:02:07 +0430 Subject: [GAP Forum] A command Message-ID: Dear Forum I use "QuoInt" command for elements of a list. Gap returns me a list with some empty spaces like following example: gap> L:=[2,23,10,15]; [ 2, 23, 10, 15 ] gap> M:=[];; gap> for i in L do > M[i]:=QuoInt(465372-Sum(L),i)+3; > od; M; [ , 232664,,,,,,,, 46535,,,,, 31024,,,,,,,, 20234 ] Although I can compact M by "Compacted(M)", I want a command for "for" loop which does not create any empty spaces. Is it possible? I mean I need such a command that calculate ''QuoInt'' for five elements of list "L" and no more. I need it because I think the empty spaces for a list with large integer takes up a lot of memory. Best regards Sara From rm43 at evansville.edu Fri Sep 2 19:04:16 2016 From: rm43 at evansville.edu (Robert Morse) Date: Fri, 2 Sep 2016 13:04:16 -0500 Subject: [GAP Forum] A command Message-ID: Dear Sara, You are using the elements in L as indices into the list M. Just Add the values to M: gap> L:=[2,23,10,15];; gap> M:=[];; gap> for i in L do > Add(M,QuoInt(465372-Sum(L),i)+3); > od; gap> M; [ 232664, 20234, 46535, 31024 ] Robert F. Morse On Fri, Sep 2, 2016 at 12:32 PM, Sara Dikson wrote: > Dear Forum > I use "QuoInt" command for elements of a list. > Gap returns me a list with some empty spaces like following example: > > gap> L:=[2,23,10,15]; > > [ 2, 23, 10, 15 ] > > gap> M:=[];; > > gap> for i in L do > >> M[i]:=QuoInt(465372-Sum(L),i)+3; > >> od; M; > > [ , 232664,,,,,,,, 46535,,,,, 31024,,,,,,,, 20234 ] > > Although I can compact M by "Compacted(M)", I want a command for "for" loop > which does not create any empty spaces. Is it possible? > > I mean I need such a command that calculate ''QuoInt'' for five elements of > list "L" and no more. > > I need it because I think the empty spaces for a list with large > integer takes up a lot of memory. > > > Best regards > > Sara > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From s.dikson2016 at gmail.com Sat Sep 3 16:04:42 2016 From: s.dikson2016 at gmail.com (Sara Dikson) Date: Sat, 3 Sep 2016 19:34:42 +0430 Subject: [GAP Forum] Building Variables In-Reply-To: References: Message-ID: Dear Forum I have a diophantine equation with many variables. (e. g. 70 variables) I use alphabet but I need more. How can I build some variables such that I use them at "for loops"? Best regards Sara From Alexander.Hulpke at colostate.edu Sun Sep 4 15:34:35 2016 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Sun, 4 Sep 2016 14:34:35 +0000 Subject: [GAP Forum] Building Variables In-Reply-To: References: Message-ID: <9CEC8746-8888-4DBC-ABFE-2F61FC1060BA@colostate.edu> Dear Forum, Dear Ms. Dikson, Dear Forum I have a diophantine equation with many variables. (e. g. 70 variables) I use alphabet but I need more. How can I build some variables such that I use them at "for loops?? Variables can be longer than one letter, so you can easily create more than 26. Regards, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From r_n_tsai at yahoo.com Sun Sep 4 18:08:05 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Sun, 4 Sep 2016 17:08:05 +0000 (UTC) Subject: [GAP Forum] Building Variables In-Reply-To: References: Message-ID: <33327773.1122710.1473008885133@mail.yahoo.com> Dear GAP Forum and Sara, I use this sometimes : A:=List([1..71],k->Concatenation("a",String(k))); then A[1]...A[71] are the variables... R.N. From: Sara Dikson To: forum at gap-system.org Sent: Saturday, September 3, 2016 8:04 AM Subject: [GAP Forum] Building Variables Dear Forum I have a diophantine equation with many variables. (e. g. 70 variables) I use alphabet but I need more. How can I build some variables such that I use them at "for loops"? Best regards Sara _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From argentina.ale at gmail.com Mon Sep 5 00:16:31 2016 From: argentina.ale at gmail.com (Alejandra Alderete) Date: Sun, 4 Sep 2016 20:16:31 -0300 Subject: [GAP Forum] regular subgroups of the Symmetric Group S_24 isomorphic to S_4. Message-ID: Dear Forum, Can you help me?? I need to work with groups of hight order and my computer isn't potency o capacity , I don't know. I am sending the algorithm. I need to find the regular subgroups of the Symmetric Group S_24 isomorphic to S_4. gap> s4 := SymmetricGroup (4); gap> s24 := SymmetricGroup (24); gap> homo := AllHomomorphisms (s4, s24);; gap> inj :=Filtered (homo, function (v) return IsInjective (v)= true ; end); gap> img := List (inj, x-> Image (x, s4)); gap> reg := Filtered (img, function (v) return IsRegular(v)= true ; end); best regards Alejandra From dmitrii.pasechnik at cs.ox.ac.uk Mon Sep 5 09:16:46 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (dmitrii.pasechnik at cs.ox.ac.uk) Date: Mon, 5 Sep 2016 08:16:46 +0000 Subject: [GAP Forum] regular subgroups of the Symmetric Group S_24 isomorphic to S_4. In-Reply-To: References: Message-ID: <20160905081645.GB12146@hilbert.localdomain> Dear Alejandra, On Sun, Sep 04, 2016 at 08:16:31PM -0300, Alejandra Alderete wrote: > > I need to work with groups of hight order and my computer isn't potency o > capacity , I don't know. I am sending the algorithm. I need to find the > regular subgroups of the Symmetric Group S_24 isomorphic to S_4. > > gap> s4 := SymmetricGroup (4); > gap> s24 := SymmetricGroup (24); > gap> homo := AllHomomorphisms (s4, s24);; > gap> inj :=Filtered (homo, function (v) return IsInjective (v)= true ; end); > gap> img := List (inj, x-> Image (x, s4)); > gap> reg := Filtered (img, function (v) return IsRegular(v)= true ; end); This would be a hopelessly long list. There are 24!/576 such subgroups in S_24. On the other hand constructing one copy is very easy, just let S_4 act on itself. gap> S4:=SymmetricGroup(4); Sym( [ 1 .. 4 ] ) gap> Action(S4,Elements(S4),OnRight); Group([ (1,10,17,19)(2,9,18,20)(3,12,14,21)(4,11,13,22)(5,7,16,23)(6,8,15,24), (1,7)(2,8)(3,9)(4,10)(5,11)(6,12)(13,15)(14,16)(17,18) (19,21)(20,22)(23,24) ]) Hope this helps, Dmitrii. > > > > best regards > > Alejandra From alexander.konovalov at st-andrews.ac.uk Fri Sep 9 09:54:20 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Fri, 9 Sep 2016 08:54:20 +0000 Subject: [GAP Forum] 2nd CoDiMa Training School in Computational Discrete Mathematics (Edinburgh 17-21 Oct 2016) Message-ID: <78776151-5387-4A17-9C90-4AA0EE02EADE@st-andrews.ac.uk> -------------------------------------------------------------------- CoDiMa Training School in Computational Discrete Mathematics International Centre for Mathematical Sciences, Edinburgh 17-21 October 2016 http://www.codima.ac.uk/school2016/ -------------------------------------------------------------------- This is the announcement of the Second 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, and the GAP Software Carpentry lesson, followed by the introduction to SageMath system and further lectures and exercise classes on a selection of topics in computational discrete mathematics. Lecturers * John Cremona (Warwick) * Mike Croucher (Sheffield) * Christopher Jefferson (St Andrews) * Alexander Konovalov (St Andrews) * Steve Linton (St Andrews) * Markus Pfeiffer (St Andrews) * Leighton Pritchard (James Hutton Institute, Dundee) * Viviane Pons (Universit? Paris-Sud) * Alexey Tarutin (University of Edinburgh) * Wilf Wilson (St Andrews) 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: https://widdowquinn.github.io/2016-10-17-edinburgh/ 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. Financial Support A limited financial support to cover travel expenses and stay in Edinburgh is available to PhD students from UK Universities who are coming for the whole duration of the Training School (from Monday until Friday). 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, following the suggestions published on the School's homepage at http://www.codima.ac.uk/school2016/ Please contact the organisers with any questions or suggestions: * Alexander Konovalov: alexander.konovalov at st-andrews.ac.uk You may also follow CoDiMa on Twitter: https://twitter.com/codima_project From f.k.moftakhar at gmail.com Sat Sep 10 09:19:58 2016 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Sat, 10 Sep 2016 12:49:58 +0430 Subject: [GAP Forum] Frobenius group Message-ID: Dear forum I need the list of all Frobenius groups up to order 1000. Is there any commend or package in GAP to do this? Best regards Fatemeh Moftakhar -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From D.F.Holt at warwick.ac.uk Sun Sep 11 20:47:33 2016 From: D.F.Holt at warwick.ac.uk (Holt, Derek) Date: Sun, 11 Sep 2016 19:47:33 +0000 Subject: [GAP Forum] Frobenius group Message-ID: Dear Fatemeh, dear Forum, I would suggest the following approach, which I think will work, although there might be other ways of doing it. Consider each integer n from 1 to 1000 in turn. For each such n find all expressions of n as a product n = dh, where d,h > 1 and h divides d-1. There could be more than such expression e.g. 42 = 21 x 2 = 7 x 6. You can discard all cases such as 30 = 6 x 5, where d is twice an odd number because a Frobenius kernel cannot have twice odd order. Now, if n has one or more expressions as dh then using the small groups library in GAP, consider each group G of order n in turn, and for each such G consider all possible factorisations n = dh. First check that G has a normal nilpotent subgroup K of order d. If it does not, then you proceed to the next group or the next factorisation. To do that, you could find all Sylow p-subgroups for p dividing d, and check that they are all normal in G and, if so, take K to be the subgroup generated by these Sylow subgroups. K is a candidate for the Frobenius kernel of G. Before going further you could use the fact that if h is even then K must be abelian and if h is divisible by 3 then K must have nilpotency class at most 2. If not, you can rule out this case. Assuming K exists, it must have a unique conjugacy class of subgroups H of order h. There is a function in GAP to find complements, which you could use to find H, but in many cases h will be a prime power, in which case you can just take a Sylow subgroup. H is a candidate for the Frobenius complement. Finally, you need to check whether H really is a Frobenius complement. To do that, you could compute the permutation action on the cosets of H and see if that is a Frobenius group. Another way, which might be quicker, is to find the subgroups P of H of prime order. If H is a Frobenius complement, then there is a single conjugacy class of such subgroups for each prime dividing |H|. If so, then check that C_K(P) = 1 for all such P. If so, then G = KH is a Frobenius group. I would guess that n = 768 with k = 256, h = 3, might be the hardest case, because there are over a million groups of order 768, but it should still work if you are patient. I hope this helps. Derek Holt. On Sat, Sep 10, 2016 at 12:49:58PM +0430, fatemeh moftakhar wrote: > Dear forum > I need the list of all Frobenius groups up to order 1000. Is there any > command or package in GAP to do this? > > Best regards > Fatemeh Moftakhar > > -- > Regards; > Miss Fatemeh 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 e.obrien at auckland.ac.nz Sun Sep 11 21:28:05 2016 From: e.obrien at auckland.ac.nz (Eamonn O'Brien) Date: Mon, 12 Sep 2016 08:28:05 +1200 Subject: [GAP Forum] Frobenius group In-Reply-To: References: Message-ID: <38d59be9-d28e-31ae-3842-08104e181fa1@auckland.ac.nz> Dear Fatemeh: Lemma 1 of Bertram's 1991 paper in the Israel Journal of Math, vol 75 (1991) pp. 243-245 offers a characterisation of Frobenius groups which is easy to implement and computationally fast. In summary it states: G is a group with a proper normal subgroup N satisfying k(G) = k(G/N) + (k(N) - 1)/[G:N], if and only if G is a Frobenius group with kernel N (in which case N is the Fitting subgroup of G). Here k(H) denotes the number of conjugacy classes of a group H. Best wishes. Eamonn From alexander.konovalov at st-andrews.ac.uk Tue Sep 27 15:24:13 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Tue, 27 Sep 2016 14:24:13 +0000 Subject: [GAP Forum] GAP 4.8.5 release announcement Message-ID: Dear GAP Forum, This is to announce the release of GAP 4.8.5, which could be downloaded from http://www.gap-system.org/Releases/ An overview of the changes introduced in GAP 4.8.5 is provided below. A more detailed version with hyperlinks to documentation is available here: http://www.gap-system.org/Manuals/doc/changes/chap2.html#X84E1F4618181F6A3 Improved and extended functionality: * The error messages produced when an unexpected fail is returned were made more clear by explicitly telling that the result should not be boolean or fail (before it only said "not a boolean"). * For consistency, both NrTransitiveGroups and TransitiveGroup now disallow the transitive group of degree 1. Fixed bugs that could lead to incorrect results: * A bug in the code for algebraic field extensions over non-prime fields that may cause, for example, a list of all elements of the extension not being a duplicate-free. [Reported by Huta Gana] * So far, FileString only wrote files of sizes less than 2G and did not indicate an error in case of larger strings. Now strings of any length can be written, and in the case of a failure the corresponding system error is shown. Fixed bugs that could lead to break loops: * NaturalHomomorphismByIdeal was not reducing monomials before forming a quotient ring, causing a break loop on some inputs. [Reported by Dmytro Savchuk] * A bug in DefaultInfoHandler a break loop on startup with the setting SetUserPreference( "InfoPackageLoadingLevel", 4 ). [Reported by Mathieu Dutour] * The Iterator for permutation groups was broken when the StabChainMutable of the group was not reduced, which can reasonably happen as the result of various algorithms. In addition, GAP 4.8.5 distribution includes updates for 5 GAP packages, namely Cubefree, Digraphs, float, loops and SglPPow. We encourage all users to upgrade to GAP 4.8.5. Just in case, a common pitfall during GAP installation on Linux and OS X is to compile only the GAP kernel, but not GAP packages. This procedure had changed recently (in GAP 4.8.4) so just in case let me remind you that after running ./configure make in the GAP root directory you need to change to the 'pkg' subdirectory and call ../bin/BuildPackages.sh to run the script which will build most of the packages that require compilation (provided sufficiently many libraries, headers and tools are available). 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 L.H.Soicher at qmul.ac.uk Wed Sep 28 12:00:48 2016 From: L.H.Soicher at qmul.ac.uk (Leonard Soicher) Date: Wed, 28 Sep 2016 12:00:48 +0100 Subject: [GAP Forum] Announcing the SglPPow Package Message-ID: <20160928110048.GA28638@maths.qmul.ac.uk> Dear Forum Members, It is my pleasure to announce the officially accepted SglPPow (version 2.0) package for GAP, now available in the newly released GAP 4.8.5. The SglPPow package contains an extension of the SmallGroups Library and adds the groups of order 3^8 and p^7 for primes p > 11 to the library. The package webpage is: http://www.gap-system.org/Packages/sglppow.html The SglPPow package is authored by Michael Vaughan-Lee (Oxford) and Bettina Eick (Braunschweig), and on behalf of the GAP Council, I thank them for this contribution to GAP. Leonard Soicher (Chair of the GAP Council) From jalaeeyan at gmail.com Thu Sep 29 09:04:04 2016 From: jalaeeyan at gmail.com (taleea jalaeeyan) Date: Thu, 29 Sep 2016 11:34:04 +0330 Subject: [GAP Forum] quastion Message-ID: Hi there Is Gap work on windows or linux?is there diference ? is c-nilpotent multiplier defined for Gap as default? Can Gap calculate the c-nilpotent multiplier of a group by it's presentation? Is there any sample program of Gap to calculate c-nilpotent multiplier of group? Best wishes From alexander.konovalov at st-andrews.ac.uk Fri Sep 30 15:23:15 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Fri, 30 Sep 2016 14:23:15 +0000 Subject: [GAP Forum] quastion In-Reply-To: References: Message-ID: <008706C8-C3AF-41E7-8C53-2BE13ACCC3AD@st-andrews.ac.uk> Dear Taleea Jalaeeyan, > On 29 Sep 2016, at 09:04, taleea jalaeeyan wrote: > > Hi there > Is Gap work on windows or linux?is there diference ? GAP works on Windows, Linux, and OS X - archives for different operating systems are at http://www.gap-system.org/Releases/index.html On Windows, some specialised packages are not available, but that will be more than sufficient to start to use GAP. > is c-nilpotent multiplier defined for Gap as default? Not as far as I am aware of (only some functionality to deal with the Schur multiplier) > Can Gap calculate the c-nilpotent multiplier of a group by it's > presentation? > Is there any sample program of Gap to calculate c-nilpotent multiplier of > group? Again, I don't know. It may be helpful to provide a reference for its definition in case someone else may be able to give further advice. Hope this helps Alexander From graham.ellis at nuigalway.ie Fri Sep 30 15:53:46 2016 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Fri, 30 Sep 2016 14:53:46 +0000 Subject: [GAP Forum] quastion In-Reply-To: <008706C8-C3AF-41E7-8C53-2BE13ACCC3AD@st-andrews.ac.uk> References: , <008706C8-C3AF-41E7-8C53-2BE13ACCC3AD@st-andrews.ac.uk> Message-ID: Hi Taleea, A very naive implementation of the nilpotent multiplier M^(c)(G) is available under the name BaerInvariant(G,c). The following commands calculate the nilpotent multiplier for the dihedral group G of order 64 and c=3. The multiplier is the finite abelian group Z_2+Z_2+Z_8 . gap> LoadPackage("HAP");; gap> c:=3;;BaerInvariant(DihedralGroup(64),c); [ 2, 2, 8 ] See file:///home/graham/pkg/Hap1.11/www/SideLinks/About/aboutSchurMultiplier.html for some more details and calculations on infinite groups. 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: forum-bounces at gap-system.org [forum-bounces at gap-system.org] on behalf of Alexander Konovalov [alexander.konovalov at st-andrews.ac.uk] Sent: Friday, September 30, 2016 3:23 PM To: taleea jalaeeyan Cc: GAP Forum Subject: Re: [GAP Forum] quastion Dear Taleea Jalaeeyan, > On 29 Sep 2016, at 09:04, taleea jalaeeyan wrote: > > Hi there > Is Gap work on windows or linux?is there diference ? GAP works on Windows, Linux, and OS X - archives for different operating systems are at http://www.gap-system.org/Releases/index.html On Windows, some specialised packages are not available, but that will be more than sufficient to start to use GAP. > is c-nilpotent multiplier defined for Gap as default? Not as far as I am aware of (only some functionality to deal with the Schur multiplier) > Can Gap calculate the c-nilpotent multiplier of a group by it's > presentation? > Is there any sample program of Gap to calculate c-nilpotent multiplier of > group? Again, I don't know. It may be helpful to provide a reference for its definition in case someone else may be able to give further advice. Hope this helps Alexander _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From aodabas at ogu.edu.tr Tue Oct 4 10:31:49 2016 From: aodabas at ogu.edu.tr (=?iso-8859-9?Q?Alper_Odaba=FE?=) Date: Tue, 4 Oct 2016 12:31:49 +0300 Subject: [GAP Forum] free module Message-ID: <00f601d21e22$24f14a40$6ed3dec0$@ogu.edu.tr> Dear forum, By linear algebra, the choice of an (ordered) basis for a free module of finite rank m yields an isomorphism to Z^{1 x m}, the module whose entries are row matrices with m columns. In GAP, how to get matrices from the group algebra GroupRing(GF(2),CyclicGroup(3)) Regards, Alper From Bill.Allombert at math.u-bordeaux.fr Tue Oct 4 13:33:03 2016 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Tue, 4 Oct 2016 14:33:03 +0200 Subject: [GAP Forum] free module In-Reply-To: <00f601d21e22$24f14a40$6ed3dec0$@ogu.edu.tr> References: <00f601d21e22$24f14a40$6ed3dec0$@ogu.edu.tr> Message-ID: <20161004123303.GB23686@yellowpig> On Tue, Oct 04, 2016 at 12:31:49PM +0300, Alper Odaba? wrote: > Dear forum, > > By linear algebra, the choice of an (ordered) basis for a free module of > finite rank m yields an isomorphism to Z^{1 x m}, the module whose entries > are row matrices with m columns. > > In GAP, how to get matrices from the group algebra > GroupRing(GF(2),CyclicGroup(3)) M:=IdentityMat(3,GF(2)); Cheers, Bill. From max at quendi.de Tue Oct 4 15:01:01 2016 From: max at quendi.de (Max Horn) Date: Tue, 4 Oct 2016 16:01:01 +0200 Subject: [GAP Forum] free module In-Reply-To: <00f601d21e22$24f14a40$6ed3dec0$@ogu.edu.tr> References: <00f601d21e22$24f14a40$6ed3dec0$@ogu.edu.tr> Message-ID: Dear Alper, > On 04 Oct 2016, at 11:31, Alper Odaba? wrote: > > Dear forum, > > > > By linear algebra, the choice of an (ordered) basis for a free module of > finite rank m yields an isomorphism to Z^{1 x m}, the module whose entries > are row matrices with m columns. > > > > In GAP, how to get matrices from the group algebra > GroupRing(GF(2),CyclicGroup(3)) Your question is a bit ambiguous, I'll interpret it as follows: Given a basis B of an algebra A, how can I express an element x as a matrix over that basis? Answer: Using the command AdjointMatrix. Here is an example: gap> R:=GroupRing(GF(2),CyclicGroup(3)); gap> x:= R.1 + R.1^2; gap> B:=Basis(R); CanonicalBasis( ) gap> AsList(B); # let's see which basis GAP picked...: [ (Z(2)^0)* of ..., (Z(2)^0)*f1, (Z(2)^0)*f1^2 ] gap> mat:=AdjointMatrix(Basis(R), x); [ [ 0*Z(2), Z(2)^0, Z(2)^0 ], [ Z(2)^0, 0*Z(2), Z(2)^0 ], [ Z(2)^0, Z(2)^0, 0*Z(2) ] ] gap> Display(mat); . 1 1 1 . 1 1 1 . Hope that helps, Max From oxeimon at gmail.com Wed Oct 12 23:34:16 2016 From: oxeimon at gmail.com (Will Chen) Date: Wed, 12 Oct 2016 18:34:16 -0400 Subject: [GAP Forum] opening a saved workspace generated on a windows machine on a mac Message-ID: So, I've got a weird situation. My mac is is rather slow, but I carry it everywhere. I have a much faster windows PC, but it's a desktop I keep at home. I'd like to be able to do some computations on my windows PC, save the workspace, and use it on my mac. The first time I tried this (all using the latest version of GAP), it seems my windows install was 32 bit (even though the PC itself has a 64bit cpu), whereas my mac install was 64bit, and hence gap complained. Next, I installed the 64bit "experimental" version of GAP on my windows PC, saved a workspace, but upon trying to open it on my mac, I get the error: #W dlopen() error: dlopen(/proc/cygdrive/C/gap4r8_x86_64/pkg/io-4.4.6/bin/x86_64-unknown-cygwin-gcc-default64/io.so, 9): image not found Failed to load needed dynamic module /proc/cygdrive/C/gap4r8_x86_64/pkg/io-4.4.6/bin/x86_64-unknown-cygwin-gcc-default64/io.so, error code 1 Is this circumventable? or are the mac and PC versions fundamentally incompatible? Thanks, - Will -- William Chen Member Institute for Advanced Study, Princeton, NJ, 08540 oxeimon at gmail.com From caj21 at st-andrews.ac.uk Thu Oct 13 10:14:51 2016 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Thu, 13 Oct 2016 09:14:51 +0000 Subject: [GAP Forum] opening a saved workspace generated on a windows machine on a mac In-Reply-To: References: Message-ID: <07716CC7-682D-419C-873F-A2D718AE3765@st-andrews.ac.uk> Yes, In fact, even moving a saved workspace from one mac to another mac can break, if the versions of GAP or any package are different, or if the operating system version is different. Chris > On 12 Oct 2016, at 23:34, Will Chen wrote: > > So, I've got a weird situation. My mac is is rather slow, but I carry it > everywhere. I have a much faster windows PC, but it's a desktop I keep at > home. > > I'd like to be able to do some computations on my windows PC, save the > workspace, and use it on my mac. > > The first time I tried this (all using the latest version of GAP), it seems > my windows install was 32 bit (even though the PC itself has a 64bit cpu), > whereas my mac install was 64bit, and hence gap complained. > > Next, I installed the 64bit "experimental" version of GAP on my windows PC, > saved a workspace, but upon trying to open it on my mac, I get the error: > > #W dlopen() error: > dlopen(/proc/cygdrive/C/gap4r8_x86_64/pkg/io-4.4.6/bin/x86_64-unknown-cygwin-gcc-default64/io.so, > 9): image not found > > Failed to load needed dynamic module > /proc/cygdrive/C/gap4r8_x86_64/pkg/io-4.4.6/bin/x86_64-unknown-cygwin-gcc-default64/io.so, > error code 1 > > Is this circumventable? or are the mac and PC versions fundamentally > incompatible? > > Thanks, > > - Will > > -- > > William Chen > Member > Institute for Advanced Study, > Princeton, NJ, 08540 > oxeimon at gmail.com > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From Alexander.Hulpke at colostate.edu Fri Oct 14 22:08:09 2016 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Fri, 14 Oct 2016 21:08:09 +0000 Subject: [GAP Forum] Postdoctoral position at Colorado State University Message-ID: Dear GAP-Forum, posted here, as I am looking for applicants with interest in Computational Group Theory, in particular involving GAP. Faculty with related interests are Wilson and Hulpke; there also could be interest overlapping with Combinatorics (Penttila, Betten) or Number Theory (Achter, Pries). Applications will be evaluated starting November 1. All the best, Alexander Hulpke The Department of Mathematics at Colorado State University seeks applications for at least two postdoctoral researchers. These are expected to be 12-month postdoctoral (non-tenure track) appointments for a possible three year period, and include a small annual travel stipend, beginning in the fall semester of 2017. The teaching load will be based on department need and funding source, and can range from 0-3 courses per academics year. A detailed description of the department and information on specific faculty research programs are available on the department web site at: http://www.math.colostate.edu/. The department is seeking candidates with excellent research potential and a strong commitment to teaching, who will contribute to and benefit from the rich environment of the department. Members of the department create, communicate, and apply mathematics of the highest caliber through activities such as internationally recognized research and graduate education, award winning undergraduate programs, and extensive outreach to local schools. Roughly 2/3 of the department?s faculty are supported by federal research funding. Applicants are expected to have a Ph.D. in mathematics or related science area by the date of hire. One to two years of teaching experience at the university level or equivalent is also preferred with a record of teaching a range of mathematics courses. In their cover letter, applicants should identify a faculty member or research group of interest for collaboration, and explain how their research can both benefit from, and enhance, our research endeavors. A complete job description can be found at: https://jobs.colostate.edu/postings/33464, and applications must be submitted through the Colorado State University jobs site. For full consideration, applications should include: a cover letter, current curriculum vitae, teaching statement, research statement, and four professional reference letters, including one addressing teaching. CSU is an EO/EA/AA employer. Colorado State University conducts background checks on all final candidates. Review of applications will begin on November 1, 2016, and applications will be considered until the positions are filled. -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From rafael at rgug.ch Mon Oct 17 08:04:32 2016 From: rafael at rgug.ch (Rafael Guglielmetti) Date: Mon, 17 Oct 2016 09:04:32 +0200 Subject: [GAP Forum] GAPDoc and images Message-ID: <59c9226a-aeac-e24a-c1a2-7c7fcfb3729f@rgug.ch> Dear forum, Is it possible to includes images in the doc of a package with GAP doc? Especially, I would be interested to know whether it is possible to provide the image in different formats, for example: * a pdf to be included in the manual.pdf * a jpg for the .html * a text to replace the image for the other cases (the equivalent of the HTML alt property) Thanks a lot. Best, Rafael From maasiru at yahoo.com Wed Oct 19 11:11:11 2016 From: maasiru at yahoo.com ([Muniru Asiru] maasiru@yahoo.com) Date: Wed, 19 Oct 2016 10:11:11 +0000 (UTC) Subject: [GAP Forum] Factoring large integers References: <23705114.2742923.1476871871235.ref@mail.yahoo.com> Message-ID: <23705114.2742923.1476871871235@mail.yahoo.com> ?Dear Forum; I need to factor large integers.? One of then is d:=208792137511016848023422421216659133913113038868420856362546192700228823547384086468768314408434778574357732094492450898877804848025959323284721735578041792204431293469827064868376517438126765900138542676486099702859181721290457656418761796076484288301990972494617227238953673093108532474354655441019362615154103484247530007425892848695540897;; I tested d for being prime or not by using IsPrime(d); which returns false which confirms that d is composite. ? I tried PartialFactorization(d,6); which returns d.? Also Factors(d);? did not return a result in 15 minutes. ? How do I find the factors of d using GAP? Dr. Muniru A. Asiru, Department of Mathematics & Statistics, The Federal Polytechnic, P.M.B. 55, Bida, Niger State, Nigeria. OR Dr. Muniru A. Asiru, P.O.Box. 294, Bida, Niger State, Nigeria. Email Addresses: maasiru at yahoo.com, remiasiru at yahoo.com, Mobile Phone number: +2348034271010 From stefan at mcs.st-and.ac.uk Wed Oct 19 11:42:07 2016 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Wed, 19 Oct 2016 11:42:07 +0100 (BST) Subject: [GAP Forum] Factoring large integers In-Reply-To: <23705114.2742923.1476871871235@mail.yahoo.com> References: <23705114.2742923.1476871871235.ref@mail.yahoo.com> <23705114.2742923.1476871871235@mail.yahoo.com> Message-ID: On Wed, October 19, 2016 11:11 am, [Muniru Asiru] maasiru at yahoo.com wrote: > > I need to factor large integers.?? One of then is > d:=208792137511016848023422421216659133913113038868420856362546192700228823547384086468768314408434778574357732094492450898877804848025959323284721735578041792204431293469827064868376517438126765900138542676486099702859181721290457656418761796076484288301990972494617227238953673093108532474354655441019362615154103484247530007425892848695540897;; > I tested d for being prime or not by using IsPrime(d); which returns false which > confirms that d is composite. ?? > I tried PartialFactorization(d,6); which returns d.?? Also Factors(d);?? did not return > a result in 15 minutes. ?? > How do I find the factors of d using GAP? If the second-largest factor is 'relatively small', you can factor your number with GAP / FactInt if you just wait 'some longer'. How long it will take depends very much on the size of the factors and on good or bad luck. However if your number has two factors of roughly comparable size, you will need a dedicated program implementing the GNFS (generalized number field sieve) and either *A LOT* of patience or a supercomputer (note that your number is greater than a 1024-bit RSA modulus). Best regards, Stefan ----------------------------------------------------------------------------- http://www.gap-system.org/DevelopersPages/StefanKohl/ ----------------------------------------------------------------------------- From alexander.konovalov at st-andrews.ac.uk Wed Oct 19 21:34:08 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Wed, 19 Oct 2016 20:34:08 +0000 Subject: [GAP Forum] GAPDoc and images In-Reply-To: <59c9226a-aeac-e24a-c1a2-7c7fcfb3729f@rgug.ch> References: <59c9226a-aeac-e24a-c1a2-7c7fcfb3729f@rgug.ch> Message-ID: Dear Rafael, > On 17 Oct 2016, at 08:04, Rafael Guglielmetti wrote: > > Dear forum, > Is it possible to includes images in the doc of a package with GAP doc? Especially, I would be interested to know whether it is possible to provide the image in different formats, for example: > > * a pdf to be included in the manual.pdf > * a jpg for the .html > * a text to replace the image for the other cases (the equivalent of > the HTML alt property) Of course this is possible - see e.g. this file from the GAP SCSCP package: https://github.com/gap-packages/scscp/blob/335545909d9c37bb24e8f755baab811de05a548e/tracing/tracing.g which has two images in HTML and PDF versions and just one lime of text in the text version: ## \centerline{\resizebox{150mm}{!}{\includegraphics{img/quillen.pdf}}} ## <img src="img/quillen.jpg" align="left" /> ## \vspace{10pt}\centerline{\resizebox{150mm}{!}{\includegraphics{img/euler.pdf}}} ## <img src="img/euler.jpg" align="left" /> ## /See diagrams in HTML and PDF versions of the manual/ Hope this is exactly what you have in mind. Best wishes Alexander From r_n_tsai at yahoo.com Thu Oct 20 06:06:27 2016 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Thu, 20 Oct 2016 05:06:27 +0000 (UTC) Subject: [GAP Forum] GUAVA and matrix standard forms References: <1317772781.88296.1476939987758.ref@mail.yahoo.com> Message-ID: <1317772781.88296.1476939987758@mail.yahoo.com> The GUAVA command PutStandardForm can be used to get standard forms for matrices over GF(2) : : ?perm:=PutStandardForm(A,true); ? # to get mat ~ [ I | B ] ?perm:=PutStandardForm(At,false); # to get mat ~ [B | I ] "perm" can be used to get a permutation matrix (P) so that M*A*P^-1 has the desired form.The problem is that the matrix "M" is not provided and I need that for my calculations.Is there a way to get that from GUAVA or from other commands??I looked at using SemiEchelonMatTransformation but wasn't able to work out the details.These are commonly used standard forms, so I'm hoping the details have been workedout already within GAP or a package. I would also like to be able to handle matrices that arenot full rank (PutStandardForm assumes full rank).Thanks for your help.R.N.? From nuesken at bit.uni-bonn.de Mon Oct 24 15:46:03 2016 From: nuesken at bit.uni-bonn.de (=?UTF-8?Q?Michael_N=c3=bcsken?=) Date: Mon, 24 Oct 2016 16:46:03 +0200 Subject: [GAP Forum] Factoring large integers In-Reply-To: References: <23705114.2742923.1476871871235.ref@mail.yahoo.com> <23705114.2742923.1476871871235@mail.yahoo.com> Message-ID: Just for fun, I had MuPAD (of 2004) running for 120h on one 2.4GHz kernel on your d: Am 19.10.2016 um 12:42 schrieb Stefan Kohl: >> d:=208792137511016848023422421216659133913113038868420856362546192700228823547384086468768314408434778574357732094492450898877804848025959323284721735578041792204431293469827064868376517438126765900138542676486099702859181721290457656418761796076484288301990972494617227238953673093108532474354655441019362615154103484247530007425892848695540897;; and it produced no answer. That system only implements elliptic curve factoring, but it would probably have finished if all but one prime factors have at most 60-80 bit... Well, still, the runtime of even the best known factoring algorithms (ECM, GNFS) is exponential. Enjoy, |\ /| Michael N?sken, b-it cryptography, | \/ | Room 1.22, Dahlmannstr. 2, 53113 Bonn, | \ | ++49/228/2699-214, ++49/228/2619334, | \| . From f.alibabaee at gmail.com Tue Nov 8 08:43:37 2016 From: f.alibabaee at gmail.com (fahime babaee) Date: Tue, 8 Nov 2016 08:43:37 +0000 Subject: [GAP Forum] egg-box Message-ID: Dear forum How can I draw the egg box of D class of a semigroup with GAP. I used function DrawDClasses(S,"DClasses"), but it dose not work and it ask me to install gsviwer but I already have gsviwer on my system. Sincerely From jdm3 at st-andrews.ac.uk Tue Nov 8 09:35:26 2016 From: jdm3 at st-andrews.ac.uk (James Mitchell) Date: Tue, 08 Nov 2016 09:35:26 +0000 Subject: [GAP Forum] egg-box In-Reply-To: <0d4123e370be4426b6353be2b2438371@AM3PR06MB1362.eurprd06.prod.outlook.com> References: <0d4123e370be4426b6353be2b2438371@AM3PR06MB1362.eurprd06.prod.outlook.com> Message-ID: Dear Fahima Babaee, If you use the Semigroups package for GAP: https://gap-packages.github.io/Semigroups/ you can draw the D-class diagram of a finite semigroup by doing: Splash(DotDClasses(S)); As long as you have graphviz installed on your computer. If you have graphviz installed and the above command does not work (it should, but just in case it does not), then you can write the output of DotDClasses(S) to a file by doing: FileString("name-of-a-file.dot", DotDClasses(S)); and then process the resulting file in the terminal by doing: dot -Tpdf name-of-a-file > name-of-a-file.pdf to produce a pdf file. Best wishes, James On Tue, 8 Nov 2016 at 08:46 fahime babaee wrote: > Dear forum > > How can I draw the egg box of D class of a semigroup with GAP. I used > function DrawDClasses(S,"DClasses"), but it dose not work and it ask me to > install gsviwer but I already have gsviwer on my system. > > Sincerely > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From nkhodyunya at gmail.com Thu Nov 10 15:19:57 2016 From: nkhodyunya at gmail.com (Nikolay Hodyunya) Date: Thu, 10 Nov 2016 22:19:57 +0700 Subject: [GAP Forum] Root systems representation in GAP Message-ID: Hello all, Could someone explain me please how does the GAP represent root systems? I'd like to have representation as in Bourbaki IV-VI chapters (tables at the end of the book). For example, any root of A_n is of the form e_i - e_j. For A_3 positive roots subsystem GAP gives me these vectors: [ [ 2, -1, 0 ], [ -1, 2, -1 ], [ 0, -1, 2 ], [ 1, 1, -1 ], [ -1, 1, 1 ], [ 1, 0, 1 ] ]. What do they mean? Thanks. From willem.degraaf at unitn.it Thu Nov 10 17:50:27 2016 From: willem.degraaf at unitn.it (Willem Adriaan De Graaf) Date: Thu, 10 Nov 2016 18:50:27 +0100 Subject: [GAP Forum] Root systems representation in GAP In-Reply-To: References: Message-ID: Dear Nikolay Hodyunya, > For A_3 positive roots subsystem GAP gives me these vectors: [ [ 2, > -1, 0 ], [ -1, 2, -1 ], [ 0, -1, 2 ], [ 1, 1, -1 ], [ -1, 1, 1 ], [ 1, > 0, 1 ] ]. What do they mean? Of course, there are many ways to represent the roots of a root system. In this case, the roots record the eigenvalues of the elements of the Cartan subalgebra, which are contained in ChevalleyBasis(L)[3] (assuming your Lie algebra is denoted L). If h1, h2, h3 are these elements, and x is an element of the second root space (for example), then h1*x = -x, h2*x = 2*x, h3*x = -x. In a GAP session: gap> L:= SimpleLieAlgebra("A",3,Rationals); gap> ch:= ChevalleyBasis(L); [ [ v.1, v.2, v.3, v.4, v.5, v.6 ], [ v.7, v.8, v.9, v.10, v.11, v.12 ], [ v.13, v.14, v.15 ] ] gap> ch[3]*ch[1][2]; [ (-1)*v.2, (2)*v.2, (-1)*v.2 ] Best wishes, Willem de Graaf On 10 November 2016 at 16:19, Nikolay Hodyunya wrote: > Hello all, > > Could someone explain me please how does the GAP represent root > systems? I'd like to have representation as in Bourbaki IV-VI chapters > (tables at the end of the book). For example, any root of A_n is of > the form e_i - e_j. > > For A_3 positive roots subsystem GAP gives me these vectors: [ [ 2, > -1, 0 ], [ -1, 2, -1 ], [ 0, -1, 2 ], [ 1, 1, -1 ], [ -1, 1, 1 ], [ 1, > 0, 1 ] ]. What do they mean? > > Thanks. > > _______________________________________________ > 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 14 11:34:42 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 14 Nov 2016 11:34:42 +0000 Subject: [GAP Forum] GAP 4.8.6 release announcement Message-ID: <2DA61C73-33CC-4F5A-9BDD-1FC86B43CCCB@st-andrews.ac.uk> Dear GAP Forum, This is to announce the release of GAP 4.8.6, which could be downloaded from http://www.gap-system.org/Releases/ The only two changes in the core GAP system made in this release are: * the fix for the regression in the GAP kernel code introduced in GAP 4.8.5 and breaking StringFile's ability to work with compressed files. [Reported by Bill Allombert] * adding references about how to use the filter argument to the documentation of the Basic Groups library, and also adding an example using the IsPermGroup filter to the documentation of DihedralGroup. [Submitted by Sergio Siccha]. For the corresponding changes in the source code, see the GAP 4.8.6 milestone on GitHub: https://github.com/gap-system/gap/milestone/12?closed=1 Furthermore, GAP 4.8.6 distribution includes updates for 15 packages: cvec | 2.5.6 | 08/11/2016 gpd | 1.45 | 02/11/2016 idrel | 2.34 | 20/10/2016 json | 1.1.0 | 01/11/2016 kan | 1.27 | 20/10/2016 LieRing | 2.3 | 01/11/2016 loops | 3.3.0 | 26/10/2016 Polenta | 1.3.7 | 09/11/2016 profiling | 1.1.0 | 01/11/2016 QPA | 1.25 | 21/10/2016 SLA | 1.2 | 01/11/2016 TomLib | 1.2.6 | 07/11/2016 Utils | 0.43 | 20/10/2016 XGAP | 4.26 | 06/11/2016 XMod | 2.58 | 02/11/2016 We encourage all users to upgrade to GAP 4.8.6. Just in case, a common pitfall during GAP installation on Linux and OS X is to compile only the GAP kernel, but not GAP packages. This procedure had changed recently (in GAP 4.8.4) so just in case let me remind you that after running ./configure make in the GAP root directory you need to change to the 'pkg' subdirectory and call ../bin/BuildPackages.sh to run the script which will build most of the packages that require compilation (provided sufficiently many libraries, headers and tools are available). 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 There is also a tag 'gap' for questions about GAP at the Mathematics Q&A site: http://math.stackexchange.com/tags/gap/info In addition, you may find some GAP related news on Twitter: http://twitter.com/gap_system (you may also read the GAP Twitter feed at http://www.gap-system.org). Wishing you fun and success using GAP, Alexander Konovalov on behalf of the GAP Group From rbailey at grenfell.mun.ca Tue Nov 15 19:59:48 2016 From: rbailey at grenfell.mun.ca (Bailey, Robert F.) Date: Tue, 15 Nov 2016 19:59:48 +0000 Subject: [GAP Forum] 3.M_{22}:2 on 990 points Message-ID: Dear forum, The group 3.M_{22}:2 has a rank-9 imprimitive permutation representation of degree 990. (This is the full automorphism group of the distance-transitive Ivanov-Ivanov-Faradjev graph.) I would like to construct this group in GAP. The www ATLAS gives a matrix representation of this group in characteristic 2; however, applying "IsomorphismPermGroup" to this matrix group gives a group of degree 693. Does anyone have a suggestion for how to obtain the degree 990 representation? Thanks, Robert Bailey. ============================== Dr. Robert Bailey School of Science and Environment (Mathematics) Grenfell Campus Memorial University of Newfoundland Corner Brook, NL A2H 6P9, Canada Office: AS 3022 Phone: +1 (709) 637-6293 Web: http://www2.grenfell.mun.ca/rbailey/ This electronic communication is governed by the terms and conditions at http://www.mun.ca/cc/contact/policies/elect_communications_disclaimer_2011.php From juergen.mueller at math.rwth-aachen.de Tue Nov 15 20:50:25 2016 From: juergen.mueller at math.rwth-aachen.de (Juergen Mueller) Date: Tue, 15 Nov 2016 21:50:25 +0100 Subject: [GAP Forum] 3.M_{22}:2 on 990 points Message-ID: <20161115205025.GA32290@localhost.localdomain> Dear Robert, dear Forum, Enclosed please find the generators for the representation you are asking for. Would you like to know how to construct them? Best wishes, J?rgen -------------- next part -------------- gens:= [ ( 3, 27)( 4, 21)( 5, 24)( 6, 23)( 7, 36)( 8, 35)( 9, 22)( 10, 38) ( 11, 37)( 12, 30)( 13, 31)( 14, 32)( 15, 33)( 16, 34)( 17, 28)( 18, 29) ( 19, 25)( 20, 26)( 39,209)( 40,206)( 41,204)( 42,205)( 43,202)( 44,186) ( 45,208)( 46,203)( 47,207)( 49,201)( 50,210)( 51,212)( 52,211)( 53,213) ( 54,215)( 55,214)( 56,197)( 57,113)( 58,333)( 59,295)( 60,298)( 62,332) ( 63,135)( 64,329)( 65,104)( 66,328)( 67,330)( 68,108)( 69,331)( 71,224) ( 72,227)( 73,344)( 75,345)( 76,346)( 77,240)( 78,342)( 79, 96)( 80,347) ( 81,283)( 82, 91)( 83,343)( 84,279)( 86,341)( 87,138)( 88,433)( 89,432) ( 90,431)( 92,434)( 93,182)( 94,147)( 95,436)( 97,435)( 98,353)(100,383) (101,386)(102,188)(103,126)(106,384)(107,385)(109,362)(110,258)(111,388) (112,387)(114,120)(115,118)(119,124)(125,535)(127,531)(128,532)(129,291) (130,539)(131,533)(133,538)(134,530)(136,334)(137,534)(139,537)(141,536) (142,562)(143,554)(144,566)(145,568)(146,565)(148,317)(149,567)(150,564) (151,461)(152,561)(153,175)(154,311)(155,563)(156,598)(157,596)(158,595) (159,524)(160,599)(161,318)(162,597)(163,397)(164,594)(165,601)(166,399) (167,600)(168,602)(169,604)(170,603)(171,550)(172,624)(173,622)(174,572) (176,627)(177,243)(178,625)(179,483)(180,623)(181,248)(183,223)(184,439) (185,626)(187,593)(189,514)(190,661)(191,659)(192,590)(193,660)(194,644) (195,657)(196,364)(198,656)(199,658)(200,360)(217,697)(219,349)(220,698) (221,699)(222,700)(225,686)(226,696)(228,416)(229,693)(230,504)(231,708) (232,288)(233,503)(234,709)(235,522)(236,390)(237,617)(238,583)(239,695) (241,710)(242,715)(244,719)(245,718)(246,415)(247,681)(249,716)(250,717) (251,441)(252,500)(253,271)(254,274)(256,735)(257,737)(259,678)(260,736) (261,417)(262,738)(263,739)(264,378)(265,744)(266,743)(267,389)(268,527) (269,587)(270,463)(272,729)(273,742)(275,509)(276,636)(277,752)(278,340) (280,757)(281,448)(282,756)(284,759)(285,758)(286,767)(289,768)(290,361) (292,370)(293,357)(294,337)(296,790)(297,702)(299,788)(300,791)(301,782) (302,541)(303,309)(304,789)(305,471)(306,424)(307,582)(308,557)(312,795) (313,606)(314,629)(315,785)(316,796)(319,382)(320,635)(321,570)(322,814) (323,815)(324,649)(325,813)(327,365)(335,438)(336,437)(338,440)(339,380) (351,828)(352,827)(354,826)(355,543)(356,818)(358,775)(359,833)(363,724) (366,838)(367,839)(368,619)(369,425)(372,840)(373,651)(374,426)(375,712) (376,810)(377,529)(379,473)(381,843)(391,409)(392,429)(394,584)(400,792) (401,774)(402,765)(403,723)(404,517)(405,647)(406,457)(407,411)(408,418) (410,462)(412,544)(413,523)(414,846)(419,847)(420,849)(421,848)(422,586) (423,850)(427,852)(428,451)(430,851)(442,855)(444,501)(446,856)(449,746) (450,553)(452,477)(453,857)(454,472)(456,666)(458,860)(459,858)(460,859) (464,475)(465,476)(466,474)(469,470)(478,748)(479,499)(481,864)(482,865) (484,863)(485,808)(486,832)(487,831)(488,866)(489,867)(490,869)(491,542) (492,747)(493,868)(494,687)(495,505)(496,577)(497,854)(498,769)(502,706) (507,870)(508,662)(510,665)(511,871)(512,872)(513,725)(515,740)(516,633) (518,547)(519,875)(520,874)(521,873)(525,646)(526,776)(528,579)(540,675) (545,655)(546,892)(548,894)(549,778)(551,893)(552,896)(555,895)(556,614) (558,897)(559,608)(560,611)(569,923)(571,750)(573,690)(574,924)(575,668) (576,707)(578,925)(580,677)(581,820)(585,877)(588,926)(589,927)(591,929) (592,928)(605,671)(607,615)(609,672)(610,939)(612,786)(613,784)(616,933) (618,940)(620,653)(621,777)(628,733)(630,803)(631,669)(632,952)(634,905) (637,834)(638,691)(639,772)(640,680)(641,953)(642,902)(643,754)(645,730) (652,816)(654,817)(663,961)(664,948)(667,960)(670,806)(673,909)(674,921) (676,904)(679,899)(683,911)(684,949)(685,962)(688,721)(689,898)(692,835) (694,882)(701,915)(703,914)(704,918)(711,881)(713,773)(714,727)(722,910) (726,944)(728,880)(731,805)(732,876)(734,801)(741,807)(745,950)(749,781) (751,955)(753,842)(755,959)(760,907)(761,942)(762,766)(763,793)(764,943) (770,956)(771,964)(779,947)(780,920)(783,888)(787,937)(794,967)(797,984) (798,979)(799,891)(800,980)(802,931)(804,932)(809,957)(811,821)(812,883) (819,983)(829,941)(830,987)(836,988)(841,981)(844,919)(845,938)(853,922) (861,890)(862,889)(878,885)(879,965)(884,913)(886,969)(887,934)(900,989) (901,975)(903,972)(906,951)(908,970)(912,958)(916,990)(917,966)(930,935) (936,977)(945,968)(946,963)(971,985)(973,978)(976,986), ( 1,875,428,522)( 2,942, 7,357)( 3, 23,607,271)( 4,907,606,986) ( 5,210,137,820)( 6,491,466,415)( 8,532,171,422)( 9,474,528,547) ( 10,742,400,360)( 11,170,461,493)( 12,700,301,175)( 13, 37,485,253) ( 14,118,472,665)( 15,102,352,966)( 16,151,605,518)( 17,214,140,894) ( 18,656,608,903)( 19,766,356,486)( 20,386,294,780)( 21, 30,426,329) ( 22,549,597,342)( 24,203,553,708)( 25,278,209,749)( 26,121,702,620) ( 27,961,617,751)( 28,199,477,402)( 29,454,439,225)( 31,506,746,406) ( 32,380,389,217)( 33,470)( 34,911,604,750)( 35,559, 94,498)( 36,361) ( 38,828,857,124)( 39,231,266,685)( 40,144,936,938)( 41,263,476,401) ( 42,316,248,459)( 43,669,917,945)( 44,890,929,588)( 45,543,832,623) ( 46,686,274, 82)( 47,626,789,927)( 48,970,967,362)( 49,152,701, 86) ( 50,435)( 51,696,529,197)( 52,792)( 53,647)( 54,590,712,332)( 55,673) ( 56,383,740,146)( 57,455,937, 97)( 58, 74,815,178)( 59,198) ( 60,216,782,419)( 61,899)( 62,679,448,614)( 63,760)( 64,265,667,185) ( 65,974,525,520)( 66,290,444,599)( 67,398,539,895)( 68,218,889,295) ( 69,100,705,958)( 70,744,479,378)( 71,123,948,241)( 72,519) ( 73,648,381,421)( 75,213,139,897)( 76,784,920,947)( 77,226,810,297) ( 78,211,136,806)( 79,898,595,965)( 80,829,354,450)( 81,494,202,157) ( 83,192,773,664)( 84,560,568,460)( 85,434,173,721)( 87,830) ( 88,822,194,642)( 89,322,752,778)( 90,465,132,941)( 91,382,716,483) ( 92,724,796,602)( 93, 96,148,572)( 95,187,730,624)( 98,189,330,633) ( 99,882,405,120)(101,723)(103,643,675,116)(104,814,505,387) (105,433,417,699)(106,114,302,781)(107,418,844,823)(108,904,288,359) (109,404,399,507)(110,182,678,550)(111,317,704,871)(112,344,649,180) (113,659,769,364)(115,657,188,345)(117,156,234,526)(119,508) (122,254,131,524)(125,794,129,451)(126,641,355,375)(127,793,287,579) (128,230,273,591)(130,953,353,181)(133,516,340,304)(134,521,349,377) (135,463,348,743)(138,416,350,915)(141,765,351,977)(142,160,627,809) (143,912,636,145)(147,155,511,163)(149,256,270,509)(150,763,358,475) (153,981,839,770)(154,928,619,223)(158,298,169,243)(159,449,695,489) (161,715,681,343)(162,694,512,373)(164,975,500,825)(165,990,943,219) (166,177,537,960)(167,654,279,570)(168,308,289,638)(172,391,697,393) (174,767,671,851)(176,707,341,326)(179,394)(183,824,776,523) (184,692,787,886)(186,982,873,452)(190,320,339,501)(191,555,631,852) (193,413,325,533)(195,280,908,881)(196,574,594,865)(200,795,596,621) (201,567,768,818)(204,563,534,275)(205,808,392,545)(206,488,764,821) (207,305,250,639)(212,987,504,819)(215,469,429,311)(220,653,799,901) (221,538,277,651)(222,536)(224,661,854,257)(227,365,918,884) (228,655,363,410)(229,457,613,848)(232,337,313,515)(233,645,650,688) (235,950,390,616)(237,249,610,267)(238,582,310,309)(239,629,962,438) (240,813,939,885)(242,372,575,644)(244,612,589,514)(245,368) (246,931,868,930)(247,805,956,468)(251,734)(252,628,968,682)(255,892) (258,446,668,395)(259,577,713,328)(260,726,385,396)(261,412,622,414) (262,333,347,635)(264,303,921,269)(268,831,922,866)(272,738,670,736) (276,338)(281,324,497,334)(282,492)(283,291,510,978)(284,564,836,735) (285,867,728,462)(286,576,757,902)(292,535,403,487)(293,660,603,900) (296,964,443,940)(299,913,637,336)(300,859,640,714)(306,473)(307,453) (312,874,835,583)(314,924,955,584)(315,709,569,409)(318,916,833,456) (319,891,909,727)(321,495,691,646)(323,592,496,774)(327,847,683,513) (331,580)(335,798,926,834)(366,872,585,464)(369,677,548,925) (370,827,849,379)(371,424,427,554)(374,693,862,952)(376,698,615,946) (384,484,562,480)(388,551)(397,447,775,407)(408,609,856,423) (411,689,944,634)(420,684)(430,552,759,893)(431,762)(432,672,840,771) (436,785,858,618)(437,674,755,719)(440,853,983,949)(441,541,556,561) (442,880,720,879)(445,877,722,878)(458,593,797,737)(467,779,804,860) (471,600,557,565)(478,729)(481,587)(482,527)(499,745)(502,690,896,969) (503,861,863,663)(517,611,906,963)(530,571,652,959)(531,676,754,841) (540,581,843,747)(542,905,761,887)(544,923,546,850)(558,566,864,662) (573,954,812,725)(578,951,718,807)(586,658,687,601)(598,817,739,772) (625,801)(630,988,680,711)(632,753,984,914)(666,741,783,703)(706,845) (710,802)(717,826,786,919)(731,838,980,989)(732,957)(733,758,932,934) (748,816,933,888)(756,791,976,788)(777,800,883,837)(790,971) (803,972,979,869)(811,842,973,870)(846,985)(855,935,910,876) ]; From dmitrii.pasechnik at cs.ox.ac.uk Tue Nov 15 20:51:17 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (dmitrii.pasechnik at cs.ox.ac.uk) Date: Tue, 15 Nov 2016 20:51:17 +0000 Subject: [GAP Forum] 3.M_{22}:2 on 990 points In-Reply-To: References: Message-ID: <20161115205117.GA10335@localhost.localdomain> Dear forum, Dear Robert, On Tue, Nov 15, 2016 at 07:59:48PM +0000, Bailey, Robert F. wrote: > The group 3.M_{22}:2 has a rank-9 imprimitive permutation representation of degree 990. (This is the full automorphism group of the distance-transitive Ivanov-Ivanov-Faradjev graph.) I would like to construct this group in GAP. > > The www ATLAS gives a matrix representation of this group in characteristic 2; however, applying "IsomorphismPermGroup" to this matrix group gives a group of degree 693. > > Does anyone have a suggestion for how to obtain the degree 990 representation? There is a diagram geometry with this group that has 990 points and 693 lines; more concretely, there is a degree 7 graph of girth 5 on the 990 vertices that is invariant under your group G, such that every 2-path lies in a unique Petersen subgraph; there are 693 these subgraphs. Each vertex is in 7 such subgraphs. Dually, for the permutation representation of degree 693 there is a G-invariant graph of degree 30, such each vertex lies in 10 maximal cliques of size 7; there are 990 such cliques, and the action on them will give you the desired action. I would use GRAPE to construct the graph on 693 vertices, and find a 7-clique there. Also the following might help: the maximum possible intersection of two such 7-cliques is in a 3-clique, and there are 15 such special 3-cliques on each of the 693 vertices- they correspond to the edges of your graph on 990 vertices. Hope this helps. I'd be happy to provide more details, if needed. Dima > Thanks, > Robert Bailey. > > ============================== > Dr. Robert Bailey > School of Science and Environment (Mathematics) > Grenfell Campus > Memorial University of Newfoundland > Corner Brook, NL A2H 6P9, Canada > > Office: AS 3022 > Phone: +1 (709) 637-6293 > Web: http://www2.grenfell.mun.ca/rbailey/ > > This electronic communication is governed by the terms and conditions at http://www.mun.ca/cc/contact/policies/elect_communications_disclaimer_2011.php > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From rbailey at grenfell.mun.ca Tue Nov 15 20:51:33 2016 From: rbailey at grenfell.mun.ca (Bailey, Robert F.) Date: Tue, 15 Nov 2016 20:51:33 +0000 Subject: [GAP Forum] 3.M_{22}:2 on 990 points In-Reply-To: <973975C0-1E1C-4ED0-8CB4-A773CB2DA91C@arcor.de> References: <973975C0-1E1C-4ED0-8CB4-A773CB2DA91C@arcor.de> Message-ID: Dear J?rgen, Thank you very much for the quick response. It would be useful to know how you obtained them! Best wishes, Robert. -----Original Message----- From: Juergen Mueller [mailto:juergen.m.mueller at arcor.de] Sent: November-15-16 5:17 PM To: Bailey, Robert F. Cc: forum at gap-system.org Subject: Re: [GAP Forum] 3.M_{22}:2 on 990 points Dar Robert, Enclosed please find the generators for the representation you are asking for. Would you like to know how to construct them? Best wishes, J?rgen This electronic communication is governed by the terms and conditions at http://www.mun.ca/cc/contact/policies/elect_communications_disclaimer_2011.php From juergen.mueller at math.rwth-aachen.de Tue Nov 15 21:16:36 2016 From: juergen.mueller at math.rwth-aachen.de (Juergen Mueller) Date: Tue, 15 Nov 2016 22:16:36 +0100 Subject: [GAP Forum] 3.M_{22}:2 on 990 points Message-ID: <20161115211636.GA32437@localhost.localdomain> Dear Robert, here is essentially how I did it: (The generators this produces are different from the ones I sent earlier, because the details of the constructions differ.) ##### # finds generators of 2x2^3:L3(2) inside M22.2 slp:=AtlasStraightLineProgram("M22.2",5).program; # 3.M22.2 in dimension 12, std.gens. lifting those of M22.2 gens:=AtlasGenerators("3.M22.2",1).generators; # a subgroup of 3.(2x2^3:L3(2)) projecting onto 2x2^3:L3(2) hgens:=ResultOfStraightLineProgram(slp,gens); # indeed 2x2^3:L3(2) g:=Group(gens); h:=Group(hgens); Size(h); # go over to perm.rep, actually on 693 points iso:=IsomorphismPermGroup(g); LargestMovedPointPerm(gg); gg:=Image(iso,g); hh:=Image(iso,h); # action on cosets cos:=RightCosets(gg,hh); Length(cos); act:=Action(gg,cos,OnRight); LargestMovedPointPerm(act); ##### Best wishes, J?rgen From dmitrii.pasechnik at cs.ox.ac.uk Tue Nov 15 21:27:54 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (dmitrii.pasechnik at cs.ox.ac.uk) Date: Tue, 15 Nov 2016 21:27:54 +0000 Subject: [GAP Forum] 3.M_{22}:2 on 990 points In-Reply-To: <20161115211636.GA32437@localhost.localdomain> References: <20161115211636.GA32437@localhost.localdomain> Message-ID: <20161115212754.GA11837@localhost.localdomain> On Tue, Nov 15, 2016 at 10:16:36PM +0100, Juergen Mueller wrote: > Dear Robert, > > here is essentially how I did it: > > (The generators this produces are different from the ones > I sent earlier, because the details of the constructions differ.) > > ##### > > # finds generators of 2x2^3:L3(2) inside M22.2 > slp:=AtlasStraightLineProgram("M22.2",5).program; > > # 3.M22.2 in dimension 12, std.gens. lifting those of M22.2 > gens:=AtlasGenerators("3.M22.2",1).generators; > > # a subgroup of 3.(2x2^3:L3(2)) projecting onto 2x2^3:L3(2) > hgens:=ResultOfStraightLineProgram(slp,gens); > > # indeed 2x2^3:L3(2) > g:=Group(gens); h:=Group(hgens); Size(h); > > # go over to perm.rep, actually on 693 points > iso:=IsomorphismPermGroup(g); LargestMovedPointPerm(gg); > gg:=Image(iso,g); hh:=Image(iso,h); > > # action on cosets > cos:=RightCosets(gg,hh); Length(cos); > act:=Action(gg,cos,OnRight); LargestMovedPointPerm(act); That's more or less what I outlined in my message - 2x2^3:L3(2) is the stabiliser of a 7-clique in the 693-vertex graph. It's computationally faster to create the orbit of 990 7-subsets, but OK, that mattered a lot 25+ years ago, when that graph was constructed :-) Just in case, Dima > > ##### > > Best wishes, J?rgen > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From frank.luebeck at math.rwth-aachen.de Tue Nov 15 21:57:00 2016 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Tue, 15 Nov 2016 22:57:00 +0100 Subject: [GAP Forum] 3.M_{22}:2 on 990 points In-Reply-To: References: Message-ID: <20161115215700.GA31064@localhost.localdomain> On Tue, Nov 15, 2016 at 07:59:48PM +0000, Bailey, Robert F. wrote: > Dear forum, > > The group 3.M_{22}:2 has a rank-9 imprimitive permutation representation > of degree 990. (This is the full automorphism group of the > distance-transitive Ivanov-Ivanov-Faradjev graph.) I would like to > construct this group in GAP. > > The www ATLAS gives a matrix representation of this group in > characteristic 2; however, applying "IsomorphismPermGroup" to this matrix > group gives a group of degree 693. > > Does anyone have a suggestion for how to obtain the degree 990 representation? > > Thanks, > Robert Bailey. Dear Robert, dear Forum, [When I wanted to send this reply I have seen that J?rgen has already sent a very similar solution. Nevertheless, I send my as well because it uses less knowledge about the relation the representations of M22.2 and 3.M22.2 in the ATLAS and some other GAP commands. Here it is:] The www ATLAS does not only have a matrix representation for your group but it also contains information for generating its maximal subgroups. Use, for example BrowseAtlasInfo to find this out and to get some information on the maximal subgroups. Lets take the smallest maximal subgroup which may contain a group of the right order which may be the stabilizer of a point in the permutation representation you are looking for: gap> info:=BrowseAtlasInfo("3.M22.2"); # select the 7 maximal subgroups [ rec( groupname := "3.M22.2", identifier := [ "3.M22.2", "M22d2G1-max1W1", 1 ], size := 1330560, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", "M22d2G1-max2W1", 1 ], size := 120960, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", "M22d2G1-max3W1", 1 ], size := 34560, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", "M22d2G1-max4W1", 1 ], size := 11520, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", [ "M22d2G1-max5W1", "M22.2" ], 1 ], size := 8064, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", "M22d2G1-max6W1", 1 ], size := 4320, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", [ "M22d2G1-max7W1", "M22.2" ], 1 ], size := 3960, standardization := 1 ) ] gap> g := AtlasGroup("3.M22.2"); gap> q := Size(g)/990; 2688 gap> Filtered([1..7], i-> info[i].size mod q = 0); [ 1, 2, 5 ] gap> m := AtlasSubgroup(g, 5);; gap> maxes := List(ConjugacyClassesMaximalSubgroups(m), Representative);; gap> u := First(maxes, x-> Size(x) = q); gap> act := FactorCosetAction(g,u); CompositionMapping( , ) gap> niceg := Image(act); gap> LargestMovedPoint(niceg); 990 gap> st := Stabilizer(niceg, 1); gap> Length(Orbits(st, [1..990])); 9 Is niceg the permutation group you are looking for? With best regards, Frank -- /// 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 rbailey at grenfell.mun.ca Tue Nov 15 22:20:01 2016 From: rbailey at grenfell.mun.ca (Bailey, Robert F.) Date: Tue, 15 Nov 2016 22:20:01 +0000 Subject: [GAP Forum] 3.M_{22}:2 on 990 points In-Reply-To: <20161115215700.GA31064@localhost.localdomain> References: <20161115215700.GA31064@localhost.localdomain> Message-ID: <9dc9135f4d38486d87045cafbe15b68a@CAS1.swgc.ca> Dear Frank (and everyone else), Thanks for the responses. The group "niceg" in Frank's email does appear to be the group I want (although the "Browse" packing isn't working in my GAP installation so I can't test it for sure), but I now have the group I was in need of! Best wishes, Robert. ============================== Dr. Robert Bailey School of Science and Environment (Mathematics) Grenfell Campus Memorial University of Newfoundland Corner Brook, NL A2H 6P9, Canada Office: AS 3022 Phone: +1 (709) 637-6293 Web: http://www2.grenfell.mun.ca/rbailey/ -----Original Message----- From: Frank L?beck [mailto:frank.luebeck at math.rwth-aachen.de] Sent: November-15-16 6:27 PM To: Bailey, Robert F. ; forum at gap-system.org Subject: Re: [GAP Forum] 3.M_{22}:2 on 990 points On Tue, Nov 15, 2016 at 07:59:48PM +0000, Bailey, Robert F. wrote: > Dear forum, > > The group 3.M_{22}:2 has a rank-9 imprimitive permutation representation > of degree 990. (This is the full automorphism group of the > distance-transitive Ivanov-Ivanov-Faradjev graph.) I would like to > construct this group in GAP. > > The www ATLAS gives a matrix representation of this group in > characteristic 2; however, applying "IsomorphismPermGroup" to this matrix > group gives a group of degree 693. > > Does anyone have a suggestion for how to obtain the degree 990 representation? > > Thanks, > Robert Bailey. Dear Robert, dear Forum, [When I wanted to send this reply I have seen that J?rgen has already sent a very similar solution. Nevertheless, I send my as well because it uses less knowledge about the relation the representations of M22.2 and 3.M22.2 in the ATLAS and some other GAP commands. Here it is:] The www ATLAS does not only have a matrix representation for your group but it also contains information for generating its maximal subgroups. Use, for example BrowseAtlasInfo to find this out and to get some information on the maximal subgroups. Lets take the smallest maximal subgroup which may contain a group of the right order which may be the stabilizer of a point in the permutation representation you are looking for: gap> info:=BrowseAtlasInfo("3.M22.2"); # select the 7 maximal subgroups [ rec( groupname := "3.M22.2", identifier := [ "3.M22.2", "M22d2G1-max1W1", 1 ], size := 1330560, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", "M22d2G1-max2W1", 1 ], size := 120960, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", "M22d2G1-max3W1", 1 ], size := 34560, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", "M22d2G1-max4W1", 1 ], size := 11520, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", [ "M22d2G1-max5W1", "M22.2" ], 1 ], size := 8064, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", "M22d2G1-max6W1", 1 ], size := 4320, standardization := 1 ), rec( groupname := "3.M22.2", identifier := [ "3.M22.2", [ "M22d2G1-max7W1", "M22.2" ], 1 ], size := 3960, standardization := 1 ) ] gap> g := AtlasGroup("3.M22.2"); gap> q := Size(g)/990; 2688 gap> Filtered([1..7], i-> info[i].size mod q = 0); [ 1, 2, 5 ] gap> m := AtlasSubgroup(g, 5);; gap> maxes := List(ConjugacyClassesMaximalSubgroups(m), Representative);; gap> u := First(maxes, x-> Size(x) = q); gap> act := FactorCosetAction(g,u); CompositionMapping( , ) gap> niceg := Image(act); gap> LargestMovedPoint(niceg); 990 gap> st := Stabilizer(niceg, 1); gap> Length(Orbits(st, [1..990])); 9 Is niceg the permutation group you are looking for? With best regards, Frank -- /// 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/ This electronic communication is governed by the terms and conditions at http://www.mun.ca/cc/contact/policies/elect_communications_disclaimer_2011.php From dmitrii.pasechnik at cs.ox.ac.uk Wed Nov 16 09:12:37 2016 From: dmitrii.pasechnik at cs.ox.ac.uk (dmitrii.pasechnik at cs.ox.ac.uk) Date: Wed, 16 Nov 2016 09:12:37 +0000 Subject: [GAP Forum] 3.M_{22}:2 on 990 points In-Reply-To: <20161115205117.GA10335@localhost.localdomain> References: <20161115205117.GA10335@localhost.localdomain> Message-ID: <20161116091237.GB16752@localhost.localdomain> Dear forum, Dear Robert, for what it's worth, here is what I described, in GAP, takes an instant to run: LoadPackage("grape"); g0:=AtlasGroup("3.M22.2"); g693:=Image(IsomorphismPermGroup(g)); h:=Stabilizer(g693,1); oo:=Orbits(h,[1..693]); e:=[1,First(oo,x->Length(x)=30)[1]]; gamma:=NullGraph(g693); AddEdgeOrbit(gamma,e); c7:=Orbit(g693,CompleteSubgraphs(gamma,7)[1],OnSets); iif:=NullGraph(Action(g693,c7,OnSets)); AddEdgeOrbit(iif, List(Filtered(c7,x->IsSubset(x,e)),x->Position(c7,x))); # Now we call GlobalParameters(iif); # and see that it is # [ [ 0, 0, 7 ], [ 1, 0, 6 ], [ 1, 2, 4 ], [ 1, 2, 4 ], # [ 2, 1, 4 ], [ 4, 2, 1 ], [ 4, 2, 1 ], [ 6, 0, 1 ], [ 7, 0, 0 ] ] # - the parameters of Ivanov-Ivanov-Faradjev graph Cheers, Dima On Tue, Nov 15, 2016 at 08:51:17PM +0000, dmitrii.pasechnik at cs.ox.ac.uk wrote: > > On Tue, Nov 15, 2016 at 07:59:48PM +0000, Bailey, Robert F. wrote: > > The group 3.M_{22}:2 has a rank-9 imprimitive permutation representation of degree 990. (This is the full automorphism group of the distance-transitive Ivanov-Ivanov-Faradjev graph.) I would like to construct this group in GAP. > > > > The www ATLAS gives a matrix representation of this group in characteristic 2; however, applying "IsomorphismPermGroup" to this matrix group gives a group of degree 693. > > > > Does anyone have a suggestion for how to obtain the degree 990 representation? > > There is a diagram geometry with this group that has 990 points and 693 > lines; more concretely, there is a degree 7 graph of girth 5 on the 990 vertices > that is invariant under your group G, such that every 2-path lies in a > unique Petersen subgraph; there are 693 these subgraphs. > Each vertex is in 7 such subgraphs. > Dually, for the permutation representation of degree 693 there is a > G-invariant graph of degree 30, such each vertex lies in 10 maximal > cliques of size 7; there are 990 such cliques, and the action on them > will give you the desired action. > > I would use GRAPE to construct the graph on 693 vertices, and find a > 7-clique there. Also the following might help: > the maximum possible intersection of two such 7-cliques > is in a 3-clique, and there are 15 such special 3-cliques on each of the > 693 vertices- they correspond to the edges of your graph on 990 > vertices. > > Hope this helps. > I'd be happy to provide more details, if needed. > Dima > > > > > Thanks, > > Robert Bailey. > > > > ============================== > > Dr. Robert Bailey > > School of Science and Environment (Mathematics) > > Grenfell Campus > > Memorial University of Newfoundland > > Corner Brook, NL A2H 6P9, Canada > > > > Office: AS 3022 > > Phone: +1 (709) 637-6293 > > Web: http://www2.grenfell.mun.ca/rbailey/ > > > > This electronic communication is governed by the terms and conditions at http://www.mun.ca/cc/contact/policies/elect_communications_disclaimer_2011.php > > _______________________________________________ > > Forum mailing list > > Forum at mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum From lovepgroups at gmail.com Wed Nov 16 10:07:05 2016 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Wed, 16 Nov 2016 11:07:05 +0100 Subject: [GAP Forum] XGAP Message-ID: Dear forum, I have tried to install XGAP but i have not been successful. I have tried the procedure available on GAP home page but yet unsuccessful, may be i didn't get language correct. Example:What is C Compiler? or how to configure the C Part. Can someone give me a simple guide on how to install XGAP as a first time user? regards From jalaeeyan at gmail.com Sun Nov 20 12:42:47 2016 From: jalaeeyan at gmail.com (taleea jalaeeyan) Date: Sun, 20 Nov 2016 16:12:47 +0330 Subject: [GAP Forum] question Message-ID: Thank you gap for answering me. 1- how can i define commutators of wight more than 3 to gap? 2- is the concept of Quadratic Non Residue (mod p) is defined for gap? how can i define it for a presentation of a group? how can i define the following presentation in gap \langle x?, ?y |x^{p^{2}}=y^{p}=1?, ?[x?, ?y?, ?x]=1?, ?[x?, ?y?, ?y]=x^{np}?, ?[x?, ?y?, ?y?, ?y]=1 \rangle when n is quadratic non residue (mod p)? From w_becker at hotmail.com Sun Nov 20 15:05:34 2016 From: w_becker at hotmail.com (Walter Becker) Date: Sun, 20 Nov 2016 15:05:34 +0000 Subject: [GAP Forum] how to get groups from GrpConst Message-ID: If you run the Group Extension program for getting cyclic group extension as follows gap> g:=SmallGroup(11^4,11); gap> CyclicSplitExtensions(g,5); rec( both := [ 8192199993 ], down := [ ], up := [ rec( code := 298568409859696239999, order := 73205 ), rec( code := 5856355022849648239999, order := 73205 ), rec( code := 5891490574296688239999, order := 73205 ), rec( code := 11282584185874032239999, order := 73205 ), rec( code := 94119189388603040990846639999, order := 73205 ), rec( code := 94538261508559871198846639999, order := 73205 ), rec( code := 94106975037650140219006639999, order := 73205 ), rec( code := 94464989257903016937086639999, order := 73205 ), rec( code := 94128831738093798622846639999, order := 73205 ), rec( code := 94535689507097728059006639999, order := 73205 ), rec( code := 94162902789490357798526639999, order := 73205 ), rec( code := 94479775706899598272126639999, order := 73205 ), rec( code := 94282447553251495872126639999, order := 73205 ), rec( code := 94138474087584556254846639999, order := 73205 ), rec( code := 94760017161234627233406639999, order := 73205 ), rec( code := 94945130963929828861566639999, order := 73205 ), rec( code := 94842931761382239127166639999, order := 73205 ), rec( code := 94925846361529851020926639999, order := 73205 ), rec( code := 94794076622846695605886639999, order := 73205 ) ] ) how does one get or construct the explicit groups that are found here. In this case it might be relatively easy given the 11 - group here but in other cases it may not be as easy to construct these groups. Commnets ??? Walter Becker From z060822400814a at rezozer.net Sun Nov 20 15:21:01 2016 From: z060822400814a at rezozer.net (z060822400814a at rezozer.net) Date: Sun, 20 Nov 2016 15:21:01 +0000 Subject: [GAP Forum] How to list Warning messages ? Message-ID: <4d42c9b1-c2fc-3ab0-21f6-4c43aac788f6@rezozer.net> Hello Forum, let assume that I am running a restored GAP session: is there an easy way to list the #W[arning] messages ? Thanks in advance, Jerome From stefan at mcs.st-and.ac.uk Sun Nov 20 20:26:48 2016 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Sun, 20 Nov 2016 20:26:48 -0000 (UTC) Subject: [GAP Forum] how to get groups from GrpConst In-Reply-To: References: Message-ID: On Sun, November 20, 2016 3:05 pm, Walter Becker wrote: > If you run the Group Extension program for getting > cyclic group extension as follows > > gap> g:=SmallGroup(11^4,11); > > gap> CyclicSplitExtensions(g,5); > rec( both := [ 8192199993 ], down := [ ], > up := [ rec( code := 298568409859696239999, order := 73205 ), rec( code := > 5856355022849648239999, order := 73205 ), > rec( code := 5891490574296688239999, order := 73205 ), rec( code := > 11282584185874032239999, order := 73205 ), > rec( code := 94119189388603040990846639999, order := 73205 ), > rec( code := 94538261508559871198846639999, order := 73205 ), > rec( code := 94106975037650140219006639999, order := 73205 ), > rec( code := 94464989257903016937086639999, order := 73205 ), > rec( code := 94128831738093798622846639999, order := 73205 ), > rec( code := 94535689507097728059006639999, order := 73205 ), > rec( code := 94162902789490357798526639999, order := 73205 ), > rec( code := 94479775706899598272126639999, order := 73205 ), > rec( code := 94282447553251495872126639999, order := 73205 ), > rec( code := 94138474087584556254846639999, order := 73205 ), > rec( code := 94760017161234627233406639999, order := 73205 ), > rec( code := 94945130963929828861566639999, order := 73205 ), > rec( code := 94842931761382239127166639999, order := 73205 ), > rec( code := 94925846361529851020926639999, order := 73205 ), > rec( code := 94794076622846695605886639999, order := 73205 ) ] ) > > how does one get or construct the explicit groups that > are found here. Just do gap> g:=SmallGroup(11^4,11); gap> extcodes := CyclicSplitExtensions(g,5);; gap> extgrps := List(extcodes.up,r->PcGroupCode(r.code,r.order)); [ , , , , , , , , , , , , , , , , , , ] Hope this helps, Stefan Kohl ----------------------------------------------------------------------------- http://www.gap-system.org/DevelopersPages/StefanKohl/ ----------------------------------------------------------------------------- From alexander.konovalov at st-andrews.ac.uk Tue Nov 22 14:09:11 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Tue, 22 Nov 2016 14:09:11 +0000 Subject: [GAP Forum] How to list Warning messages ? In-Reply-To: <4d42c9b1-c2fc-3ab0-21f6-4c43aac788f6@rezozer.net> References: <4d42c9b1-c2fc-3ab0-21f6-4c43aac788f6@rezozer.net> Message-ID: <92A605DF-A04A-42C0-8945-7F1D222EF7B3@st-andrews.ac.uk> Hello Jerome, > On 20 Nov 2016, at 15:21, z060822400814a at rezozer.net wrote: > > Hello Forum, > > let assume that I am running a restored GAP session: > is there an easy way to list the #W[arning] messages ? > > Thanks in advance, > Jerome If you mean accessing all warnings that were issued before the workspace was saved, then I think in general the answer is 'no'. The only kind of warnings you may restore are package loading warnings, which may be displayed using `DisplayPackageLoadingLog`. This happens because they are saved in GAPInfo.PackageLoadingMessages. Best wishes Alexander From alexander.konovalov at st-andrews.ac.uk Tue Nov 22 14:25:43 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Tue, 22 Nov 2016 14:25:43 +0000 Subject: [GAP Forum] XGAP In-Reply-To: References: Message-ID: Dear Abdulhakeem Alayiwola, As you wrote to me, you have Windows and you are interested in lattices of subgroups. You can't install XGAP on Windows since it requires UNIX environment. For example, it works on Linux and on OS X (needs XQuartz - https://www.xquartz.org/). For Windows machine, one suggestion could be to install VirtualBox (https://www.virtualbox.org/) and establish Linux virtual machine. Hopefully the functionality you want will eventually appear in the GAP Jupyter interface (http://opendreamkit.org/activities/2016-08-03-gap-docker-jupyter/), but it's not there yet. However note that under Windows you should be able to compute the lattice of subgroups using `LatticeSubgroups` and then explore it from GAP. Strictly speaking, XGAP is needed to *visualise* the lattice of subgroups, but not to *compute* it. There is also a GAP function `DotFileLatticeSubgroups ` that produces an input file for GraphViz (http://www.graphviz.org) which you will hopefully be able to used under Windows. See this example: http://math.stackexchange.com/questions/1737962/subgroup-lattice-of-ut3-3/1737985#1737985 Hope this helps Alexander > On 16 Nov 2016, at 10:07, abdulhakeem alayiwola wrote: > > Dear forum, > I have tried to install XGAP but i have not been successful. I have tried > the procedure available on GAP home page but yet unsuccessful, may be i > didn't get language correct. Example:What is C Compiler? or how to > configure the C Part. Can someone give me a simple guide on how to install > XGAP as a first time user? > > regards From alexander.konovalov at st-andrews.ac.uk Tue Nov 22 14:44:03 2016 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Tue, 22 Nov 2016 14:44:03 +0000 Subject: [GAP Forum] question In-Reply-To: References: Message-ID: <48487AEE-E961-4DEA-81A8-F216C7BB9E0C@st-andrews.ac.uk> Dear Taleea Jalaeeyan, > On 20 Nov 2016, at 12:42, taleea jalaeeyan wrote: > > Thank you gap for answering me. > 1- how can i define commutators of wight more than 3 to gap? There is an undocumented function `LeftNormedComm`, so ?[x?, ?y?, ?y?, ?y] is ?[[[x?, ?y?], ?y?], ?y] > 2- is the concept of Quadratic Non Residue (mod p) is defined for gap? Yes - see `Legendre`, http://www.gap-system.org/Manuals/doc/ref/chap15.html#X81464ABF7F10E544 > how can i define it for a presentation of a group? You will have to construct a group below for some fixed given n and p. For example, gap> Legendre(3,5); -1 so 3 is a quadratic non-residue modulo 5. Now > how can i define the following presentation in gap > \langle x?, ?y |x^{p^{2}}=y^{p}=1?, ?[x?, ?y?, ?x]=1?, ?[x?, ?y?, > ?y]=x^{np}?, ?[x?, ?y?, ?y?, ?y]=1 \rangle > when n is quadratic non residue (mod p)? gap> x:=f.1; x gap> y:=f.2; y gap> n:=3;p:=5; 3 5 gap> rels:=[ > x^(p^2), y^(p), > LeftNormedComm([x,y,x]), > LeftNormedComm([x,y,y])*x^(-n*p), > LeftNormedComm([x,y,y,y]) ]; [ x^25, y^5, y^-1*x^-1*y*x^-1*y^-1*x*y*x, y^-1*x^-1*y*x*y^-1*x^-1*y^-1*x*y^2*x^-15, y^-2*x^-1*y*x*y*x^-1*y^-1*x*y^-1*x^-1*y*x*y^-1*x^-1*y^-1*x*y^3 ] gap> g:=f/rels; gap> Size(g); 625 gap> IdGroup(g); [ 625, 10 ] Hope this helps Alexander From saad1225 at gmail.com Wed Nov 23 23:30:55 2016 From: saad1225 at gmail.com (saad khalid) Date: Wed, 23 Nov 2016 17:30:55 -0600 Subject: [GAP Forum] Difficulty Understanding how to Generate Group and Compute Molien Series Message-ID: Hello everyone! I'm coming from using Macaulay2 (and not knowing much of anything about representation theory) to generate groups and their corresponding Molien series. In Macaulay2, I would create a field with some qth root of unity. For example, if I wanted q = 8, I would use: K = toField(QQ[zet]/(zet^4 + 1)) Then, I would pick some matrix I wanted to use to generate the group: A = matrix{{zet^(a1),0,0},{0,zet^(a2),0},{0,0,zet^(a3)}} #a1, a2, a3 are what I would pick. Notice that this is diagonal(all the matrices I'm dealing with are diagonal). Then, I would generate the group for A in the field K, and compute its molienseries: B = generateGroup({A},K) molienSeries B I would like to do this process in GAP, but I'm having trouble figuring out how to generate the group. In actuality, I don't need the group at all, I'm only interested in the final molienseries representation. However, to generate the molien series using GAP, I think I need to know the character of the group. I believe I have sort of an understanding of what that means. At least, in my case since they're just diagonal matrices, the character of each matrix in the group is just the trace of that matrix. Even if that is the case, I still don't know how to put that in GAP. Say I had q = 4 and picked a1 = 1, a2 = 2, a3 = 3; what should I input into GAP as the character of this group for it to generate the Molien series? If there isn't some easy way to just figure out and type in the character of the group, I assume that I'll have to create the group in GAP and then use GAP to get its character. I followed the examples given in the GAP documentation, but I couldn't figure out how to apply that to my situation. I just don't know how to translate what I did in Macaulay2 to GAP. I would like to learn representation theory in the future, and I hope that I will learn some by working with GAP. Until that happens though, I would like to apologize for how novice my questions here are. Thank you for taking the time to read my post! I would really appreciate any help you can give. -Saad From max at quendi.de Thu Nov 24 14:09:51 2016 From: max at quendi.de (Max Horn) Date: Thu, 24 Nov 2016 15:09:51 +0100 Subject: [GAP Forum] Difficulty Understanding how to Generate Group and Compute Molien Series In-Reply-To: References: Message-ID: <21315E51-7304-4565-B625-E7C0CE5CF1C6@quendi.de> Hi Saad, > On 24 Nov 2016, at 00:30, saad khalid wrote: > > Hello everyone! > > I'm coming from using Macaulay2 (and not knowing much of anything about > representation theory) to generate groups and their corresponding Molien > series. In Macaulay2, I would create a field with some qth root of unity. > For example, if I wanted q = 8, I would use: > K = toField(QQ[zet]/(zet^4 + 1)) > > Then, I would pick some matrix I wanted to use to generate the group: > > A = matrix{{zet^(a1),0,0},{0,zet^(a2),0},{0,0,zet^(a3)}} #a1, a2, a3 are > what I would pick. In GAP, you can get a primitive 8-th root of unity by E(8), and the field it generates by CF(8). So you could write your matrix like this: z := E(8); A := DiagonalMat([z^a1,z^a2,z^a3]); > > Notice that this is diagonal(all the matrices I'm dealing with are > diagonal). > > Then, I would generate the group for A in the field K, and compute its > molienseries: > B = generateGroup({A},K) > molienSeries B The equivalent to the first command in GAP: B := Group( A ); As to the second command, the corresponding GAP function is MolienSeries(), but it takes a character of a group, not a (matrix) group. But as you say, you can easily convert your matrix representation into a character as follows: chi := Character(B, List(ConjugacyClasses(B), c -> TraceMat(Representative(c)))); Then we can apply MolienSeries, and get something like this (for a1=1, a2=2, a3=3): gap> MolienSeries(chi); ( 1-z-z^2+2*z^3+2*z^4-2*z^5+z^7 ) / ( (1-z^8)*(1-z^2)*(1-z) ) Hope that helps, Max From vicorso at doctor.upv.es Sat Nov 26 15:17:07 2016 From: vicorso at doctor.upv.es (=?utf-8?b?VsOtY3Rvcg==?= Manuel Ortiz Sotomayor) Date: Sat, 26 Nov 2016 16:17:07 +0100 Subject: [GAP Forum] Conjugacy classes Alternating group degree 125 Message-ID: <20161126161707.Horde.ybLatfVWluRJkfXUSfzRRzC@webmail.upv.es> Let G:=AlternatingGroup(125) be the Alternating group of degree 125, and let Q:=SylowSubgroup(G, 5) be a Sylow 5-subgroup of G. I want to compute, for each element x of Q, the distinct G-conjugacy class sizes, that is, the distinct values of Size(ConjugacyClass(G, x)) (obviously, computing the distinct values of Centralizer(G, x) for all x in Q) would be the same). Needless to say that, I always get out of memory when I run over all the elements of Q. I had tried the following: compute the upper central series of Q (L:=UpperCentralSeriesOfGroup(Q)) and, for some "intermediate" normal subgroup N in that chain, to decompose Q in right cosets on N, in order to make a disjoint union of the elements of Q that is more manageable. However, I still have problems of memory because either I have so many transversals or the order of N is also too large. Any idea? Thanks in advance. From Alexander.Hulpke at colostate.edu Sat Nov 26 17:18:09 2016 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Sat, 26 Nov 2016 17:18:09 +0000 Subject: [GAP Forum] Conjugacy classes Alternating group degree 125 In-Reply-To: <20161126161707.Horde.ybLatfVWluRJkfXUSfzRRzC@webmail.upv.es> References: <20161126161707.Horde.ybLatfVWluRJkfXUSfzRRzC@webmail.upv.es> Message-ID: Dear GAP-Forum, On Nov 26, 2016, at 8:17 AM, V?ctor Manuel Ortiz Sotomayor > wrote: Let G:=AlternatingGroup(125) be the Alternating group of degree 125, and let Q:=SylowSubgroup(G, 5) be a Sylow 5-subgroup of G. I want to compute, for each element x of Q, the distinct G-conjugacy class sizes, that is, the distinct values of Size(ConjugacyClass(G, x)) (obviously, computing the distinct values of Centralizer(G, x) for all x in Q) would be the same). Needless to say that, I always get out of memory when I run over all the elements of Q. I had tried the following: compute the upper central series of Q (L:=UpperCentralSeriesOfGroup(Q)) and, for some "intermediate" normal subgroup N in that chain, to decompose Q in right cosets on N, in order to make a disjoint union of the elements of Q that is more manageable. However, I still have problems of memory because either I have so many transversals or the order of N is also too large. Any idea? My recommendation would be to take the code for computing conjugacy classes (which is in the file `claspcgs.gi`) and centralizers (which works down over subsequently larger factor groups) which currently works breadth-first to convert it to a depth-first approach, not storing all classes, but deleting them once the size of the class is known. Caveat: Even the factor of Q modulo the 6th term in the lower central series (this is less than sqrt(|Q|), so only a small bit) already has almost 2 million conjugacy classes, so the whole group could easily have 10^10 classes or more. which puts the feasibility of such an enumerative approach into doubt. Best, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From benjamin.sambale at gmail.com Sat Nov 26 19:11:37 2016 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Sat, 26 Nov 2016 20:11:37 +0100 Subject: [GAP Forum] Conjugacy classes Alternating group degree 125 In-Reply-To: <20161126161707.Horde.ybLatfVWluRJkfXUSfzRRzC@webmail.upv.es> References: <20161126161707.Horde.ybLatfVWluRJkfXUSfzRRzC@webmail.upv.es> Message-ID: <93bc9cd8-8f34-6b5f-f8f1-12b54343c768@gmail.com> If I understand the question correctly, there is no need to use a computer. The conjugacy classes of the alternating groups are well-known and there sizes can be computed easily. But maybe this is not the point of the question. Best, Benjamin Am 26.11.2016 um 16:17 schrieb V?ctor Manuel Ortiz Sotomayor: > Let G:=AlternatingGroup(125) be the Alternating group of degree 125, > and let Q:=SylowSubgroup(G, 5) be a Sylow 5-subgroup of G. > > I want to compute, for each element x of Q, the distinct G-conjugacy > class sizes, that is, the distinct values of Size(ConjugacyClass(G, > x)) (obviously, computing the distinct values of Centralizer(G, x) for > all x in Q) would be the same). > > Needless to say that, I always get out of memory when I run over all > the elements of Q. I had tried the following: compute the upper > central series of Q (L:=UpperCentralSeriesOfGroup(Q)) and, for some > "intermediate" normal subgroup N in that chain, to decompose Q in > right cosets on N, in order to make a disjoint union of the elements > of Q that is more manageable. However, I still have problems of memory > because either I have so many transversals or the order of N is also > too large. Any idea? > > Thanks in advance. > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From vicorso at doctor.upv.es Sun Nov 27 15:26:31 2016 From: vicorso at doctor.upv.es (VMOS) Date: Sun, 27 Nov 2016 16:26:31 +0100 Subject: [GAP Forum] Conjugacy classes Alternating group degree 125 Message-ID: First of all, thank you so much por your invaluable help. I'm a young student and I didn't know that "the conjugacy classes of the alternating groups were?well-known and there sizes could be computed easily". Anyway, I hope that this kind of computations with many conjugacy classes might be interesting in other frameworks. I'm sorry if the ease of my question has bothered someone. Best, VMOS
-------- Mensaje original --------
De: V?ctor Manuel Ortiz Sotomayor
Fecha:27/11/2016 15:44 (GMT+01:00)
Para: benjamin.sambale at gmail.com,Alexander.Hulpke at colostate.edu
Cc: Forum at mail.gap-system.org
Asunto: [GAP Forum] Conjugacy classes Alternating group degree 125
------------------------------------------------------------------------- > My recommendation would be to take the code for computing conjugacy > classes (which is in the file `claspcgs.gi`) and centralizers (which > works down over subsequently larger factor groups) which currently > works breadth-first to convert it to a depth-first approach, not > storing all classes, but deleting them once the size of the class is > known. > Caveat: Even the factor of Q modulo the 6th term in the lower > central series (this is less than sqrt(|Q|), so only a small bit) > already has almost 2 million conjugacy classes, so the whole group > could easily have 10^10 classes or more. which puts the feasibility > of such an enumerative approach into doubt. > Best, > Alexander Hulpke -------------------------------------------------------------------------- >> If I understand the question correctly, there is no need to use a >> computer. The conjugacy classes of the alternating groups are >> well-known and there sizes can be computed easily. But maybe this >> is not the point of the question. >> Best, >> Benjamin -------------------------------------------------------------------------- >>> Am 26.11.2016 um 16:17 schrieb V?ctor Manuel Ortiz Sotomayor: >>> Let G:=AlternatingGroup(125) be the Alternating group of degree >>> 125, and let Q:=SylowSubgroup(G, 5) be a Sylow 5-subgroup of G. >>> >>> I want to compute, for each element x of Q, the distinct >>> G-conjugacy class sizes, that is, the distinct values of >>> Size(ConjugacyClass(G, x)) (obviously, computing the distinct >>> values of Centralizer(G, x) for all x in Q) would be the same). >>> >>> Needless to say that, I always get out of memory when I run over >>> all the elements of Q. I had tried the following: compute the >>> upper central series of Q (L:=UpperCentralSeriesOfGroup(Q)) and, >>> for some "intermediate" normal subgroup N in that chain, to >>> decompose Q in right cosets on N, in order to make a disjoint >>> union of the elements of Q that is more manageable. However, I >>> still have problems of memory because either I have so many >>> transversals or the order of N is also too large. Any idea? >>> >>> Thanks in advance. From mazurov at math.nsc.ru Sat Dec 3 05:24:26 2016 From: mazurov at math.nsc.ru (Victor D. Mazurov) Date: Sat, 3 Dec 2016 12:24:26 +0700 Subject: [GAP Forum] tensor product of representations Message-ID: Dear forum, How can I get a homomorphism from given representation of finite group to the another one? Example: By Atlas of FGR, Matrices ? [[0,1,0,0], [1,1,0,0], [0,0,0,1], [0,0,1,1] ]*Z(2) , [[0,0,1,0], [0,1,1,0], [0,1,1,1], [1,1,1,0] ]*Z(2) generate? a 4-dimensional representation U of alternating group A_8 over a field of order 2 and matrices [[0,1,0,0,0,0], [1,1,0,0,0,0], [1,1,1,0,0,0], [0,0,0,1,0,0], [0,0,0,0,1,0], [0,0,0,0,0,1] ]*Z(2) , [[1,1,0,0,0,0], [0,0,1,0,0,0], [0,0,0,1,0,0], [0,0,0,0,1,0], [0,0,0,0,0,1], [1,0,1,0,1,0] ]*Z(2) ?generate a 6-dimensional representation V of A_8 over a field of order 2?. How can I calculate H=Hom(U\otimes U,V) and, if H\ne 0, a homomorphism of U\otimes U onto V? Best wishes, Victor Mazurov -- Victor Danilovich Mazurov Institute of Mathematics Novosibirsk 630090 Russia From Alexander.Hulpke at colostate.edu Sat Dec 3 16:07:07 2016 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Sat, 3 Dec 2016 16:07:07 +0000 Subject: [GAP Forum] tensor product of representations In-Reply-To: References: Message-ID: <52EF6EE4-26BA-4542-97B5-7F241AE38C32@colostate.edu> Dear Forum, Dear Victor Mazurov, > On Dec 2, 2016, at 10:24 PM, Victor D. Mazurov wrote: > > Dear forum, > > How can I get a homomorphism from given representation of finite group to > the another one? > > Example: By Atlas of FGR, > Matrices > [?] > generate? a 4-dimensional representation U of alternating group A_8 over a > field of order 2 and > matrices > > [?] > > ?generate a 6-dimensional representation V of A_8 over a field of order > 2?. > If you get matrices from the online ATLAS, you are in luck in that they are always given on the same generators, that is isomorphisms will simply map the one generating set to the other. For example, you could use hom:=GroupHomomorphismByImages(U,V,GeneratorsOfGroup(U),GeneratorsOfGroup(V)); to construct such an isomorphism. You can apply it with `Image(how,elm)` on elements or subgroups. > How can I calculate H=Hom(U\otimes U,V) and, if H\ne 0, a homomorphism of > U\otimes U onto V? Do you mean by U\otimes U the tensor-square representation? If so, you do the same (with generators still fitting) gap> tens:=List(GeneratorsOfGroup(U), > x->KroneckerProduct(x,x)); gap> A:=Group(tens); gap> hom:=GroupHomomorphismByImages(A,V,GeneratorsOfGroup(A),GeneratorsOfGroup($ If the generators do not agree, you would have to do an explicit homomorphism search. E.g. (forcing different generators: gap> B:=Group(Random(U),Random(U));Size(B); 20160 gap> IsomorphismGroups(B,V); CompositionMapping( [ (2,9)(4,11)(6,13)(8,15), (2,7,6,10,12)(3,11,8,4,13)(5,16,15,9,14) ] -> [ , ], ) All the best, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From mazurov at math.nsc.ru Sat Dec 3 23:44:04 2016 From: mazurov at math.nsc.ru (Victor D. Mazurov) Date: Sun, 4 Dec 2016 06:44:04 +0700 Subject: [GAP Forum] tensor product of representations In-Reply-To: <52EF6EE4-26BA-4542-97B5-7F241AE38C32@colostate.edu> References: <52EF6EE4-26BA-4542-97B5-7F241AE38C32@colostate.edu> Message-ID: Dear Alexander, Thank you for your comprehensive help. Best wishes, Victor 2016-12-03 23:07 GMT+07:00 Hulpke,Alexander : > Dear Forum, Dear Victor Mazurov, > > > > On Dec 2, 2016, at 10:24 PM, Victor D. Mazurov > wrote: > > > > Dear forum, > > > > How can I get a homomorphism from given representation of finite group to > > the another one? > > > > Example: By Atlas of FGR, > > Matrices > > [?] > > > generate? a 4-dimensional representation U of alternating group A_8 over > a > > field of order 2 and > > matrices > > > > [?] > > > > ?generate a 6-dimensional representation V of A_8 over a field of order > > 2?. > > > > If you get matrices from the online ATLAS, you are in luck in that they > are always given on the same generators, that is isomorphisms will simply > map the one generating set to the other. For example, you could use > > hom:=GroupHomomorphismByImages(U,V,GeneratorsOfGroup(U), > GeneratorsOfGroup(V)); > > to construct such an isomorphism. You can apply it with `Image(how,elm)` > on elements or subgroups. > > > How can I calculate H=Hom(U\otimes U,V) and, if H\ne 0, a homomorphism of > > U\otimes U onto V? > > Do you mean by U\otimes U the tensor-square representation? If so, you do > the same (with generators still fitting) > > gap> tens:=List(GeneratorsOfGroup(U), > > x->KroneckerProduct(x,x)); > gap> A:=Group(tens); > gap> hom:=GroupHomomorphismByImages(A,V,GeneratorsOfGroup(A), > GeneratorsOfGroup($ > > If the generators do not agree, you would have to do an explicit > homomorphism search. E.g. (forcing different generators: > > gap> B:=Group(Random(U),Random(U));Size(B); > > 20160 > gap> IsomorphismGroups(B,V); > CompositionMapping( > [ (2,9)(4,11)(6,13)(8,15), (2,7,6,10,12)(3,11,8,4,13)(5,16,15,9,14) ] -> > [ , ], > ) > > All the best, > > Alexander Hulpke > > > > -- Colorado State University, Department of Mathematics, > Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA > email: hulpke at colostate.edu, Phone: ++1-970-4914288 > http://www.math.colostate.edu/~hulpke > > > -- Victor Danilovich Mazurov Institute of Mathematics Novosibirsk 630090 Russia From qijiayue14 at mails.ucas.ac.cn Sat Dec 17 09:56:34 2016 From: qijiayue14 at mails.ucas.ac.cn (=?GBK?B?xuu8ztTD?=) Date: Sat, 17 Dec 2016 17:56:34 +0800 (GMT+08:00) Subject: [GAP Forum] Consults on GAP Message-ID: <1065d8f.20f7d.1590c362f8e.Coremail.qijiayue14@mails.ucas.ac.cn> Dear Sir/Madam, Em.. here is a question I have about GAP: Is there any operations like "AllSmallGroupsOfCharacterDegrees([...])"? How do we find the certain groups in GAP database(the SmallGroup Id will be fine) holding the given character degrees? Looking forward to your reply!Thanks a lot! Best regards, Jiayue From qijiayue14 at mails.ucas.ac.cn Sat Dec 17 11:17:41 2016 From: qijiayue14 at mails.ucas.ac.cn (=?GBK?B?xuu8ztTD?=) Date: Sat, 17 Dec 2016 19:17:41 +0800 (GMT+08:00) Subject: [GAP Forum] How to express the group algebra over the complex field C[G]? Message-ID: <15f1046.210e5.1590c807040.Coremail.qijiayue14@mails.ucas.ac.cn> Dear Sir/Madam, Sorry I'm asking again... as the title says, I wonder how could I express the group algebra C[G] over the complex field C in GAP? I tried several but they didn't work... I'd appreciate it a lot if you could help me with this! Looking forward to your reply! Best regards, Jiayue From Alexander.Hulpke at colostate.edu Sat Dec 17 15:58:42 2016 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Sat, 17 Dec 2016 15:58:42 +0000 Subject: [GAP Forum] Consults on GAP In-Reply-To: <1065d8f.20f7d.1590c362f8e.Coremail.qijiayue14@mails.ucas.ac.cn> References: <1065d8f.20f7d.1590c362f8e.Coremail.qijiayue14@mails.ucas.ac.cn> Message-ID: <46D19297-644D-44B2-85B5-25F1F88C2F9E@colostate.edu> Dear Forum, Jiayue asked: > Em.. here is a question I have about GAP: > > Is there any operations like "AllSmallGroupsOfCharacterDegrees([...])"? > > How do we find the certain groups in GAP database(the SmallGroup Id will be fine) > holding the given character degrees? The operation `AllSmallGroups? can select for groups satisfying certain functions, e.g the result of the function `CharacterDegrees?. For example, to get all groups of order 32 with 4 characters of degree and 16 linear characters, one could use: AllSmallGroups(Size,32,CharacterDegrees,[[[1,16],[2,4]]]); (Note that, as the result is a list, we need to wrap it in a list once more to avoid GAP interpreting it as a collection of values, alternatively one could use it as: AllSmallGroups(Size,32,x->CharacterDegrees(x)=[[1,16],[2,4]],true); Note that the character degrees are not stored precomputed in the library, so GAP will have to compute them on the fly for all groups in the otherwise specified range. So doing this test for order 256 could take a long time. If you do not care about multiplicities, you could take the degrees only with a small list operation, that is: occurringDegrees:=g->List(CharacterDegrees(g),x->x[1]); AllSmallGroups(Size,32,occurringDegrees,[[1,2]]); would return the groups of order 32 with characters only of degree 1 and 2. Regards, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From qijiayue14 at mails.ucas.ac.cn Sat Dec 17 16:17:58 2016 From: qijiayue14 at mails.ucas.ac.cn (=?utf-8?B?6b2Q5ZiJ5oKm?=) Date: Sun, 18 Dec 2016 00:17:58 +0800 (GMT+08:00) Subject: [GAP Forum] Consults on GAP In-Reply-To: <46D19297-644D-44B2-85B5-25F1F88C2F9E@colostate.edu> References: <1065d8f.20f7d.1590c362f8e.Coremail.qijiayue14@mails.ucas.ac.cn> <46D19297-644D-44B2-85B5-25F1F88C2F9E@colostate.edu> Message-ID: <188c1af.2168c.1590d935c54.Coremail.qijiayue14@mails.ucas.ac.cn> Dear Alexander, Thank you so much for helping and I think my problem of this character degree stuff solved now! Best wishes, Jiayue ?2016-12-17 23:58:42,?????? > Dear Forum, > > Jiayue asked: > > > Em.. here is a question I have about GAP: > > > > Is there any operations like "AllSmallGroupsOfCharacterDegrees([...])"? > > > > How do we find the certain groups in GAP database(the SmallGroup Id will be fine) > > holding the given character degrees? > > > The operation `AllSmallGroups? can select for groups satisfying certain functions, e.g the result of the function `CharacterDegrees?. For example, to get all groups of order 32 with 4 characters of degree and 16 linear characters, one could use: > > AllSmallGroups(Size,32,CharacterDegrees,[[[1,16],[2,4]]]); > > (Note that, as the result is a list, we need to wrap it in a list once more to avoid GAP interpreting it as a collection of values, alternatively one could use it as: > > AllSmallGroups(Size,32,x->CharacterDegrees(x)=[[1,16],[2,4]],true); > > Note that the character degrees are not stored precomputed in the library, so GAP will have to compute them on the fly for all groups in the otherwise specified range. So doing this test for order 256 could take a long time. > > If you do not care about multiplicities, you could take the degrees only with a small list operation, that is: > > occurringDegrees:=g->List(CharacterDegrees(g),x->x[1]); > AllSmallGroups(Size,32,occurringDegrees,[[1,2]]); > > would return the groups of order 32 with characters only of degree 1 and 2. > > Regards, > > Alexander Hulpke > > -- Colorado State University, Department of Mathematics, > Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA > email: hulpke at colostate.edu, Phone: ++1-970-4914288 > http://www.math.colostate.edu/~hulpke > > From gryakj at gmail.com Mon Dec 19 01:55:50 2016 From: gryakj at gmail.com (Jonathan Gryak) Date: Sun, 18 Dec 2016 20:55:50 -0500 Subject: [GAP Forum] Alternative Methods for Constructing Non-Virtually Nilpotent Polycyclic Groups in GAP Message-ID: Hello Forum Members, The GAP package Polycyclic contains the function MaximalOrderByUnitsPcpGroup that constructs a polycyclic group that is infinite and non-virtually nilpotent. These groups are of the form O(F) \rtimes U(F), where F is an algebraic number field and O(F) and U(F) are respectively the maximal order and unit group of F, as discussed in the chapter on polycyclic group in the Handbook of Computational Group Theory . Is there another method for constructing infinite, non-nilpotent polycyclic groups that doesn't rely on the split extension method above? And can this method be implemented in GAP, say via a finite presentation? Thanks in advance, Jonathan From max at quendi.de Mon Dec 19 14:44:48 2016 From: max at quendi.de (Max Horn) Date: Mon, 19 Dec 2016 15:44:48 +0100 Subject: [GAP Forum] Alternative Methods for Constructing Non-Virtually Nilpotent Polycyclic Groups in GAP In-Reply-To: References: Message-ID: Dear Jonathan, > On 19 Dec 2016, at 02:55, Jonathan Gryak wrote: > > Hello Forum Members, > The GAP package Polycyclic contains the function MaximalOrderByUnitsPcpGroup > > that constructs a polycyclic group that is infinite and non-virtually > nilpotent. These groups are of the form O(F) \rtimes U(F), where F is an > algebraic number field and O(F) and U(F) are respectively the maximal order > and unit group of F, as discussed in the chapter on polycyclic group > in the Handbook > of Computational Group Theory > > . > > Is there another method for constructing infinite, non-nilpotent polycyclic > groups that doesn't rely on the split extension method above? And can this > method be implemented in GAP, say via a finite presentation? This is the primary purpose of the Polycyclic package you already are using: It allows you to work with arbitrary Polycyclic groups. You can do so either by constructing a suitable collector directly (as described in Chapter 3 of the Polycyclic manual), or else by defining a suitable finitely presented group, then using the function IsomorphismPcpGroupFromFpGroupWithPcPres (see chapter 5 of the Polycyclic manual). Regards, Max From qijiayue14 at mails.ucas.ac.cn Wed Dec 21 11:40:42 2016 From: qijiayue14 at mails.ucas.ac.cn (=?GBK?B?xuu8ztTD?=) Date: Wed, 21 Dec 2016 19:40:42 +0800 (GMT+08:00) Subject: [GAP Forum] AlternatingGroup(4) and its generators Message-ID: <1c235dc.540c.159212ef484.Coremail.qijiayue14@mails.ucas.ac.cn> Dear Forum members, When I type this in GAP: gap>G:=SmallGroup(12,3); gap>GeneratorsOfGroup(G); the result is [f1,f2,f3],but actually the group G here is AlternatingGroup(4) and I wonder how could I know here what f1,f2,f3 exactly means by permutations respectively? How could I know what are they in A4? Looking forward to any reply! Thanks a lot! Jiayue From qijiayue14 at mails.ucas.ac.cn Wed Dec 21 11:41:25 2016 From: qijiayue14 at mails.ucas.ac.cn (=?GBK?B?xuu8ztTD?=) Date: Wed, 21 Dec 2016 19:41:25 +0800 (GMT+08:00) Subject: [GAP Forum] AlternatingGroup(4) and its generators Message-ID: Dear Forum members, When I type this in GAP: gap>G:=SmallGroup(12,3); gap>GeneratorsOfGroup(G); the result is [f1,f2,f3],but actually the group G here is AlternatingGroup(4) and I wonder how could I know here what f1,f2,f3 exactly means by permutations respectively? How could I know what are they in A4? Looking forward to any reply! Thanks a lot! Jiayue From sven.reichard at tu-dresden.de Wed Dec 21 12:12:41 2016 From: sven.reichard at tu-dresden.de (Sven Reichard) Date: Wed, 21 Dec 2016 13:12:41 +0100 Subject: [GAP Forum] AlternatingGroup(4) and its generators In-Reply-To: <1c235dc.540c.159212ef484.Coremail.qijiayue14@mails.ucas.ac.cn> References: <1c235dc.540c.159212ef484.Coremail.qijiayue14@mails.ucas.ac.cn> Message-ID: Dear Jiayue, to be precise, G is isomorphic to the alternating group. You can find such an isomorphism and determine the images of the generators as follows: gap> G := SmallGroup(12,3); gap> StructureDescription(G); "A4" gap> a4 := AlternatingGroup(4); Alt( [ 1 .. 4 ] ) gap> iso := IsomorphismGroups(G, a4); [ f1, f2, f3 ] -> [ (2,4,3), (1,3)(2,4), (1,2)(3,4) ] gap> List(GeneratorsOfGroup(G), g -> Image(iso, g)); [ (2,4,3), (1,3)(2,4), (1,2)(3,4) ] HTH, Sven On 21.12.2016 12:40, ??? wrote: > > Dear Forum members, > > > When I type this in GAP: > > > gap>G:=SmallGroup(12,3); > gap>GeneratorsOfGroup(G); > the result is [f1,f2,f3],but actually the group G here is AlternatingGroup(4) and I wonder > how could I know here what f1,f2,f3 exactly means by permutations respectively? How > could I know what are they in A4? > > > Looking forward to any reply! > > > Thanks a lot! > > > Jiayue > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From qijiayue14 at mails.ucas.ac.cn Wed Dec 21 12:35:51 2016 From: qijiayue14 at mails.ucas.ac.cn (=?GBK?B?xuu8ztTD?=) Date: Wed, 21 Dec 2016 20:35:51 +0800 (GMT+08:00) Subject: [GAP Forum] AlternatingGroup(4) and its generators Message-ID: <4108c5.5654.159216172a8.Coremail.qijiayue14@mails.ucas.ac.cn> Dear Forum members, When I type this in GAP: gap>G:=SmallGroup(12,3); gap>GeneratorsOfGroup(G); the result is [f1,f2,f3],but actually the group G here is AlternatingGroup(4) and I wonder how could I know here what f1,f2,f3 exactly means by permutations respectively? How could I know what are they in A4? Looking forward to any reply! Thanks a lot! Jiayue From qijiayue14 at mails.ucas.ac.cn Wed Dec 21 13:12:23 2016 From: qijiayue14 at mails.ucas.ac.cn (=?utf-8?B?6b2Q5ZiJ5oKm?=) Date: Wed, 21 Dec 2016 21:12:23 +0800 (GMT+08:00) Subject: [GAP Forum] AlternatingGroup(4) and its generators In-Reply-To: References: <1c235dc.540c.159212ef484.Coremail.qijiayue14@mails.ucas.ac.cn> Message-ID: <61ac49.587b.1592182e3d6.Coremail.qijiayue14@mails.ucas.ac.cn> Dear Sven, Now I see the way to find out what f1,f2,f3 exactly are in the A4 group! Thank you so much for your help! Best regards, Jiayue > -----????----- > ???: "Sven Reichard" > ????: 2016?12?21? ??? > ???: forum at gap-system.org > ??: > ??: Re: [GAP Forum] AlternatingGroup(4) and its generators > > Dear Jiayue, > > to be precise, G is isomorphic to the alternating group. You can find > such an isomorphism and determine the images of the generators as follows: > > gap> G := SmallGroup(12,3); > > gap> StructureDescription(G); > "A4" > gap> a4 := AlternatingGroup(4); > Alt( [ 1 .. 4 ] ) > gap> iso := IsomorphismGroups(G, a4); > [ f1, f2, f3 ] -> [ (2,4,3), (1,3)(2,4), (1,2)(3,4) ] > gap> List(GeneratorsOfGroup(G), g -> Image(iso, g)); > [ (2,4,3), (1,3)(2,4), (1,2)(3,4) ] > > HTH, > Sven > > On 21.12.2016 12:40, ??? wrote: > > > > Dear Forum members, > > > > > > When I type this in GAP: > > > > > > gap>G:=SmallGroup(12,3); > > gap>GeneratorsOfGroup(G); > > the result is [f1,f2,f3],but actually the group G here is AlternatingGroup(4) and I wonder > > how could I know here what f1,f2,f3 exactly means by permutations respectively? How > > could I know what are they in A4? > > > > > > Looking forward to any reply! > > > > > > Thanks a lot! > > > > > > Jiayue > > > > > > _______________________________________________ > > 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 qijiayue14 at mails.ucas.ac.cn Sat Dec 24 07:15:38 2016 From: qijiayue14 at mails.ucas.ac.cn (=?GBK?B?xuu8ztTD?=) Date: Sat, 24 Dec 2016 15:15:38 +0800 (GMT+08:00) Subject: [GAP Forum] consulting on how to parallel my GAP program Message-ID: <1fef795.127c2.1592faf5ca9.Coremail.qijiayue14@mails.ucas.ac.cn> Dear Sir/Madam, First of all Merry Christmas! As my GAP program needs a lot of calculation and I'm thinking about paralleling it so that I could finish my calculation sooner, hopefully. Is there such service or some certain way that can help people realize this in the GAP system itself? If not, what do you think I should do? My program is a final function who needs two parameters for input and it invokes other functions written before already. The output will be a subset triple of the group satisfying a certain property and a blank if the group doesn't fit the property. Looking forward to your reply! Best regards, Jiayue From z060822400814a at rezozer.net Wed Dec 7 15:58:31 2016 From: z060822400814a at rezozer.net (Jerome BENOIT) Date: Wed, 07 Dec 2016 15:58:31 -0000 Subject: [GAP Forum] GAP package: braid Message-ID: <89e479a9-b2b6-5a04-6940-f27669546315@rezozer.net> Hello Forum, I have just noticed that Sage[Math] tries to pre-loads the GAP package `braid', which is not present in the GAP webpage. I guess it is an old GAP package. Can anybody confirm this ? Does anybody knows whether or not this GAP pachage has been replaced/supersedeed ? Thanks in advance, Jerome From surinder.kaur at iitrpr.ac.in Mon Nov 21 14:38:54 2016 From: surinder.kaur at iitrpr.ac.in (Surinder Kaur) Date: Mon, 21 Nov 2016 14:38:54 -0000 Subject: [GAP Forum] GAP query Message-ID: LAGUNA package gives information about group rings, FG, only when G is a p-group and F is a field of characteristic p. Can I find the unit groups of modular group rings where p divides the order of the group (means group is not necessarily p-group)? -- *Regards* *Surinder Kaur* *Research scholar * *Department of Mathematics * *IIT Ropar*